From 66adadb84cdc0e87019ded724992f87b8cb8133d Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 3 Nov 2025 15:23:41 -0500 Subject: [PATCH 1/3] Catch feature branch up to main (#2046) --- .github/workflows/continuous-integration.yml | 22 +- .github/workflows/integration-test.yml | 22 +- AWSSDKSwiftCLI/Package.swift | 3 +- .../AWSCLIUtils/FileManager+Utils.swift | 1 + .../AWSSDKSwiftCLI/AWSSDKSwiftCLI.swift | 4 +- .../Subcommands/GeneratePackageVersion.swift | 27 + .../Subcommands/GeneratePartitions.swift | 27 + .../Subcommands/PrepareRelease.swift | 4 +- .../Models/PackageVersionBuilder.swift | 63 + .../Models/PartitionsBuilder.swift | 64 + .../AWSSDKSwiftCLI/Resources/Package.Base.txt | 10 +- .../Commands/PackageVersionBuilderTests.swift | 62 + .../Commands/PartitionsBuilderTests.swift | 64 + .../Commands/PrepareReleaseTests.swift | 15 +- .../Resources/Package.version.next.invalid | 1 + .../Resources/Package.version.next.test | 1 + .../Resources/invalid-partitions.json | 1 + .../Resources/test-partitions.json | 1 + .../ConcurrentTestHelper.swift | 1 + ...vokeModelWithBidirectionalStreamTest.swift | 2 +- .../AccountIDEndpointModeTests.swift | 2 +- .../QueryCompatibleSanityCheck.swift | 2 +- .../S3ConcurrentTests.swift | 1 + .../AWSS3IntegrationTests/S3ErrorTests.swift | 2 +- .../AWSS3IntegrationTests/S3XCTestCase.swift | 7 +- .../TranscribeStreamingTests.swift | 1 + Package.swift | 20 +- Package.version | 2 +- Package.version.next | 2 +- .../AWSClientRuntime/AWSServiceClient.swift | 19 + .../Endpoints/AWSPartitionDefinition.swift | 2 +- .../AWSSDKDynamic/PackageVersion.swift | 2 +- .../Sources/AWSSDKDynamic}/Partitions.swift | 3 + .../Documentation.docc/AWSSDKForSwift.md | 18 +- .../CognitoIdentityClient.swift | 5 +- .../Sources/InternalAWSSSO/SSOClient.swift | 5 +- .../InternalAWSSSOOIDC/SSOOIDCClient.swift | 5 +- .../Sources/InternalAWSSTS/STSClient.swift | 5 +- .../Documentation.docc/SDKForSwift.md | 18 +- .../AWSACM/Sources/AWSACM/ACMClient.swift | 5 +- .../Sources/AWSACMPCA/ACMPCAClient.swift | 5 +- .../Sources/AWSAIOps/AIOpsClient.swift | 5 +- .../AWSAPIGateway/APIGatewayClient.swift | 5 +- .../ARCRegionswitchClient.swift | 5 +- .../ARCZonalShiftClient.swift | 5 +- .../AccessAnalyzerClient.swift | 5 +- .../Sources/AWSAccount/AccountClient.swift | 5 +- .../AWSAmp/Sources/AWSAmp/AmpClient.swift | 364 +- .../AWSAmp/Sources/AWSAmp/Models.swift | 889 +- .../Sources/AWSAmplify/AmplifyClient.swift | 5 +- .../AmplifyBackendClient.swift | 5 +- .../AmplifyUIBuilderClient.swift | 5 +- .../ApiGatewayManagementApiClient.swift | 5 +- .../AWSApiGatewayV2/ApiGatewayV2Client.swift | 5 +- .../AWSAppConfig/AppConfigClient.swift | 5 +- .../AppConfigDataClient.swift | 5 +- .../AWSAppFabric/AppFabricClient.swift | 5 +- .../AppIntegrationsClient.swift | 5 +- .../Sources/AWSAppMesh/AppMeshClient.swift | 5 +- .../AWSAppRunner/AppRunnerClient.swift | 5 +- .../AWSAppStream/AppStreamClient.swift | 362 +- .../Sources/AWSAppStream/Models.swift | 762 ++ .../Sources/AWSAppSync/AppSyncClient.swift | 5 +- .../AWSAppTest/AuthSchemeResolver.swift | 58 - .../Sources/AWSAppTest/Models.swift | 6155 ---------- .../Sources/AWSAppTest/Plugins.swift | 84 - .../EndpointResolverTest.swift | 441 - .../Sources/AWSAppflow/AppflowClient.swift | 5 +- .../ApplicationAutoScalingClient.swift | 5 +- .../ApplicationCostProfilerClient.swift | 5 +- .../ApplicationDiscoveryClient.swift | 5 +- .../ApplicationInsightsClient.swift | 5 +- .../ApplicationSignalsClient.swift | 15 +- .../AWSApplicationSignals/Models.swift | 253 +- .../Sources/AWSArtifact/ArtifactClient.swift | 5 +- .../Sources/AWSAthena/AthenaClient.swift | 5 +- .../AWSAuditManager/AuditManagerClient.swift | 5 +- .../AWSAutoScaling/AutoScalingClient.swift | 5 +- .../AutoScalingPlansClient.swift | 5 +- .../AWSAutoScalingPlans/Endpoints.swift | 2 +- .../EndpointResolverTest.swift | 60 +- .../AWSB2bi/Sources/AWSB2bi/B2biClient.swift | 5 +- .../BCMDashboardsClient.swift | 5 +- .../BCMDataExportsClient.swift | 5 +- .../BCMPricingCalculatorClient.swift | 5 +- .../BCMRecommendedActionsClient.swift | 5 +- .../Sources/AWSBackup/BackupClient.swift | 5 +- .../AWSBackup/Sources/AWSBackup/Models.swift | 202 +- .../BackupGatewayClient.swift | 5 +- .../AWSBackupSearch/BackupSearchClient.swift | 5 +- .../Sources/AWSBatch/BatchClient.swift | 5 +- .../Sources/AWSBedrock/BedrockClient.swift | 8 +- .../Sources/AWSBedrock/Models.swift | 66 +- .../AWSBedrockAgent/BedrockAgentClient.swift | 5 +- .../BedrockAgentCoreClient.swift | 78 +- .../Sources/AWSBedrockAgentCore/Models.swift | 190 +- .../BedrockAgentCoreControlClient.swift | 5 +- .../AWSBedrockAgentCoreControl/Models.swift | 867 +- .../BedrockAgentRuntimeClient.swift | 5 +- .../BedrockDataAutomationClient.swift | 5 +- .../BedrockDataAutomationRuntimeClient.swift | 5 +- .../BedrockRuntimeClient.swift | 5 +- .../Sources/AWSBedrockRuntime/Models.swift | 231 +- .../Sources/AWSBilling/BillingClient.swift | 5 +- .../BillingconductorClient.swift | 71 +- .../Sources/AWSBillingconductor/Models.swift | 122 +- .../Sources/AWSBraket/BraketClient.swift | 5 +- .../Sources/AWSBudgets/BudgetsClient.swift | 5 +- .../EndpointResolverTest.swift | 128 +- .../Sources/AWSChatbot/ChatbotClient.swift | 5 +- .../Sources/AWSChime/ChimeClient.swift | 5 +- .../ChimeSDKIdentityClient.swift | 5 +- .../ChimeSDKMediaPipelinesClient.swift | 5 +- .../ChimeSDKMeetingsClient.swift | 5 +- .../ChimeSDKMessagingClient.swift | 5 +- .../ChimeSDKVoiceClient.swift | 5 +- .../AWSCleanRooms/CleanRoomsClient.swift | 5 +- .../Sources/AWSCleanRooms/Models.swift | 42 +- .../AWSCleanRoomsML/CleanRoomsMLClient.swift | 5 +- .../Sources/AWSCloud9/Cloud9Client.swift | 5 +- .../AWSCloudControl/CloudControlClient.swift | 5 +- .../CloudDirectoryClient.swift | 5 +- .../CloudFormationClient.swift | 5 +- .../AWSCloudFront/CloudFrontClient.swift | 5 +- .../CloudFrontKeyValueStoreClient.swift | 5 +- .../Sources/AWSCloudHSM/CloudHSMClient.swift | 5 +- .../AWSCloudHSMV2/CloudHSMV2Client.swift | 5 +- .../AWSCloudSearch/CloudSearchClient.swift | 5 +- .../CloudSearchDomainClient.swift | 5 +- .../AWSCloudTrail/CloudTrailClient.swift | 5 +- .../CloudTrailDataClient.swift | 5 +- .../AWSCloudWatch/CloudWatchClient.swift | 5 +- .../EndpointResolverTest.swift | 100 +- .../CloudWatchEventsClient.swift | 5 +- .../CloudWatchLogsClient.swift | 5 +- .../AWSCodeBuild/CodeBuildClient.swift | 5 +- .../AWSCodeCatalyst/CodeCatalystClient.swift | 5 +- .../AWSCodeCommit/CodeCommitClient.swift | 5 +- .../CodeConnectionsClient.swift | 5 +- .../AWSCodeDeploy/CodeDeployClient.swift | 5 +- .../CodeGuruProfilerClient.swift | 5 +- .../CodeGuruReviewerClient.swift | 5 +- .../CodeGuruSecurityClient.swift | 5 +- .../AWSCodePipeline/CodePipelineClient.swift | 5 +- .../CodeStarconnectionsClient.swift | 5 +- .../AWSCodeartifact/CodeartifactClient.swift | 5 +- .../CodestarnotificationsClient.swift | 5 +- .../CognitoIdentityClient.swift | 5 +- .../CognitoIdentityProviderClient.swift | 5 +- .../AWSCognitoSync/CognitoSyncClient.swift | 5 +- .../AWSComprehend/ComprehendClient.swift | 5 +- .../ComprehendMedicalClient.swift | 5 +- .../ComputeOptimizerClient.swift | 5 +- .../AWSConfigService/ConfigClient.swift | 5 +- .../Sources/AWSConnect/ConnectClient.swift | 274 +- .../Sources/AWSConnect/Models.swift | 563 +- .../ConnectCampaignsClient.swift | 5 +- .../ConnectCampaignsV2Client.swift | 5 +- .../AWSConnectCampaignsV2/Models.swift | 108 + .../AWSConnectCases/ConnectCasesClient.swift | 35 +- .../Sources/AWSConnectCases/Models.swift | 165 +- .../ConnectContactLensClient.swift | 5 +- .../ConnectParticipantClient.swift | 5 +- .../ControlCatalogClient.swift | 5 +- .../AWSControlTower/ControlTowerClient.swift | 5 +- .../AWSCostExplorer/CostExplorerClient.swift | 5 +- .../Sources/AWSCostExplorer/Endpoints.swift | 2 +- .../EndpointResolverTest.swift | 128 +- .../CostOptimizationHubClient.swift | 5 +- .../CostandUsageReportClient.swift | 5 +- .../CustomerProfilesClient.swift | 5 +- .../AWSDAX/Sources/AWSDAX/DAXClient.swift | 5 +- .../AWSDLM/Sources/AWSDLM/DLMClient.swift | 5 +- .../AWSDSQL/Sources/AWSDSQL/DSQLClient.swift | 224 +- .../AWSDSQL/Sources/AWSDSQL/Models.swift | 260 +- .../Sources/AWSDataBrew/DataBrewClient.swift | 5 +- .../AWSDataExchange/DataExchangeClient.swift | 5 +- .../AWSDataPipeline/DataPipelineClient.swift | 5 +- .../Sources/AWSDataSync/DataSyncClient.swift | 5 +- .../Sources/AWSDataZone/DataZoneClient.swift | 5 +- .../Sources/AWSDataZone/Models.swift | 312 +- .../Sources/AWSDataZone/Paginators.swift | 1 + .../DatabaseMigrationClient.swift | 5 +- .../Sources/AWSDeadline/DeadlineClient.swift | 5 +- .../AWSDetective/DetectiveClient.swift | 5 +- .../EndpointResolverTest.swift | 100 +- .../AWSDevOpsGuru/DevOpsGuruClient.swift | 5 +- .../AWSDeviceFarm/DeviceFarmClient.swift | 5 +- .../Sources/AWSDeviceFarm/Models.swift | 15 + .../DirectConnectClient.swift | 5 +- .../AWSDirectoryService/DirectoryClient.swift | 5 +- .../DirectoryServiceDataClient.swift | 5 +- .../Sources/AWSDocDB/DocDBClient.swift | 11 +- .../AWSDocDB/Sources/AWSDocDB/Models.swift | 272 +- .../AWSDocDBElastic/DocDBElasticClient.swift | 5 +- .../AWSDrs/Sources/AWSDrs/DrsClient.swift | 5 +- .../Sources/AWSDynamoDB/DynamoDBClient.swift | 31 +- .../Sources/AWSDynamoDB/Endpoints.swift | 2 +- .../Sources/AWSDynamoDB/Models.swift | 2 +- .../EndpointResolverTest.swift | 204 +- .../DynamoDBStreamsClient.swift | 5 +- .../EndpointResolverTest.swift | 100 +- .../AWSEBS/Sources/AWSEBS/EBSClient.swift | 5 +- .../AWSEC2/Sources/AWSEC2/EC2Client.swift | 1434 ++- .../AWSEC2/Sources/AWSEC2/Models.swift | 4801 +++++++- .../AWSEC2/Sources/AWSEC2/Paginators.swift | 273 + .../EC2InstanceConnectClient.swift | 5 +- .../AWSECR/Sources/AWSECR/ECRClient.swift | 5 +- .../AWSECRPUBLIC/ECRPUBLICClient.swift | 5 +- .../AWSECS/Sources/AWSECS/ECSClient.swift | 31 +- .../AWSECS/Sources/AWSECS/Models.swift | 239 +- .../AWSEFS/Sources/AWSEFS/EFSClient.swift | 5 +- .../AWSEFSTests/EndpointResolverTest.swift | 100 +- .../AWSEKS/Sources/AWSEKS/EKSClient.swift | 5 +- .../Sources/AWSEKSAuth/EKSAuthClient.swift | 5 +- .../AWSEMR/Sources/AWSEMR/EMRClient.swift | 5 +- .../AWSEMR/Sources/AWSEMR/Models.swift | 3 + .../EMRServerlessClient.swift | 5 +- .../Sources/AWSEMRServerless/Models.swift | 18 +- .../EMRcontainersClient.swift | 5 +- .../AWSElastiCache/ElastiCacheClient.swift | 5 +- .../ElasticBeanstalkClient.swift | 5 +- .../ElasticLoadBalancingClient.swift | 5 +- .../ElasticLoadBalancingv2Client.swift | 9 +- .../AWSElasticLoadBalancingv2/Models.swift | 284 +- .../ElasticTranscoderClient.swift | 5 +- .../ElasticsearchClient.swift | 5 +- .../EntityResolutionClient.swift | 5 +- .../AWSEventBridge/EventBridgeClient.swift | 5 +- .../AWSEvidently/EvidentlyClient.swift | 5 +- .../AWSEvs/Sources/AWSEvs/EvsClient.swift | 5 +- .../AWSFMS/Sources/AWSFMS/FMSClient.swift | 5 +- .../AWSFSx/Sources/AWSFSx/FSxClient.swift | 5 +- .../Sources/AWSFinspace/FinspaceClient.swift | 5 +- .../AWSFinspacedata/FinspacedataClient.swift | 5 +- .../Sources/AWSFirehose/FirehoseClient.swift | 5 +- .../AWSFis/Sources/AWSFis/FisClient.swift | 5 +- .../Sources/AWSForecast/ForecastClient.swift | 5 +- .../ForecastqueryClient.swift | 5 +- .../FraudDetectorClient.swift | 5 +- .../Sources/AWSFreeTier/FreeTierClient.swift | 5 +- .../Sources/AWSGameLift/GameLiftClient.swift | 5 +- .../GameLiftStreamsClient.swift | 25 +- .../Sources/AWSGameLiftStreams/Models.swift | 143 +- .../Sources/AWSGeoMaps/GeoMapsClient.swift | 21 +- .../Sources/AWSGeoMaps/Models.swift | 209 +- .../AWSGeoPlaces/GeoPlacesClient.swift | 5 +- .../AWSGeoRoutes/GeoRoutesClient.swift | 5 +- .../Sources/AWSGlacier/GlacierClient.swift | 5 +- .../GlobalAcceleratorClient.swift | 5 +- .../AWSGlue/Sources/AWSGlue/GlueClient.swift | 5 +- .../AWSGlue/Sources/AWSGlue/Models.swift | 21 +- .../Sources/AWSGrafana/GrafanaClient.swift | 5 +- .../AWSGreengrass/GreengrassClient.swift | 5 +- .../AWSGreengrassV2/GreengrassV2Client.swift | 5 +- .../GroundStationClient.swift | 17 +- .../Sources/AWSGroundStation/Models.swift | 774 +- .../AWSGuardDuty/GuardDutyClient.swift | 5 +- .../Sources/AWSGuardDuty/Models.swift | 7 +- .../Sources/AWSHealth/HealthClient.swift | 5 +- .../AWSHealthLake/HealthLakeClient.swift | 5 +- .../AWSIAM/Sources/AWSIAM/IAMClient.swift | 9 +- .../AWSIAM/Sources/AWSIAM/Models.swift | 97 +- .../AWSIAMTests/EndpointResolverTest.swift | 128 +- .../AWSIVSRealTime/IVSRealTimeClient.swift | 5 +- .../IdentitystoreClient.swift | 5 +- .../AWSImagebuilder/ImagebuilderClient.swift | 5 +- .../AWSInspector/InspectorClient.swift | 5 +- .../AWSInspector2/Inspector2Client.swift | 5 +- .../InspectorScanClient.swift | 5 +- .../InternetMonitorClient.swift | 5 +- .../AWSInvoicing/InvoicingClient.swift | 5 +- .../AWSIoT/Sources/AWSIoT/IoTClient.swift | 5 +- .../AWSIoTAnalytics/IoTAnalyticsClient.swift | 5 +- .../AWSIoTDataPlane/IoTDataPlaneClient.swift | 5 +- .../AWSIoTEvents/IoTEventsClient.swift | 5 +- .../IoTEventsDataClient.swift | 5 +- .../Services/AWSIoTFleetHub/Dependencies.json | 16 - .../AWSIoTFleetHub/AuthSchemeResolver.swift | 58 - .../Sources/AWSIoTFleetHub/Endpoints.swift | 73 - .../AWSIoTFleetHub/IoTFleetHubClient.swift | 928 -- .../Sources/AWSIoTFleetHub/Models.swift | 970 -- .../Sources/AWSIoTFleetHub/Paginators.swift | 41 - .../Sources/AWSIoTFleetHub/Plugins.swift | 84 - .../EndpointResolverTest.swift | 741 -- .../AWSIoTFleetWise/IoTFleetWiseClient.swift | 5 +- .../IoTJobsDataPlaneClient.swift | 5 +- .../IoTManagedIntegrationsClient.swift | 123 +- .../AWSIoTManagedIntegrations/Models.swift | 145 +- .../IoTSecureTunnelingClient.swift | 5 +- .../AWSIoTSiteWise/IoTSiteWiseClient.swift | 5 +- .../IoTThingsGraphClient.swift | 5 +- .../AWSIoTTwinMaker/IoTTwinMakerClient.swift | 5 +- .../AWSIoTWireless/IoTWirelessClient.swift | 5 +- .../IotDeviceAdvisorClient.swift | 5 +- .../AWSIvs/Sources/AWSIvs/IvsClient.swift | 5 +- .../Sources/AWSIvschat/IvschatClient.swift | 5 +- .../AWSKMS/Sources/AWSKMS/KMSClient.swift | 5 +- .../AWSKMS/Sources/AWSKMS/Models.swift | 27 +- .../Sources/AWSKafka/KafkaClient.swift | 5 +- .../AWSKafkaConnect/KafkaConnectClient.swift | 5 +- .../Sources/AWSKendra/KendraClient.swift | 5 +- .../KendraRankingClient.swift | 5 +- .../AWSKeyspaces/KeyspacesClient.swift | 5 +- .../KeyspacesStreamsClient.swift | 5 +- .../Sources/AWSKinesis/KinesisClient.swift | 83 +- .../Sources/AWSKinesis/Models.swift | 73 + .../KinesisAnalyticsClient.swift | 5 +- .../KinesisAnalyticsV2Client.swift | 5 +- .../AWSKinesisVideo/KinesisVideoClient.swift | 5 +- .../KinesisVideoArchivedMediaClient.swift | 5 +- .../KinesisVideoMediaClient.swift | 5 +- .../KinesisVideoSignalingClient.swift | 5 +- .../KinesisVideoWebRTCStorageClient.swift | 5 +- .../LakeFormationClient.swift | 5 +- .../Sources/AWSLambda/LambdaClient.swift | 13 +- .../AWSLambda/Sources/AWSLambda/Models.swift | 72 +- .../AWSLaunchWizard/LaunchWizardClient.swift | 5 +- .../LexModelBuildingClient.swift | 5 +- .../AWSLexModelsV2/LexModelsV2Client.swift | 5 +- .../LexRuntimeClient.swift | 5 +- .../AWSLexRuntimeV2/LexRuntimeV2Client.swift | 5 +- .../LicenseManagerClient.swift | 5 +- ...censeManagerLinuxSubscriptionsClient.swift | 5 +- ...icenseManagerUserSubscriptionsClient.swift | 5 +- .../AWSLightsail/LightsailClient.swift | 7 +- .../Sources/AWSLightsail/Models.swift | 117 + .../Sources/AWSLocation/LocationClient.swift | 332 +- .../Sources/AWSLocation/Models.swift | 155 +- .../LookoutEquipmentClient.swift | 5 +- .../AWSLookoutMetrics/Dependencies.json | 17 - .../AuthSchemeResolver.swift | 58 - .../Sources/AWSLookoutMetrics/Endpoints.swift | 73 - .../LookoutMetricsClient.swift | 2530 ---- .../Sources/AWSLookoutMetrics/Models.swift | 5585 --------- .../AWSLookoutMetrics/Paginators.swift | 194 - .../Sources/AWSLookoutMetrics/Plugins.swift | 84 - .../EndpointResolverTest.swift | 601 - .../AWSLookoutVision/Dependencies.json | 17 - .../AWSLookoutVision/AuthSchemeResolver.swift | 58 - .../Sources/AWSLookoutVision/Endpoints.swift | 73 - .../LookoutVisionClient.swift | 1995 --- .../Sources/AWSLookoutVision/Models.swift | 3708 ------ .../Sources/AWSLookoutVision/Paginators.swift | 142 - .../Sources/AWSLookoutVision/Plugins.swift | 84 - .../AWSM2/Sources/AWSM2/M2Client.swift | 5 +- .../AWSMPA/Sources/AWSMPA/MPAClient.swift | 5 +- .../Sources/AWSMTurk/MTurkClient.swift | 5 +- .../AWSMWAA/Sources/AWSMWAA/MWAAClient.swift | 5 +- .../MachineLearningClient.swift | 5 +- .../Sources/AWSMacie2/Macie2Client.swift | 5 +- .../AWSMailManager/MailManagerClient.swift | 5 +- .../ManagedBlockchainClient.swift | 5 +- .../ManagedBlockchainQueryClient.swift | 5 +- .../MarketplaceAgreementClient.swift | 5 +- .../MarketplaceCatalogClient.swift | 5 +- .../AWSMarketplaceCatalog/Models.swift | 10 +- .../MarketplaceCommerceAnalyticsClient.swift | 5 +- .../MarketplaceDeploymentClient.swift | 5 +- .../MarketplaceEntitlementClient.swift | 5 +- .../EndpointResolverTest.swift | 100 +- .../MarketplaceMeteringClient.swift | 12 +- .../AWSMarketplaceMetering/Models.swift | 44 +- .../EndpointResolverTest.swift | 100 +- .../MarketplaceReportingClient.swift | 5 +- .../AWSMediaConnect/MediaConnectClient.swift | 5 +- .../AWSMediaConvert/MediaConvertClient.swift | 182 +- .../Sources/AWSMediaConvert/Models.swift | 688 +- .../AWSMediaLive/MediaLiveClient.swift | 221 +- .../Sources/AWSMediaLive/Models.swift | 572 + .../Sources/AWSMediaLive/Paginators.swift | 96 + .../AWSMediaPackage/MediaPackageClient.swift | 5 +- .../MediaPackageV2Client.swift | 5 +- .../MediaPackageVodClient.swift | 5 +- .../AWSMediaStore/MediaStoreClient.swift | 5 +- .../MediaStoreDataClient.swift | 5 +- .../AWSMediaTailor/MediaTailorClient.swift | 5 +- .../MedicalImagingClient.swift | 5 +- .../Sources/AWSMemoryDB/MemoryDBClient.swift | 5 +- .../AWSMgn/Sources/AWSMgn/MgnClient.swift | 5 +- .../AWSMigrationHub/MigrationHubClient.swift | 5 +- .../MigrationHubConfigClient.swift | 5 +- .../MigrationHubOrchestratorClient.swift | 5 +- .../MigrationHubRefactorSpacesClient.swift | 5 +- .../MigrationHubStrategyClient.swift | 5 +- .../AWSMq/Sources/AWSMq/MqClient.swift | 5 +- .../Sources/AWSNeptune/NeptuneClient.swift | 5 +- .../AWSNeptuneGraph/NeptuneGraphClient.swift | 5 +- .../AWSNeptunedata/NeptunedataClient.swift | 5 +- .../NetworkFirewallClient.swift | 5 +- .../NetworkFlowMonitorClient.swift | 5 +- .../NetworkManagerClient.swift | 5 +- .../EndpointResolverTest.swift | 128 +- .../NetworkMonitorClient.swift | 5 +- .../NotificationsClient.swift | 5 +- .../NotificationsContactsClient.swift | 5 +- .../AWSOAM/Sources/AWSOAM/OAMClient.swift | 5 +- .../AWSOSIS/Sources/AWSOSIS/OSISClient.swift | 5 +- .../AWSObservabilityAdmin/Models.swift | 198 + .../ObservabilityAdminClient.swift | 209 +- .../AWSOdb/Sources/AWSOdb/Models.swift | 16 +- .../AWSOdb/Sources/AWSOdb/OdbClient.swift | 5 +- .../AWSOmics/Sources/AWSOmics/Models.swift | 5 +- .../Sources/AWSOmics/OmicsClient.swift | 54 +- .../AWSOpenSearch/OpenSearchClient.swift | 5 +- .../OpenSearchServerlessClient.swift | 5 +- .../Sources/AWSOrganizations/Models.swift | 9 +- .../OrganizationsClient.swift | 67 +- .../Sources/AWSOutposts/OutpostsClient.swift | 5 +- .../AWSPCS/Sources/AWSPCS/PCSClient.swift | 5 +- .../AWSPI/Sources/AWSPI/PIClient.swift | 5 +- .../Sources/AWSPanorama/PanoramaClient.swift | 5 +- .../PartnerCentralSellingClient.swift | 5 +- .../AWSPaymentCryptography/Models.swift | 40 +- .../PaymentCryptographyClient.swift | 17 +- .../PaymentCryptographyDataClient.swift | 5 +- .../PcaConnectorAdClient.swift | 5 +- .../PcaConnectorScepClient.swift | 5 +- .../AWSPersonalize/PersonalizeClient.swift | 5 +- .../PersonalizeEventsClient.swift | 5 +- .../PersonalizeRuntimeClient.swift | 5 +- .../Sources/AWSPinpoint/PinpointClient.swift | 5 +- .../PinpointEmailClient.swift | 5 +- .../PinpointSMSVoiceClient.swift | 5 +- .../PinpointSMSVoiceV2Client.swift | 5 +- .../Sources/AWSPipes/PipesClient.swift | 5 +- .../Sources/AWSPolly/PollyClient.swift | 5 +- .../Sources/AWSPricing/PricingClient.swift | 5 +- .../Sources/AWSProton/ProtonClient.swift | 5 +- .../Sources/AWSQApps/QAppsClient.swift | 5 +- .../AWSQBusiness/QBusinessClient.swift | 5 +- .../Sources/AWSQConnect/QConnectClient.swift | 5 +- Sources/Services/AWSQLDB/Dependencies.json | 17 - .../Sources/AWSQLDB/AuthSchemeResolver.swift | 58 - .../AWSQLDB/Sources/AWSQLDB/Endpoints.swift | 73 - .../AWSQLDB/Sources/AWSQLDB/Models.swift | 2672 ---- .../AWSQLDB/Sources/AWSQLDB/Paginators.swift | 98 - .../AWSQLDB/Sources/AWSQLDB/Plugins.swift | 84 - .../AWSQLDB/Sources/AWSQLDB/QLDBClient.swift | 1713 --- .../AWSQLDBTests/EndpointResolverTest.swift | 701 -- .../Services/AWSQLDBSession/Dependencies.json | 16 - .../AWSQLDBSession/AuthSchemeResolver.swift | 58 - .../Sources/AWSQLDBSession/Endpoints.swift | 73 - .../Sources/AWSQLDBSession/Models.swift | 893 -- .../Sources/AWSQLDBSession/Plugins.swift | 84 - .../AWSQLDBSession/QLDBSessionClient.swift | 449 - .../EndpointResolverTest.swift | 681 - .../AWSQuickSight/QuickSightClient.swift | 5 +- .../AWSRAM/Sources/AWSRAM/RAMClient.swift | 5 +- .../AWSRDS/Sources/AWSRDS/RDSClient.swift | 5 +- .../Sources/AWSRDSData/RDSDataClient.swift | 5 +- .../Dependencies.json | 0 .../AWSRTBFabric}/AuthSchemeResolver.swift | 14 +- .../Sources/AWSRTBFabric}/Endpoints.swift | 2 +- .../Sources/AWSRTBFabric/Models.swift | 4184 +++++++ .../Sources/AWSRTBFabric/Paginators.swift | 72 + .../Sources/AWSRTBFabric}/Plugins.swift | 14 +- .../AWSRTBFabric/RTBFabricClient.swift} | 1541 ++- .../Sources/AWSRTBFabric/Waiters.swift | 13 + .../EndpointResolverTest.swift | 261 +- .../AWSRUM/Sources/AWSRUM/RUMClient.swift | 5 +- .../AWSRbin/Sources/AWSRbin/RbinClient.swift | 5 +- .../Sources/AWSRedshift/RedshiftClient.swift | 5 +- .../AWSRedshiftData/RedshiftDataClient.swift | 5 +- .../RedshiftServerlessClient.swift | 5 +- .../AWSRekognition/RekognitionClient.swift | 5 +- .../AWSRepostspace/RepostspaceClient.swift | 5 +- .../ResiliencehubClient.swift | 5 +- .../ResourceExplorer2Client.swift | 5 +- .../ResourceGroupsClient.swift | 5 +- .../ResourceGroupsTaggingAPIClient.swift | 5 +- .../Services/AWSRoboMaker/Dependencies.json | 17 - .../Sources/AWSRoboMaker/Endpoints.swift | 73 - .../Sources/AWSRoboMaker/Models.swift | 9086 -------------- .../Sources/AWSRoboMaker/Paginators.swift | 354 - .../AWSRoboMaker/RoboMakerClient.swift | 4449 ------- .../EndpointResolverTest.swift | 581 - .../RolesAnywhereClient.swift | 5 +- .../Sources/AWSRoute53/Models.swift | 10 +- .../Sources/AWSRoute53/Route53Client.swift | 7 +- .../Route53DomainsClient.swift | 5 +- .../Route53ProfilesClient.swift | 5 +- .../Route53RecoveryClusterClient.swift | 5 +- .../Route53RecoveryControlConfigClient.swift | 5 +- .../EndpointResolverTest.swift | 128 +- .../Route53RecoveryReadinessClient.swift | 5 +- .../Route53ResolverClient.swift | 5 +- .../Services/AWSS3/Sources/AWSS3/Models.swift | 78 +- .../AWSS3/Sources/AWSS3/S3Client.swift | 365 +- .../AWSS3Control/S3ControlClient.swift | 5 +- .../AWSS3Outposts/S3OutpostsClient.swift | 5 +- .../Sources/AWSS3Tables/S3TablesClient.swift | 5 +- .../AWSS3Vectors/S3VectorsClient.swift | 5 +- .../AWSSES/Sources/AWSSES/SESClient.swift | 5 +- .../Sources/AWSSESv2/SESv2Client.swift | 5 +- .../AWSSFN/Sources/AWSSFN/SFNClient.swift | 5 +- .../AWSSNS/Sources/AWSSNS/SNSClient.swift | 5 +- .../AWSSQS/Sources/AWSSQS/SQSClient.swift | 5 +- .../AWSSSM/Sources/AWSSSM/SSMClient.swift | 5 +- .../AWSSSMContacts/SSMContactsClient.swift | 5 +- .../SSMGuiConnectClient.swift | 5 +- .../AWSSSMIncidents/SSMIncidentsClient.swift | 5 +- .../SSMQuickSetupClient.swift | 5 +- .../AWSSSO/Sources/AWSSSO/SSOClient.swift | 5 +- .../Sources/AWSSSOAdmin/SSOAdminClient.swift | 5 +- .../Sources/AWSSSOOIDC/SSOOIDCClient.swift | 5 +- .../AWSSTS/Sources/AWSSTS/STSClient.swift | 5 +- .../AWSSWF/Sources/AWSSWF/Endpoints.swift | 2 +- .../AWSSWF/Sources/AWSSWF/SWFClient.swift | 5 +- .../AWSSWFTests/EndpointResolverTest.swift | 679 +- .../Sources/AWSSageMaker/Models.swift | 180 +- .../AWSSageMaker/SageMakerClient.swift | 145 +- .../SageMakerA2IRuntimeClient.swift | 5 +- .../SageMakerFeatureStoreRuntimeClient.swift | 5 +- .../SageMakerGeospatialClient.swift | 5 +- .../SageMakerMetricsClient.swift | 5 +- .../SageMakerRuntimeClient.swift | 5 +- .../SagemakerEdgeClient.swift | 5 +- .../Sources/AWSSavingsplans/Endpoints.swift | 2 +- .../AWSSavingsplans/SavingsplansClient.swift | 5 +- .../EndpointResolverTest.swift | 168 +- .../AWSScheduler/SchedulerClient.swift | 5 +- .../Sources/AWSSchemas/SchemasClient.swift | 5 +- .../SecretsManagerClient.swift | 5 +- .../Sources/AWSSecurityHub/Models.swift | 1231 +- .../AWSSecurityHub/SecurityHubClient.swift | 43 +- .../AWSSecurityIR/SecurityIRClient.swift | 5 +- .../AWSSecurityLake/SecurityLakeClient.swift | 5 +- ...erverlessApplicationRepositoryClient.swift | 5 +- .../ServiceCatalogClient.swift | 5 +- .../ServiceCatalogAppRegistryClient.swift | 5 +- .../ServiceDiscoveryClient.swift | 5 +- .../ServiceQuotasClient.swift | 5 +- .../Sources/AWSShield/ShieldClient.swift | 5 +- .../Sources/AWSSigner/SignerClient.swift | 5 +- .../SimSpaceWeaverClient.swift | 5 +- .../SnowDeviceManagementClient.swift | 5 +- .../Sources/AWSSnowball/SnowballClient.swift | 5 +- .../SocialMessagingClient.swift | 5 +- .../Sources/AWSSsmSap/SsmSapClient.swift | 5 +- .../StorageGatewayClient.swift | 5 +- .../AWSSupplyChain/SupplyChainClient.swift | 5 +- .../Sources/AWSSupport/SupportClient.swift | 5 +- .../AWSSupportApp/SupportAppClient.swift | 5 +- .../AWSSynthetics/SyntheticsClient.swift | 5 +- .../AWSTaxSettings/TaxSettingsClient.swift | 5 +- .../Sources/AWSTextract/TextractClient.swift | 5 +- .../AWSTimestreamInfluxDB/Models.swift | 831 +- .../TimestreamInfluxDBClient.swift | 5 +- .../TimestreamQueryClient.swift | 5 +- .../TimestreamWriteClient.swift | 5 +- .../AWSTnb/Sources/AWSTnb/TnbClient.swift | 5 +- .../Sources/AWSTranscribe/Models.swift | 87 +- .../AWSTranscribe/TranscribeClient.swift | 6 +- .../TranscribeStreamingClient.swift | 5 +- .../Sources/AWSTransfer/Models.swift | 272 +- .../Sources/AWSTransfer/TransferClient.swift | 5 +- .../AWSTranslate/TranslateClient.swift | 5 +- .../TrustedAdvisorClient.swift | 5 +- .../AWSVPCLattice/VPCLatticeClient.swift | 5 +- .../VerifiedPermissionsClient.swift | 5 +- .../Sources/AWSVoiceID/VoiceIDClient.swift | 5 +- .../AWSWAF/Sources/AWSWAF/WAFClient.swift | 5 +- .../AWSWAFRegional/WAFRegionalClient.swift | 5 +- .../Sources/AWSWAFV2/WAFV2Client.swift | 5 +- .../WellArchitectedClient.swift | 5 +- .../Sources/AWSWisdom/WisdomClient.swift | 5 +- .../Sources/AWSWorkDocs/WorkDocsClient.swift | 5 +- .../Sources/AWSWorkMail/WorkMailClient.swift | 5 +- .../WorkMailMessageFlowClient.swift | 5 +- .../Sources/AWSWorkSpaces/Models.swift | 16 + .../AWSWorkSpaces/WorkSpacesClient.swift | 5 +- .../WorkSpacesThinClientClient.swift | 5 +- .../WorkSpacesWebClient.swift | 5 +- .../WorkspacesInstancesClient.swift | 5 +- .../AWSXRay/Sources/AWSXRay/XRayClient.swift | 5 +- .../aws-models/accessanalyzer.json | 8 +- codegen/sdk-codegen/aws-models/account.json | 8 +- codegen/sdk-codegen/aws-models/acm-pca.json | 8 +- codegen/sdk-codegen/aws-models/acm.json | 8 +- codegen/sdk-codegen/aws-models/aiops.json | 8 +- codegen/sdk-codegen/aws-models/amp.json | 1013 +- codegen/sdk-codegen/aws-models/amplify.json | 8 +- .../aws-models/amplifybackend.json | 8 +- .../aws-models/amplifyuibuilder.json | 8 +- .../sdk-codegen/aws-models/api-gateway.json | 8 +- .../aws-models/apigatewaymanagementapi.json | 8 +- .../sdk-codegen/aws-models/apigatewayv2.json | 8 +- codegen/sdk-codegen/aws-models/app-mesh.json | 8 +- codegen/sdk-codegen/aws-models/appconfig.json | 8 +- .../sdk-codegen/aws-models/appconfigdata.json | 8 +- codegen/sdk-codegen/aws-models/appfabric.json | 8 +- codegen/sdk-codegen/aws-models/appflow.json | 8 +- .../aws-models/appintegrations.json | 8 +- .../aws-models/application-auto-scaling.json | 8 +- .../application-discovery-service.json | 8 +- .../aws-models/application-insights.json | 8 +- .../aws-models/application-signals.json | 245 +- .../aws-models/applicationcostprofiler.json | 8 +- codegen/sdk-codegen/aws-models/apprunner.json | 8 +- codegen/sdk-codegen/aws-models/appstream.json | 516 +- codegen/sdk-codegen/aws-models/appsync.json | 8 +- codegen/sdk-codegen/aws-models/apptest.json | 6244 ---------- .../aws-models/arc-zonal-shift.json | 8 +- codegen/sdk-codegen/aws-models/artifact.json | 8 +- codegen/sdk-codegen/aws-models/athena.json | 8 +- .../sdk-codegen/aws-models/auditmanager.json | 8 +- .../aws-models/auto-scaling-plans.json | 73 +- .../sdk-codegen/aws-models/auto-scaling.json | 8 +- codegen/sdk-codegen/aws-models/b2bi.json | 8 +- .../aws-models/backup-gateway.json | 8 +- codegen/sdk-codegen/aws-models/backup.json | 135 +- .../sdk-codegen/aws-models/backupsearch.json | 6 +- codegen/sdk-codegen/aws-models/batch.json | 8 +- .../aws-models/bcm-dashboards.json | 6 +- .../aws-models/bcm-data-exports.json | 6 +- .../aws-models/bcm-pricing-calculator.json | 6 +- .../aws-models/bcm-recommended-actions.json | 6 +- .../aws-models/bedrock-agent-runtime.json | 8 +- .../sdk-codegen/aws-models/bedrock-agent.json | 8 +- .../aws-models/bedrock-agentcore-control.json | 536 +- .../aws-models/bedrock-agentcore.json | 171 +- .../bedrock-data-automation-runtime.json | 8 +- .../aws-models/bedrock-data-automation.json | 8 +- .../aws-models/bedrock-runtime.json | 205 +- codegen/sdk-codegen/aws-models/bedrock.json | 34 +- codegen/sdk-codegen/aws-models/billing.json | 8 +- .../aws-models/billingconductor.json | 1579 ++- codegen/sdk-codegen/aws-models/braket.json | 8 +- codegen/sdk-codegen/aws-models/budgets.json | 124 +- codegen/sdk-codegen/aws-models/chatbot.json | 8 +- .../aws-models/chime-sdk-identity.json | 8 +- .../aws-models/chime-sdk-media-pipelines.json | 8 +- .../aws-models/chime-sdk-meetings.json | 8 +- .../aws-models/chime-sdk-messaging.json | 8 +- .../aws-models/chime-sdk-voice.json | 8 +- codegen/sdk-codegen/aws-models/chime.json | 8 +- .../sdk-codegen/aws-models/cleanrooms.json | 63 +- .../sdk-codegen/aws-models/cleanroomsml.json | 8 +- codegen/sdk-codegen/aws-models/cloud9.json | 8 +- .../sdk-codegen/aws-models/cloudcontrol.json | 8 +- .../aws-models/clouddirectory.json | 8 +- .../aws-models/cloudformation.json | 8 +- .../aws-models/cloudfront-keyvaluestore.json | 8 +- .../sdk-codegen/aws-models/cloudfront.json | 8 +- .../sdk-codegen/aws-models/cloudhsm-v2.json | 8 +- codegen/sdk-codegen/aws-models/cloudhsm.json | 8 +- .../aws-models/cloudsearch-domain.json | 8 +- .../sdk-codegen/aws-models/cloudsearch.json | 8 +- .../aws-models/cloudtrail-data.json | 8 +- .../sdk-codegen/aws-models/cloudtrail.json | 8 +- .../aws-models/cloudwatch-events.json | 8 +- .../aws-models/cloudwatch-logs.json | 8 +- .../sdk-codegen/aws-models/cloudwatch.json | 84 +- .../sdk-codegen/aws-models/codeartifact.json | 8 +- codegen/sdk-codegen/aws-models/codebuild.json | 8 +- .../sdk-codegen/aws-models/codecatalyst.json | 6 +- .../sdk-codegen/aws-models/codecommit.json | 8 +- .../aws-models/codeconnections.json | 8 +- .../sdk-codegen/aws-models/codedeploy.json | 8 +- .../aws-models/codeguru-reviewer.json | 8 +- .../aws-models/codeguru-security.json | 8 +- .../aws-models/codeguruprofiler.json | 8 +- .../sdk-codegen/aws-models/codepipeline.json | 8 +- .../aws-models/codestar-connections.json | 8 +- .../aws-models/codestar-notifications.json | 8 +- .../aws-models/cognito-identity-provider.json | 8 +- .../aws-models/cognito-identity.json | 8 +- .../sdk-codegen/aws-models/cognito-sync.json | 8 +- .../sdk-codegen/aws-models/comprehend.json | 8 +- .../aws-models/comprehendmedical.json | 8 +- .../aws-models/compute-optimizer.json | 8 +- .../aws-models/config-service.json | 8 +- .../aws-models/connect-contact-lens.json | 8 +- codegen/sdk-codegen/aws-models/connect.json | 456 +- .../aws-models/connectcampaigns.json | 8 +- .../aws-models/connectcampaignsv2.json | 92 +- .../sdk-codegen/aws-models/connectcases.json | 176 +- .../aws-models/connectparticipant.json | 8 +- .../aws-models/controlcatalog.json | 8 +- .../sdk-codegen/aws-models/controltower.json | 8 +- .../cost-and-usage-report-service.json | 8 +- .../sdk-codegen/aws-models/cost-explorer.json | 174 +- .../aws-models/cost-optimization-hub.json | 8 +- .../aws-models/customer-profiles.json | 8 +- .../sdk-codegen/aws-models/data-pipeline.json | 8 +- .../database-migration-service.json | 8 +- codegen/sdk-codegen/aws-models/databrew.json | 8 +- .../sdk-codegen/aws-models/dataexchange.json | 8 +- codegen/sdk-codegen/aws-models/datasync.json | 8 +- codegen/sdk-codegen/aws-models/datazone.json | 288 +- codegen/sdk-codegen/aws-models/dax.json | 8 +- codegen/sdk-codegen/aws-models/deadline.json | 8 +- codegen/sdk-codegen/aws-models/detective.json | 84 +- .../sdk-codegen/aws-models/device-farm.json | 38 +- .../sdk-codegen/aws-models/devops-guru.json | 8 +- .../aws-models/direct-connect.json | 8 +- .../aws-models/directory-service-data.json | 8 +- .../aws-models/directory-service.json | 8 +- codegen/sdk-codegen/aws-models/dlm.json | 8 +- .../sdk-codegen/aws-models/docdb-elastic.json | 8 +- codegen/sdk-codegen/aws-models/docdb.json | 200 +- codegen/sdk-codegen/aws-models/drs.json | 8 +- codegen/sdk-codegen/aws-models/dsql.json | 284 +- .../aws-models/dynamodb-streams.json | 84 +- codegen/sdk-codegen/aws-models/dynamodb.json | 192 +- codegen/sdk-codegen/aws-models/ebs.json | 8 +- .../aws-models/ec2-instance-connect.json | 8 +- codegen/sdk-codegen/aws-models/ec2.json | 4226 ++++++- .../sdk-codegen/aws-models/ecr-public.json | 8 +- codegen/sdk-codegen/aws-models/ecr.json | 8 +- codegen/sdk-codegen/aws-models/ecs.json | 1213 +- codegen/sdk-codegen/aws-models/efs.json | 84 +- codegen/sdk-codegen/aws-models/eks-auth.json | 6 +- codegen/sdk-codegen/aws-models/eks.json | 8 +- .../aws-models/elastic-beanstalk.json | 8 +- .../aws-models/elastic-load-balancing-v2.json | 196 +- .../aws-models/elastic-load-balancing.json | 8 +- .../aws-models/elastic-transcoder.json | 8 +- .../sdk-codegen/aws-models/elasticache.json | 8 +- .../aws-models/elasticsearch-service.json | 8 +- .../aws-models/emr-containers.json | 8 +- .../aws-models/emr-serverless.json | 26 +- codegen/sdk-codegen/aws-models/emr.json | 14 +- .../aws-models/entityresolution.json | 8 +- .../sdk-codegen/aws-models/eventbridge.json | 10 +- codegen/sdk-codegen/aws-models/evidently.json | 8 +- codegen/sdk-codegen/aws-models/evs.json | 8 +- .../sdk-codegen/aws-models/finspace-data.json | 8 +- codegen/sdk-codegen/aws-models/finspace.json | 8 +- codegen/sdk-codegen/aws-models/firehose.json | 8 +- codegen/sdk-codegen/aws-models/fis.json | 8 +- codegen/sdk-codegen/aws-models/fms.json | 8 +- codegen/sdk-codegen/aws-models/forecast.json | 8 +- .../sdk-codegen/aws-models/forecastquery.json | 8 +- .../sdk-codegen/aws-models/frauddetector.json | 8 +- codegen/sdk-codegen/aws-models/freetier.json | 6 +- codegen/sdk-codegen/aws-models/fsx.json | 8 +- codegen/sdk-codegen/aws-models/gamelift.json | 8 +- .../aws-models/gameliftstreams.json | 128 +- codegen/sdk-codegen/aws-models/geo-maps.json | 191 +- .../sdk-codegen/aws-models/geo-places.json | 8 +- .../sdk-codegen/aws-models/geo-routes.json | 8 +- codegen/sdk-codegen/aws-models/glacier.json | 8 +- .../aws-models/global-accelerator.json | 8 +- codegen/sdk-codegen/aws-models/glue.json | 18 + codegen/sdk-codegen/aws-models/grafana.json | 8 +- .../sdk-codegen/aws-models/greengrass.json | 8 +- .../sdk-codegen/aws-models/greengrassv2.json | 8 +- .../sdk-codegen/aws-models/groundstation.json | 993 +- codegen/sdk-codegen/aws-models/guardduty.json | 12 +- codegen/sdk-codegen/aws-models/health.json | 8 +- .../sdk-codegen/aws-models/healthlake.json | 8 +- codegen/sdk-codegen/aws-models/iam.json | 178 +- .../sdk-codegen/aws-models/identitystore.json | 8 +- .../sdk-codegen/aws-models/imagebuilder.json | 8 +- .../aws-models/inspector-scan.json | 8 +- codegen/sdk-codegen/aws-models/inspector.json | 8 +- .../sdk-codegen/aws-models/inspector2.json | 8 +- .../aws-models/internetmonitor.json | 8 +- codegen/sdk-codegen/aws-models/invoicing.json | 6 +- .../aws-models/iot-data-plane.json | 8 +- .../aws-models/iot-events-data.json | 8 +- .../sdk-codegen/aws-models/iot-events.json | 8 +- .../aws-models/iot-jobs-data-plane.json | 8 +- .../aws-models/iot-managed-integrations.json | 196 +- .../sdk-codegen/aws-models/iot-wireless.json | 8 +- codegen/sdk-codegen/aws-models/iot.json | 8 +- .../sdk-codegen/aws-models/iotanalytics.json | 8 +- .../aws-models/iotdeviceadvisor.json | 8 +- .../sdk-codegen/aws-models/iotfleethub.json | 1768 --- .../sdk-codegen/aws-models/iotfleetwise.json | 8 +- .../aws-models/iotsecuretunneling.json | 8 +- .../sdk-codegen/aws-models/iotsitewise.json | 8 +- .../aws-models/iotthingsgraph.json | 8 +- .../sdk-codegen/aws-models/iottwinmaker.json | 8 +- .../sdk-codegen/aws-models/ivs-realtime.json | 8 +- codegen/sdk-codegen/aws-models/ivs.json | 8 +- codegen/sdk-codegen/aws-models/ivschat.json | 8 +- codegen/sdk-codegen/aws-models/kafka.json | 8 +- .../sdk-codegen/aws-models/kafkaconnect.json | 8 +- .../aws-models/kendra-ranking.json | 6 +- codegen/sdk-codegen/aws-models/kendra.json | 8 +- codegen/sdk-codegen/aws-models/keyspaces.json | 8 +- .../aws-models/keyspacesstreams.json | 6 +- .../aws-models/kinesis-analytics-v2.json | 8 +- .../aws-models/kinesis-analytics.json | 8 +- .../kinesis-video-archived-media.json | 8 +- .../aws-models/kinesis-video-media.json | 8 +- .../aws-models/kinesis-video-signaling.json | 8 +- .../kinesis-video-webrtc-storage.json | 8 +- .../sdk-codegen/aws-models/kinesis-video.json | 8 +- codegen/sdk-codegen/aws-models/kinesis.json | 107 +- codegen/sdk-codegen/aws-models/kms.json | 38 +- .../sdk-codegen/aws-models/lakeformation.json | 8 +- codegen/sdk-codegen/aws-models/lambda.json | 77 +- .../sdk-codegen/aws-models/launch-wizard.json | 8 +- .../lex-model-building-service.json | 8 +- .../sdk-codegen/aws-models/lex-models-v2.json | 8 +- .../aws-models/lex-runtime-service.json | 8 +- .../aws-models/lex-runtime-v2.json | 8 +- .../license-manager-linux-subscriptions.json | 8 +- .../license-manager-user-subscriptions.json | 8 +- .../aws-models/license-manager.json | 8 +- codegen/sdk-codegen/aws-models/lightsail.json | 139 +- codegen/sdk-codegen/aws-models/location.json | 1077 +- .../aws-models/lookoutequipment.json | 8 +- .../aws-models/lookoutmetrics.json | 6373 ---------- .../sdk-codegen/aws-models/lookoutvision.json | 4428 ------- codegen/sdk-codegen/aws-models/m2.json | 8 +- .../aws-models/machine-learning.json | 8 +- codegen/sdk-codegen/aws-models/macie2.json | 8 +- .../sdk-codegen/aws-models/mailmanager.json | 8 +- .../aws-models/managedblockchain-query.json | 8 +- .../aws-models/managedblockchain.json | 8 +- .../aws-models/marketplace-agreement.json | 8 +- .../aws-models/marketplace-catalog.json | 22 +- .../marketplace-commerce-analytics.json | 8 +- .../aws-models/marketplace-deployment.json | 8 +- .../marketplace-entitlement-service.json | 84 +- .../aws-models/marketplace-metering.json | 122 +- .../aws-models/marketplace-reporting.json | 8 +- .../sdk-codegen/aws-models/mediaconnect.json | 8 +- .../sdk-codegen/aws-models/mediaconvert.json | 768 +- codegen/sdk-codegen/aws-models/medialive.json | 603 +- .../aws-models/mediapackage-vod.json | 8 +- .../sdk-codegen/aws-models/mediapackage.json | 8 +- .../aws-models/mediapackagev2.json | 8 +- .../aws-models/mediastore-data.json | 8 +- .../sdk-codegen/aws-models/mediastore.json | 8 +- .../sdk-codegen/aws-models/mediatailor.json | 8 +- .../aws-models/medical-imaging.json | 8 +- codegen/sdk-codegen/aws-models/memorydb.json | 8 +- codegen/sdk-codegen/aws-models/mgn.json | 8 +- .../migration-hub-refactor-spaces.json | 8 +- .../sdk-codegen/aws-models/migration-hub.json | 8 +- .../aws-models/migrationhub-config.json | 8 +- .../aws-models/migrationhuborchestrator.json | 8 +- .../aws-models/migrationhubstrategy.json | 8 +- codegen/sdk-codegen/aws-models/mpa.json | 6 +- codegen/sdk-codegen/aws-models/mq.json | 8 +- codegen/sdk-codegen/aws-models/mturk.json | 8 +- codegen/sdk-codegen/aws-models/mwaa.json | 8 +- .../sdk-codegen/aws-models/neptune-graph.json | 10 +- codegen/sdk-codegen/aws-models/neptune.json | 8 +- .../sdk-codegen/aws-models/neptunedata.json | 8 +- .../aws-models/network-firewall.json | 8 +- .../aws-models/networkflowmonitor.json | 6 +- .../aws-models/networkmanager.json | 124 +- .../aws-models/networkmonitor.json | 8 +- .../sdk-codegen/aws-models/notifications.json | 6 +- .../aws-models/notificationscontacts.json | 6 +- codegen/sdk-codegen/aws-models/oam.json | 8 +- .../aws-models/observabilityadmin.json | 453 +- codegen/sdk-codegen/aws-models/odb.json | 16 +- codegen/sdk-codegen/aws-models/omics.json | 58 +- .../sdk-codegen/aws-models/opensearch.json | 8 +- .../aws-models/opensearchserverless.json | 8 +- .../sdk-codegen/aws-models/organizations.json | 20 +- codegen/sdk-codegen/aws-models/osis.json | 8 +- codegen/sdk-codegen/aws-models/outposts.json | 8 +- codegen/sdk-codegen/aws-models/panorama.json | 8 +- .../aws-models/partnercentral-selling.json | 6 +- .../aws-models/payment-cryptography-data.json | 8 +- .../aws-models/payment-cryptography.json | 80 +- .../aws-models/pca-connector-ad.json | 8 +- .../aws-models/pca-connector-scep.json | 8 +- codegen/sdk-codegen/aws-models/pcs.json | 8 +- .../aws-models/personalize-events.json | 8 +- .../aws-models/personalize-runtime.json | 8 +- .../sdk-codegen/aws-models/personalize.json | 8 +- codegen/sdk-codegen/aws-models/pi.json | 8 +- .../aws-models/pinpoint-email.json | 8 +- .../aws-models/pinpoint-sms-voice-v2.json | 8 +- .../aws-models/pinpoint-sms-voice.json | 8 +- codegen/sdk-codegen/aws-models/pinpoint.json | 8 +- codegen/sdk-codegen/aws-models/pipes.json | 8 +- codegen/sdk-codegen/aws-models/polly.json | 8 +- codegen/sdk-codegen/aws-models/pricing.json | 8 +- codegen/sdk-codegen/aws-models/qapps.json | 8 +- codegen/sdk-codegen/aws-models/qbusiness.json | 6 +- .../sdk-codegen/aws-models/qldb-session.json | 1457 --- codegen/sdk-codegen/aws-models/qldb.json | 3166 ----- codegen/sdk-codegen/aws-models/ram.json | 8 +- codegen/sdk-codegen/aws-models/rbin.json | 8 +- codegen/sdk-codegen/aws-models/rds-data.json | 8 +- .../sdk-codegen/aws-models/redshift-data.json | 8 +- .../aws-models/redshift-serverless.json | 8 +- codegen/sdk-codegen/aws-models/redshift.json | 8 +- .../sdk-codegen/aws-models/rekognition.json | 8 +- .../sdk-codegen/aws-models/repostspace.json | 8 +- .../sdk-codegen/aws-models/resiliencehub.json | 8 +- .../resource-groups-tagging-api.json | 8 +- .../aws-models/resource-groups.json | 8 +- codegen/sdk-codegen/aws-models/robomaker.json | 10244 ---------------- .../sdk-codegen/aws-models/rolesanywhere.json | 8 +- .../aws-models/route-53-domains.json | 8 +- codegen/sdk-codegen/aws-models/route-53.json | 26 +- .../aws-models/route53-recovery-cluster.json | 8 +- .../route53-recovery-control-config.json | 124 +- .../route53-recovery-readiness.json | 8 +- .../aws-models/route53profiles.json | 8 +- .../aws-models/route53resolver.json | 8 +- codegen/sdk-codegen/aws-models/rtbfabric.json | 6433 ++++++++++ codegen/sdk-codegen/aws-models/rum.json | 8 +- .../sdk-codegen/aws-models/s3-control.json | 24 +- codegen/sdk-codegen/aws-models/s3.json | 313 +- .../sdk-codegen/aws-models/s3outposts.json | 8 +- codegen/sdk-codegen/aws-models/s3tables.json | 8 +- codegen/sdk-codegen/aws-models/s3vectors.json | 6 +- .../aws-models/sagemaker-a2i-runtime.json | 8 +- .../aws-models/sagemaker-edge.json | 8 +- .../sagemaker-featurestore-runtime.json | 8 +- .../aws-models/sagemaker-geospatial.json | 8 +- .../aws-models/sagemaker-metrics.json | 8 +- .../aws-models/sagemaker-runtime.json | 8 +- codegen/sdk-codegen/aws-models/sagemaker.json | 149 +- .../sdk-codegen/aws-models/savingsplans.json | 262 +- codegen/sdk-codegen/aws-models/scheduler.json | 8 +- codegen/sdk-codegen/aws-models/schemas.json | 8 +- .../aws-models/secrets-manager.json | 8 +- .../sdk-codegen/aws-models/security-ir.json | 6 +- .../sdk-codegen/aws-models/securityhub.json | 488 +- .../sdk-codegen/aws-models/securitylake.json | 8 +- .../serverlessapplicationrepository.json | 8 +- .../service-catalog-appregistry.json | 8 +- .../aws-models/service-catalog.json | 8 +- .../aws-models/servicediscovery.json | 8 +- codegen/sdk-codegen/aws-models/ses.json | 8 +- codegen/sdk-codegen/aws-models/sesv2.json | 10 +- codegen/sdk-codegen/aws-models/sfn.json | 8 +- codegen/sdk-codegen/aws-models/shield.json | 8 +- codegen/sdk-codegen/aws-models/signer.json | 8 +- .../aws-models/simspaceweaver.json | 8 +- .../aws-models/snow-device-management.json | 8 +- codegen/sdk-codegen/aws-models/snowball.json | 8 +- codegen/sdk-codegen/aws-models/sns.json | 8 +- .../aws-models/socialmessaging.json | 8 +- codegen/sdk-codegen/aws-models/sqs.json | 8 +- .../sdk-codegen/aws-models/ssm-contacts.json | 8 +- .../aws-models/ssm-guiconnect.json | 8 +- .../sdk-codegen/aws-models/ssm-incidents.json | 8 +- .../aws-models/ssm-quicksetup.json | 8 +- codegen/sdk-codegen/aws-models/ssm-sap.json | 8 +- codegen/sdk-codegen/aws-models/ssm.json | 8 +- codegen/sdk-codegen/aws-models/sso-admin.json | 8 +- codegen/sdk-codegen/aws-models/sso-oidc.json | 8 +- codegen/sdk-codegen/aws-models/sso.json | 8 +- .../aws-models/storage-gateway.json | 8 +- codegen/sdk-codegen/aws-models/sts.json | 10 +- .../sdk-codegen/aws-models/supplychain.json | 8 +- .../sdk-codegen/aws-models/support-app.json | 8 +- codegen/sdk-codegen/aws-models/swf.json | 937 +- .../sdk-codegen/aws-models/synthetics.json | 8 +- .../sdk-codegen/aws-models/taxsettings.json | 8 +- codegen/sdk-codegen/aws-models/textract.json | 8 +- .../aws-models/timestream-influxdb.json | 1192 +- .../aws-models/timestream-query.json | 8 +- .../aws-models/timestream-write.json | 8 +- codegen/sdk-codegen/aws-models/tnb.json | 8 +- .../aws-models/transcribe-streaming.json | 8 +- .../sdk-codegen/aws-models/transcribe.json | 17 +- codegen/sdk-codegen/aws-models/transfer.json | 235 +- codegen/sdk-codegen/aws-models/translate.json | 8 +- .../aws-models/trustedadvisor.json | 8 +- .../aws-models/verifiedpermissions.json | 8 +- codegen/sdk-codegen/aws-models/voice-id.json | 8 +- .../sdk-codegen/aws-models/vpc-lattice.json | 8 +- .../sdk-codegen/aws-models/waf-regional.json | 8 +- codegen/sdk-codegen/aws-models/waf.json | 8 +- .../aws-models/wellarchitected.json | 8 +- codegen/sdk-codegen/aws-models/wisdom.json | 8 +- codegen/sdk-codegen/aws-models/workdocs.json | 8 +- codegen/sdk-codegen/aws-models/workmail.json | 8 +- .../aws-models/workmailmessageflow.json | 8 +- .../aws-models/workspaces-instances.json | 6 +- .../aws-models/workspaces-thin-client.json | 8 +- .../aws-models/workspaces-web.json | 8 +- .../sdk-codegen/aws-models/workspaces.json | 38 +- codegen/sdk-codegen/aws-models/xray.json | 8 +- codegen/sdk-codegen/sdk-endpoints.json | 407 +- codegen/sdk-codegen/sdk-partitions.json | 3 + .../codegen/AWSHttpProtocolServiceClient.kt | 6 + .../swiftmodules/AWSClientRuntimeTypes.kt | 1 + .../AWSRestJson1ProtocolGeneratorTests.kt | 3 +- gradle.properties | 2 +- packageDependencies.plist | 2 +- scripts/codegen.sh | 2 + sdk.properties | 2 +- 989 files changed, 52927 insertions(+), 92138 deletions(-) create mode 100644 AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePackageVersion.swift create mode 100644 AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePartitions.swift create mode 100644 AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PackageVersionBuilder.swift create mode 100644 AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PartitionsBuilder.swift create mode 100644 AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PackageVersionBuilderTests.swift create mode 100644 AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PartitionsBuilderTests.swift create mode 100644 AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.invalid create mode 100644 AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.test create mode 100644 AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/invalid-partitions.json create mode 100644 AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/test-partitions.json create mode 100644 Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/AWSServiceClient.swift rename scripts/Partitions.base.swift => Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift (81%) rename Sources/Core/{AWSSDKPartitions/Sources/AWSSDKPartitions => AWSSDKDynamic/Sources/AWSSDKDynamic}/Partitions.swift (98%) delete mode 100644 Sources/Services/AWSAppTest/Sources/AWSAppTest/AuthSchemeResolver.swift delete mode 100644 Sources/Services/AWSAppTest/Sources/AWSAppTest/Models.swift delete mode 100644 Sources/Services/AWSAppTest/Sources/AWSAppTest/Plugins.swift delete mode 100644 Sources/Services/AWSAppTest/Tests/AWSAppTestTests/EndpointResolverTest.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Dependencies.json delete mode 100644 Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/AuthSchemeResolver.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Endpoints.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/IoTFleetHubClient.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Models.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Paginators.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Plugins.swift delete mode 100644 Sources/Services/AWSIoTFleetHub/Tests/AWSIoTFleetHubTests/EndpointResolverTest.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Dependencies.json delete mode 100644 Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/AuthSchemeResolver.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Endpoints.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/LookoutMetricsClient.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Models.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Paginators.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Plugins.swift delete mode 100644 Sources/Services/AWSLookoutMetrics/Tests/AWSLookoutMetricsTests/EndpointResolverTest.swift delete mode 100644 Sources/Services/AWSLookoutVision/Dependencies.json delete mode 100644 Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/AuthSchemeResolver.swift delete mode 100644 Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Endpoints.swift delete mode 100644 Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/LookoutVisionClient.swift delete mode 100644 Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Models.swift delete mode 100644 Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Paginators.swift delete mode 100644 Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Plugins.swift delete mode 100644 Sources/Services/AWSQLDB/Dependencies.json delete mode 100644 Sources/Services/AWSQLDB/Sources/AWSQLDB/AuthSchemeResolver.swift delete mode 100644 Sources/Services/AWSQLDB/Sources/AWSQLDB/Endpoints.swift delete mode 100644 Sources/Services/AWSQLDB/Sources/AWSQLDB/Models.swift delete mode 100644 Sources/Services/AWSQLDB/Sources/AWSQLDB/Paginators.swift delete mode 100644 Sources/Services/AWSQLDB/Sources/AWSQLDB/Plugins.swift delete mode 100644 Sources/Services/AWSQLDB/Sources/AWSQLDB/QLDBClient.swift delete mode 100644 Sources/Services/AWSQLDB/Tests/AWSQLDBTests/EndpointResolverTest.swift delete mode 100644 Sources/Services/AWSQLDBSession/Dependencies.json delete mode 100644 Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/AuthSchemeResolver.swift delete mode 100644 Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Endpoints.swift delete mode 100644 Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Models.swift delete mode 100644 Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Plugins.swift delete mode 100644 Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/QLDBSessionClient.swift delete mode 100644 Sources/Services/AWSQLDBSession/Tests/AWSQLDBSessionTests/EndpointResolverTest.swift rename Sources/Services/{AWSAppTest => AWSRTBFabric}/Dependencies.json (100%) rename Sources/Services/{AWSRoboMaker/Sources/AWSRoboMaker => AWSRTBFabric/Sources/AWSRTBFabric}/AuthSchemeResolver.swift (85%) rename Sources/Services/{AWSAppTest/Sources/AWSAppTest => AWSRTBFabric/Sources/AWSRTBFabric}/Endpoints.swift (58%) create mode 100644 Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Models.swift create mode 100644 Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Paginators.swift rename Sources/Services/{AWSRoboMaker/Sources/AWSRoboMaker => AWSRTBFabric/Sources/AWSRTBFabric}/Plugins.swift (84%) rename Sources/Services/{AWSAppTest/Sources/AWSAppTest/AppTestClient.swift => AWSRTBFabric/Sources/AWSRTBFabric/RTBFabricClient.swift} (55%) create mode 100644 Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Waiters.swift rename Sources/Services/{AWSLookoutVision/Tests/AWSLookoutVisionTests => AWSRTBFabric/Tests/AWSRTBFabricTests}/EndpointResolverTest.swift (78%) delete mode 100644 Sources/Services/AWSRoboMaker/Dependencies.json delete mode 100644 Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Endpoints.swift delete mode 100644 Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Models.swift delete mode 100644 Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Paginators.swift delete mode 100644 Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/RoboMakerClient.swift delete mode 100644 Sources/Services/AWSRoboMaker/Tests/AWSRoboMakerTests/EndpointResolverTest.swift delete mode 100644 codegen/sdk-codegen/aws-models/apptest.json delete mode 100644 codegen/sdk-codegen/aws-models/iotfleethub.json delete mode 100644 codegen/sdk-codegen/aws-models/lookoutmetrics.json delete mode 100644 codegen/sdk-codegen/aws-models/lookoutvision.json delete mode 100644 codegen/sdk-codegen/aws-models/qldb-session.json delete mode 100644 codegen/sdk-codegen/aws-models/qldb.json delete mode 100644 codegen/sdk-codegen/aws-models/robomaker.json create mode 100644 codegen/sdk-codegen/aws-models/rtbfabric.json diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 26e9a492094..ae4ba1a2b4b 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -25,7 +25,7 @@ jobs: - Xcode_26.0 destination: - 'platform=iOS Simulator,OS=17.2,name=iPhone 15' - - 'platform=iOS Simulator,OS=26.0,name=iPhone 17' + - 'platform=iOS Simulator,OS=26.0.1,name=iPhone 17' - 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' - 'platform=tvOS Simulator,OS=26.0,name=Apple TV 4K (3rd generation) (at 1080p)' - 'platform=visionOS Simulator,OS=1.0,name=Apple Vision Pro' @@ -48,7 +48,7 @@ jobs: # Don't run new simulators with old Xcode - destination: 'platform=tvOS Simulator,OS=26.0,name=Apple TV 4K (3rd generation) (at 1080p)' xcode: Xcode_15.2 - - destination: 'platform=iOS Simulator,OS=26.0,name=iPhone 17' + - destination: 'platform=iOS Simulator,OS=26.0.1,name=iPhone 17' xcode: Xcode_15.2 - destination: 'platform=visionOS Simulator,OS=26.0,name=Apple Vision Pro' xcode: Xcode_15.2 @@ -91,6 +91,8 @@ jobs: java-version: 17 - name: Tools Versions run: ./aws-sdk-swift/scripts/ci_steps/log_tool_versions.sh + - name: List all sims installed + run: xcrun simctl list - name: Run CLI Unit Tests if: ${{ matrix.destination == 'platform=macOS' }} run: | @@ -123,18 +125,16 @@ jobs: linux: if: github.repository == 'awslabs/aws-sdk-swift' || github.event_name == 'pull_request' runs-on: ${{ matrix.runner }} - container: swift:${{ matrix.version }}-${{ matrix.os }} + container: swift:${{ matrix.swift }} strategy: fail-fast: false matrix: runner: - ubuntu-24.04 - ubuntu-24.04-arm - os: - - jammy - version: - - "5.9" - - "6.2" + swift: + - "5.9-jammy" + - "6.2-noble" env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: @@ -163,10 +163,10 @@ jobs: path: | ~/Library/Caches/org.swift.swiftpm ~/.cache/org.swift.swiftpm - key: 1-${{ runner.os }}-swift-${{ matrix.version }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} + key: 1-${{ runner.os }}-swift-${{ matrix.swift }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} restore-keys: | - 1-${{ runner.os }}-swift-${{ matrix.version }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} - 1-${{ runner.os }}-swift-${{ matrix.version }}-spm- + 1-${{ runner.os }}-swift-${{ matrix.swift }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} + 1-${{ runner.os }}-swift-${{ matrix.swift }}-spm- - name: Setup Java uses: actions/setup-java@v4 with: diff --git a/.github/workflows/integration-test.yml b/.github/workflows/integration-test.yml index afa11096210..696fb6ce228 100644 --- a/.github/workflows/integration-test.yml +++ b/.github/workflows/integration-test.yml @@ -30,7 +30,7 @@ jobs: - Xcode_26.0 destination: - 'platform=iOS Simulator,OS=17.2,name=iPhone 15' - - 'platform=iOS Simulator,OS=26.0,name=iPhone 17' + - 'platform=iOS Simulator,OS=26.0.1,name=iPhone 17' - 'platform=tvOS Simulator,OS=17.2,name=Apple TV 4K (3rd generation) (at 1080p)' - 'platform=tvOS Simulator,OS=26.0,name=Apple TV 4K (3rd generation) (at 1080p)' - 'platform=visionOS Simulator,OS=1.0,name=Apple Vision Pro' @@ -53,7 +53,7 @@ jobs: # Don't run new simulators with old Xcode - destination: 'platform=tvOS Simulator,OS=26.0,name=Apple TV 4K (3rd generation) (at 1080p)' xcode: Xcode_15.2 - - destination: 'platform=iOS Simulator,OS=26.0,name=iPhone 17' + - destination: 'platform=iOS Simulator,OS=26.0.1,name=iPhone 17' xcode: Xcode_15.2 - destination: 'platform=visionOS Simulator,OS=26.0,name=Apple Vision Pro' xcode: Xcode_15.2 @@ -101,6 +101,8 @@ jobs: java-version: 17 - name: Tools Versions run: ./aws-sdk-swift/scripts/ci_steps/log_tool_versions.sh + - name: List all sims installed + run: xcrun simctl list - name: Add Credentials to Test Plan run: | cd aws-sdk-swift @@ -132,18 +134,16 @@ jobs: # Details on why AL2 isn't included: https://github.com/awslabs/aws-sdk-swift/pull/1833 if: github.repository == 'awslabs/aws-sdk-swift' || github.event_name == 'pull_request' runs-on: ${{ matrix.runner }} - container: swift:${{ matrix.version }}-${{ matrix.os }} + container: swift:${{ matrix.swift }} strategy: fail-fast: false matrix: runner: - ubuntu-24.04 - ubuntu-24.04-arm - os: - - jammy - version: - - "5.9" - - "6.2" + swift: + - "5.9-jammy" + - "6.2-noble" env: ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true steps: @@ -179,10 +179,10 @@ jobs: path: | ~/Library/Caches/org.swift.swiftpm ~/.cache/org.swift.swiftpm - key: 1-${{ runner.os }}-swift-${{ matrix.version }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} + key: 1-${{ runner.os }}-swift-${{ matrix.swift }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} restore-keys: | - 1-${{ runner.os }}-swift-${{ matrix.version }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} - 1-${{ runner.os }}-swift-${{ matrix.version }}-spm- + 1-${{ runner.os }}-swift-${{ matrix.swift }}-spm-${{ hashFiles('Package.swift', 'AWSSDKSwiftCLI/Package.swift') }} + 1-${{ runner.os }}-swift-${{ matrix.swift }}-spm- - name: Setup Java uses: actions/setup-java@v4 with: diff --git a/AWSSDKSwiftCLI/Package.swift b/AWSSDKSwiftCLI/Package.swift index 584fd7a0454..13011dd077d 100644 --- a/AWSSDKSwiftCLI/Package.swift +++ b/AWSSDKSwiftCLI/Package.swift @@ -39,7 +39,8 @@ let package = Package( ), .testTarget( name: "AWSSDKSwiftCLITests", - dependencies: ["AWSSDKSwiftCLI"] + dependencies: ["AWSSDKSwiftCLI"], + resources: [.process("Resources")] ) ] ) diff --git a/AWSSDKSwiftCLI/Sources/AWSCLIUtils/FileManager+Utils.swift b/AWSSDKSwiftCLI/Sources/AWSCLIUtils/FileManager+Utils.swift index 44c0c2e9f96..0634759c588 100644 --- a/AWSSDKSwiftCLI/Sources/AWSCLIUtils/FileManager+Utils.swift +++ b/AWSSDKSwiftCLI/Sources/AWSCLIUtils/FileManager+Utils.swift @@ -69,6 +69,7 @@ public extension FileManager { .sorted() .filter { $0 != "AWSSDKForSwift" } // Ignore documentation module .filter { $0 != "SDKForSwift" } // Ignore new documentation module + .filter { $0 != "AWSSDKDynamic" } // Internal module, do not document .filter { !$0.hasPrefix(".") } } diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/AWSSDKSwiftCLI.swift b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/AWSSDKSwiftCLI.swift index 2fe34a07ef4..3f09bcd3ebc 100644 --- a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/AWSSDKSwiftCLI.swift +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/AWSSDKSwiftCLI.swift @@ -17,7 +17,9 @@ struct AWSSDKSwiftCLI: ParsableCommand { PrepareReleaseCommand.self, SyncClientRuntimeVersionCommand.self, GenerateDocIndexCommand.self, - GenerateSmokeTestsPackageManifestCommand.self + GenerateSmokeTestsPackageManifestCommand.self, + GeneratePartitionsCommand.self, + GeneratePackageVersionCommand.self, ] ) } diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePackageVersion.swift b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePackageVersion.swift new file mode 100644 index 00000000000..d2be471ea51 --- /dev/null +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePackageVersion.swift @@ -0,0 +1,27 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import ArgumentParser +import Foundation +import AWSCLIUtils + +struct GeneratePackageVersionCommand: ParsableCommand { + + static var configuration = CommandConfiguration( + commandName: "generate-package-version", + abstract: "Generates the PackageVersion.swift file for the AWSSDKDynamic target." + ) + + @Argument(help: "The path to the aws-sdk-swift repository") + var repoPath: String + + func run() throws { + try PackageVersionBuilder( + repoPath: repoPath + ).generatePackageVersionFile() + } +} diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePartitions.swift b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePartitions.swift new file mode 100644 index 00000000000..063922dfa7a --- /dev/null +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/GeneratePartitions.swift @@ -0,0 +1,27 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import ArgumentParser +import Foundation +import AWSCLIUtils + +struct GeneratePartitionsCommand: ParsableCommand { + + static var configuration = CommandConfiguration( + commandName: "generate-partitions", + abstract: "Generates the Partitions.swift file for the AWSSDKDynamic target." + ) + + @Argument(help: "The path to the aws-sdk-swift repository") + var repoPath: String + + func run() throws { + try PartitionsBuilder( + repoPath: repoPath + ).generatePartitionsFile() + } +} diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/PrepareRelease.swift b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/PrepareRelease.swift index a99ae149634..b7224be9e0c 100644 --- a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/PrepareRelease.swift +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Commands/AWSSDKSwiftCLI/Subcommands/PrepareRelease.swift @@ -208,8 +208,10 @@ struct PrepareRelease { "packageDependencies.plist", "Sources/Services", "Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md", - "Sources/Core/AWSSDKPartitions/Sources/AWSSDKPartitions/Partitions.swift", + "Sources/Core/SDKForSwift/Documentation.docc/SDKForSwift.md", "Sources/Core/AWSSDKIdentity/", + "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift", + "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift", ] case .smithySwift: files = ["Package.version", "Package.version.next"] diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PackageVersionBuilder.swift b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PackageVersionBuilder.swift new file mode 100644 index 00000000000..2f660ffb4d4 --- /dev/null +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PackageVersionBuilder.swift @@ -0,0 +1,63 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Foundation +import struct AWSCLIUtils.Error +import struct AWSCLIUtils.Version + +struct PackageVersionBuilder { + let packageVersionFileURL: URL + let packageVersionSwiftFileURL: URL + + // MARK: - init + + init(repoPath: String) { + let repoFileURL = URL(fileURLWithPath: repoPath) + self.init( + packageVersionFileURL: repoFileURL.appendingPathComponent("Package.version.next"), + packageVersionSwiftFileURL: repoFileURL.appendingPathComponent( + "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift" + ) + ) + } + + init( + packageVersionFileURL: URL, + packageVersionSwiftFileURL: URL + ) { + self.packageVersionFileURL = packageVersionFileURL + self.packageVersionSwiftFileURL = packageVersionSwiftFileURL + } + + // MARK: - Code generation + + func generatePackageVersionFile() throws { + let currentVersionData = try Data(contentsOf: packageVersionFileURL) + guard let packageVersion = String(data: currentVersionData, encoding: .utf8) else { + throw Error("Package.version.next does not contain UTF-8 data.") + } + _ = try Version(packageVersion) // throws if currentVersion is not a valid version string + let packageVersionFileContents = """ + // + // Copyright Amazon.com Inc. or its affiliates. + // All Rights Reserved. + // + // SPDX-License-Identifier: Apache-2.0 + // + + // Code is auto-generated. DO NOT EDIT! + + public let packageVersion = "\(packageVersion.trimmingCharacters(in: .whitespacesAndNewlines))" + + """ + try FileManager.default.createDirectory( + at: packageVersionSwiftFileURL.deletingLastPathComponent(), + withIntermediateDirectories: true + ) + try Data(packageVersionFileContents.utf8).write(to: packageVersionSwiftFileURL) + } +} diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PartitionsBuilder.swift b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PartitionsBuilder.swift new file mode 100644 index 00000000000..7b88aac8bbd --- /dev/null +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Models/PartitionsBuilder.swift @@ -0,0 +1,64 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import Foundation +import struct AWSCLIUtils.Error + +struct PartitionsBuilder { + let partitionsFileURL: URL + let partitionsSwiftFileURL: URL + + // MARK: - init + + init(repoPath: String) { + let repoFileURL = URL(fileURLWithPath: repoPath) + self.init( + partitionsFileURL: repoFileURL.appendingPathComponent("codegen/sdk-codegen/sdk-partitions.json"), + partitionsSwiftFileURL: repoFileURL.appendingPathComponent( + "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift" + ) + ) + } + + init( + partitionsFileURL: URL, + partitionsSwiftFileURL: URL + ) { + self.partitionsFileURL = partitionsFileURL + self.partitionsSwiftFileURL = partitionsSwiftFileURL + } + + // MARK: - Code generation + + func generatePartitionsFile() throws { + let partitionsData = try Data(contentsOf: partitionsFileURL) + guard let partitions = String(data: partitionsData, encoding: .utf8) else { + throw Error("sdk-partitions.json does not contain UTF-8 data.") + } + _ = try JSONSerialization.jsonObject(with: partitionsData) // verifies partitions are valid JSON + let partitionsSwiftFileContents = """ + // + // Copyright Amazon.com Inc. or its affiliates. + // All Rights Reserved. + // + // SPDX-License-Identifier: Apache-2.0 + // + + // Code is auto-generated. DO NOT EDIT! + + public let partitions = #\"\"\" + \(partitions.trimmingCharacters(in: .whitespacesAndNewlines)) + \"\"\"# + + """ + try FileManager.default.createDirectory( + at: partitionsSwiftFileURL.deletingLastPathComponent(), + withIntermediateDirectories: true + ) + try Data(partitionsSwiftFileContents.utf8).write(to: partitionsSwiftFileURL) + } +} diff --git a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Resources/Package.Base.txt b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Resources/Package.Base.txt index 963c52aec4c..dcbe1cecd18 100644 --- a/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Resources/Package.Base.txt +++ b/AWSSDKSwiftCLI/Sources/AWSSDKSwiftCLI/Resources/Package.Base.txt @@ -11,7 +11,7 @@ extension Target.Dependency { static var AWSSDKIdentity: Self { "AWSSDKIdentity" } static var AWSSDKIdentityAPI: Self { "AWSSDKIdentityAPI" } static var AWSSDKChecksums: Self { "AWSSDKChecksums" } - static var AWSSDKPartitions: Self { "AWSSDKPartitions" } + static var AWSSDKDynamic: Self { "AWSSDKDynamic" } // CRT module static var CRT: Self { .product(name: "AwsCommonRuntimeKit", package: "aws-crt-swift") } @@ -134,7 +134,7 @@ private var runtimeTargets: [Target] { .AWSSDKCommon, .AWSSDKHTTPAuth, .AWSSDKChecksums, - .AWSSDKPartitions, + .AWSSDKDynamic, ], path: "Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime", resources: [ @@ -223,11 +223,11 @@ private var runtimeTargets: [Target] { .SmithyChecksums, .SmithyHTTPAPI, ], - path: "Sources/Core/AWSSDKChecksums/Sources" + path: "Sources/Core/AWSSDKChecksums/Sources/AWSSDKChecksums" ), .target( - name: "AWSSDKPartitions", - path: "Sources/Core/AWSSDKPartitions/Sources" + name: "AWSSDKDynamic", + path: "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic" ), ] } diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PackageVersionBuilderTests.swift b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PackageVersionBuilderTests.swift new file mode 100644 index 00000000000..db751eb33a7 --- /dev/null +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PackageVersionBuilderTests.swift @@ -0,0 +1,62 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest +@testable import AWSSDKSwiftCLI + +class PackageVersionBuilderTests: XCTestCase { + + func test_generatePackageVersion_suceedsWithExpectedContents() throws { + let packageVersionFileURL = Bundle.module.url(forResource: "Package.version.next", withExtension: "test")! + let packageVersionSwiftFileURL = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + + try PackageVersionBuilder( + packageVersionFileURL: packageVersionFileURL, + packageVersionSwiftFileURL: packageVersionSwiftFileURL + ).generatePackageVersionFile() + + let packageVersionSwiftContents = try XCTUnwrap(Data(contentsOf: packageVersionSwiftFileURL)) + let packageVersionSwift = try XCTUnwrap(String(data: packageVersionSwiftContents, encoding: .utf8)) + + let expected = """ + // + // Copyright Amazon.com Inc. or its affiliates. + // All Rights Reserved. + // + // SPDX-License-Identifier: Apache-2.0 + // + + // Code is auto-generated. DO NOT EDIT! + + public let packageVersion = "1.3.2" + + """ + + XCTAssertEqual(packageVersionSwift, expected) + } + + func test_generatePackageSwift_throwsOnInvalidPackageVersion() throws { + let packageVersionFileURL = Bundle.module.url(forResource: "Package.version.next.invalid", withExtension: nil)! + let packageVersionSwiftFileURL = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + + XCTAssertThrowsError( + try PackageVersionBuilder( + packageVersionFileURL: packageVersionFileURL, + packageVersionSwiftFileURL: packageVersionSwiftFileURL + ).generatePackageVersionFile() + ) + } + + func test_generateDefaultFileURLs() throws { + let subject = PackageVersionBuilder(repoPath: "/path/to/sdk") + + XCTAssertEqual(subject.packageVersionFileURL, URL(fileURLWithPath: "/path/to/sdk/Package.version.next")) + XCTAssertEqual(subject.packageVersionSwiftFileURL, + URL(fileURLWithPath: "/path/to/sdk/Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift") + ) + } +} diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PartitionsBuilderTests.swift b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PartitionsBuilderTests.swift new file mode 100644 index 00000000000..4722ad95092 --- /dev/null +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PartitionsBuilderTests.swift @@ -0,0 +1,64 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import XCTest +@testable import AWSSDKSwiftCLI + +class PartitionsBuilderTests: XCTestCase { + + func test_generatePartitions_suceedsWithExpectedContents() throws { + let partitionsFileURL = Bundle.module.url(forResource: "test-partitions", withExtension: "json")! + let partitionsSwiftFileURL = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + + try PartitionsBuilder( + partitionsFileURL: partitionsFileURL, + partitionsSwiftFileURL: partitionsSwiftFileURL + ).generatePartitionsFile() + + let packageVersionSwiftContents = try XCTUnwrap(Data(contentsOf: partitionsSwiftFileURL)) + let partitionsSwift = try XCTUnwrap(String(data: packageVersionSwiftContents, encoding: .utf8)) + + let expected = """ + // + // Copyright Amazon.com Inc. or its affiliates. + // All Rights Reserved. + // + // SPDX-License-Identifier: Apache-2.0 + // + + // Code is auto-generated. DO NOT EDIT! + + public let partitions = #\"\"\" + {"test":"partitions"} + \"\"\"# + + """ + + XCTAssertEqual(partitionsSwift, expected) + } + + func test_generatePartitions_throwsOnInvalidPackageVersion() throws { + let partitionsFileURL = Bundle.module.url(forResource: "invalid-partitions", withExtension: "json")! + let partitionsSwiftFileURL = FileManager.default.temporaryDirectory.appendingPathComponent(UUID().uuidString) + + XCTAssertThrowsError( + try PartitionsBuilder( + partitionsFileURL: partitionsFileURL, + partitionsSwiftFileURL: partitionsSwiftFileURL + ).generatePartitionsFile() + ) + } + + func test_generateDefaultFileURLs() throws { + let subject = PartitionsBuilder(repoPath: "/path/to/sdk") + + XCTAssertEqual(subject.partitionsFileURL, URL(fileURLWithPath: "/path/to/sdk/codegen/sdk-codegen/sdk-partitions.json")) + XCTAssertEqual(subject.partitionsSwiftFileURL, + URL(fileURLWithPath: "/path/to/sdk/Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift") + ) + } +} diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PrepareReleaseTests.swift b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PrepareReleaseTests.swift index 0308bad4a3d..dbc68defdd2 100644 --- a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PrepareReleaseTests.swift +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Commands/PrepareReleaseTests.swift @@ -184,7 +184,20 @@ class PrepareReleaseTests: CLITestCase { ProcessRunner.testRunner = runner let subject = PrepareRelease.mock(repoType: .awsSdkSwift) try! subject.stageFiles() - XCTAssertTrue(command.hasSuffix("git add Package.swift Package.version Package.version.next packageDependencies.plist Sources/Services Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md Sources/Core/AWSSDKPartitions/Sources/AWSSDKPartitions/Partitions.swift Sources/Core/AWSSDKIdentity/")) + let expectedCommand = [ + "git add", + "Package.swift", + "Package.version", + "Package.version.next", + "packageDependencies.plist", + "Sources/Services", + "Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md", + "Sources/Core/SDKForSwift/Documentation.docc/SDKForSwift.md", + "Sources/Core/AWSSDKIdentity/", + "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift", + "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift", + ].joined(separator: " ") + XCTAssertTrue(command.hasSuffix(expectedCommand)) } func testStageFilesForSmithySwift() { diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.invalid b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.invalid new file mode 100644 index 00000000000..d6842d8ee36 --- /dev/null +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.invalid @@ -0,0 +1 @@ +one.two.three diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.test b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.test new file mode 100644 index 00000000000..1892b926767 --- /dev/null +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/Package.version.next.test @@ -0,0 +1 @@ +1.3.2 diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/invalid-partitions.json b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/invalid-partitions.json new file mode 100644 index 00000000000..0a3d2e9ca8c --- /dev/null +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/invalid-partitions.json @@ -0,0 +1 @@ +{"test":"partitions" diff --git a/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/test-partitions.json b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/test-partitions.json new file mode 100644 index 00000000000..03b5faef842 --- /dev/null +++ b/AWSSDKSwiftCLI/Tests/AWSSDKSwiftCLITests/Resources/test-partitions.json @@ -0,0 +1 @@ +{"test":"partitions"} diff --git a/IntegrationTests/AWSIntegrationTestUtils/ConcurrentTestHelper.swift b/IntegrationTests/AWSIntegrationTestUtils/ConcurrentTestHelper.swift index 5830eafcf4b..6f84dd82fa8 100644 --- a/IntegrationTests/AWSIntegrationTestUtils/ConcurrentTestHelper.swift +++ b/IntegrationTests/AWSIntegrationTestUtils/ConcurrentTestHelper.swift @@ -36,6 +36,7 @@ public func repeatConcurrently( /// - test: The function pointer for the test to run /// - args: Any values to pass along to test function /// - Throws: Any error thrown by one of the test runs. +@Sendable public func repeatConcurrentlyWithArgs( count: Int, test: @escaping @Sendable (Arg) async throws -> Void, diff --git a/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift index c712cc783e6..7a07fa6431d 100644 --- a/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift +++ b/IntegrationTests/Services/AWSBedrockRuntimeIntegrationTests/InvokeModelWithBidirectionalStreamTest.swift @@ -193,7 +193,7 @@ final class InvokeModelWithBidirectionalStreamTest: XCTestCase { (inputStream, continuation) = AsyncThrowingStream.makeStream() // Start up background task that feeds events to the stream. - Task { + Task { [CONTENT_END_EVENT, PROMPT_END_EVENT, requestEvents] in for event in requestEvents { let currentEvent = BedrockRuntimeClientTypes.InvokeModelWithBidirectionalStreamInput.chunk( BedrockRuntimeClientTypes.BidirectionalInputPayloadPart(bytes: event.data(using: .utf8)) diff --git a/IntegrationTests/Services/AWSDynamoDBIntegrationTests/AccountIDEndpointModeTests.swift b/IntegrationTests/Services/AWSDynamoDBIntegrationTests/AccountIDEndpointModeTests.swift index 68d9571de8b..607950a57d1 100644 --- a/IntegrationTests/Services/AWSDynamoDBIntegrationTests/AccountIDEndpointModeTests.swift +++ b/IntegrationTests/Services/AWSDynamoDBIntegrationTests/AccountIDEndpointModeTests.swift @@ -137,7 +137,7 @@ final class AccountIDEndpointModeTests: XCTestCase { ) async throws -> DynamoDBClient { let accountID = setAccountID ? self.accountID : nil let credentials = AWSCredentialIdentity(accessKey: "abc", secret: "def", accountID: accountID) - let resolver = try StaticAWSCredentialIdentityResolver(credentials) + let resolver = StaticAWSCredentialIdentityResolver(credentials) let config = try await DynamoDBClient.Config( awsCredentialIdentityResolver: resolver, region: "us-east-1", diff --git a/IntegrationTests/Services/AWSDynamoDBIntegrationTests/QueryCompatibleSanityCheck.swift b/IntegrationTests/Services/AWSDynamoDBIntegrationTests/QueryCompatibleSanityCheck.swift index 3bc1e2b29a2..66ca026203e 100644 --- a/IntegrationTests/Services/AWSDynamoDBIntegrationTests/QueryCompatibleSanityCheck.swift +++ b/IntegrationTests/Services/AWSDynamoDBIntegrationTests/QueryCompatibleSanityCheck.swift @@ -38,7 +38,7 @@ final class QueryCompatibleTest: XCTestCase { } let credentials = AWSCredentialIdentity(accessKey: "test", secret: "test") - let resolver = try StaticAWSCredentialIdentityResolver(credentials) + let resolver = StaticAWSCredentialIdentityResolver(credentials) let config = try await DynamoDBClient.Config( awsCredentialIdentityResolver: resolver, diff --git a/IntegrationTests/Services/AWSS3IntegrationTests/S3ConcurrentTests.swift b/IntegrationTests/Services/AWSS3IntegrationTests/S3ConcurrentTests.swift index 7664f27859a..f9f5af54ad5 100644 --- a/IntegrationTests/Services/AWSS3IntegrationTests/S3ConcurrentTests.swift +++ b/IntegrationTests/Services/AWSS3IntegrationTests/S3ConcurrentTests.swift @@ -39,6 +39,7 @@ final class S3ConcurrentTests: S3XCTestCase, @unchecked Sendable { // MARK: - Private methods // Puts data to S3, gets the uploaded file, asserts retrieved data == original data, deletes S3 object + @Sendable private func getObject(data: Data) async throws { let objectKey = UUID().uuidString.split(separator: "-").first!.lowercased() let putObjectInput = PutObjectInput(body: .data(data), bucket: bucketName, key: objectKey) diff --git a/IntegrationTests/Services/AWSS3IntegrationTests/S3ErrorTests.swift b/IntegrationTests/Services/AWSS3IntegrationTests/S3ErrorTests.swift index 8a6b6cbab2b..28f59191a0e 100644 --- a/IntegrationTests/Services/AWSS3IntegrationTests/S3ErrorTests.swift +++ b/IntegrationTests/Services/AWSS3IntegrationTests/S3ErrorTests.swift @@ -75,7 +75,7 @@ class S3ErrorTests: S3XCTestCase { func test_InvalidAccessKeyID_isThrownWhenAppropriate() async throws { do { let credentials = AWSCredentialIdentity(accessKey: "AKIDEXAMPLE", secret: "wJalrXUtnFEMI/K7MDENG+bPxRfiCYEXAMPLEKEY") - let awsCredentialIdentityResolver = try StaticAWSCredentialIdentityResolver(credentials) + let awsCredentialIdentityResolver = StaticAWSCredentialIdentityResolver(credentials) let config = try await S3Client.S3ClientConfiguration(awsCredentialIdentityResolver: awsCredentialIdentityResolver, region: region) let input = GetObjectInput(bucket: bucketName, key: UUID().uuidString) _ = try await S3Client(config: config).getObject(input: input) diff --git a/IntegrationTests/Services/AWSS3IntegrationTests/S3XCTestCase.swift b/IntegrationTests/Services/AWSS3IntegrationTests/S3XCTestCase.swift index 4a762f09ffb..0bec2d64213 100644 --- a/IntegrationTests/Services/AWSS3IntegrationTests/S3XCTestCase.swift +++ b/IntegrationTests/Services/AWSS3IntegrationTests/S3XCTestCase.swift @@ -36,16 +36,19 @@ class S3XCTestCase: XCTestCase { } } - override func setUp() async throws{ - self.bucketName = "aws-sdk-s3-integration-test-\(UUID().uuidString.split(separator: "-").first!.lowercased())" + override func setUp() async throws { + self.bucketName = "sdk-int-test-s3-\(UUID().uuidString.lowercased())" // 52 char bucket name (max 63) self.client = try S3Client(region: region) try await createBucket(bucketName: bucketName) + try await super.setUp() } /// Empty & delete the test bucket before each test. override func tearDown() async throws { + try await super.tearDown() try await emptyBucket() try await deleteBucket(bucketName: bucketName) + self.client = nil } // MARK: Helpers diff --git a/IntegrationTests/Services/AWSTranscribeStreamingIntegrationTests/TranscribeStreamingTests.swift b/IntegrationTests/Services/AWSTranscribeStreamingIntegrationTests/TranscribeStreamingTests.swift index e8307672b1e..f69def17cbc 100644 --- a/IntegrationTests/Services/AWSTranscribeStreamingIntegrationTests/TranscribeStreamingTests.swift +++ b/IntegrationTests/Services/AWSTranscribeStreamingIntegrationTests/TranscribeStreamingTests.swift @@ -115,6 +115,7 @@ final class TranscribeStreamingTests: XCTestCase, @unchecked Sendable { // // Normal retry is not applied to transcribe streaming because the request body is a // non-rewindable stream. + @Sendable private func attempt() async throws { // These throttling / resource limit errors may be returned based on the number of // recent requests made to AWSTranscribeStreaming. diff --git a/Package.swift b/Package.swift index 330ec9cd9fe..e8f0e4c264a 100644 --- a/Package.swift +++ b/Package.swift @@ -15,7 +15,7 @@ import PackageDescription // MARK: - Dynamic Content -let clientRuntimeVersion: Version = "0.164.0" +let clientRuntimeVersion: Version = "0.168.0" let crtVersion: Version = "0.54.0" let excludeRuntimeUnitTests = false @@ -45,7 +45,6 @@ let serviceTargets: [String: [Target.Dependency]] = [ "AWSAppRunner": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSAppStream": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps, .SmithyWaitersAPI], "AWSAppSync": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], - "AWSAppTest": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSAppflow": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSApplicationAutoScaling": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSApplicationCostProfiler": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], @@ -215,7 +214,6 @@ let serviceTargets: [String: [Target.Dependency]] = [ "AWSIoTDataPlane": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI], "AWSIoTEvents": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSIoTEventsData": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], - "AWSIoTFleetHub": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI], "AWSIoTFleetWise": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSIoTJobsDataPlane": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI], "AWSIoTManagedIntegrations": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], @@ -255,8 +253,6 @@ let serviceTargets: [String: [Target.Dependency]] = [ "AWSLightsail": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSLocation": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSLookoutEquipment": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], - "AWSLookoutMetrics": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], - "AWSLookoutVision": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSM2": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSMPA": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSMTurk": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], @@ -331,12 +327,11 @@ let serviceTargets: [String: [Target.Dependency]] = [ "AWSQApps": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSQBusiness": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKEventStreamsAuth, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyEventStreams, .SmithyEventStreamsAPI, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSQConnect": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], - "AWSQLDB": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], - "AWSQLDBSession": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI], "AWSQuickSight": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRAM": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRDS": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyFormURL, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps, .SmithyWaitersAPI, .SmithyXML], "AWSRDSData": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI], + "AWSRTBFabric": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRUM": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRbin": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRedshift": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyFormURL, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps, .SmithyWaitersAPI, .SmithyXML], @@ -348,7 +343,6 @@ let serviceTargets: [String: [Target.Dependency]] = [ "AWSResourceExplorer2": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSResourceGroups": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSResourceGroupsTaggingAPI": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI], - "AWSRoboMaker": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRolesAnywhere": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], "AWSRoute53": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps, .SmithyWaitersAPI, .SmithyXML], "AWSRoute53Domains": [.AWSClientRuntime, .AWSSDKChecksums, .AWSSDKHTTPAuth, .AWSSDKIdentity, .ClientRuntime, .Smithy, .SmithyHTTPAPI, .SmithyHTTPAuthAPI, .SmithyIdentity, .SmithyJSON, .SmithyReadWrite, .SmithyRetries, .SmithyRetriesAPI, .SmithyTimestamps], @@ -455,7 +449,7 @@ extension Target.Dependency { static var AWSSDKIdentity: Self { "AWSSDKIdentity" } static var AWSSDKIdentityAPI: Self { "AWSSDKIdentityAPI" } static var AWSSDKChecksums: Self { "AWSSDKChecksums" } - static var AWSSDKPartitions: Self { "AWSSDKPartitions" } + static var AWSSDKDynamic: Self { "AWSSDKDynamic" } // CRT module static var CRT: Self { .product(name: "AwsCommonRuntimeKit", package: "aws-crt-swift") } @@ -578,7 +572,7 @@ private var runtimeTargets: [Target] { .AWSSDKCommon, .AWSSDKHTTPAuth, .AWSSDKChecksums, - .AWSSDKPartitions, + .AWSSDKDynamic, ], path: "Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime", resources: [ @@ -667,11 +661,11 @@ private var runtimeTargets: [Target] { .SmithyChecksums, .SmithyHTTPAPI, ], - path: "Sources/Core/AWSSDKChecksums/Sources" + path: "Sources/Core/AWSSDKChecksums/Sources/AWSSDKChecksums" ), .target( - name: "AWSSDKPartitions", - path: "Sources/Core/AWSSDKPartitions/Sources" + name: "AWSSDKDynamic", + path: "Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic" ), ] } diff --git a/Package.version b/Package.version index 9b5dbc566d2..e6c9435dce5 100644 --- a/Package.version +++ b/Package.version @@ -1 +1 @@ -1.5.61 \ No newline at end of file +1.5.75 \ No newline at end of file diff --git a/Package.version.next b/Package.version.next index 6a8a8861eac..f67ac1f4384 100644 --- a/Package.version.next +++ b/Package.version.next @@ -1 +1 @@ -1.5.62 \ No newline at end of file +1.5.76 \ No newline at end of file diff --git a/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/AWSServiceClient.swift b/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/AWSServiceClient.swift new file mode 100644 index 00000000000..e3f4258e1c7 --- /dev/null +++ b/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/AWSServiceClient.swift @@ -0,0 +1,19 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +import protocol ClientRuntime.Client +import let AWSSDKDynamic.packageVersion + +public protocol AWSServiceClient: ClientRuntime.Client {} + +public extension AWSServiceClient { + + /// The version identifier (i.e. `1.2.3`) for this AWS service client. + static var version: String { + AWSSDKDynamic.packageVersion + } +} diff --git a/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/Endpoints/AWSPartitionDefinition.swift b/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/Endpoints/AWSPartitionDefinition.swift index 9ccc51c850f..a9dedca6f49 100644 --- a/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/Endpoints/AWSPartitionDefinition.swift +++ b/Sources/Core/AWSClientRuntime/Sources/AWSClientRuntime/Endpoints/AWSPartitionDefinition.swift @@ -5,6 +5,6 @@ // SPDX-License-Identifier: Apache-2.0 // -import let AWSSDKPartitions.partitions +import let AWSSDKDynamic.partitions public let awsPartitionJSON = partitions diff --git a/scripts/Partitions.base.swift b/Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift similarity index 81% rename from scripts/Partitions.base.swift rename to Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift index 7523f36b3f2..496ef40eb91 100644 --- a/scripts/Partitions.base.swift +++ b/Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/PackageVersion.swift @@ -7,4 +7,4 @@ // Code is auto-generated. DO NOT EDIT! -public let partitions = #""" +public let packageVersion = "1.5.75" diff --git a/Sources/Core/AWSSDKPartitions/Sources/AWSSDKPartitions/Partitions.swift b/Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift similarity index 98% rename from Sources/Core/AWSSDKPartitions/Sources/AWSSDKPartitions/Partitions.swift rename to Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift index fa726025299..20e21c3ef5a 100644 --- a/Sources/Core/AWSSDKPartitions/Sources/AWSSDKPartitions/Partitions.swift +++ b/Sources/Core/AWSSDKDynamic/Sources/AWSSDKDynamic/Partitions.swift @@ -204,6 +204,9 @@ public let partitions = #""" }, "us-isob-east-1" : { "description" : "US ISOB East (Ohio)" + }, + "us-isob-west-1" : { + "description" : "US ISOB West" } } }, { diff --git a/Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md b/Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md index 6e9a168f806..b336799b70f 100644 --- a/Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md +++ b/Sources/Core/AWSSDKForSwift/Documentation.docc/AWSSDKForSwift.md @@ -74,8 +74,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSSDKIdentityAPI](../../../../../swift/api/awssdkidentityapi/latest) -[AWSSDKPartitions](../../../../../swift/api/awssdkpartitions/latest) - ## Service Documentation @@ -123,8 +121,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSAppSync](../../../../../swift/api/awsappsync/latest) -[AWSAppTest](../../../../../swift/api/awsapptest/latest) - [AWSAppflow](../../../../../swift/api/awsappflow/latest) [AWSApplicationAutoScaling](../../../../../swift/api/awsapplicationautoscaling/latest) @@ -463,8 +459,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSIoTEventsData](../../../../../swift/api/awsioteventsdata/latest) -[AWSIoTFleetHub](../../../../../swift/api/awsiotfleethub/latest) - [AWSIoTFleetWise](../../../../../swift/api/awsiotfleetwise/latest) [AWSIoTJobsDataPlane](../../../../../swift/api/awsiotjobsdataplane/latest) @@ -543,10 +537,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSLookoutEquipment](../../../../../swift/api/awslookoutequipment/latest) -[AWSLookoutMetrics](../../../../../swift/api/awslookoutmetrics/latest) - -[AWSLookoutVision](../../../../../swift/api/awslookoutvision/latest) - [AWSM2](../../../../../swift/api/awsm2/latest) [AWSMPA](../../../../../swift/api/awsmpa/latest) @@ -695,10 +685,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSQConnect](../../../../../swift/api/awsqconnect/latest) -[AWSQLDB](../../../../../swift/api/awsqldb/latest) - -[AWSQLDBSession](../../../../../swift/api/awsqldbsession/latest) - [AWSQuickSight](../../../../../swift/api/awsquicksight/latest) [AWSRAM](../../../../../swift/api/awsram/latest) @@ -707,6 +693,8 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSRDSData](../../../../../swift/api/awsrdsdata/latest) +[AWSRTBFabric](../../../../../swift/api/awsrtbfabric/latest) + [AWSRUM](../../../../../swift/api/awsrum/latest) [AWSRbin](../../../../../swift/api/awsrbin/latest) @@ -729,8 +717,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSResourceGroupsTaggingAPI](../../../../../swift/api/awsresourcegroupstaggingapi/latest) -[AWSRoboMaker](../../../../../swift/api/awsrobomaker/latest) - [AWSRolesAnywhere](../../../../../swift/api/awsrolesanywhere/latest) [AWSRoute53](../../../../../swift/api/awsroute53/latest) diff --git a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSCognitoIdentity/Sources/InternalAWSCognitoIdentity/CognitoIdentityClient.swift b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSCognitoIdentity/Sources/InternalAWSCognitoIdentity/CognitoIdentityClient.swift index f163196df4a..2805b037e96 100644 --- a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSCognitoIdentity/Sources/InternalAWSCognitoIdentity/CognitoIdentityClient.swift +++ b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSCognitoIdentity/Sources/InternalAWSCognitoIdentity/CognitoIdentityClient.swift @@ -30,7 +30,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -package class CognitoIdentityClient: ClientRuntime.Client { +package class CognitoIdentityClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CognitoIdentityClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CognitoIdentityClient.CognitoIdentityClientConfiguration let serviceName = "Cognito Identity" diff --git a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSO/Sources/InternalAWSSSO/SSOClient.swift b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSO/Sources/InternalAWSSSO/SSOClient.swift index bf515c16c38..b793ef4e8fb 100644 --- a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSO/Sources/InternalAWSSSO/SSOClient.swift +++ b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSO/Sources/InternalAWSSSO/SSOClient.swift @@ -29,7 +29,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -61,9 +61,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -package class SSOClient: ClientRuntime.Client { +package class SSOClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSOClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSOClient.SSOClientConfiguration let serviceName = "SSO" diff --git a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSOOIDC/Sources/InternalAWSSSOOIDC/SSOOIDCClient.swift b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSOOIDC/Sources/InternalAWSSSOOIDC/SSOOIDCClient.swift index d920d541808..da7bb068179 100644 --- a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSOOIDC/Sources/InternalAWSSSOOIDC/SSOOIDCClient.swift +++ b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSSOOIDC/Sources/InternalAWSSSOOIDC/SSOOIDCClient.swift @@ -30,7 +30,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -package class SSOOIDCClient: ClientRuntime.Client { +package class SSOOIDCClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSOOIDCClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSOOIDCClient.SSOOIDCClientConfiguration let serviceName = "SSO OIDC" diff --git a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSTS/Sources/InternalAWSSTS/STSClient.swift b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSTS/Sources/InternalAWSSTS/STSClient.swift index efee2a0fcc7..9f08e6cb30d 100644 --- a/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSTS/Sources/InternalAWSSTS/STSClient.swift +++ b/Sources/Core/AWSSDKIdentity/InternalClients/InternalAWSSTS/Sources/InternalAWSSTS/STSClient.swift @@ -30,7 +30,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -package class STSClient: ClientRuntime.Client { +package class STSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "STSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: STSClient.STSClientConfiguration let serviceName = "STS" diff --git a/Sources/Core/SDKForSwift/Documentation.docc/SDKForSwift.md b/Sources/Core/SDKForSwift/Documentation.docc/SDKForSwift.md index 16ee0a1eae7..bd2e88c3218 100644 --- a/Sources/Core/SDKForSwift/Documentation.docc/SDKForSwift.md +++ b/Sources/Core/SDKForSwift/Documentation.docc/SDKForSwift.md @@ -74,8 +74,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSSDKIdentityAPI](../../../../../sdk-for-swift/latest/api/awssdkidentityapi) -[AWSSDKPartitions](../../../../../sdk-for-swift/latest/api/awssdkpartitions) - ## Service Documentation @@ -123,8 +121,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSAppSync](../../../../../sdk-for-swift/latest/api/awsappsync) -[AWSAppTest](../../../../../sdk-for-swift/latest/api/awsapptest) - [AWSAppflow](../../../../../sdk-for-swift/latest/api/awsappflow) [AWSApplicationAutoScaling](../../../../../sdk-for-swift/latest/api/awsapplicationautoscaling) @@ -463,8 +459,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSIoTEventsData](../../../../../sdk-for-swift/latest/api/awsioteventsdata) -[AWSIoTFleetHub](../../../../../sdk-for-swift/latest/api/awsiotfleethub) - [AWSIoTFleetWise](../../../../../sdk-for-swift/latest/api/awsiotfleetwise) [AWSIoTJobsDataPlane](../../../../../sdk-for-swift/latest/api/awsiotjobsdataplane) @@ -543,10 +537,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSLookoutEquipment](../../../../../sdk-for-swift/latest/api/awslookoutequipment) -[AWSLookoutMetrics](../../../../../sdk-for-swift/latest/api/awslookoutmetrics) - -[AWSLookoutVision](../../../../../sdk-for-swift/latest/api/awslookoutvision) - [AWSM2](../../../../../sdk-for-swift/latest/api/awsm2) [AWSMPA](../../../../../sdk-for-swift/latest/api/awsmpa) @@ -695,10 +685,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSQConnect](../../../../../sdk-for-swift/latest/api/awsqconnect) -[AWSQLDB](../../../../../sdk-for-swift/latest/api/awsqldb) - -[AWSQLDBSession](../../../../../sdk-for-swift/latest/api/awsqldbsession) - [AWSQuickSight](../../../../../sdk-for-swift/latest/api/awsquicksight) [AWSRAM](../../../../../sdk-for-swift/latest/api/awsram) @@ -707,6 +693,8 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSRDSData](../../../../../sdk-for-swift/latest/api/awsrdsdata) +[AWSRTBFabric](../../../../../sdk-for-swift/latest/api/awsrtbfabric) + [AWSRUM](../../../../../sdk-for-swift/latest/api/awsrum) [AWSRbin](../../../../../sdk-for-swift/latest/api/awsrbin) @@ -729,8 +717,6 @@ This SDK is open-source. Code is available on Github [here](https://github.com/ [AWSResourceGroupsTaggingAPI](../../../../../sdk-for-swift/latest/api/awsresourcegroupstaggingapi) -[AWSRoboMaker](../../../../../sdk-for-swift/latest/api/awsrobomaker) - [AWSRolesAnywhere](../../../../../sdk-for-swift/latest/api/awsrolesanywhere) [AWSRoute53](../../../../../sdk-for-swift/latest/api/awsroute53) diff --git a/Sources/Services/AWSACM/Sources/AWSACM/ACMClient.swift b/Sources/Services/AWSACM/Sources/AWSACM/ACMClient.swift index ed12f3df313..f660956e4ab 100644 --- a/Sources/Services/AWSACM/Sources/AWSACM/ACMClient.swift +++ b/Sources/Services/AWSACM/Sources/AWSACM/ACMClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ACMClient: ClientRuntime.Client { +public class ACMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ACMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ACMClient.ACMClientConfiguration let serviceName = "ACM" diff --git a/Sources/Services/AWSACMPCA/Sources/AWSACMPCA/ACMPCAClient.swift b/Sources/Services/AWSACMPCA/Sources/AWSACMPCA/ACMPCAClient.swift index fecb7b15cd7..ddce54ef42c 100644 --- a/Sources/Services/AWSACMPCA/Sources/AWSACMPCA/ACMPCAClient.swift +++ b/Sources/Services/AWSACMPCA/Sources/AWSACMPCA/ACMPCAClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ACMPCAClient: ClientRuntime.Client { +public class ACMPCAClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ACMPCAClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ACMPCAClient.ACMPCAClientConfiguration let serviceName = "ACM PCA" diff --git a/Sources/Services/AWSAIOps/Sources/AWSAIOps/AIOpsClient.swift b/Sources/Services/AWSAIOps/Sources/AWSAIOps/AIOpsClient.swift index 1a2f754ed33..0d8d799661c 100644 --- a/Sources/Services/AWSAIOps/Sources/AWSAIOps/AIOpsClient.swift +++ b/Sources/Services/AWSAIOps/Sources/AWSAIOps/AIOpsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AIOpsClient: ClientRuntime.Client { +public class AIOpsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AIOpsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AIOpsClient.AIOpsClientConfiguration let serviceName = "AIOps" diff --git a/Sources/Services/AWSAPIGateway/Sources/AWSAPIGateway/APIGatewayClient.swift b/Sources/Services/AWSAPIGateway/Sources/AWSAPIGateway/APIGatewayClient.swift index b19522707cb..28a9127d74e 100644 --- a/Sources/Services/AWSAPIGateway/Sources/AWSAPIGateway/APIGatewayClient.swift +++ b/Sources/Services/AWSAPIGateway/Sources/AWSAPIGateway/APIGatewayClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class APIGatewayClient: ClientRuntime.Client { +public class APIGatewayClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "APIGatewayClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: APIGatewayClient.APIGatewayClientConfiguration let serviceName = "API Gateway" diff --git a/Sources/Services/AWSARCRegionswitch/Sources/AWSARCRegionswitch/ARCRegionswitchClient.swift b/Sources/Services/AWSARCRegionswitch/Sources/AWSARCRegionswitch/ARCRegionswitchClient.swift index 3b929178d23..8980b93ea76 100644 --- a/Sources/Services/AWSARCRegionswitch/Sources/AWSARCRegionswitch/ARCRegionswitchClient.swift +++ b/Sources/Services/AWSARCRegionswitch/Sources/AWSARCRegionswitch/ARCRegionswitchClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ARCRegionswitchClient: ClientRuntime.Client { +public class ARCRegionswitchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ARCRegionswitchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ARCRegionswitchClient.ARCRegionswitchClientConfiguration let serviceName = "ARC Region switch" diff --git a/Sources/Services/AWSARCZonalShift/Sources/AWSARCZonalShift/ARCZonalShiftClient.swift b/Sources/Services/AWSARCZonalShift/Sources/AWSARCZonalShift/ARCZonalShiftClient.swift index 5d819ced19a..8fa3ea82b0f 100644 --- a/Sources/Services/AWSARCZonalShift/Sources/AWSARCZonalShift/ARCZonalShiftClient.swift +++ b/Sources/Services/AWSARCZonalShift/Sources/AWSARCZonalShift/ARCZonalShiftClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ARCZonalShiftClient: ClientRuntime.Client { +public class ARCZonalShiftClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ARCZonalShiftClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ARCZonalShiftClient.ARCZonalShiftClientConfiguration let serviceName = "ARC Zonal Shift" diff --git a/Sources/Services/AWSAccessAnalyzer/Sources/AWSAccessAnalyzer/AccessAnalyzerClient.swift b/Sources/Services/AWSAccessAnalyzer/Sources/AWSAccessAnalyzer/AccessAnalyzerClient.swift index 5c7f2fe1f66..28087674c60 100644 --- a/Sources/Services/AWSAccessAnalyzer/Sources/AWSAccessAnalyzer/AccessAnalyzerClient.swift +++ b/Sources/Services/AWSAccessAnalyzer/Sources/AWSAccessAnalyzer/AccessAnalyzerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AccessAnalyzerClient: ClientRuntime.Client { +public class AccessAnalyzerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AccessAnalyzerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AccessAnalyzerClient.AccessAnalyzerClientConfiguration let serviceName = "AccessAnalyzer" diff --git a/Sources/Services/AWSAccount/Sources/AWSAccount/AccountClient.swift b/Sources/Services/AWSAccount/Sources/AWSAccount/AccountClient.swift index 02f9b4ca4d9..5ede3dc3555 100644 --- a/Sources/Services/AWSAccount/Sources/AWSAccount/AccountClient.swift +++ b/Sources/Services/AWSAccount/Sources/AWSAccount/AccountClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AccountClient: ClientRuntime.Client { +public class AccountClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AccountClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AccountClient.AccountClientConfiguration let serviceName = "Account" diff --git a/Sources/Services/AWSAmp/Sources/AWSAmp/AmpClient.swift b/Sources/Services/AWSAmp/Sources/AWSAmp/AmpClient.swift index 91146a4af3a..c240e9b5a91 100644 --- a/Sources/Services/AWSAmp/Sources/AWSAmp/AmpClient.swift +++ b/Sources/Services/AWSAmp/Sources/AWSAmp/AmpClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AmpClient: ClientRuntime.Client { +public class AmpClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AmpClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AmpClient.AmpClientConfiguration let serviceName = "amp" @@ -446,6 +445,80 @@ extension AmpClient { return try await op.execute(input: input) } + /// Performs the `CreateAnomalyDetector` operation on the `Amp` service. + /// + /// Creates an anomaly detector within a workspace using the Random Cut Forest algorithm for time-series analysis. The anomaly detector analyzes Amazon Managed Service for Prometheus metrics to identify unusual patterns and behaviors. + /// + /// - Parameter input: [no documentation found] (Type: `CreateAnomalyDetectorInput`) + /// + /// - Returns: [no documentation found] (Type: `CreateAnomalyDetectorOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `ConflictException` : The request would cause an inconsistent state. + /// - `InternalServerException` : An unexpected error occurred during the processing of the request. + /// - `ServiceQuotaExceededException` : Completing the request would cause a service quota to be exceeded. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input fails to satisfy the constraints specified by an Amazon Web Services service. + public func createAnomalyDetector(input: CreateAnomalyDetectorInput) async throws -> CreateAnomalyDetectorOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createAnomalyDetector") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "aps") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateAnomalyDetectorInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateAnomalyDetectorInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateAnomalyDetectorOutput.httpOutput(from:), CreateAnomalyDetectorOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("amp", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AmpClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Amp") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateAnomalyDetector") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CreateLoggingConfiguration` operation on the `Amp` service. /// /// The CreateLoggingConfiguration operation creates rules and alerting logging configuration for the workspace. Use this operation to set the CloudWatch log group to which the logs will be published to. These logging configurations are only for rules and alerting logs. @@ -886,6 +959,78 @@ extension AmpClient { return try await op.execute(input: input) } + /// Performs the `DeleteAnomalyDetector` operation on the `Amp` service. + /// + /// Removes an anomaly detector from a workspace. This operation is idempotent. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteAnomalyDetectorInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteAnomalyDetectorOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `ConflictException` : The request would cause an inconsistent state. + /// - `InternalServerException` : An unexpected error occurred during the processing of the request. + /// - `ResourceNotFoundException` : The request references a resources that doesn't exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input fails to satisfy the constraints specified by an Amazon Web Services service. + public func deleteAnomalyDetector(input: DeleteAnomalyDetectorInput) async throws -> DeleteAnomalyDetectorOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .delete) + .withServiceName(value: serviceName) + .withOperation(value: "deleteAnomalyDetector") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "aps") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteAnomalyDetectorInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(DeleteAnomalyDetectorInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteAnomalyDetectorOutput.httpOutput(from:), DeleteAnomalyDetectorOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("amp", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AmpClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Amp") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteAnomalyDetector") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DeleteLoggingConfiguration` operation on the `Amp` service. /// /// Deletes the rules and alerting logging configuration for a workspace. These logging configurations are only for rules and alerting logs. @@ -1456,6 +1601,75 @@ extension AmpClient { return try await op.execute(input: input) } + /// Performs the `DescribeAnomalyDetector` operation on the `Amp` service. + /// + /// Retrieves detailed information about a specific anomaly detector, including its status and configuration. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeAnomalyDetectorInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeAnomalyDetectorOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `InternalServerException` : An unexpected error occurred during the processing of the request. + /// - `ResourceNotFoundException` : The request references a resources that doesn't exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input fails to satisfy the constraints specified by an Amazon Web Services service. + public func describeAnomalyDetector(input: DescribeAnomalyDetectorInput) async throws -> DescribeAnomalyDetectorOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "describeAnomalyDetector") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "aps") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeAnomalyDetectorInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeAnomalyDetectorOutput.httpOutput(from:), DescribeAnomalyDetectorOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("amp", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AmpClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Amp") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeAnomalyDetector") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DescribeLoggingConfiguration` operation on the `Amp` service. /// /// Returns complete information about the current rules and alerting logging configuration of the workspace. These logging configurations are only for rules and alerting logs. @@ -2072,6 +2286,76 @@ extension AmpClient { return try await op.execute(input: input) } + /// Performs the `ListAnomalyDetectors` operation on the `Amp` service. + /// + /// Returns a paginated list of anomaly detectors for a workspace with optional filtering by alias. + /// + /// - Parameter input: [no documentation found] (Type: `ListAnomalyDetectorsInput`) + /// + /// - Returns: [no documentation found] (Type: `ListAnomalyDetectorsOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `InternalServerException` : An unexpected error occurred during the processing of the request. + /// - `ResourceNotFoundException` : The request references a resources that doesn't exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input fails to satisfy the constraints specified by an Amazon Web Services service. + public func listAnomalyDetectors(input: ListAnomalyDetectorsInput) async throws -> ListAnomalyDetectorsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listAnomalyDetectors") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "aps") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAnomalyDetectorsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListAnomalyDetectorsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAnomalyDetectorsOutput.httpOutput(from:), ListAnomalyDetectorsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("amp", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AmpClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Amp") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAnomalyDetectors") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListRuleGroupsNamespaces` operation on the `Amp` service. /// /// Returns a list of rule groups namespaces in a workspace. @@ -2424,6 +2708,80 @@ extension AmpClient { return try await op.execute(input: input) } + /// Performs the `PutAnomalyDetector` operation on the `Amp` service. + /// + /// When you call PutAnomalyDetector, the operation creates a new anomaly detector if one doesn't exist, or updates an existing one. Each call to this operation triggers a complete retraining of the detector, which includes querying the minimum required samples and backfilling the detector with historical data. This process occurs regardless of whether you're making a minor change like updating the evaluation interval or making more substantial modifications. The operation serves as the single method for creating, updating, and retraining anomaly detectors. + /// + /// - Parameter input: [no documentation found] (Type: `PutAnomalyDetectorInput`) + /// + /// - Returns: [no documentation found] (Type: `PutAnomalyDetectorOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `ConflictException` : The request would cause an inconsistent state. + /// - `InternalServerException` : An unexpected error occurred during the processing of the request. + /// - `ServiceQuotaExceededException` : Completing the request would cause a service quota to be exceeded. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input fails to satisfy the constraints specified by an Amazon Web Services service. + public func putAnomalyDetector(input: PutAnomalyDetectorInput) async throws -> PutAnomalyDetectorOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .put) + .withServiceName(value: serviceName) + .withOperation(value: "putAnomalyDetector") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "aps") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(PutAnomalyDetectorInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: PutAnomalyDetectorInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(PutAnomalyDetectorOutput.httpOutput(from:), PutAnomalyDetectorOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("amp", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AmpClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Amp") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "PutAnomalyDetector") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `PutResourcePolicy` operation on the `Amp` service. /// /// Creates or updates a resource-based policy for an Amazon Managed Service for Prometheus workspace. Use resource-based policies to grant permissions to other AWS accounts or services to access your workspace. Only Prometheus-compatible APIs can be used for workspace sharing. You can add non-Prometheus-compatible APIs to the policy, but they will be ignored. For more information, see [Prometheus-compatible APIs](https://docs.aws.amazon.com/prometheus/latest/userguide/AMP-APIReference-Prometheus-Compatible-Apis.html) in the Amazon Managed Service for Prometheus User Guide. If your workspace uses customer-managed KMS keys for encryption, you must grant the principals in your resource-based policy access to those KMS keys. You can do this by creating KMS grants. For more information, see [CreateGrant](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html) in the AWS Key Management Service API Reference and [Encryption at rest](https://docs.aws.amazon.com/prometheus/latest/userguide/encryption-at-rest-Amazon-Service-Prometheus.html) in the Amazon Managed Service for Prometheus User Guide. For more information about working with IAM, see [Using Amazon Managed Service for Prometheus with IAM](https://docs.aws.amazon.com/prometheus/latest/userguide/security_iam_service-with-iam.html) in the Amazon Managed Service for Prometheus User Guide. diff --git a/Sources/Services/AWSAmp/Sources/AWSAmp/Models.swift b/Sources/Services/AWSAmp/Sources/AWSAmp/Models.swift index 55303a1456d..06451dfd091 100644 --- a/Sources/Services/AWSAmp/Sources/AWSAmp/Models.swift +++ b/Sources/Services/AWSAmp/Sources/AWSAmp/Models.swift @@ -34,6 +34,11 @@ public struct DeleteAlertManagerDefinitionOutput: Swift.Sendable { public init() { } } +public struct DeleteAnomalyDetectorOutput: Swift.Sendable { + + public init() { } +} + public struct DeleteLoggingConfigurationOutput: Swift.Sendable { public init() { } @@ -1439,6 +1444,464 @@ public struct UntagResourceOutput: Swift.Sendable { public init() { } } +extension AmpClientTypes { + + /// Configuration for threshold settings that determine when values near expected values should be ignored during anomaly detection. + public enum IgnoreNearExpected: Swift.Sendable { + /// The absolute amount by which values can differ from expected values before being considered anomalous. + case amount(Swift.Double) + /// The ratio by which values can differ from expected values before being considered anomalous. + case ratio(Swift.Double) + case sdkUnknown(Swift.String) + } +} + +extension AmpClientTypes { + + /// Configuration for the Random Cut Forest algorithm used for anomaly detection in time-series data. + public struct RandomCutForestConfiguration: Swift.Sendable { + /// Configuration for ignoring values that are near expected values from above during anomaly detection. + public var ignoreNearExpectedFromAbove: AmpClientTypes.IgnoreNearExpected? + /// Configuration for ignoring values that are near expected values from below during anomaly detection. + public var ignoreNearExpectedFromBelow: AmpClientTypes.IgnoreNearExpected? + /// The Prometheus query used to retrieve the time-series data for anomaly detection. Random Cut Forest queries must be wrapped by a supported PromQL aggregation operator. For more information, see [Aggregation operators](https://prometheus.io/docs/prometheus/latest/querying/operators/#aggregation-operators) on the Prometheus docs website. Supported PromQL aggregation operators: avg, count, group, max, min, quantile, stddev, stdvar, and sum. + /// This member is required. + public var query: Swift.String? + /// The number of data points sampled from the input stream for the Random Cut Forest algorithm. The default number is 256 consecutive data points. + public var sampleSize: Swift.Int? + /// The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm. The default number is 8 consecutive data points. + public var shingleSize: Swift.Int? + + public init( + ignoreNearExpectedFromAbove: AmpClientTypes.IgnoreNearExpected? = nil, + ignoreNearExpectedFromBelow: AmpClientTypes.IgnoreNearExpected? = nil, + query: Swift.String? = nil, + sampleSize: Swift.Int? = 256, + shingleSize: Swift.Int? = 8 + ) { + self.ignoreNearExpectedFromAbove = ignoreNearExpectedFromAbove + self.ignoreNearExpectedFromBelow = ignoreNearExpectedFromBelow + self.query = query + self.sampleSize = sampleSize + self.shingleSize = shingleSize + } + } +} + +extension AmpClientTypes { + + /// The configuration for the anomaly detection algorithm. + public enum AnomalyDetectorConfiguration: Swift.Sendable { + /// The Random Cut Forest algorithm configuration for anomaly detection. + case randomcutforest(AmpClientTypes.RandomCutForestConfiguration) + case sdkUnknown(Swift.String) + } +} + +extension AmpClientTypes { + + /// Specifies the action to take when data is missing during anomaly detection evaluation. + public enum AnomalyDetectorMissingDataAction: Swift.Sendable { + /// Marks missing data points as anomalies. + case markasanomaly(Swift.Bool) + /// Skips evaluation when data is missing. + case skip(Swift.Bool) + case sdkUnknown(Swift.String) + } +} + +public struct CreateAnomalyDetectorInput: Swift.Sendable { + /// A user-friendly name for the anomaly detector. + /// This member is required. + public var alias: Swift.String? + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + public var clientToken: Swift.String? + /// The algorithm configuration for the anomaly detector. + /// This member is required. + public var configuration: AmpClientTypes.AnomalyDetectorConfiguration? + /// The frequency, in seconds, at which the anomaly detector evaluates metrics. The default value is 60 seconds. + public var evaluationIntervalInSeconds: Swift.Int? + /// The Amazon Managed Service for Prometheus metric labels to associate with the anomaly detector. + public var labels: [Swift.String: Swift.String]? + /// Specifies the action to take when data is missing during evaluation. + public var missingDataAction: AmpClientTypes.AnomalyDetectorMissingDataAction? + /// The metadata to apply to the anomaly detector to assist with categorization and organization. + public var tags: [Swift.String: Swift.String]? + /// The identifier of the workspace where the anomaly detector will be created. + /// This member is required. + public var workspaceId: Swift.String? + + public init( + alias: Swift.String? = nil, + clientToken: Swift.String? = nil, + configuration: AmpClientTypes.AnomalyDetectorConfiguration? = nil, + evaluationIntervalInSeconds: Swift.Int? = nil, + labels: [Swift.String: Swift.String]? = nil, + missingDataAction: AmpClientTypes.AnomalyDetectorMissingDataAction? = nil, + tags: [Swift.String: Swift.String]? = nil, + workspaceId: Swift.String? = nil + ) { + self.alias = alias + self.clientToken = clientToken + self.configuration = configuration + self.evaluationIntervalInSeconds = evaluationIntervalInSeconds + self.labels = labels + self.missingDataAction = missingDataAction + self.tags = tags + self.workspaceId = workspaceId + } +} + +extension AmpClientTypes { + + public enum AnomalyDetectorStatusCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case active + case creating + case creationFailed + case deleting + case deletionFailed + case updateFailed + case updating + case sdkUnknown(Swift.String) + + public static var allCases: [AnomalyDetectorStatusCode] { + return [ + .active, + .creating, + .creationFailed, + .deleting, + .deletionFailed, + .updateFailed, + .updating + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .active: return "ACTIVE" + case .creating: return "CREATING" + case .creationFailed: return "CREATION_FAILED" + case .deleting: return "DELETING" + case .deletionFailed: return "DELETION_FAILED" + case .updateFailed: return "UPDATE_FAILED" + case .updating: return "UPDATING" + case let .sdkUnknown(s): return s + } + } + } +} + +extension AmpClientTypes { + + /// The status information of an anomaly detector. + public struct AnomalyDetectorStatus: Swift.Sendable { + /// The status code of the anomaly detector. + /// This member is required. + public var statusCode: AmpClientTypes.AnomalyDetectorStatusCode? + /// A description of the current status of the anomaly detector. + public var statusReason: Swift.String? + + public init( + statusCode: AmpClientTypes.AnomalyDetectorStatusCode? = nil, + statusReason: Swift.String? = nil + ) { + self.statusCode = statusCode + self.statusReason = statusReason + } + } +} + +public struct CreateAnomalyDetectorOutput: Swift.Sendable { + /// The unique identifier of the created anomaly detector. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// The Amazon Resource Name (ARN) of the created anomaly detector. + /// This member is required. + public var arn: Swift.String? + /// The status information of the created anomaly detector. + /// This member is required. + public var status: AmpClientTypes.AnomalyDetectorStatus? + /// The tags applied to the created anomaly detector. + public var tags: [Swift.String: Swift.String]? + + public init( + anomalyDetectorId: Swift.String? = nil, + arn: Swift.String? = nil, + status: AmpClientTypes.AnomalyDetectorStatus? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.anomalyDetectorId = anomalyDetectorId + self.arn = arn + self.status = status + self.tags = tags + } +} + +public struct DeleteAnomalyDetectorInput: Swift.Sendable { + /// The identifier of the anomaly detector to delete. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + public var clientToken: Swift.String? + /// The identifier of the workspace containing the anomaly detector to delete. + /// This member is required. + public var workspaceId: Swift.String? + + public init( + anomalyDetectorId: Swift.String? = nil, + clientToken: Swift.String? = nil, + workspaceId: Swift.String? = nil + ) { + self.anomalyDetectorId = anomalyDetectorId + self.clientToken = clientToken + self.workspaceId = workspaceId + } +} + +public struct DescribeAnomalyDetectorInput: Swift.Sendable { + /// The identifier of the anomaly detector to describe. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// The identifier of the workspace containing the anomaly detector. + /// This member is required. + public var workspaceId: Swift.String? + + public init( + anomalyDetectorId: Swift.String? = nil, + workspaceId: Swift.String? = nil + ) { + self.anomalyDetectorId = anomalyDetectorId + self.workspaceId = workspaceId + } +} + +extension AmpClientTypes { + + /// Detailed information about an anomaly detector. + public struct AnomalyDetectorDescription: Swift.Sendable { + /// The user-friendly name of the anomaly detector. + /// This member is required. + public var alias: Swift.String? + /// The unique identifier of the anomaly detector. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// The Amazon Resource Name (ARN) of the anomaly detector. + /// This member is required. + public var arn: Swift.String? + /// The algorithm configuration of the anomaly detector. + public var configuration: AmpClientTypes.AnomalyDetectorConfiguration? + /// The timestamp when the anomaly detector was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The frequency, in seconds, at which the anomaly detector evaluates metrics. + public var evaluationIntervalInSeconds: Swift.Int? + /// The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector. + public var labels: [Swift.String: Swift.String]? + /// The action taken when data is missing during evaluation. + public var missingDataAction: AmpClientTypes.AnomalyDetectorMissingDataAction? + /// The timestamp when the anomaly detector was last modified. + /// This member is required. + public var modifiedAt: Foundation.Date? + /// The current status of the anomaly detector. + /// This member is required. + public var status: AmpClientTypes.AnomalyDetectorStatus? + /// The tags applied to the anomaly detector. + public var tags: [Swift.String: Swift.String]? + + public init( + alias: Swift.String? = nil, + anomalyDetectorId: Swift.String? = nil, + arn: Swift.String? = nil, + configuration: AmpClientTypes.AnomalyDetectorConfiguration? = nil, + createdAt: Foundation.Date? = nil, + evaluationIntervalInSeconds: Swift.Int? = nil, + labels: [Swift.String: Swift.String]? = nil, + missingDataAction: AmpClientTypes.AnomalyDetectorMissingDataAction? = nil, + modifiedAt: Foundation.Date? = nil, + status: AmpClientTypes.AnomalyDetectorStatus? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.alias = alias + self.anomalyDetectorId = anomalyDetectorId + self.arn = arn + self.configuration = configuration + self.createdAt = createdAt + self.evaluationIntervalInSeconds = evaluationIntervalInSeconds + self.labels = labels + self.missingDataAction = missingDataAction + self.modifiedAt = modifiedAt + self.status = status + self.tags = tags + } + } +} + +public struct DescribeAnomalyDetectorOutput: Swift.Sendable { + /// The detailed information about the anomaly detector. + /// This member is required. + public var anomalyDetector: AmpClientTypes.AnomalyDetectorDescription? + + public init( + anomalyDetector: AmpClientTypes.AnomalyDetectorDescription? = nil + ) { + self.anomalyDetector = anomalyDetector + } +} + +public struct ListAnomalyDetectorsInput: Swift.Sendable { + /// Filters the results to anomaly detectors with the specified alias. + public var alias: Swift.String? + /// The maximum number of results to return in a single call. Valid range is 1 to 1000. + public var maxResults: Swift.Int? + /// The pagination token to continue retrieving results. + public var nextToken: Swift.String? + /// The identifier of the workspace containing the anomaly detectors to list. + /// This member is required. + public var workspaceId: Swift.String? + + public init( + alias: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil, + workspaceId: Swift.String? = nil + ) { + self.alias = alias + self.maxResults = maxResults + self.nextToken = nextToken + self.workspaceId = workspaceId + } +} + +extension AmpClientTypes { + + /// Summary information about an anomaly detector for list operations. + public struct AnomalyDetectorSummary: Swift.Sendable { + /// The user-friendly name of the anomaly detector. + /// This member is required. + public var alias: Swift.String? + /// The unique identifier of the anomaly detector. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// The Amazon Resource Name (ARN) of the anomaly detector. + /// This member is required. + public var arn: Swift.String? + /// The timestamp when the anomaly detector was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The timestamp when the anomaly detector was last modified. + /// This member is required. + public var modifiedAt: Foundation.Date? + /// The current status of the anomaly detector. + /// This member is required. + public var status: AmpClientTypes.AnomalyDetectorStatus? + /// The tags applied to the anomaly detector. + public var tags: [Swift.String: Swift.String]? + + public init( + alias: Swift.String? = nil, + anomalyDetectorId: Swift.String? = nil, + arn: Swift.String? = nil, + createdAt: Foundation.Date? = nil, + modifiedAt: Foundation.Date? = nil, + status: AmpClientTypes.AnomalyDetectorStatus? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.alias = alias + self.anomalyDetectorId = anomalyDetectorId + self.arn = arn + self.createdAt = createdAt + self.modifiedAt = modifiedAt + self.status = status + self.tags = tags + } + } +} + +public struct ListAnomalyDetectorsOutput: Swift.Sendable { + /// The list of anomaly detectors in the workspace. + /// This member is required. + public var anomalyDetectors: [AmpClientTypes.AnomalyDetectorSummary]? + /// The pagination token to retrieve the next set of results. + public var nextToken: Swift.String? + + public init( + anomalyDetectors: [AmpClientTypes.AnomalyDetectorSummary]? = nil, + nextToken: Swift.String? = nil + ) { + self.anomalyDetectors = anomalyDetectors + self.nextToken = nextToken + } +} + +public struct PutAnomalyDetectorInput: Swift.Sendable { + /// The identifier of the anomaly detector to update. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + public var clientToken: Swift.String? + /// The algorithm configuration for the anomaly detector. + /// This member is required. + public var configuration: AmpClientTypes.AnomalyDetectorConfiguration? + /// The frequency, in seconds, at which the anomaly detector evaluates metrics. + public var evaluationIntervalInSeconds: Swift.Int? + /// The Amazon Managed Service for Prometheus metric labels to associate with the anomaly detector. + public var labels: [Swift.String: Swift.String]? + /// Specifies the action to take when data is missing during evaluation. + public var missingDataAction: AmpClientTypes.AnomalyDetectorMissingDataAction? + /// The identifier of the workspace containing the anomaly detector to update. + /// This member is required. + public var workspaceId: Swift.String? + + public init( + anomalyDetectorId: Swift.String? = nil, + clientToken: Swift.String? = nil, + configuration: AmpClientTypes.AnomalyDetectorConfiguration? = nil, + evaluationIntervalInSeconds: Swift.Int? = nil, + labels: [Swift.String: Swift.String]? = nil, + missingDataAction: AmpClientTypes.AnomalyDetectorMissingDataAction? = nil, + workspaceId: Swift.String? = nil + ) { + self.anomalyDetectorId = anomalyDetectorId + self.clientToken = clientToken + self.configuration = configuration + self.evaluationIntervalInSeconds = evaluationIntervalInSeconds + self.labels = labels + self.missingDataAction = missingDataAction + self.workspaceId = workspaceId + } +} + +public struct PutAnomalyDetectorOutput: Swift.Sendable { + /// The unique identifier of the updated anomaly detector. + /// This member is required. + public var anomalyDetectorId: Swift.String? + /// The Amazon Resource Name (ARN) of the updated anomaly detector. + /// This member is required. + public var arn: Swift.String? + /// The status information of the updated anomaly detector. + /// This member is required. + public var status: AmpClientTypes.AnomalyDetectorStatus? + /// The tags applied to the updated anomaly detector. + public var tags: [Swift.String: Swift.String]? + + public init( + anomalyDetectorId: Swift.String? = nil, + arn: Swift.String? = nil, + status: AmpClientTypes.AnomalyDetectorStatus? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.anomalyDetectorId = anomalyDetectorId + self.arn = arn + self.status = status + self.tags = tags + } +} + /// Represents the input of a CreateWorkspace operation. public struct CreateWorkspaceInput: Swift.Sendable { /// An alias that you assign to this workspace to help you identify it. It does not need to be unique. Blank spaces at the beginning or end of the alias that you specify will be trimmed from the value used. @@ -2888,6 +3351,16 @@ extension CreateAlertManagerDefinitionInput { } } +extension CreateAnomalyDetectorInput { + + static func urlPathProvider(_ value: CreateAnomalyDetectorInput) -> Swift.String? { + guard let workspaceId = value.workspaceId else { + return nil + } + return "/workspaces/\(workspaceId.urlPercentEncoding())/anomalydetectors" + } +} + extension CreateLoggingConfigurationInput { static func urlPathProvider(_ value: CreateLoggingConfigurationInput) -> Swift.String? { @@ -2954,6 +3427,31 @@ extension DeleteAlertManagerDefinitionInput { } } +extension DeleteAnomalyDetectorInput { + + static func urlPathProvider(_ value: DeleteAnomalyDetectorInput) -> Swift.String? { + guard let workspaceId = value.workspaceId else { + return nil + } + guard let anomalyDetectorId = value.anomalyDetectorId else { + return nil + } + return "/workspaces/\(workspaceId.urlPercentEncoding())/anomalydetectors/\(anomalyDetectorId.urlPercentEncoding())" + } +} + +extension DeleteAnomalyDetectorInput { + + static func queryItemProvider(_ value: DeleteAnomalyDetectorInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let clientToken = value.clientToken { + let clientTokenQueryItem = Smithy.URIQueryItem(name: "clientToken".urlPercentEncoding(), value: Swift.String(clientToken).urlPercentEncoding()) + items.append(clientTokenQueryItem) + } + return items + } +} + extension DeleteLoggingConfigurationInput { static func urlPathProvider(_ value: DeleteLoggingConfigurationInput) -> Swift.String? { @@ -3125,6 +3623,19 @@ extension DescribeAlertManagerDefinitionInput { } } +extension DescribeAnomalyDetectorInput { + + static func urlPathProvider(_ value: DescribeAnomalyDetectorInput) -> Swift.String? { + guard let workspaceId = value.workspaceId else { + return nil + } + guard let anomalyDetectorId = value.anomalyDetectorId else { + return nil + } + return "/workspaces/\(workspaceId.urlPercentEncoding())/anomalydetectors/\(anomalyDetectorId.urlPercentEncoding())" + } +} + extension DescribeLoggingConfigurationInput { static func urlPathProvider(_ value: DescribeLoggingConfigurationInput) -> Swift.String? { @@ -3210,8 +3721,38 @@ extension DescribeWorkspaceConfigurationInput { extension GetDefaultScraperConfigurationInput { - static func urlPathProvider(_ value: GetDefaultScraperConfigurationInput) -> Swift.String? { - return "/scraperconfiguration" + static func urlPathProvider(_ value: GetDefaultScraperConfigurationInput) -> Swift.String? { + return "/scraperconfiguration" + } +} + +extension ListAnomalyDetectorsInput { + + static func urlPathProvider(_ value: ListAnomalyDetectorsInput) -> Swift.String? { + guard let workspaceId = value.workspaceId else { + return nil + } + return "/workspaces/\(workspaceId.urlPercentEncoding())/anomalydetectors" + } +} + +extension ListAnomalyDetectorsInput { + + static func queryItemProvider(_ value: ListAnomalyDetectorsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let alias = value.alias { + let aliasQueryItem = Smithy.URIQueryItem(name: "alias".urlPercentEncoding(), value: Swift.String(alias).urlPercentEncoding()) + items.append(aliasQueryItem) + } + return items } } @@ -3326,6 +3867,19 @@ extension PutAlertManagerDefinitionInput { } } +extension PutAnomalyDetectorInput { + + static func urlPathProvider(_ value: PutAnomalyDetectorInput) -> Swift.String? { + guard let workspaceId = value.workspaceId else { + return nil + } + guard let anomalyDetectorId = value.anomalyDetectorId else { + return nil + } + return "/workspaces/\(workspaceId.urlPercentEncoding())/anomalydetectors/\(anomalyDetectorId.urlPercentEncoding())" + } +} + extension PutResourcePolicyInput { static func urlPathProvider(_ value: PutResourcePolicyInput) -> Swift.String? { @@ -3454,6 +4008,20 @@ extension CreateAlertManagerDefinitionInput { } } +extension CreateAnomalyDetectorInput { + + static func write(value: CreateAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["alias"].write(value.alias) + try writer["clientToken"].write(value.clientToken) + try writer["configuration"].write(value.configuration, with: AmpClientTypes.AnomalyDetectorConfiguration.write(value:to:)) + try writer["evaluationIntervalInSeconds"].write(value.evaluationIntervalInSeconds) + try writer["labels"].writeMap(value.labels, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + try writer["missingDataAction"].write(value.missingDataAction, with: AmpClientTypes.AnomalyDetectorMissingDataAction.write(value:to:)) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + } +} + extension CreateLoggingConfigurationInput { static func write(value: CreateLoggingConfigurationInput?, to writer: SmithyJSON.Writer) throws { @@ -3517,6 +4085,18 @@ extension PutAlertManagerDefinitionInput { } } +extension PutAnomalyDetectorInput { + + static func write(value: PutAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["configuration"].write(value.configuration, with: AmpClientTypes.AnomalyDetectorConfiguration.write(value:to:)) + try writer["evaluationIntervalInSeconds"].write(value.evaluationIntervalInSeconds) + try writer["labels"].writeMap(value.labels, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + try writer["missingDataAction"].write(value.missingDataAction, with: AmpClientTypes.AnomalyDetectorMissingDataAction.write(value:to:)) + } +} + extension PutResourcePolicyInput { static func write(value: PutResourcePolicyInput?, to writer: SmithyJSON.Writer) throws { @@ -3614,6 +4194,21 @@ extension CreateAlertManagerDefinitionOutput { } } +extension CreateAnomalyDetectorOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateAnomalyDetectorOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateAnomalyDetectorOutput() + value.anomalyDetectorId = try reader["anomalyDetectorId"].readIfPresent() ?? "" + value.arn = try reader["arn"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent(with: AmpClientTypes.AnomalyDetectorStatus.read(from:)) + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + return value + } +} + extension CreateLoggingConfigurationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateLoggingConfigurationOutput { @@ -3691,6 +4286,13 @@ extension DeleteAlertManagerDefinitionOutput { } } +extension DeleteAnomalyDetectorOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteAnomalyDetectorOutput { + return DeleteAnomalyDetectorOutput() + } +} + extension DeleteLoggingConfigurationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteLoggingConfigurationOutput { @@ -3758,6 +4360,18 @@ extension DescribeAlertManagerDefinitionOutput { } } +extension DescribeAnomalyDetectorOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeAnomalyDetectorOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DescribeAnomalyDetectorOutput() + value.anomalyDetector = try reader["anomalyDetector"].readIfPresent(with: AmpClientTypes.AnomalyDetectorDescription.read(from:)) + return value + } +} + extension DescribeLoggingConfigurationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeLoggingConfigurationOutput { @@ -3872,6 +4486,19 @@ extension GetDefaultScraperConfigurationOutput { } } +extension ListAnomalyDetectorsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAnomalyDetectorsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListAnomalyDetectorsOutput() + value.anomalyDetectors = try reader["anomalyDetectors"].readListIfPresent(memberReadingClosure: AmpClientTypes.AnomalyDetectorSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension ListRuleGroupsNamespacesOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListRuleGroupsNamespacesOutput { @@ -3935,6 +4562,21 @@ extension PutAlertManagerDefinitionOutput { } } +extension PutAnomalyDetectorOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> PutAnomalyDetectorOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = PutAnomalyDetectorOutput() + value.anomalyDetectorId = try reader["anomalyDetectorId"].readIfPresent() ?? "" + value.arn = try reader["arn"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent(with: AmpClientTypes.AnomalyDetectorStatus.read(from:)) + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + return value + } +} + extension PutResourcePolicyOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> PutResourcePolicyOutput { @@ -4067,6 +4709,25 @@ enum CreateAlertManagerDefinitionOutputError { } } +enum CreateAnomalyDetectorOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CreateLoggingConfigurationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -4179,6 +4840,25 @@ enum DeleteAlertManagerDefinitionOutputError { } } +enum DeleteAnomalyDetectorOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DeleteLoggingConfigurationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -4327,6 +5007,24 @@ enum DescribeAlertManagerDefinitionOutputError { } } +enum DescribeAnomalyDetectorOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DescribeLoggingConfigurationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -4484,6 +5182,24 @@ enum GetDefaultScraperConfigurationOutputError { } } +enum ListAnomalyDetectorsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListRuleGroupsNamespacesOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -4574,6 +5290,25 @@ enum PutAlertManagerDefinitionOutputError { } } +enum PutAnomalyDetectorOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum PutResourcePolicyOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -4885,6 +5620,17 @@ extension AmpClientTypes.AlertManagerDefinitionStatus { } } +extension AmpClientTypes.AnomalyDetectorStatus { + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.AnomalyDetectorStatus { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = AmpClientTypes.AnomalyDetectorStatus() + value.statusCode = try reader["statusCode"].readIfPresent() ?? .sdkUnknown("") + value.statusReason = try reader["statusReason"].readIfPresent() + return value + } +} + extension AmpClientTypes.LoggingConfigurationStatus { static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.LoggingConfigurationStatus { @@ -4951,6 +5697,129 @@ extension AmpClientTypes.AlertManagerDefinitionDescription { } } +extension AmpClientTypes.AnomalyDetectorDescription { + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.AnomalyDetectorDescription { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = AmpClientTypes.AnomalyDetectorDescription() + value.arn = try reader["arn"].readIfPresent() ?? "" + value.anomalyDetectorId = try reader["anomalyDetectorId"].readIfPresent() ?? "" + value.alias = try reader["alias"].readIfPresent() ?? "" + value.evaluationIntervalInSeconds = try reader["evaluationIntervalInSeconds"].readIfPresent() + value.missingDataAction = try reader["missingDataAction"].readIfPresent(with: AmpClientTypes.AnomalyDetectorMissingDataAction.read(from:)) + value.configuration = try reader["configuration"].readIfPresent(with: AmpClientTypes.AnomalyDetectorConfiguration.read(from:)) + value.labels = try reader["labels"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.status = try reader["status"].readIfPresent(with: AmpClientTypes.AnomalyDetectorStatus.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.modifiedAt = try reader["modifiedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + return value + } +} + +extension AmpClientTypes.AnomalyDetectorConfiguration { + + static func write(value: AmpClientTypes.AnomalyDetectorConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .randomcutforest(randomcutforest): + try writer["randomCutForest"].write(randomcutforest, with: AmpClientTypes.RandomCutForestConfiguration.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.AnomalyDetectorConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "randomCutForest": + return .randomcutforest(try reader["randomCutForest"].read(with: AmpClientTypes.RandomCutForestConfiguration.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension AmpClientTypes.RandomCutForestConfiguration { + + static func write(value: AmpClientTypes.RandomCutForestConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["ignoreNearExpectedFromAbove"].write(value.ignoreNearExpectedFromAbove, with: AmpClientTypes.IgnoreNearExpected.write(value:to:)) + try writer["ignoreNearExpectedFromBelow"].write(value.ignoreNearExpectedFromBelow, with: AmpClientTypes.IgnoreNearExpected.write(value:to:)) + try writer["query"].write(value.query) + try writer["sampleSize"].write(value.sampleSize) + try writer["shingleSize"].write(value.shingleSize) + } + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.RandomCutForestConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = AmpClientTypes.RandomCutForestConfiguration() + value.query = try reader["query"].readIfPresent() ?? "" + value.shingleSize = try reader["shingleSize"].readIfPresent() ?? 8 + value.sampleSize = try reader["sampleSize"].readIfPresent() ?? 256 + value.ignoreNearExpectedFromAbove = try reader["ignoreNearExpectedFromAbove"].readIfPresent(with: AmpClientTypes.IgnoreNearExpected.read(from:)) + value.ignoreNearExpectedFromBelow = try reader["ignoreNearExpectedFromBelow"].readIfPresent(with: AmpClientTypes.IgnoreNearExpected.read(from:)) + return value + } +} + +extension AmpClientTypes.IgnoreNearExpected { + + static func write(value: AmpClientTypes.IgnoreNearExpected?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .amount(amount): + try writer["amount"].write(amount) + case let .ratio(ratio): + try writer["ratio"].write(ratio) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.IgnoreNearExpected { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "amount": + return .amount(try reader["amount"].read()) + case "ratio": + return .ratio(try reader["ratio"].read()) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension AmpClientTypes.AnomalyDetectorMissingDataAction { + + static func write(value: AmpClientTypes.AnomalyDetectorMissingDataAction?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .markasanomaly(markasanomaly): + try writer["markAsAnomaly"].write(markasanomaly) + case let .skip(skip): + try writer["skip"].write(skip) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.AnomalyDetectorMissingDataAction { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "markAsAnomaly": + return .markasanomaly(try reader["markAsAnomaly"].read()) + case "skip": + return .skip(try reader["skip"].read()) + default: + return .sdkUnknown(name ?? "") + } + } +} + extension AmpClientTypes.LoggingConfigurationMetadata { static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.LoggingConfigurationMetadata { @@ -5326,6 +6195,22 @@ extension AmpClientTypes.WorkspaceConfigurationStatus { } } +extension AmpClientTypes.AnomalyDetectorSummary { + + static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.AnomalyDetectorSummary { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = AmpClientTypes.AnomalyDetectorSummary() + value.arn = try reader["arn"].readIfPresent() ?? "" + value.anomalyDetectorId = try reader["anomalyDetectorId"].readIfPresent() ?? "" + value.alias = try reader["alias"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent(with: AmpClientTypes.AnomalyDetectorStatus.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.modifiedAt = try reader["modifiedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + return value + } +} + extension AmpClientTypes.RuleGroupsNamespaceSummary { static func read(from reader: SmithyJSON.Reader) throws -> AmpClientTypes.RuleGroupsNamespaceSummary { diff --git a/Sources/Services/AWSAmplify/Sources/AWSAmplify/AmplifyClient.swift b/Sources/Services/AWSAmplify/Sources/AWSAmplify/AmplifyClient.swift index 673ef851973..697c9a5ef3c 100644 --- a/Sources/Services/AWSAmplify/Sources/AWSAmplify/AmplifyClient.swift +++ b/Sources/Services/AWSAmplify/Sources/AWSAmplify/AmplifyClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AmplifyClient: ClientRuntime.Client { +public class AmplifyClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AmplifyClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AmplifyClient.AmplifyClientConfiguration let serviceName = "Amplify" diff --git a/Sources/Services/AWSAmplifyBackend/Sources/AWSAmplifyBackend/AmplifyBackendClient.swift b/Sources/Services/AWSAmplifyBackend/Sources/AWSAmplifyBackend/AmplifyBackendClient.swift index fb9b733670d..7499aa5007b 100644 --- a/Sources/Services/AWSAmplifyBackend/Sources/AWSAmplifyBackend/AmplifyBackendClient.swift +++ b/Sources/Services/AWSAmplifyBackend/Sources/AWSAmplifyBackend/AmplifyBackendClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AmplifyBackendClient: ClientRuntime.Client { +public class AmplifyBackendClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AmplifyBackendClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AmplifyBackendClient.AmplifyBackendClientConfiguration let serviceName = "AmplifyBackend" diff --git a/Sources/Services/AWSAmplifyUIBuilder/Sources/AWSAmplifyUIBuilder/AmplifyUIBuilderClient.swift b/Sources/Services/AWSAmplifyUIBuilder/Sources/AWSAmplifyUIBuilder/AmplifyUIBuilderClient.swift index ebaff428a5a..8b17cde4d8d 100644 --- a/Sources/Services/AWSAmplifyUIBuilder/Sources/AWSAmplifyUIBuilder/AmplifyUIBuilderClient.swift +++ b/Sources/Services/AWSAmplifyUIBuilder/Sources/AWSAmplifyUIBuilder/AmplifyUIBuilderClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AmplifyUIBuilderClient: ClientRuntime.Client { +public class AmplifyUIBuilderClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AmplifyUIBuilderClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AmplifyUIBuilderClient.AmplifyUIBuilderClientConfiguration let serviceName = "AmplifyUIBuilder" diff --git a/Sources/Services/AWSApiGatewayManagementApi/Sources/AWSApiGatewayManagementApi/ApiGatewayManagementApiClient.swift b/Sources/Services/AWSApiGatewayManagementApi/Sources/AWSApiGatewayManagementApi/ApiGatewayManagementApiClient.swift index d1dc04c0432..7e2d83f2d48 100644 --- a/Sources/Services/AWSApiGatewayManagementApi/Sources/AWSApiGatewayManagementApi/ApiGatewayManagementApiClient.swift +++ b/Sources/Services/AWSApiGatewayManagementApi/Sources/AWSApiGatewayManagementApi/ApiGatewayManagementApiClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApiGatewayManagementApiClient: ClientRuntime.Client { +public class ApiGatewayManagementApiClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApiGatewayManagementApiClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApiGatewayManagementApiClient.ApiGatewayManagementApiClientConfiguration let serviceName = "ApiGatewayManagementApi" diff --git a/Sources/Services/AWSApiGatewayV2/Sources/AWSApiGatewayV2/ApiGatewayV2Client.swift b/Sources/Services/AWSApiGatewayV2/Sources/AWSApiGatewayV2/ApiGatewayV2Client.swift index 5b89f24489d..d748b8f5b75 100644 --- a/Sources/Services/AWSApiGatewayV2/Sources/AWSApiGatewayV2/ApiGatewayV2Client.swift +++ b/Sources/Services/AWSApiGatewayV2/Sources/AWSApiGatewayV2/ApiGatewayV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApiGatewayV2Client: ClientRuntime.Client { +public class ApiGatewayV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApiGatewayV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApiGatewayV2Client.ApiGatewayV2ClientConfiguration let serviceName = "ApiGatewayV2" diff --git a/Sources/Services/AWSAppConfig/Sources/AWSAppConfig/AppConfigClient.swift b/Sources/Services/AWSAppConfig/Sources/AWSAppConfig/AppConfigClient.swift index e7c318eddb3..ad67a94809b 100644 --- a/Sources/Services/AWSAppConfig/Sources/AWSAppConfig/AppConfigClient.swift +++ b/Sources/Services/AWSAppConfig/Sources/AWSAppConfig/AppConfigClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppConfigClient: ClientRuntime.Client { +public class AppConfigClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppConfigClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppConfigClient.AppConfigClientConfiguration let serviceName = "AppConfig" diff --git a/Sources/Services/AWSAppConfigData/Sources/AWSAppConfigData/AppConfigDataClient.swift b/Sources/Services/AWSAppConfigData/Sources/AWSAppConfigData/AppConfigDataClient.swift index dbd6c35a011..134d2063232 100644 --- a/Sources/Services/AWSAppConfigData/Sources/AWSAppConfigData/AppConfigDataClient.swift +++ b/Sources/Services/AWSAppConfigData/Sources/AWSAppConfigData/AppConfigDataClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppConfigDataClient: ClientRuntime.Client { +public class AppConfigDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppConfigDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppConfigDataClient.AppConfigDataClientConfiguration let serviceName = "AppConfigData" diff --git a/Sources/Services/AWSAppFabric/Sources/AWSAppFabric/AppFabricClient.swift b/Sources/Services/AWSAppFabric/Sources/AWSAppFabric/AppFabricClient.swift index e325aefa776..ac9a3aa9465 100644 --- a/Sources/Services/AWSAppFabric/Sources/AWSAppFabric/AppFabricClient.swift +++ b/Sources/Services/AWSAppFabric/Sources/AWSAppFabric/AppFabricClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppFabricClient: ClientRuntime.Client { +public class AppFabricClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppFabricClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppFabricClient.AppFabricClientConfiguration let serviceName = "AppFabric" diff --git a/Sources/Services/AWSAppIntegrations/Sources/AWSAppIntegrations/AppIntegrationsClient.swift b/Sources/Services/AWSAppIntegrations/Sources/AWSAppIntegrations/AppIntegrationsClient.swift index e694f73a211..07ec7bf895d 100644 --- a/Sources/Services/AWSAppIntegrations/Sources/AWSAppIntegrations/AppIntegrationsClient.swift +++ b/Sources/Services/AWSAppIntegrations/Sources/AWSAppIntegrations/AppIntegrationsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppIntegrationsClient: ClientRuntime.Client { +public class AppIntegrationsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppIntegrationsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppIntegrationsClient.AppIntegrationsClientConfiguration let serviceName = "AppIntegrations" diff --git a/Sources/Services/AWSAppMesh/Sources/AWSAppMesh/AppMeshClient.swift b/Sources/Services/AWSAppMesh/Sources/AWSAppMesh/AppMeshClient.swift index 5e9e4ab030c..69e1e38a575 100644 --- a/Sources/Services/AWSAppMesh/Sources/AWSAppMesh/AppMeshClient.swift +++ b/Sources/Services/AWSAppMesh/Sources/AWSAppMesh/AppMeshClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppMeshClient: ClientRuntime.Client { +public class AppMeshClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppMeshClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppMeshClient.AppMeshClientConfiguration let serviceName = "App Mesh" diff --git a/Sources/Services/AWSAppRunner/Sources/AWSAppRunner/AppRunnerClient.swift b/Sources/Services/AWSAppRunner/Sources/AWSAppRunner/AppRunnerClient.swift index 17489902ed6..71185c356ea 100644 --- a/Sources/Services/AWSAppRunner/Sources/AWSAppRunner/AppRunnerClient.swift +++ b/Sources/Services/AWSAppRunner/Sources/AWSAppRunner/AppRunnerClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppRunnerClient: ClientRuntime.Client { +public class AppRunnerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppRunnerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppRunnerClient.AppRunnerClientConfiguration let serviceName = "AppRunner" diff --git a/Sources/Services/AWSAppStream/Sources/AWSAppStream/AppStreamClient.swift b/Sources/Services/AWSAppStream/Sources/AWSAppStream/AppStreamClient.swift index 3cd82c8976d..7269c7c8675 100644 --- a/Sources/Services/AWSAppStream/Sources/AWSAppStream/AppStreamClient.swift +++ b/Sources/Services/AWSAppStream/Sources/AWSAppStream/AppStreamClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppStreamClient: ClientRuntime.Client { +public class AppStreamClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppStreamClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppStreamClient.AppStreamClientConfiguration let serviceName = "AppStream" @@ -662,6 +661,79 @@ extension AppStreamClient { return try await op.execute(input: input) } + /// Performs the `AssociateSoftwareToImageBuilder` operation on the `AppStream` service. + /// + /// Associates license included application(s) with an existing image builder instance. + /// + /// - Parameter input: [no documentation found] (Type: `AssociateSoftwareToImageBuilderInput`) + /// + /// - Returns: [no documentation found] (Type: `AssociateSoftwareToImageBuilderOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : An API error occurred. Wait a few minutes and try again. + /// - `IncompatibleImageException` : The image can't be updated because it's not compatible for updates. + /// - `InvalidParameterCombinationException` : Indicates an incorrect combination of parameters, or a missing parameter. + /// - `OperationNotPermittedException` : The attempted operation is not permitted. + /// - `ResourceNotFoundException` : The specified resource was not found. + public func associateSoftwareToImageBuilder(input: AssociateSoftwareToImageBuilderInput) async throws -> AssociateSoftwareToImageBuilderOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "associateSoftwareToImageBuilder") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "appstream") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(AssociateSoftwareToImageBuilderInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(AssociateSoftwareToImageBuilderOutput.httpOutput(from:), AssociateSoftwareToImageBuilderOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppStream", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "PhotonAdminProxyService.AssociateSoftwareToImageBuilder")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: AssociateSoftwareToImageBuilderInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppStreamClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppStream") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "AssociateSoftwareToImageBuilder") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `BatchAssociateUserStack` operation on the `AppStream` service. /// /// Associates the specified users with the specified stacks. Users in a user pool cannot be assigned to stacks with fleets that are joined to an Active Directory domain. @@ -3117,6 +3189,77 @@ extension AppStreamClient { return try await op.execute(input: input) } + /// Performs the `DescribeAppLicenseUsage` operation on the `AppStream` service. + /// + /// Retrieves license included application usage information. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeAppLicenseUsageInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeAppLicenseUsageOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `InvalidParameterCombinationException` : Indicates an incorrect combination of parameters, or a missing parameter. + /// - `OperationNotPermittedException` : The attempted operation is not permitted. + /// - `ResourceNotFoundException` : The specified resource was not found. + public func describeAppLicenseUsage(input: DescribeAppLicenseUsageInput) async throws -> DescribeAppLicenseUsageOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "describeAppLicenseUsage") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "appstream") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeAppLicenseUsageInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeAppLicenseUsageOutput.httpOutput(from:), DescribeAppLicenseUsageOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppStream", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "PhotonAdminProxyService.DescribeAppLicenseUsage")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeAppLicenseUsageInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppStreamClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppStream") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeAppLicenseUsage") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DescribeApplicationFleetAssociations` operation on the `AppStream` service. /// /// Retrieves a list that describes one or more application fleet associations. Either ApplicationArn or FleetName must be specified. @@ -3743,6 +3886,76 @@ extension AppStreamClient { return try await op.execute(input: input) } + /// Performs the `DescribeSoftwareAssociations` operation on the `AppStream` service. + /// + /// Retrieves license included application associations for a specified resource. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeSoftwareAssociationsInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeSoftwareAssociationsOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `OperationNotPermittedException` : The attempted operation is not permitted. + /// - `ResourceNotFoundException` : The specified resource was not found. + public func describeSoftwareAssociations(input: DescribeSoftwareAssociationsInput) async throws -> DescribeSoftwareAssociationsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "describeSoftwareAssociations") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "appstream") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeSoftwareAssociationsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeSoftwareAssociationsOutput.httpOutput(from:), DescribeSoftwareAssociationsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppStream", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "PhotonAdminProxyService.DescribeSoftwareAssociations")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeSoftwareAssociationsInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppStreamClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppStream") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeSoftwareAssociations") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DescribeStacks` operation on the `AppStream` service. /// /// Retrieves a list that describes one or more specified stacks, if the stack names are provided. Otherwise, all stacks in the account are described. @@ -4452,6 +4665,78 @@ extension AppStreamClient { return try await op.execute(input: input) } + /// Performs the `DisassociateSoftwareFromImageBuilder` operation on the `AppStream` service. + /// + /// Removes license included application(s) association(s) from an image builder instance. + /// + /// - Parameter input: [no documentation found] (Type: `DisassociateSoftwareFromImageBuilderInput`) + /// + /// - Returns: [no documentation found] (Type: `DisassociateSoftwareFromImageBuilderOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : An API error occurred. Wait a few minutes and try again. + /// - `InvalidParameterCombinationException` : Indicates an incorrect combination of parameters, or a missing parameter. + /// - `OperationNotPermittedException` : The attempted operation is not permitted. + /// - `ResourceNotFoundException` : The specified resource was not found. + public func disassociateSoftwareFromImageBuilder(input: DisassociateSoftwareFromImageBuilderInput) async throws -> DisassociateSoftwareFromImageBuilderOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "disassociateSoftwareFromImageBuilder") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "appstream") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DisassociateSoftwareFromImageBuilderInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DisassociateSoftwareFromImageBuilderOutput.httpOutput(from:), DisassociateSoftwareFromImageBuilderOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppStream", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "PhotonAdminProxyService.DisassociateSoftwareFromImageBuilder")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DisassociateSoftwareFromImageBuilderInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppStreamClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppStream") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DisassociateSoftwareFromImageBuilder") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `EnableUser` operation on the `AppStream` service. /// /// Enables a user in the user pool. After being enabled, users can sign in to AppStream 2.0 and open applications from the stacks to which they are assigned. @@ -5078,6 +5363,77 @@ extension AppStreamClient { return try await op.execute(input: input) } + /// Performs the `StartSoftwareDeploymentToImageBuilder` operation on the `AppStream` service. + /// + /// Initiates license included applications deployment to an image builder instance. + /// + /// - Parameter input: [no documentation found] (Type: `StartSoftwareDeploymentToImageBuilderInput`) + /// + /// - Returns: [no documentation found] (Type: `StartSoftwareDeploymentToImageBuilderOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : An API error occurred. Wait a few minutes and try again. + /// - `OperationNotPermittedException` : The attempted operation is not permitted. + /// - `ResourceNotFoundException` : The specified resource was not found. + public func startSoftwareDeploymentToImageBuilder(input: StartSoftwareDeploymentToImageBuilderInput) async throws -> StartSoftwareDeploymentToImageBuilderOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "startSoftwareDeploymentToImageBuilder") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "appstream") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartSoftwareDeploymentToImageBuilderInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(StartSoftwareDeploymentToImageBuilderOutput.httpOutput(from:), StartSoftwareDeploymentToImageBuilderOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppStream", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "PhotonAdminProxyService.StartSoftwareDeploymentToImageBuilder")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StartSoftwareDeploymentToImageBuilderInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppStreamClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppStream") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartSoftwareDeploymentToImageBuilder") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `StopAppBlockBuilder` operation on the `AppStream` service. /// /// Stops an app block builder. Stopping an app block builder terminates the instance, and the instance state is not persisted. diff --git a/Sources/Services/AWSAppStream/Sources/AWSAppStream/Models.swift b/Sources/Services/AWSAppStream/Sources/AWSAppStream/Models.swift index 0a63c508865..20658b0af8d 100644 --- a/Sources/Services/AWSAppStream/Sources/AWSAppStream/Models.swift +++ b/Sources/Services/AWSAppStream/Sources/AWSAppStream/Models.swift @@ -26,6 +26,7 @@ import protocol ClientRuntime.ModeledError @_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError @_spi(SmithyReadWrite) import struct SmithyReadWrite.ReadingClosureBox @_spi(SmithyReadWrite) import struct SmithyReadWrite.WritingClosureBox +@_spi(SmithyTimestamps) import struct SmithyTimestamps.TimestampFormatter extension AppStreamClientTypes { @@ -120,6 +121,52 @@ extension AppStreamClientTypes { } } +extension AppStreamClientTypes { + + /// The collection of license usage records. + public struct AdminAppLicenseUsageRecord: Swift.Sendable { + /// The billing period for the license usage record. + /// This member is required. + public var billingPeriod: Swift.String? + /// The type of license (for example, Microsoft Office). + /// This member is required. + public var licenseType: Swift.String? + /// The account ID of the owner of the license. + /// This member is required. + public var ownerAWSAccountId: Swift.String? + /// The date and time when the license was first used. + /// This member is required. + public var subscriptionFirstUsedDate: Foundation.Date? + /// The date and time when the license was last used. + /// This member is required. + public var subscriptionLastUsedDate: Foundation.Date? + /// The ARN of the user who used the license-included application. + /// This member is required. + public var userArn: Swift.String? + /// The ID of the user who used the license-included application. + /// This member is required. + public var userId: Swift.String? + + public init( + billingPeriod: Swift.String? = nil, + licenseType: Swift.String? = nil, + ownerAWSAccountId: Swift.String? = nil, + subscriptionFirstUsedDate: Foundation.Date? = nil, + subscriptionLastUsedDate: Foundation.Date? = nil, + userArn: Swift.String? = nil, + userId: Swift.String? = nil + ) { + self.billingPeriod = billingPeriod + self.licenseType = licenseType + self.ownerAWSAccountId = ownerAWSAccountId + self.subscriptionFirstUsedDate = subscriptionFirstUsedDate + self.subscriptionLastUsedDate = subscriptionLastUsedDate + self.userArn = userArn + self.userId = userId + } + } +} + extension AppStreamClientTypes { /// The error details. @@ -1235,6 +1282,76 @@ public struct AssociateFleetOutput: Swift.Sendable { public init() { } } +public struct AssociateSoftwareToImageBuilderInput: Swift.Sendable { + /// The name of the target image builder instance. + /// This member is required. + public var imageBuilderName: Swift.String? + /// The list of license included applications to associate with the image builder. Possible values include the following: + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_64Bit + /// + /// * Microsoft_Project_2021_Professional_32Bit + /// + /// * Microsoft_Project_2021_Professional_64Bit + /// + /// * Microsoft_Project_2024_Professional_32Bit + /// + /// * Microsoft_Project_2024_Professional_64Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Project_2021_Standard_32Bit + /// + /// * Microsoft_Project_2021_Standard_64Bit + /// + /// * Microsoft_Project_2024_Standard_32Bit + /// + /// * Microsoft_Project_2024_Standard_64Bit + /// This member is required. + public var softwareNames: [Swift.String]? + + public init( + imageBuilderName: Swift.String? = nil, + softwareNames: [Swift.String]? = nil + ) { + self.imageBuilderName = imageBuilderName + self.softwareNames = softwareNames + } +} + +public struct AssociateSoftwareToImageBuilderOutput: Swift.Sendable { + + public init() { } +} + extension AppStreamClientTypes { public enum AuthenticationType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -2841,6 +2958,106 @@ public struct CreateImageBuilderInput: Swift.Sendable { /// A unique name for the image builder. /// This member is required. public var name: Swift.String? + /// The list of license included applications to install on the image builder during creation. Possible values include the following: + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_64Bit + /// + /// * Microsoft_Project_2021_Professional_32Bit + /// + /// * Microsoft_Project_2021_Professional_64Bit + /// + /// * Microsoft_Project_2024_Professional_32Bit + /// + /// * Microsoft_Project_2024_Professional_64Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Project_2021_Standard_32Bit + /// + /// * Microsoft_Project_2021_Standard_64Bit + /// + /// * Microsoft_Project_2024_Standard_32Bit + /// + /// * Microsoft_Project_2024_Standard_64Bit + public var softwaresToInstall: [Swift.String]? + /// The list of license included applications to uninstall from the image builder during creation. Possible values include the following: + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_64Bit + /// + /// * Microsoft_Project_2021_Professional_32Bit + /// + /// * Microsoft_Project_2021_Professional_64Bit + /// + /// * Microsoft_Project_2024_Professional_32Bit + /// + /// * Microsoft_Project_2024_Professional_64Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Project_2021_Standard_32Bit + /// + /// * Microsoft_Project_2021_Standard_64Bit + /// + /// * Microsoft_Project_2024_Standard_32Bit + /// + /// * Microsoft_Project_2024_Standard_64Bit + public var softwaresToUninstall: [Swift.String]? /// The tags to associate with the image builder. A tag is a key-value pair, and the value is optional. For example, Environment=Test. If you do not specify a value, Environment=. Generally allowed characters are: letters, numbers, and spaces representable in UTF-8, and the following special characters: _ . : / = + \ - @ If you do not specify a value, the value is set to an empty string. For more information about tags, see [Tagging Your Resources](https://docs.aws.amazon.com/appstream2/latest/developerguide/tagging-basic.html) in the Amazon AppStream 2.0 Administration Guide. public var tags: [Swift.String: Swift.String]? /// The VPC configuration for the image builder. You can specify only one subnet. @@ -2858,6 +3075,8 @@ public struct CreateImageBuilderInput: Swift.Sendable { imageName: Swift.String? = nil, instanceType: Swift.String? = nil, name: Swift.String? = nil, + softwaresToInstall: [Swift.String]? = nil, + softwaresToUninstall: [Swift.String]? = nil, tags: [Swift.String: Swift.String]? = nil, vpcConfig: AppStreamClientTypes.VpcConfig? = nil ) { @@ -2872,6 +3091,8 @@ public struct CreateImageBuilderInput: Swift.Sendable { self.imageName = imageName self.instanceType = instanceType self.name = name + self.softwaresToInstall = softwaresToInstall + self.softwaresToUninstall = softwaresToUninstall self.tags = tags self.vpcConfig = vpcConfig } @@ -2932,11 +3153,13 @@ extension AppStreamClientTypes { case failed case pending case pendingQualification + case pendingSyncingApps case rebooting case running case snapshotting case stopped case stopping + case syncingApps case updating case updatingAgent case sdkUnknown(Swift.String) @@ -2947,11 +3170,13 @@ extension AppStreamClientTypes { .failed, .pending, .pendingQualification, + .pendingSyncingApps, .rebooting, .running, .snapshotting, .stopped, .stopping, + .syncingApps, .updating, .updatingAgent ] @@ -2968,11 +3193,13 @@ extension AppStreamClientTypes { case .failed: return "FAILED" case .pending: return "PENDING" case .pendingQualification: return "PENDING_QUALIFICATION" + case .pendingSyncingApps: return "PENDING_SYNCING_APPS" case .rebooting: return "REBOOTING" case .running: return "RUNNING" case .snapshotting: return "SNAPSHOTTING" case .stopped: return "STOPPED" case .stopping: return "STOPPING" + case .syncingApps: return "SYNCING_APPS" case .updating: return "UPDATING" case .updatingAgent: return "UPDATING_AGENT" case let .sdkUnknown(s): return s @@ -4100,6 +4327,8 @@ extension AppStreamClientTypes { public var imageSharedWithOthers: AppStreamClientTypes.ImageSharedWithOthers? /// Indicates whether the image is using the latest AppStream 2.0 agent version or not. public var latestAppstreamAgentVersion: AppStreamClientTypes.LatestAppstreamAgentVersion? + /// Indicates whether the image includes license-included applications. + public var managedSoftwareIncluded: Swift.Bool? /// The name of the image. /// This member is required. public var name: Swift.String? @@ -4147,6 +4376,7 @@ extension AppStreamClientTypes { imagePermissions: AppStreamClientTypes.ImagePermissions? = nil, imageSharedWithOthers: AppStreamClientTypes.ImageSharedWithOthers? = nil, latestAppstreamAgentVersion: AppStreamClientTypes.LatestAppstreamAgentVersion? = nil, + managedSoftwareIncluded: Swift.Bool? = nil, name: Swift.String? = nil, platform: AppStreamClientTypes.PlatformType? = nil, publicBaseImageReleasedDate: Foundation.Date? = nil, @@ -4169,6 +4399,7 @@ extension AppStreamClientTypes { self.imagePermissions = imagePermissions self.imageSharedWithOthers = imageSharedWithOthers self.latestAppstreamAgentVersion = latestAppstreamAgentVersion + self.managedSoftwareIncluded = managedSoftwareIncluded self.name = name self.platform = platform self.publicBaseImageReleasedDate = publicBaseImageReleasedDate @@ -4757,6 +4988,41 @@ public struct DescribeApplicationsOutput: Swift.Sendable { } } +public struct DescribeAppLicenseUsageInput: Swift.Sendable { + /// Billing period for the usage record. Specify the value in yyyy-mm format. For example, for August 2025, use 2025-08. + /// This member is required. + public var billingPeriod: Swift.String? + /// The maximum number of results to return. + public var maxResults: Swift.Int? + /// Token for pagination of results. + public var nextToken: Swift.String? + + public init( + billingPeriod: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.billingPeriod = billingPeriod + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +public struct DescribeAppLicenseUsageOutput: Swift.Sendable { + /// Collection of license usage records. + public var appLicenseUsages: [AppStreamClientTypes.AdminAppLicenseUsageRecord]? + /// Token for pagination of results. + public var nextToken: Swift.String? + + public init( + appLicenseUsages: [AppStreamClientTypes.AdminAppLicenseUsageRecord]? = nil, + nextToken: Swift.String? = nil + ) { + self.appLicenseUsages = appLicenseUsages + self.nextToken = nextToken + } +} + public struct DescribeDirectoryConfigsInput: Swift.Sendable { /// The directory names. public var directoryNames: [Swift.String]? @@ -5174,6 +5440,168 @@ public struct DescribeSessionsOutput: Swift.Sendable { } } +public struct DescribeSoftwareAssociationsInput: Swift.Sendable { + /// The ARN of the resource to describe software associations. Possible resources are Image and ImageBuilder. + /// This member is required. + public var associatedResource: Swift.String? + /// The maximum number of results to return. + public var maxResults: Swift.Int? + /// The pagination token to use to retrieve the next page of results for this operation. + public var nextToken: Swift.String? + + public init( + associatedResource: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.associatedResource = associatedResource + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension AppStreamClientTypes { + + public enum SoftwareDeploymentStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case failedToInstall + case failedToUninstall + case installed + case pendingInstallation + case pendingUninstallation + case stagedForInstallation + case stagedForUninstallation + case sdkUnknown(Swift.String) + + public static var allCases: [SoftwareDeploymentStatus] { + return [ + .failedToInstall, + .failedToUninstall, + .installed, + .pendingInstallation, + .pendingUninstallation, + .stagedForInstallation, + .stagedForUninstallation + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .failedToInstall: return "FAILED_TO_INSTALL" + case .failedToUninstall: return "FAILED_TO_UNINSTALL" + case .installed: return "INSTALLED" + case .pendingInstallation: return "PENDING_INSTALLATION" + case .pendingUninstallation: return "PENDING_UNINSTALLATION" + case .stagedForInstallation: return "STAGED_FOR_INSTALLATION" + case .stagedForUninstallation: return "STAGED_FOR_UNINSTALLATION" + case let .sdkUnknown(s): return s + } + } + } +} + +extension AppStreamClientTypes { + + /// The association between a license-included application and a resource. + public struct SoftwareAssociations: Swift.Sendable { + /// The error details for failed deployments of the license-included application. + public var deploymentError: [AppStreamClientTypes.ErrorDetails]? + /// The name of the license-included application. Possible values include the following: + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_64Bit + /// + /// * Microsoft_Project_2021_Professional_32Bit + /// + /// * Microsoft_Project_2021_Professional_64Bit + /// + /// * Microsoft_Project_2024_Professional_32Bit + /// + /// * Microsoft_Project_2024_Professional_64Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Project_2021_Standard_32Bit + /// + /// * Microsoft_Project_2021_Standard_64Bit + /// + /// * Microsoft_Project_2024_Standard_32Bit + /// + /// * Microsoft_Project_2024_Standard_64Bit + public var softwareName: Swift.String? + /// The deployment status of the license-included application. + public var status: AppStreamClientTypes.SoftwareDeploymentStatus? + + public init( + deploymentError: [AppStreamClientTypes.ErrorDetails]? = nil, + softwareName: Swift.String? = nil, + status: AppStreamClientTypes.SoftwareDeploymentStatus? = nil + ) { + self.deploymentError = deploymentError + self.softwareName = softwareName + self.status = status + } + } +} + +public struct DescribeSoftwareAssociationsOutput: Swift.Sendable { + /// The ARN of the resource to describe software associations. + public var associatedResource: Swift.String? + /// The pagination token to use to retrieve the next page of results for this operation. + public var nextToken: Swift.String? + /// Collection of license included applications association details including: + /// + /// * License included application name and version information + /// + /// * Deployment status (SoftwareDeploymentStatus enum) + /// + /// * Error details for failed deployments + /// + /// * Association timestamps + public var softwareAssociations: [AppStreamClientTypes.SoftwareAssociations]? + + public init( + associatedResource: Swift.String? = nil, + nextToken: Swift.String? = nil, + softwareAssociations: [AppStreamClientTypes.SoftwareAssociations]? = nil + ) { + self.associatedResource = associatedResource + self.nextToken = nextToken + self.softwareAssociations = softwareAssociations + } +} + public struct DescribeStacksInput: Swift.Sendable { /// The names of the stacks to describe. public var names: [Swift.String]? @@ -5596,6 +6024,76 @@ public struct DisassociateFleetOutput: Swift.Sendable { public init() { } } +public struct DisassociateSoftwareFromImageBuilderInput: Swift.Sendable { + /// The name of the target image builder instance. + /// This member is required. + public var imageBuilderName: Swift.String? + /// The list of license included applications to disassociate from the image builder. Possible values include the following: + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Professional_Plus_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Professional_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Professional_64Bit + /// + /// * Microsoft_Project_2021_Professional_32Bit + /// + /// * Microsoft_Project_2021_Professional_64Bit + /// + /// * Microsoft_Project_2024_Professional_32Bit + /// + /// * Microsoft_Project_2024_Professional_64Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Office_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2021_LTSC_Standard_64Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_32Bit + /// + /// * Microsoft_Visio_2024_LTSC_Standard_64Bit + /// + /// * Microsoft_Project_2021_Standard_32Bit + /// + /// * Microsoft_Project_2021_Standard_64Bit + /// + /// * Microsoft_Project_2024_Standard_32Bit + /// + /// * Microsoft_Project_2024_Standard_64Bit + /// This member is required. + public var softwareNames: [Swift.String]? + + public init( + imageBuilderName: Swift.String? = nil, + softwareNames: [Swift.String]? = nil + ) { + self.imageBuilderName = imageBuilderName + self.softwareNames = softwareNames + } +} + +public struct DisassociateSoftwareFromImageBuilderOutput: Swift.Sendable { + + public init() { } +} + public struct EnableUserInput: Swift.Sendable { /// The authentication type for the user. You must specify USERPOOL. /// This member is required. @@ -5893,6 +6391,27 @@ public struct StartImageBuilderOutput: Swift.Sendable { } } +public struct StartSoftwareDeploymentToImageBuilderInput: Swift.Sendable { + /// The name of the target image builder instance. + /// This member is required. + public var imageBuilderName: Swift.String? + /// Whether to retry previously failed license included application deployments. + public var retryFailedDeployments: Swift.Bool? + + public init( + imageBuilderName: Swift.String? = nil, + retryFailedDeployments: Swift.Bool? = nil + ) { + self.imageBuilderName = imageBuilderName + self.retryFailedDeployments = retryFailedDeployments + } +} + +public struct StartSoftwareDeploymentToImageBuilderOutput: Swift.Sendable { + + public init() { } +} + public struct StopAppBlockBuilderInput: Swift.Sendable { /// The name of the app block builder. /// This member is required. @@ -6694,6 +7213,13 @@ extension AssociateFleetInput { } } +extension AssociateSoftwareToImageBuilderInput { + + static func urlPathProvider(_ value: AssociateSoftwareToImageBuilderInput) -> Swift.String? { + return "/" + } +} + extension BatchAssociateUserStackInput { static func urlPathProvider(_ value: BatchAssociateUserStackInput) -> Swift.String? { @@ -6946,6 +7472,13 @@ extension DescribeApplicationsInput { } } +extension DescribeAppLicenseUsageInput { + + static func urlPathProvider(_ value: DescribeAppLicenseUsageInput) -> Swift.String? { + return "/" + } +} + extension DescribeDirectoryConfigsInput { static func urlPathProvider(_ value: DescribeDirectoryConfigsInput) -> Swift.String? { @@ -6995,6 +7528,13 @@ extension DescribeSessionsInput { } } +extension DescribeSoftwareAssociationsInput { + + static func urlPathProvider(_ value: DescribeSoftwareAssociationsInput) -> Swift.String? { + return "/" + } +} + extension DescribeStacksInput { static func urlPathProvider(_ value: DescribeStacksInput) -> Swift.String? { @@ -7065,6 +7605,13 @@ extension DisassociateFleetInput { } } +extension DisassociateSoftwareFromImageBuilderInput { + + static func urlPathProvider(_ value: DisassociateSoftwareFromImageBuilderInput) -> Swift.String? { + return "/" + } +} + extension EnableUserInput { static func urlPathProvider(_ value: EnableUserInput) -> Swift.String? { @@ -7128,6 +7675,13 @@ extension StartImageBuilderInput { } } +extension StartSoftwareDeploymentToImageBuilderInput { + + static func urlPathProvider(_ value: StartSoftwareDeploymentToImageBuilderInput) -> Swift.String? { + return "/" + } +} + extension StopAppBlockBuilderInput { static func urlPathProvider(_ value: StopAppBlockBuilderInput) -> Swift.String? { @@ -7256,6 +7810,15 @@ extension AssociateFleetInput { } } +extension AssociateSoftwareToImageBuilderInput { + + static func write(value: AssociateSoftwareToImageBuilderInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["ImageBuilderName"].write(value.imageBuilderName) + try writer["SoftwareNames"].writeList(value.softwareNames, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + } +} + extension BatchAssociateUserStackInput { static func write(value: BatchAssociateUserStackInput?, to writer: SmithyJSON.Writer) throws { @@ -7409,6 +7972,8 @@ extension CreateImageBuilderInput { try writer["ImageName"].write(value.imageName) try writer["InstanceType"].write(value.instanceType) try writer["Name"].write(value.name) + try writer["SoftwaresToInstall"].writeList(value.softwaresToInstall, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["SoftwaresToUninstall"].writeList(value.softwaresToUninstall, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) try writer["VpcConfig"].write(value.vpcConfig, with: AppStreamClientTypes.VpcConfig.write(value:to:)) } @@ -7660,6 +8225,16 @@ extension DescribeApplicationsInput { } } +extension DescribeAppLicenseUsageInput { + + static func write(value: DescribeAppLicenseUsageInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["BillingPeriod"].write(value.billingPeriod) + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + } +} + extension DescribeDirectoryConfigsInput { static func write(value: DescribeDirectoryConfigsInput?, to writer: SmithyJSON.Writer) throws { @@ -7737,6 +8312,16 @@ extension DescribeSessionsInput { } } +extension DescribeSoftwareAssociationsInput { + + static func write(value: DescribeSoftwareAssociationsInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["AssociatedResource"].write(value.associatedResource) + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + } +} + extension DescribeStacksInput { static func write(value: DescribeStacksInput?, to writer: SmithyJSON.Writer) throws { @@ -7831,6 +8416,15 @@ extension DisassociateFleetInput { } } +extension DisassociateSoftwareFromImageBuilderInput { + + static func write(value: DisassociateSoftwareFromImageBuilderInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["ImageBuilderName"].write(value.imageBuilderName) + try writer["SoftwareNames"].writeList(value.softwareNames, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + } +} + extension EnableUserInput { static func write(value: EnableUserInput?, to writer: SmithyJSON.Writer) throws { @@ -7910,6 +8504,15 @@ extension StartImageBuilderInput { } } +extension StartSoftwareDeploymentToImageBuilderInput { + + static func write(value: StartSoftwareDeploymentToImageBuilderInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["ImageBuilderName"].write(value.imageBuilderName) + try writer["RetryFailedDeployments"].write(value.retryFailedDeployments) + } +} + extension StopAppBlockBuilderInput { static func write(value: StopAppBlockBuilderInput?, to writer: SmithyJSON.Writer) throws { @@ -8120,6 +8723,13 @@ extension AssociateFleetOutput { } } +extension AssociateSoftwareToImageBuilderOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> AssociateSoftwareToImageBuilderOutput { + return AssociateSoftwareToImageBuilderOutput() + } +} + extension BatchAssociateUserStackOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> BatchAssociateUserStackOutput { @@ -8502,6 +9112,19 @@ extension DescribeApplicationsOutput { } } +extension DescribeAppLicenseUsageOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeAppLicenseUsageOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DescribeAppLicenseUsageOutput() + value.appLicenseUsages = try reader["AppLicenseUsages"].readListIfPresent(memberReadingClosure: AppStreamClientTypes.AdminAppLicenseUsageRecord.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["NextToken"].readIfPresent() + return value + } +} + extension DescribeDirectoryConfigsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeDirectoryConfigsOutput { @@ -8594,6 +9217,20 @@ extension DescribeSessionsOutput { } } +extension DescribeSoftwareAssociationsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeSoftwareAssociationsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DescribeSoftwareAssociationsOutput() + value.associatedResource = try reader["AssociatedResource"].readIfPresent() + value.nextToken = try reader["NextToken"].readIfPresent() + value.softwareAssociations = try reader["SoftwareAssociations"].readListIfPresent(memberReadingClosure: AppStreamClientTypes.SoftwareAssociations.read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + extension DescribeStacksOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeStacksOutput { @@ -8693,6 +9330,13 @@ extension DisassociateFleetOutput { } } +extension DisassociateSoftwareFromImageBuilderOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DisassociateSoftwareFromImageBuilderOutput { + return DisassociateSoftwareFromImageBuilderOutput() + } +} + extension EnableUserOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> EnableUserOutput { @@ -8789,6 +9433,13 @@ extension StartImageBuilderOutput { } } +extension StartSoftwareDeploymentToImageBuilderOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartSoftwareDeploymentToImageBuilderOutput { + return StartSoftwareDeploymentToImageBuilderOutput() + } +} + extension StopAppBlockBuilderOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StopAppBlockBuilderOutput { @@ -8997,6 +9648,24 @@ enum AssociateFleetOutputError { } } +enum AssociateSoftwareToImageBuilderOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "ConcurrentModificationException": return try ConcurrentModificationException.makeError(baseError: baseError) + case "IncompatibleImageException": return try IncompatibleImageException.makeError(baseError: baseError) + case "InvalidParameterCombinationException": return try InvalidParameterCombinationException.makeError(baseError: baseError) + case "OperationNotPermittedException": return try OperationNotPermittedException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum BatchAssociateUserStackOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -9612,6 +10281,22 @@ enum DescribeApplicationsOutputError { } } +enum DescribeAppLicenseUsageOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "InvalidParameterCombinationException": return try InvalidParameterCombinationException.makeError(baseError: baseError) + case "OperationNotPermittedException": return try OperationNotPermittedException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DescribeDirectoryConfigsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -9713,6 +10398,21 @@ enum DescribeSessionsOutputError { } } +enum DescribeSoftwareAssociationsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "OperationNotPermittedException": return try OperationNotPermittedException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DescribeStacksOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -9868,6 +10568,23 @@ enum DisassociateFleetOutputError { } } +enum DisassociateSoftwareFromImageBuilderOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "ConcurrentModificationException": return try ConcurrentModificationException.makeError(baseError: baseError) + case "InvalidParameterCombinationException": return try InvalidParameterCombinationException.makeError(baseError: baseError) + case "OperationNotPermittedException": return try OperationNotPermittedException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum EnableUserOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -10011,6 +10728,22 @@ enum StartImageBuilderOutputError { } } +enum StartSoftwareDeploymentToImageBuilderOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "ConcurrentModificationException": return try ConcurrentModificationException.makeError(baseError: baseError) + case "OperationNotPermittedException": return try OperationNotPermittedException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum StopAppBlockBuilderOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -11025,6 +11758,7 @@ extension AppStreamClientTypes.Image { value.supportedInstanceFamilies = try reader["SupportedInstanceFamilies"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.dynamicAppProvidersEnabled = try reader["DynamicAppProvidersEnabled"].readIfPresent() value.imageSharedWithOthers = try reader["ImageSharedWithOthers"].readIfPresent() + value.managedSoftwareIncluded = try reader["ManagedSoftwareIncluded"].readIfPresent() return value } } @@ -11057,6 +11791,22 @@ extension AppStreamClientTypes.ImageStateChangeReason { } } +extension AppStreamClientTypes.AdminAppLicenseUsageRecord { + + static func read(from reader: SmithyJSON.Reader) throws -> AppStreamClientTypes.AdminAppLicenseUsageRecord { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = AppStreamClientTypes.AdminAppLicenseUsageRecord() + value.userArn = try reader["UserArn"].readIfPresent() ?? "" + value.billingPeriod = try reader["BillingPeriod"].readIfPresent() ?? "" + value.ownerAWSAccountId = try reader["OwnerAWSAccountId"].readIfPresent() ?? "" + value.subscriptionFirstUsedDate = try reader["SubscriptionFirstUsedDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.subscriptionLastUsedDate = try reader["SubscriptionLastUsedDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.licenseType = try reader["LicenseType"].readIfPresent() ?? "" + value.userId = try reader["UserId"].readIfPresent() ?? "" + return value + } +} + extension AppStreamClientTypes.SharedImagePermissions { static func read(from reader: SmithyJSON.Reader) throws -> AppStreamClientTypes.SharedImagePermissions { @@ -11088,6 +11838,18 @@ extension AppStreamClientTypes.Session { } } +extension AppStreamClientTypes.SoftwareAssociations { + + static func read(from reader: SmithyJSON.Reader) throws -> AppStreamClientTypes.SoftwareAssociations { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = AppStreamClientTypes.SoftwareAssociations() + value.softwareName = try reader["SoftwareName"].readIfPresent() + value.status = try reader["Status"].readIfPresent() + value.deploymentError = try reader["DeploymentError"].readListIfPresent(memberReadingClosure: AppStreamClientTypes.ErrorDetails.read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + extension AppStreamClientTypes.UsageReportSubscription { static func read(from reader: SmithyJSON.Reader) throws -> AppStreamClientTypes.UsageReportSubscription { diff --git a/Sources/Services/AWSAppSync/Sources/AWSAppSync/AppSyncClient.swift b/Sources/Services/AWSAppSync/Sources/AWSAppSync/AppSyncClient.swift index 714167a5ace..f9822409a10 100644 --- a/Sources/Services/AWSAppSync/Sources/AWSAppSync/AppSyncClient.swift +++ b/Sources/Services/AWSAppSync/Sources/AWSAppSync/AppSyncClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppSyncClient: ClientRuntime.Client { +public class AppSyncClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppSyncClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppSyncClient.AppSyncClientConfiguration let serviceName = "AppSync" diff --git a/Sources/Services/AWSAppTest/Sources/AWSAppTest/AuthSchemeResolver.swift b/Sources/Services/AWSAppTest/Sources/AWSAppTest/AuthSchemeResolver.swift deleted file mode 100644 index fa76fac82ce..00000000000 --- a/Sources/Services/AWSAppTest/Sources/AWSAppTest/AuthSchemeResolver.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class Smithy.Context -import enum Smithy.ClientError -import enum SmithyHTTPAuthAPI.SigningPropertyKeys -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters -import struct SmithyHTTPAuthAPI.AuthOption - -public struct AppTestAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - public let authSchemePreference: [String]? - public let operation: Swift.String - // Region is used for SigV4 auth scheme - public let region: Swift.String? -} - -public protocol AppTestAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { - // Intentionally empty. - // This is the parent protocol that all auth scheme resolver implementations of - // the service AppTest must conform to. -} - -public struct DefaultAppTestAuthSchemeResolver: AppTestAuthSchemeResolver { - - public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { - var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? AppTestAuthSchemeResolverParameters else { - throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") - } - switch serviceParams.operation { - default: - var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "apptest") - guard let region = serviceParams.region else { - throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") - } - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingRegion, value: region) - validAuthOptions.append(sigv4Option) - } - return self.reprioritizeAuthOptions(authSchemePreference: serviceParams.authSchemePreference, authOptions: validAuthOptions) - } - - public func constructParameters(context: Smithy.Context) throws -> SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - guard let opName = context.getOperation() else { - throw Smithy.ClientError.dataNotFound("Operation name not configured in middleware context for auth scheme resolver params construction.") - } - let authSchemePreference = context.getAuthSchemePreference() - let opRegion = context.getRegion() - return AppTestAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) - } -} diff --git a/Sources/Services/AWSAppTest/Sources/AWSAppTest/Models.swift b/Sources/Services/AWSAppTest/Sources/AWSAppTest/Models.swift deleted file mode 100644 index 9c4c65ebc23..00000000000 --- a/Sources/Services/AWSAppTest/Sources/AWSAppTest/Models.swift +++ /dev/null @@ -1,6155 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import Foundation -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum Smithy.ClientError -import enum SmithyReadWrite.ReaderError -@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures -@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures -@_spi(SmithyTimestamps) import enum SmithyTimestamps.TimestampFormat -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError -import struct Smithy.URIQueryItem -@_spi(SmithyTimestamps) import struct SmithyTimestamps.TimestampFormatter - -/// The account or role doesn't have the right permissions to make the request. -public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "AccessDeniedException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// An unexpected error occurred during the processing of the request. -public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The number of seconds to retry the query. - public internal(set) var retryAfterSeconds: Swift.Int? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InternalServerException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { true } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - retryAfterSeconds: Swift.Int? = nil - ) { - self.properties.message = message - self.properties.retryAfterSeconds = retryAfterSeconds - } -} - -/// The specified resource was not found. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The resource ID of the resource not found. - public internal(set) var resourceId: Swift.String? = nil - /// The resource type of the resource not found. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// The number of requests made exceeds the limit. -public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The quota code of requests that exceed the limit. - public internal(set) var quotaCode: Swift.String? = nil - /// The number of seconds to retry after for requests that exceed the limit. - public internal(set) var retryAfterSeconds: Swift.Int? = nil - /// The service code of requests that exceed the limit. - public internal(set) var serviceCode: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ThrottlingException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { true } - public static var isThrottling: Swift.Bool { true } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - quotaCode: Swift.String? = nil, - retryAfterSeconds: Swift.Int? = nil, - serviceCode: Swift.String? = nil - ) { - self.properties.message = message - self.properties.quotaCode = quotaCode - self.properties.retryAfterSeconds = retryAfterSeconds - self.properties.serviceCode = serviceCode - } -} - -extension AppTestClientTypes { - - /// Specifies a validation exception field. - public struct ValidationExceptionField: Swift.Sendable { - /// The message stating reason for why service validation failed. - /// This member is required. - public var message: Swift.String? - /// The name of the validation exception field. - /// This member is required. - public var name: Swift.String? - - public init( - message: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.message = message - self.name = name - } - } -} - -extension AppTestClientTypes { - - public enum ValidationExceptionReason: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case cannotParse - case fieldValidationFailed - case other - case unknownOperation - case sdkUnknown(Swift.String) - - public static var allCases: [ValidationExceptionReason] { - return [ - .cannotParse, - .fieldValidationFailed, - .other, - .unknownOperation - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .cannotParse: return "cannotParse" - case .fieldValidationFailed: return "fieldValidationFailed" - case .other: return "other" - case .unknownOperation: return "unknownOperation" - case let .sdkUnknown(s): return s - } - } - } -} - -/// One or more parameter provided in the request is not valid. -public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// The field list of the validation exception. - public internal(set) var fieldList: [AppTestClientTypes.ValidationExceptionField]? = nil - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The reason for the validation exception. - public internal(set) var reason: AppTestClientTypes.ValidationExceptionReason? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ValidationException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - fieldList: [AppTestClientTypes.ValidationExceptionField]? = nil, - message: Swift.String? = nil, - reason: AppTestClientTypes.ValidationExceptionReason? = nil - ) { - self.properties.fieldList = fieldList - self.properties.message = message - self.properties.reason = reason - } -} - -public struct ListTagsForResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the resource. - /// This member is required. - public var resourceArn: Swift.String? - - public init( - resourceArn: Swift.String? = nil - ) { - self.resourceArn = resourceArn - } -} - -public struct ListTagsForResourceOutput: Swift.Sendable { - /// The tags of the resource. - /// This member is required. - public var tags: [Swift.String: Swift.String]? - - public init( - tags: [Swift.String: Swift.String]? = nil - ) { - self.tags = tags - } -} - -/// One or more quotas for AWS Application Testing exceeds the limit. -public struct ServiceQuotaExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The quote codes of AWS Application Testing that exceeded the limit. - public internal(set) var quotaCode: Swift.String? = nil - /// The resource ID of AWS Application Testing that exceeded the limit. - public internal(set) var resourceId: Swift.String? = nil - /// The resource type of AWS Application Testing that exceeded the limit. - public internal(set) var resourceType: Swift.String? = nil - /// The service code of AWS Application Testing that exceeded the limit. - public internal(set) var serviceCode: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ServiceQuotaExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - quotaCode: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: Swift.String? = nil, - serviceCode: Swift.String? = nil - ) { - self.properties.message = message - self.properties.quotaCode = quotaCode - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - self.properties.serviceCode = serviceCode - } -} - -public struct TagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the tag resource. - /// This member is required. - public var resourceArn: Swift.String? - /// The tags of the resource. - /// This member is required. - public var tags: [Swift.String: Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tags = tags - } -} - -public struct TagResourceOutput: Swift.Sendable { - - public init() { } -} - -/// The parameters provided in the request conflict with existing resources. -public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The resource ID of the conflicts with existing resources. - public internal(set) var resourceId: Swift.String? = nil - /// The resource type of the conflicts with existing resources. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConflictException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -extension AppTestClientTypes { - - public enum CaptureTool: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case awsDms - case precisely - case sdkUnknown(Swift.String) - - public static var allCases: [CaptureTool] { - return [ - .awsDms, - .precisely - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .awsDms: return "AWS DMS" - case .precisely: return "Precisely" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - public enum SourceDatabase: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case zOsDb2 - case sdkUnknown(Swift.String) - - public static var allCases: [SourceDatabase] { - return [ - .zOsDb2 - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .zOsDb2: return "z/OS-DB2" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the source database metadata. - public struct SourceDatabaseMetadata: Swift.Sendable { - /// The capture tool of the source database metadata. - /// This member is required. - public var captureTool: AppTestClientTypes.CaptureTool? - /// The type of the source database metadata. - /// This member is required. - public var type: AppTestClientTypes.SourceDatabase? - - public init( - captureTool: AppTestClientTypes.CaptureTool? = nil, - type: AppTestClientTypes.SourceDatabase? = nil - ) { - self.captureTool = captureTool - self.type = type - } - } -} - -extension AppTestClientTypes { - - public enum TargetDatabase: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case postgresql - case sdkUnknown(Swift.String) - - public static var allCases: [TargetDatabase] { - return [ - .postgresql - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .postgresql: return "PostgreSQL" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies a target database metadata. - public struct TargetDatabaseMetadata: Swift.Sendable { - /// The capture tool of the target database metadata. - /// This member is required. - public var captureTool: AppTestClientTypes.CaptureTool? - /// The type of the target database metadata. - /// This member is required. - public var type: AppTestClientTypes.TargetDatabase? - - public init( - captureTool: AppTestClientTypes.CaptureTool? = nil, - type: AppTestClientTypes.TargetDatabase? = nil - ) { - self.captureTool = captureTool - self.type = type - } - } -} - -extension AppTestClientTypes { - - /// Defines the Change Data Capture (CDC) of the database. - public struct DatabaseCDC: Swift.Sendable { - /// The source metadata of the database CDC. - /// This member is required. - public var sourceMetadata: AppTestClientTypes.SourceDatabaseMetadata? - /// The target metadata of the database CDC. - /// This member is required. - public var targetMetadata: AppTestClientTypes.TargetDatabaseMetadata? - - public init( - sourceMetadata: AppTestClientTypes.SourceDatabaseMetadata? = nil, - targetMetadata: AppTestClientTypes.TargetDatabaseMetadata? = nil - ) { - self.sourceMetadata = sourceMetadata - self.targetMetadata = targetMetadata - } - } -} - -extension AppTestClientTypes { - - public enum Format: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case fixed - case lineSequential - case variable - case sdkUnknown(Swift.String) - - public static var allCases: [Format] { - return [ - .fixed, - .lineSequential, - .variable - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .fixed: return "FIXED" - case .lineSequential: return "LINE_SEQUENTIAL" - case .variable: return "VARIABLE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - public enum DataSetType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case ps - case sdkUnknown(Swift.String) - - public static var allCases: [DataSetType] { - return [ - .ps - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .ps: return "PS" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Defines a data set. - public struct DataSet: Swift.Sendable { - /// The CCSID of the data set. - /// This member is required. - public var ccsid: Swift.String? - /// The format of the data set. - /// This member is required. - public var format: AppTestClientTypes.Format? - /// The length of the data set. - /// This member is required. - public var length: Swift.Int? - /// The name of the data set. - /// This member is required. - public var name: Swift.String? - /// The type of the data set. - /// This member is required. - public var type: AppTestClientTypes.DataSetType? - - public init( - ccsid: Swift.String? = nil, - format: AppTestClientTypes.Format? = nil, - length: Swift.Int? = nil, - name: Swift.String? = nil, - type: AppTestClientTypes.DataSetType? = nil - ) { - self.ccsid = ccsid - self.format = format - self.length = length - self.name = name - self.type = type - } - } -} - -extension AppTestClientTypes { - - /// Specifies a file metadata. - public enum FileMetadata: Swift.Sendable { - /// The data sets of the file metadata. - case datasets([AppTestClientTypes.DataSet]) - /// The database CDC of the file metadata. - case databasecdc(AppTestClientTypes.DatabaseCDC) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies the input file. - public struct InputFile: Swift.Sendable { - /// The file metadata of the input file. - /// This member is required. - public var fileMetadata: AppTestClientTypes.FileMetadata? - /// The source location of the input file. - /// This member is required. - public var sourceLocation: Swift.String? - /// The target location of the input file. - /// This member is required. - public var targetLocation: Swift.String? - - public init( - fileMetadata: AppTestClientTypes.FileMetadata? = nil, - sourceLocation: Swift.String? = nil, - targetLocation: Swift.String? = nil - ) { - self.fileMetadata = fileMetadata - self.sourceLocation = sourceLocation - self.targetLocation = targetLocation - } - } -} - -extension AppTestClientTypes { - - /// Specifies the input. - public enum Input: Swift.Sendable { - /// The file in the input. - case file(AppTestClientTypes.InputFile) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies an output file. - public struct OutputFile: Swift.Sendable { - /// The file location of the output file. - public var fileLocation: Swift.String? - - public init( - fileLocation: Swift.String? = nil - ) { - self.fileLocation = fileLocation - } - } -} - -extension AppTestClientTypes { - - /// Specifies an output. - public enum Output: Swift.Sendable { - /// The file of the output. - case file(AppTestClientTypes.OutputFile) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Compares the action. - public struct CompareAction: Swift.Sendable { - /// The input of the compare action. - /// This member is required. - public var input: AppTestClientTypes.Input? - /// The output of the compare action. - public var output: AppTestClientTypes.Output? - - public init( - input: AppTestClientTypes.Input? = nil, - output: AppTestClientTypes.Output? = nil - ) { - self.input = input - self.output = output - } - } -} - -extension AppTestClientTypes { - - /// Defines a batch. - public struct Batch: Swift.Sendable { - /// The job name of the batch. - /// This member is required. - public var batchJobName: Swift.String? - /// The batch job parameters of the batch. - public var batchJobParameters: [Swift.String: Swift.String]? - /// The export data set names of the batch. - public var exportDataSetNames: [Swift.String]? - - public init( - batchJobName: Swift.String? = nil, - batchJobParameters: [Swift.String: Swift.String]? = nil, - exportDataSetNames: [Swift.String]? = nil - ) { - self.batchJobName = batchJobName - self.batchJobParameters = batchJobParameters - self.exportDataSetNames = exportDataSetNames - } - } -} - -extension AppTestClientTypes { - - public enum ScriptType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case selenium - case sdkUnknown(Swift.String) - - public static var allCases: [ScriptType] { - return [ - .selenium - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .selenium: return "Selenium" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the script. - public struct Script: Swift.Sendable { - /// The script location of the scripts. - /// This member is required. - public var scriptLocation: Swift.String? - /// The type of the scripts. - /// This member is required. - public var type: AppTestClientTypes.ScriptType? - - public init( - scriptLocation: Swift.String? = nil, - type: AppTestClientTypes.ScriptType? = nil - ) { - self.scriptLocation = scriptLocation - self.type = type - } - } -} - -extension AppTestClientTypes { - - /// Specifies the TN3270 protocol. - public struct TN3270: Swift.Sendable { - /// The data set names of the TN3270 protocol. - public var exportDataSetNames: [Swift.String]? - /// The script of the TN3270 protocol. - /// This member is required. - public var script: AppTestClientTypes.Script? - - public init( - exportDataSetNames: [Swift.String]? = nil, - script: AppTestClientTypes.Script? = nil - ) { - self.exportDataSetNames = exportDataSetNames - self.script = script - } - } -} - -extension AppTestClientTypes { - - /// Specifies the mainframe action type. - public enum MainframeActionType: Swift.Sendable { - /// The batch of the mainframe action type. - case batch(AppTestClientTypes.Batch) - /// The tn3270 port of the mainframe action type. - case tn3270(AppTestClientTypes.TN3270) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies the mainframe action properties. - public struct MainframeActionProperties: Swift.Sendable { - /// The DMS task ARN of the mainframe action properties. - public var dmsTaskArn: Swift.String? - - public init( - dmsTaskArn: Swift.String? = nil - ) { - self.dmsTaskArn = dmsTaskArn - } - } -} - -extension AppTestClientTypes { - - /// Specifies the mainframe action. - public struct MainframeAction: Swift.Sendable { - /// The action type of the mainframe action. - /// This member is required. - public var actionType: AppTestClientTypes.MainframeActionType? - /// The properties of the mainframe action. - public var properties: AppTestClientTypes.MainframeActionProperties? - /// The resource of the mainframe action. - /// This member is required. - public var resource: Swift.String? - - public init( - actionType: AppTestClientTypes.MainframeActionType? = nil, - properties: AppTestClientTypes.MainframeActionProperties? = nil, - resource: Swift.String? = nil - ) { - self.actionType = actionType - self.properties = properties - self.resource = resource - } - } -} - -extension AppTestClientTypes { - - public enum CloudFormationActionType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case create - case delete - case sdkUnknown(Swift.String) - - public static var allCases: [CloudFormationActionType] { - return [ - .create, - .delete - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .create: return "Create" - case .delete: return "Delete" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the CloudFormation action. - public struct CloudFormationAction: Swift.Sendable { - /// The action type of the CloudFormation action. - public var actionType: AppTestClientTypes.CloudFormationActionType? - /// The resource of the CloudFormation action. - /// This member is required. - public var resource: Swift.String? - - public init( - actionType: AppTestClientTypes.CloudFormationActionType? = nil, - resource: Swift.String? = nil - ) { - self.actionType = actionType - self.resource = resource - } - } -} - -extension AppTestClientTypes { - - public enum M2ManagedActionType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case configure - case deconfigure - case sdkUnknown(Swift.String) - - public static var allCases: [M2ManagedActionType] { - return [ - .configure, - .deconfigure - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .configure: return "Configure" - case .deconfigure: return "Deconfigure" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed action properties. - public struct M2ManagedActionProperties: Swift.Sendable { - /// Force stops the AWS Mainframe Modernization managed action properties. - public var forceStop: Swift.Bool? - /// The import data set location of the AWS Mainframe Modernization managed action properties. - public var importDataSetLocation: Swift.String? - - public init( - forceStop: Swift.Bool? = nil, - importDataSetLocation: Swift.String? = nil - ) { - self.forceStop = forceStop - self.importDataSetLocation = importDataSetLocation - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed application action. - public struct M2ManagedApplicationAction: Swift.Sendable { - /// The action type of the AWS Mainframe Modernization managed application action. - /// This member is required. - public var actionType: AppTestClientTypes.M2ManagedActionType? - /// The properties of the AWS Mainframe Modernization managed application action. - public var properties: AppTestClientTypes.M2ManagedActionProperties? - /// The resource of the AWS Mainframe Modernization managed application action. - /// This member is required. - public var resource: Swift.String? - - public init( - actionType: AppTestClientTypes.M2ManagedActionType? = nil, - properties: AppTestClientTypes.M2ManagedActionProperties? = nil, - resource: Swift.String? = nil - ) { - self.actionType = actionType - self.properties = properties - self.resource = resource - } - } -} - -extension AppTestClientTypes { - - public enum M2NonManagedActionType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case configure - case deconfigure - case sdkUnknown(Swift.String) - - public static var allCases: [M2NonManagedActionType] { - return [ - .configure, - .deconfigure - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .configure: return "Configure" - case .deconfigure: return "Deconfigure" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization non-managed application action. - public struct M2NonManagedApplicationAction: Swift.Sendable { - /// The action type of the AWS Mainframe Modernization non-managed application action. - /// This member is required. - public var actionType: AppTestClientTypes.M2NonManagedActionType? - /// The resource of the AWS Mainframe Modernization non-managed application action. - /// This member is required. - public var resource: Swift.String? - - public init( - actionType: AppTestClientTypes.M2NonManagedActionType? = nil, - resource: Swift.String? = nil - ) { - self.actionType = actionType - self.resource = resource - } - } -} - -extension AppTestClientTypes { - - /// Specifies a resource action. - public enum ResourceAction: Swift.Sendable { - /// The AWS Mainframe Modernization managed application action of the resource action. - case m2managedapplicationaction(AppTestClientTypes.M2ManagedApplicationAction) - /// The AWS Mainframe Modernization non-managed application action of the resource action. - case m2nonmanagedapplicationaction(AppTestClientTypes.M2NonManagedApplicationAction) - /// The CloudFormation action of the resource action. - case cloudformationaction(AppTestClientTypes.CloudFormationAction) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies a step action. - public enum StepAction: Swift.Sendable { - /// The resource action of the step action. - case resourceaction(AppTestClientTypes.ResourceAction) - /// The mainframe action of the step action. - case mainframeaction(AppTestClientTypes.MainframeAction) - /// The compare action of the step action. - case compareaction(AppTestClientTypes.CompareAction) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Defines a step. - public struct Step: Swift.Sendable { - /// The action of the step. - /// This member is required. - public var action: AppTestClientTypes.StepAction? - /// The description of the step. - public var description: Swift.String? - /// The name of the step. - /// This member is required. - public var name: Swift.String? - - public init( - action: AppTestClientTypes.StepAction? = nil, - description: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.action = action - self.description = description - self.name = name - } - } -} - -public struct CreateTestCaseInput: Swift.Sendable { - /// The client token of the test case. - public var clientToken: Swift.String? - /// The description of the test case. - public var description: Swift.String? - /// The name of the test case. - /// This member is required. - public var name: Swift.String? - /// The steps in the test case. - /// This member is required. - public var steps: [AppTestClientTypes.Step]? - /// The specified tags of the test case. - public var tags: [Swift.String: Swift.String]? - - public init( - clientToken: Swift.String? = nil, - description: Swift.String? = nil, - name: Swift.String? = nil, - steps: [AppTestClientTypes.Step]? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.clientToken = clientToken - self.description = description - self.name = name - self.steps = steps - self.tags = tags - } -} - -public struct CreateTestCaseOutput: Swift.Sendable { - /// The test case ID of the test case. - /// This member is required. - public var testCaseId: Swift.String? - /// The test case version of the test case. - /// This member is required. - public var testCaseVersion: Swift.Int? - - public init( - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil - ) { - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - } -} - -public struct DeleteTestCaseInput: Swift.Sendable { - /// The test case ID of the test case. - /// This member is required. - public var testCaseId: Swift.String? - - public init( - testCaseId: Swift.String? = nil - ) { - self.testCaseId = testCaseId - } -} - -public struct DeleteTestCaseOutput: Swift.Sendable { - - public init() { } -} - -public struct GetTestCaseInput: Swift.Sendable { - /// The request test ID of the test case. - /// This member is required. - public var testCaseId: Swift.String? - /// The test case version of the test case. - public var testCaseVersion: Swift.Int? - - public init( - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil - ) { - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - } -} - -extension AppTestClientTypes { - - public enum TestCaseLifecycle: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case deleting - case sdkUnknown(Swift.String) - - public static var allCases: [TestCaseLifecycle] { - return [ - .active, - .deleting - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "Active" - case .deleting: return "Deleting" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the latest version of a test case. - public struct TestCaseLatestVersion: Swift.Sendable { - /// The status of the test case latest version. - /// This member is required. - public var status: AppTestClientTypes.TestCaseLifecycle? - /// The status reason of the test case latest version. - public var statusReason: Swift.String? - /// The version of the test case latest version. - /// This member is required. - public var version: Swift.Int? - - public init( - status: AppTestClientTypes.TestCaseLifecycle? = nil, - statusReason: Swift.String? = nil, - version: Swift.Int? = nil - ) { - self.status = status - self.statusReason = statusReason - self.version = version - } - } -} - -public struct GetTestCaseOutput: Swift.Sendable { - /// The creation time of the test case. - /// This member is required. - public var creationTime: Foundation.Date? - /// The description of the test case. - public var description: Swift.String? - /// The last update time of the test case. - /// This member is required. - public var lastUpdateTime: Foundation.Date? - /// The latest version of the test case. - /// This member is required. - public var latestVersion: AppTestClientTypes.TestCaseLatestVersion? - /// The name of the test case. - /// This member is required. - public var name: Swift.String? - /// The status of the test case. - /// This member is required. - public var status: AppTestClientTypes.TestCaseLifecycle? - /// The status reason of the test case. - public var statusReason: Swift.String? - /// The steps of the test case. - /// This member is required. - public var steps: [AppTestClientTypes.Step]? - /// The tags of the test case. - public var tags: [Swift.String: Swift.String]? - /// The Amazon Resource Name (ARN) of the test case. - /// This member is required. - public var testCaseArn: Swift.String? - /// The response test ID of the test case. - /// This member is required. - public var testCaseId: Swift.String? - /// The case version of the test case. - /// This member is required. - public var testCaseVersion: Swift.Int? - - public init( - creationTime: Foundation.Date? = nil, - description: Swift.String? = nil, - lastUpdateTime: Foundation.Date? = nil, - latestVersion: AppTestClientTypes.TestCaseLatestVersion? = nil, - name: Swift.String? = nil, - status: AppTestClientTypes.TestCaseLifecycle? = nil, - statusReason: Swift.String? = nil, - steps: [AppTestClientTypes.Step]? = nil, - tags: [Swift.String: Swift.String]? = nil, - testCaseArn: Swift.String? = nil, - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil - ) { - self.creationTime = creationTime - self.description = description - self.lastUpdateTime = lastUpdateTime - self.latestVersion = latestVersion - self.name = name - self.status = status - self.statusReason = statusReason - self.steps = steps - self.tags = tags - self.testCaseArn = testCaseArn - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - } -} - -public struct ListTestCasesInput: Swift.Sendable { - /// The maximum results of the test case. - public var maxResults: Swift.Int? - /// The next token of the test cases. - public var nextToken: Swift.String? - /// The IDs of the test cases. - public var testCaseIds: [Swift.String]? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - testCaseIds: [Swift.String]? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.testCaseIds = testCaseIds - } -} - -extension AppTestClientTypes { - - /// Specifies a test case summary. - public struct TestCaseSummary: Swift.Sendable { - /// The creation time of the test case summary. - /// This member is required. - public var creationTime: Foundation.Date? - /// The last update time of the test case summary. - /// This member is required. - public var lastUpdateTime: Foundation.Date? - /// The latest version of the test case summary. - /// This member is required. - public var latestVersion: Swift.Int? - /// The name of the test case summary. - /// This member is required. - public var name: Swift.String? - /// The status of the test case summary. - /// This member is required. - public var status: AppTestClientTypes.TestCaseLifecycle? - /// The status reason of the test case summary. - public var statusReason: Swift.String? - /// The test case Amazon Resource Name (ARN) of the test case summary. - /// This member is required. - public var testCaseArn: Swift.String? - /// The test case ID of the test case summary. - /// This member is required. - public var testCaseId: Swift.String? - - public init( - creationTime: Foundation.Date? = nil, - lastUpdateTime: Foundation.Date? = nil, - latestVersion: Swift.Int? = nil, - name: Swift.String? = nil, - status: AppTestClientTypes.TestCaseLifecycle? = nil, - statusReason: Swift.String? = nil, - testCaseArn: Swift.String? = nil, - testCaseId: Swift.String? = nil - ) { - self.creationTime = creationTime - self.lastUpdateTime = lastUpdateTime - self.latestVersion = latestVersion - self.name = name - self.status = status - self.statusReason = statusReason - self.testCaseArn = testCaseArn - self.testCaseId = testCaseId - } - } -} - -public struct ListTestCasesOutput: Swift.Sendable { - /// The next token in test cases. - public var nextToken: Swift.String? - /// The test cases in an application. - /// This member is required. - public var testCases: [AppTestClientTypes.TestCaseSummary]? - - public init( - nextToken: Swift.String? = nil, - testCases: [AppTestClientTypes.TestCaseSummary]? = nil - ) { - self.nextToken = nextToken - self.testCases = testCases - } -} - -public struct UpdateTestCaseInput: Swift.Sendable { - /// The description of the test case. - public var description: Swift.String? - /// The steps of the test case. - public var steps: [AppTestClientTypes.Step]? - /// The test case ID of the test case. - /// This member is required. - public var testCaseId: Swift.String? - - public init( - description: Swift.String? = nil, - steps: [AppTestClientTypes.Step]? = nil, - testCaseId: Swift.String? = nil - ) { - self.description = description - self.steps = steps - self.testCaseId = testCaseId - } -} - -public struct UpdateTestCaseOutput: Swift.Sendable { - /// The test case ID of the test case. - /// This member is required. - public var testCaseId: Swift.String? - /// The test case version of the test case. - /// This member is required. - public var testCaseVersion: Swift.Int? - - public init( - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil - ) { - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - } -} - -extension AppTestClientTypes { - - /// Specifies the CloudFormation template and its parameters. - public struct CloudFormation: Swift.Sendable { - /// The CloudFormation properties in the CloudFormation template. - public var parameters: [Swift.String: Swift.String]? - /// The template location of the CloudFormation template. - /// This member is required. - public var templateLocation: Swift.String? - - public init( - parameters: [Swift.String: Swift.String]? = nil, - templateLocation: Swift.String? = nil - ) { - self.parameters = parameters - self.templateLocation = templateLocation - } - } -} - -extension AppTestClientTypes { - - public enum M2ManagedRuntime: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case microfocus - case sdkUnknown(Swift.String) - - public static var allCases: [M2ManagedRuntime] { - return [ - .microfocus - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .microfocus: return "MicroFocus" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed application. - public struct M2ManagedApplication: Swift.Sendable { - /// The application ID of the AWS Mainframe Modernization managed application. - /// This member is required. - public var applicationId: Swift.String? - /// The listener port of the AWS Mainframe Modernization managed application. - public var listenerPort: Swift.String? - /// The runtime of the AWS Mainframe Modernization managed application. - /// This member is required. - public var runtime: AppTestClientTypes.M2ManagedRuntime? - /// The VPC endpoint service name of the AWS Mainframe Modernization managed application. - public var vpcEndpointServiceName: Swift.String? - - public init( - applicationId: Swift.String? = nil, - listenerPort: Swift.String? = nil, - runtime: AppTestClientTypes.M2ManagedRuntime? = nil, - vpcEndpointServiceName: Swift.String? = nil - ) { - self.applicationId = applicationId - self.listenerPort = listenerPort - self.runtime = runtime - self.vpcEndpointServiceName = vpcEndpointServiceName - } - } -} - -extension AppTestClientTypes { - - public enum M2NonManagedRuntime: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case bluage - case sdkUnknown(Swift.String) - - public static var allCases: [M2NonManagedRuntime] { - return [ - .bluage - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .bluage: return "BluAge" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization non-managed application. - public struct M2NonManagedApplication: Swift.Sendable { - /// The listener port of the AWS Mainframe Modernization non-managed application. - /// This member is required. - public var listenerPort: Swift.String? - /// The runtime of the AWS Mainframe Modernization non-managed application. - /// This member is required. - public var runtime: AppTestClientTypes.M2NonManagedRuntime? - /// The VPC endpoint service name of the AWS Mainframe Modernization non-managed application. - /// This member is required. - public var vpcEndpointServiceName: Swift.String? - /// The web application name of the AWS Mainframe Modernization non-managed application. - public var webAppName: Swift.String? - - public init( - listenerPort: Swift.String? = nil, - runtime: AppTestClientTypes.M2NonManagedRuntime? = nil, - vpcEndpointServiceName: Swift.String? = nil, - webAppName: Swift.String? = nil - ) { - self.listenerPort = listenerPort - self.runtime = runtime - self.vpcEndpointServiceName = vpcEndpointServiceName - self.webAppName = webAppName - } - } -} - -extension AppTestClientTypes { - - /// Specifies the resource type. - public enum ResourceType: Swift.Sendable { - /// The CloudFormation template of the resource type. - case cloudformation(AppTestClientTypes.CloudFormation) - /// The AWS Mainframe Modernization managed application of the resource type. - case m2managedapplication(AppTestClientTypes.M2ManagedApplication) - /// The AWS Mainframe Modernization non-managed application of the resource type. - case m2nonmanagedapplication(AppTestClientTypes.M2NonManagedApplication) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies a resource. - public struct Resource: Swift.Sendable { - /// The name of the resource. - /// This member is required. - public var name: Swift.String? - /// The type of the resource. - /// This member is required. - public var type: AppTestClientTypes.ResourceType? - - public init( - name: Swift.String? = nil, - type: AppTestClientTypes.ResourceType? = nil - ) { - self.name = name - self.type = type - } - } -} - -extension AppTestClientTypes { - - /// Specifies the service settings. - public struct ServiceSettings: Swift.Sendable { - /// The KMS key ID of the service settings. - public var kmsKeyId: Swift.String? - - public init( - kmsKeyId: Swift.String? = nil - ) { - self.kmsKeyId = kmsKeyId - } - } -} - -public struct CreateTestConfigurationInput: Swift.Sendable { - /// The client token of the test configuration. - public var clientToken: Swift.String? - /// The description of the test configuration. - public var description: Swift.String? - /// The name of the test configuration. - /// This member is required. - public var name: Swift.String? - /// The properties of the test configuration. - public var properties: [Swift.String: Swift.String]? - /// The defined resources of the test configuration. - /// This member is required. - public var resources: [AppTestClientTypes.Resource]? - /// The service settings of the test configuration. - public var serviceSettings: AppTestClientTypes.ServiceSettings? - /// The tags of the test configuration. - public var tags: [Swift.String: Swift.String]? - - public init( - clientToken: Swift.String? = nil, - description: Swift.String? = nil, - name: Swift.String? = nil, - properties: [Swift.String: Swift.String]? = nil, - resources: [AppTestClientTypes.Resource]? = nil, - serviceSettings: AppTestClientTypes.ServiceSettings? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.clientToken = clientToken - self.description = description - self.name = name - self.properties = properties - self.resources = resources - self.serviceSettings = serviceSettings - self.tags = tags - } -} - -public struct CreateTestConfigurationOutput: Swift.Sendable { - /// The test configuration ID. - /// This member is required. - public var testConfigurationId: Swift.String? - /// The test configuration version. - /// This member is required. - public var testConfigurationVersion: Swift.Int? - - public init( - testConfigurationId: Swift.String? = nil, - testConfigurationVersion: Swift.Int? = nil - ) { - self.testConfigurationId = testConfigurationId - self.testConfigurationVersion = testConfigurationVersion - } -} - -public struct DeleteTestConfigurationInput: Swift.Sendable { - /// The test ID of the test configuration. - /// This member is required. - public var testConfigurationId: Swift.String? - - public init( - testConfigurationId: Swift.String? = nil - ) { - self.testConfigurationId = testConfigurationId - } -} - -public struct DeleteTestConfigurationOutput: Swift.Sendable { - - public init() { } -} - -public struct GetTestConfigurationInput: Swift.Sendable { - /// The request test configuration ID. - /// This member is required. - public var testConfigurationId: Swift.String? - /// The test configuration version. - public var testConfigurationVersion: Swift.Int? - - public init( - testConfigurationId: Swift.String? = nil, - testConfigurationVersion: Swift.Int? = nil - ) { - self.testConfigurationId = testConfigurationId - self.testConfigurationVersion = testConfigurationVersion - } -} - -extension AppTestClientTypes { - - public enum TestConfigurationLifecycle: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case deleting - case sdkUnknown(Swift.String) - - public static var allCases: [TestConfigurationLifecycle] { - return [ - .active, - .deleting - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "Active" - case .deleting: return "Deleting" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the latest version of the test configuration. - public struct TestConfigurationLatestVersion: Swift.Sendable { - /// The status of the test configuration latest version. - /// This member is required. - public var status: AppTestClientTypes.TestConfigurationLifecycle? - /// The status reason of the test configuration latest version. - public var statusReason: Swift.String? - /// The version of the test configuration latest version. - /// This member is required. - public var version: Swift.Int? - - public init( - status: AppTestClientTypes.TestConfigurationLifecycle? = nil, - statusReason: Swift.String? = nil, - version: Swift.Int? = nil - ) { - self.status = status - self.statusReason = statusReason - self.version = version - } - } -} - -public struct GetTestConfigurationOutput: Swift.Sendable { - /// The creation time of the test configuration. - /// This member is required. - public var creationTime: Foundation.Date? - /// The description of the test configuration. - public var description: Swift.String? - /// The last update time of the test configuration. - /// This member is required. - public var lastUpdateTime: Foundation.Date? - /// The latest version of the test configuration. - /// This member is required. - public var latestVersion: AppTestClientTypes.TestConfigurationLatestVersion? - /// The test configuration name - /// This member is required. - public var name: Swift.String? - /// The properties of the test configuration. - /// This member is required. - public var properties: [Swift.String: Swift.String]? - /// The resources of the test configuration. - /// This member is required. - public var resources: [AppTestClientTypes.Resource]? - /// The service settings of the test configuration. - public var serviceSettings: AppTestClientTypes.ServiceSettings? - /// The status of the test configuration. - /// This member is required. - public var status: AppTestClientTypes.TestConfigurationLifecycle? - /// The status reason of the test configuration. - public var statusReason: Swift.String? - /// The tags of the test configuration. - public var tags: [Swift.String: Swift.String]? - /// The test configuration Amazon Resource Name (ARN). - /// This member is required. - public var testConfigurationArn: Swift.String? - /// The response test configuration ID. - /// This member is required. - public var testConfigurationId: Swift.String? - /// The test configuration version. - /// This member is required. - public var testConfigurationVersion: Swift.Int? - - public init( - creationTime: Foundation.Date? = nil, - description: Swift.String? = nil, - lastUpdateTime: Foundation.Date? = nil, - latestVersion: AppTestClientTypes.TestConfigurationLatestVersion? = nil, - name: Swift.String? = nil, - properties: [Swift.String: Swift.String]? = nil, - resources: [AppTestClientTypes.Resource]? = nil, - serviceSettings: AppTestClientTypes.ServiceSettings? = nil, - status: AppTestClientTypes.TestConfigurationLifecycle? = nil, - statusReason: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - testConfigurationArn: Swift.String? = nil, - testConfigurationId: Swift.String? = nil, - testConfigurationVersion: Swift.Int? = nil - ) { - self.creationTime = creationTime - self.description = description - self.lastUpdateTime = lastUpdateTime - self.latestVersion = latestVersion - self.name = name - self.properties = properties - self.resources = resources - self.serviceSettings = serviceSettings - self.status = status - self.statusReason = statusReason - self.tags = tags - self.testConfigurationArn = testConfigurationArn - self.testConfigurationId = testConfigurationId - self.testConfigurationVersion = testConfigurationVersion - } -} - -public struct ListTestConfigurationsInput: Swift.Sendable { - /// The maximum results of the test configuration. - public var maxResults: Swift.Int? - /// The next token for the test configurations. - public var nextToken: Swift.String? - /// The configuration IDs of the test configurations. - public var testConfigurationIds: [Swift.String]? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - testConfigurationIds: [Swift.String]? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.testConfigurationIds = testConfigurationIds - } -} - -extension AppTestClientTypes { - - /// Specifies a test configuration summary. - public struct TestConfigurationSummary: Swift.Sendable { - /// The creation time of the test configuration summary. - /// This member is required. - public var creationTime: Foundation.Date? - /// The last update time of the test configuration summary. - /// This member is required. - public var lastUpdateTime: Foundation.Date? - /// The latest version of the test configuration summary. - /// This member is required. - public var latestVersion: Swift.Int? - /// The name of the test configuration summary. - /// This member is required. - public var name: Swift.String? - /// The status of the test configuration summary. - /// This member is required. - public var status: AppTestClientTypes.TestConfigurationLifecycle? - /// The status reason of the test configuration summary. - public var statusReason: Swift.String? - /// The test configuration ARN of the test configuration summary. - /// This member is required. - public var testConfigurationArn: Swift.String? - /// The test configuration ID of the test configuration summary. - /// This member is required. - public var testConfigurationId: Swift.String? - - public init( - creationTime: Foundation.Date? = nil, - lastUpdateTime: Foundation.Date? = nil, - latestVersion: Swift.Int? = nil, - name: Swift.String? = nil, - status: AppTestClientTypes.TestConfigurationLifecycle? = nil, - statusReason: Swift.String? = nil, - testConfigurationArn: Swift.String? = nil, - testConfigurationId: Swift.String? = nil - ) { - self.creationTime = creationTime - self.lastUpdateTime = lastUpdateTime - self.latestVersion = latestVersion - self.name = name - self.status = status - self.statusReason = statusReason - self.testConfigurationArn = testConfigurationArn - self.testConfigurationId = testConfigurationId - } - } -} - -public struct ListTestConfigurationsOutput: Swift.Sendable { - /// The next token in the test configurations. - public var nextToken: Swift.String? - /// The test configurations. - /// This member is required. - public var testConfigurations: [AppTestClientTypes.TestConfigurationSummary]? - - public init( - nextToken: Swift.String? = nil, - testConfigurations: [AppTestClientTypes.TestConfigurationSummary]? = nil - ) { - self.nextToken = nextToken - self.testConfigurations = testConfigurations - } -} - -public struct UpdateTestConfigurationInput: Swift.Sendable { - /// The description of the test configuration. - public var description: Swift.String? - /// The properties of the test configuration. - public var properties: [Swift.String: Swift.String]? - /// The resources of the test configuration. - public var resources: [AppTestClientTypes.Resource]? - /// The service settings of the test configuration. - public var serviceSettings: AppTestClientTypes.ServiceSettings? - /// The test configuration ID of the test configuration. - /// This member is required. - public var testConfigurationId: Swift.String? - - public init( - description: Swift.String? = nil, - properties: [Swift.String: Swift.String]? = nil, - resources: [AppTestClientTypes.Resource]? = nil, - serviceSettings: AppTestClientTypes.ServiceSettings? = nil, - testConfigurationId: Swift.String? = nil - ) { - self.description = description - self.properties = properties - self.resources = resources - self.serviceSettings = serviceSettings - self.testConfigurationId = testConfigurationId - } -} - -public struct UpdateTestConfigurationOutput: Swift.Sendable { - /// The configuration ID of the test configuration. - /// This member is required. - public var testConfigurationId: Swift.String? - /// The configuration version of the test configuration. - /// This member is required. - public var testConfigurationVersion: Swift.Int? - - public init( - testConfigurationId: Swift.String? = nil, - testConfigurationVersion: Swift.Int? = nil - ) { - self.testConfigurationId = testConfigurationId - self.testConfigurationVersion = testConfigurationVersion - } -} - -public struct DeleteTestRunInput: Swift.Sendable { - /// The run ID of the test run. - /// This member is required. - public var testRunId: Swift.String? - - public init( - testRunId: Swift.String? = nil - ) { - self.testRunId = testRunId - } -} - -public struct DeleteTestRunOutput: Swift.Sendable { - - public init() { } -} - -public struct GetTestRunStepInput: Swift.Sendable { - /// The step name of the test run step. - /// This member is required. - public var stepName: Swift.String? - /// The test case ID of a test run step. - public var testCaseId: Swift.String? - /// The test run ID of the test run step. - /// This member is required. - public var testRunId: Swift.String? - /// The test suite ID of a test run step. - public var testSuiteId: Swift.String? - - public init( - stepName: Swift.String? = nil, - testCaseId: Swift.String? = nil, - testRunId: Swift.String? = nil, - testSuiteId: Swift.String? = nil - ) { - self.stepName = stepName - self.testCaseId = testCaseId - self.testRunId = testRunId - self.testSuiteId = testSuiteId - } -} - -extension AppTestClientTypes { - - public enum StepRunStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case failed - case running - case success - case sdkUnknown(Swift.String) - - public static var allCases: [StepRunStatus] { - return [ - .failed, - .running, - .success - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .failed: return "Failed" - case .running: return "Running" - case .success: return "Success" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Compares the database Change Data Capture (CDC) step input. - public struct CompareDatabaseCDCStepInput: Swift.Sendable { - /// The output location of the compare database CDC step input. - public var outputLocation: Swift.String? - /// The source location of the compare database CDC step input. - /// This member is required. - public var sourceLocation: Swift.String? - /// The source metadata of the compare database CDC step input. - /// This member is required. - public var sourceMetadata: AppTestClientTypes.SourceDatabaseMetadata? - /// The target location of the compare database CDC step input. - /// This member is required. - public var targetLocation: Swift.String? - /// The target metadata location of the compare database CDC step input. - /// This member is required. - public var targetMetadata: AppTestClientTypes.TargetDatabaseMetadata? - - public init( - outputLocation: Swift.String? = nil, - sourceLocation: Swift.String? = nil, - sourceMetadata: AppTestClientTypes.SourceDatabaseMetadata? = nil, - targetLocation: Swift.String? = nil, - targetMetadata: AppTestClientTypes.TargetDatabaseMetadata? = nil - ) { - self.outputLocation = outputLocation - self.sourceLocation = sourceLocation - self.sourceMetadata = sourceMetadata - self.targetLocation = targetLocation - self.targetMetadata = targetMetadata - } - } -} - -extension AppTestClientTypes { - - public enum ComparisonStatusEnum: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case different - case equal - case equivalent - case sdkUnknown(Swift.String) - - public static var allCases: [ComparisonStatusEnum] { - return [ - .different, - .equal, - .equivalent - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .different: return "Different" - case .equal: return "Equal" - case .equivalent: return "Equivalent" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Compares the database CDC step output. - public struct CompareDatabaseCDCStepOutput: Swift.Sendable { - /// The comparison output of the compare database CDC step output. - /// This member is required. - public var comparisonOutputLocation: Swift.String? - /// The comparison status of the compare database CDC step output. - /// This member is required. - public var comparisonStatus: AppTestClientTypes.ComparisonStatusEnum? - - public init( - comparisonOutputLocation: Swift.String? = nil, - comparisonStatus: AppTestClientTypes.ComparisonStatusEnum? = nil - ) { - self.comparisonOutputLocation = comparisonOutputLocation - self.comparisonStatus = comparisonStatus - } - } -} - -extension AppTestClientTypes { - - /// Compares the database CDC summary. - public struct CompareDatabaseCDCSummary: Swift.Sendable { - /// The step input of the compare database CDC summary. - /// This member is required. - public var stepInput: AppTestClientTypes.CompareDatabaseCDCStepInput? - /// The step output of the compare database CDC summary. - public var stepOutput: AppTestClientTypes.CompareDatabaseCDCStepOutput? - - public init( - stepInput: AppTestClientTypes.CompareDatabaseCDCStepInput? = nil, - stepOutput: AppTestClientTypes.CompareDatabaseCDCStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Specifies the compare data sets step input. - public struct CompareDataSetsStepInput: Swift.Sendable { - /// The source data sets of the compare data sets step input location. - /// This member is required. - public var sourceDataSets: [AppTestClientTypes.DataSet]? - /// The source location of the compare data sets step input location. - /// This member is required. - public var sourceLocation: Swift.String? - /// The target data sets of the compare data sets step input location. - /// This member is required. - public var targetDataSets: [AppTestClientTypes.DataSet]? - /// The target location of the compare data sets step input location. - /// This member is required. - public var targetLocation: Swift.String? - - public init( - sourceDataSets: [AppTestClientTypes.DataSet]? = nil, - sourceLocation: Swift.String? = nil, - targetDataSets: [AppTestClientTypes.DataSet]? = nil, - targetLocation: Swift.String? = nil - ) { - self.sourceDataSets = sourceDataSets - self.sourceLocation = sourceLocation - self.targetDataSets = targetDataSets - self.targetLocation = targetLocation - } - } -} - -extension AppTestClientTypes { - - /// Specifies the compare data sets step output. - public struct CompareDataSetsStepOutput: Swift.Sendable { - /// The comparison output location of the compare data sets step output. - /// This member is required. - public var comparisonOutputLocation: Swift.String? - /// The comparison status of the compare data sets step output. - /// This member is required. - public var comparisonStatus: AppTestClientTypes.ComparisonStatusEnum? - - public init( - comparisonOutputLocation: Swift.String? = nil, - comparisonStatus: AppTestClientTypes.ComparisonStatusEnum? = nil - ) { - self.comparisonOutputLocation = comparisonOutputLocation - self.comparisonStatus = comparisonStatus - } - } -} - -extension AppTestClientTypes { - - /// Compares data sets summary. - public struct CompareDataSetsSummary: Swift.Sendable { - /// The step input of the compare data sets summary. - /// This member is required. - public var stepInput: AppTestClientTypes.CompareDataSetsStepInput? - /// The step output of the compare data sets summary. - public var stepOutput: AppTestClientTypes.CompareDataSetsStepOutput? - - public init( - stepInput: AppTestClientTypes.CompareDataSetsStepInput? = nil, - stepOutput: AppTestClientTypes.CompareDataSetsStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Compares the file type. - public enum CompareFileType: Swift.Sendable { - /// The data sets in the compare file type. - case datasets(AppTestClientTypes.CompareDataSetsSummary) - /// The database CDC of the compare file type. - case databasecdc(AppTestClientTypes.CompareDatabaseCDCSummary) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Defines a file. - public enum File: Swift.Sendable { - /// The file type of the file. - case filetype(AppTestClientTypes.CompareFileType) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies the compare action summary. - public struct CompareActionSummary: Swift.Sendable { - /// The type of the compare action summary. - /// This member is required. - public var type: AppTestClientTypes.File? - - public init( - type: AppTestClientTypes.File? = nil - ) { - self.type = type - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed application summary. - public struct M2ManagedApplicationSummary: Swift.Sendable { - /// The application ID of the AWS Mainframe Modernization managed application summary. - /// This member is required. - public var applicationId: Swift.String? - /// The listener port of the AWS Mainframe Modernization managed application summary. - public var listenerPort: Swift.Int? - /// The runtime of the AWS Mainframe Modernization managed application summary. - /// This member is required. - public var runtime: AppTestClientTypes.M2ManagedRuntime? - - public init( - applicationId: Swift.String? = nil, - listenerPort: Swift.Int? = nil, - runtime: AppTestClientTypes.M2ManagedRuntime? = nil - ) { - self.applicationId = applicationId - self.listenerPort = listenerPort - self.runtime = runtime - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization non-managed application summary. - public struct M2NonManagedApplicationSummary: Swift.Sendable { - /// The listener port of the AWS Mainframe Modernization non-managed application summary. - /// This member is required. - public var listenerPort: Swift.Int? - /// The runtime of the AWS Mainframe Modernization non-managed application summary. - /// This member is required. - public var runtime: AppTestClientTypes.M2NonManagedRuntime? - /// The VPC endpoint service name of the AWS Mainframe Modernization non-managed application summary. - /// This member is required. - public var vpcEndpointServiceName: Swift.String? - /// The web application name of the AWS Mainframe Modernization non-managed application summary. - public var webAppName: Swift.String? - - public init( - listenerPort: Swift.Int? = nil, - runtime: AppTestClientTypes.M2NonManagedRuntime? = nil, - vpcEndpointServiceName: Swift.String? = nil, - webAppName: Swift.String? = nil - ) { - self.listenerPort = listenerPort - self.runtime = runtime - self.vpcEndpointServiceName = vpcEndpointServiceName - self.webAppName = webAppName - } - } -} - -extension AppTestClientTypes { - - /// Specifies the mainframe resource summary. - public enum MainframeResourceSummary: Swift.Sendable { - /// The AWS Mainframe Modernization managed application in the mainframe resource summary. - case m2managedapplication(AppTestClientTypes.M2ManagedApplicationSummary) - /// The AWS Mainframe Modernization non-managed application in the mainframe resource summary. - case m2nonmanagedapplication(AppTestClientTypes.M2NonManagedApplicationSummary) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Defines a batch step input. - public struct BatchStepInput: Swift.Sendable { - /// The batch job name of the batch step input. - /// This member is required. - public var batchJobName: Swift.String? - /// The batch job parameters of the batch step input. - public var batchJobParameters: [Swift.String: Swift.String]? - /// The export data set names of the batch step input. - public var exportDataSetNames: [Swift.String]? - /// The properties of the batch step input. - public var properties: AppTestClientTypes.MainframeActionProperties? - /// The resource of the batch step input. - /// This member is required. - public var resource: AppTestClientTypes.MainframeResourceSummary? - - public init( - batchJobName: Swift.String? = nil, - batchJobParameters: [Swift.String: Swift.String]? = nil, - exportDataSetNames: [Swift.String]? = nil, - properties: AppTestClientTypes.MainframeActionProperties? = nil, - resource: AppTestClientTypes.MainframeResourceSummary? = nil - ) { - self.batchJobName = batchJobName - self.batchJobParameters = batchJobParameters - self.exportDataSetNames = exportDataSetNames - self.properties = properties - self.resource = resource - } - } -} - -extension AppTestClientTypes { - - /// Defines a batch step output. - public struct BatchStepOutput: Swift.Sendable { - /// The data set details of the batch step output. - public var dataSetDetails: [AppTestClientTypes.DataSet]? - /// The data set export location of the batch step output. - public var dataSetExportLocation: Swift.String? - /// The Database Migration Service (DMS) output location of the batch step output. - public var dmsOutputLocation: Swift.String? - - public init( - dataSetDetails: [AppTestClientTypes.DataSet]? = nil, - dataSetExportLocation: Swift.String? = nil, - dmsOutputLocation: Swift.String? = nil - ) { - self.dataSetDetails = dataSetDetails - self.dataSetExportLocation = dataSetExportLocation - self.dmsOutputLocation = dmsOutputLocation - } - } -} - -extension AppTestClientTypes { - - /// Summarizes a batch job. - public struct BatchSummary: Swift.Sendable { - /// The step input of the batch summary. - /// This member is required. - public var stepInput: AppTestClientTypes.BatchStepInput? - /// The step output of the batch summary. - public var stepOutput: AppTestClientTypes.BatchStepOutput? - - public init( - stepInput: AppTestClientTypes.BatchStepInput? = nil, - stepOutput: AppTestClientTypes.BatchStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Specifies the scripts summary. - public struct ScriptSummary: Swift.Sendable { - /// The script location of the script summary. - /// This member is required. - public var scriptLocation: Swift.String? - /// The type of the script summary. - /// This member is required. - public var type: AppTestClientTypes.ScriptType? - - public init( - scriptLocation: Swift.String? = nil, - type: AppTestClientTypes.ScriptType? = nil - ) { - self.scriptLocation = scriptLocation - self.type = type - } - } -} - -extension AppTestClientTypes { - - /// Specifies a TN3270 step input. - public struct TN3270StepInput: Swift.Sendable { - /// The export data set names of the TN3270 step input. - public var exportDataSetNames: [Swift.String]? - /// The properties of the TN3270 step input. - public var properties: AppTestClientTypes.MainframeActionProperties? - /// The resource of the TN3270 step input. - /// This member is required. - public var resource: AppTestClientTypes.MainframeResourceSummary? - /// The script of the TN3270 step input. - /// This member is required. - public var script: AppTestClientTypes.ScriptSummary? - - public init( - exportDataSetNames: [Swift.String]? = nil, - properties: AppTestClientTypes.MainframeActionProperties? = nil, - resource: AppTestClientTypes.MainframeResourceSummary? = nil, - script: AppTestClientTypes.ScriptSummary? = nil - ) { - self.exportDataSetNames = exportDataSetNames - self.properties = properties - self.resource = resource - self.script = script - } - } -} - -extension AppTestClientTypes { - - /// Specifies a TN3270 step output. - public struct TN3270StepOutput: Swift.Sendable { - /// The data set details of the TN3270 step output. - public var dataSetDetails: [AppTestClientTypes.DataSet]? - /// The data set export location of the TN3270 step output. - public var dataSetExportLocation: Swift.String? - /// The output location of the TN3270 step output. - public var dmsOutputLocation: Swift.String? - /// The script output location of the TN3270 step output. - /// This member is required. - public var scriptOutputLocation: Swift.String? - - public init( - dataSetDetails: [AppTestClientTypes.DataSet]? = nil, - dataSetExportLocation: Swift.String? = nil, - dmsOutputLocation: Swift.String? = nil, - scriptOutputLocation: Swift.String? = nil - ) { - self.dataSetDetails = dataSetDetails - self.dataSetExportLocation = dataSetExportLocation - self.dmsOutputLocation = dmsOutputLocation - self.scriptOutputLocation = scriptOutputLocation - } - } -} - -extension AppTestClientTypes { - - /// Specifies a TN3270 summary. - public struct TN3270Summary: Swift.Sendable { - /// The step input of the TN3270 summary. - /// This member is required. - public var stepInput: AppTestClientTypes.TN3270StepInput? - /// The step output of the TN3270 summary. - public var stepOutput: AppTestClientTypes.TN3270StepOutput? - - public init( - stepInput: AppTestClientTypes.TN3270StepInput? = nil, - stepOutput: AppTestClientTypes.TN3270StepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Specifies the mainframe action summary. - public enum MainframeActionSummary: Swift.Sendable { - /// The batch of the mainframe action summary. - case batch(AppTestClientTypes.BatchSummary) - /// The tn3270 port of the mainframe action summary. - case tn3270(AppTestClientTypes.TN3270Summary) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Creates the CloudFormation step input. - public struct CreateCloudFormationStepInput: Swift.Sendable { - /// The CloudFormation properties of the CloudFormation step input. - public var parameters: [Swift.String: Swift.String]? - /// The template location of the CloudFormation step input. - /// This member is required. - public var templateLocation: Swift.String? - - public init( - parameters: [Swift.String: Swift.String]? = nil, - templateLocation: Swift.String? = nil - ) { - self.parameters = parameters - self.templateLocation = templateLocation - } - } -} - -extension AppTestClientTypes { - - /// Creates a CloudFormation step output. - public struct CreateCloudFormationStepOutput: Swift.Sendable { - /// The exports of the CloudFormation step output. - public var exports: [Swift.String: Swift.String]? - /// The stack ID of the CloudFormation step output. - /// This member is required. - public var stackId: Swift.String? - - public init( - exports: [Swift.String: Swift.String]? = nil, - stackId: Swift.String? = nil - ) { - self.exports = exports - self.stackId = stackId - } - } -} - -extension AppTestClientTypes { - - /// Creates a CloudFormation summary. - public struct CreateCloudFormationSummary: Swift.Sendable { - /// The step input of the CloudFormation summary. - /// This member is required. - public var stepInput: AppTestClientTypes.CreateCloudFormationStepInput? - /// The step output of the CloudFormation summary. - public var stepOutput: AppTestClientTypes.CreateCloudFormationStepOutput? - - public init( - stepInput: AppTestClientTypes.CreateCloudFormationStepInput? = nil, - stepOutput: AppTestClientTypes.CreateCloudFormationStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Deletes the CloudFormation step input. - public struct DeleteCloudFormationStepInput: Swift.Sendable { - /// The stack ID of the deleted CloudFormation step input. - /// This member is required. - public var stackId: Swift.String? - - public init( - stackId: Swift.String? = nil - ) { - self.stackId = stackId - } - } -} - -extension AppTestClientTypes { - - /// Deletes the CloudFormation summary step output. - public struct DeleteCloudFormationStepOutput: Swift.Sendable { - - public init() { } - } -} - -extension AppTestClientTypes { - - /// Deletes the CloudFormation summary. - public struct DeleteCloudFormationSummary: Swift.Sendable { - /// The step input of the deleted CloudFormation summary. - /// This member is required. - public var stepInput: AppTestClientTypes.DeleteCloudFormationStepInput? - /// The step output of the deleted CloudFormation summary. - public var stepOutput: AppTestClientTypes.DeleteCloudFormationStepOutput? - - public init( - stepInput: AppTestClientTypes.DeleteCloudFormationStepInput? = nil, - stepOutput: AppTestClientTypes.DeleteCloudFormationStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Specifies the CloudFormation step summary. - public enum CloudFormationStepSummary: Swift.Sendable { - /// Creates the CloudFormation summary of the step. - case createcloudformation(AppTestClientTypes.CreateCloudFormationSummary) - /// Deletes the CloudFormation summary of the CloudFormation step summary. - case deletecloudformation(AppTestClientTypes.DeleteCloudFormationSummary) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed application step input. - public struct M2ManagedApplicationStepInput: Swift.Sendable { - /// The action type of the AWS Mainframe Modernization managed application step input. - /// This member is required. - public var actionType: AppTestClientTypes.M2ManagedActionType? - /// The application ID of the AWS Mainframe Modernization managed application step input. - /// This member is required. - public var applicationId: Swift.String? - /// The listener port of the AWS Mainframe Modernization managed application step input. - public var listenerPort: Swift.Int? - /// The properties of the AWS Mainframe Modernization managed application step input. - public var properties: AppTestClientTypes.M2ManagedActionProperties? - /// The runtime of the AWS Mainframe Modernization managed application step input. - /// This member is required. - public var runtime: Swift.String? - /// The VPC endpoint service name of the AWS Mainframe Modernization managed application step input. - public var vpcEndpointServiceName: Swift.String? - - public init( - actionType: AppTestClientTypes.M2ManagedActionType? = nil, - applicationId: Swift.String? = nil, - listenerPort: Swift.Int? = nil, - properties: AppTestClientTypes.M2ManagedActionProperties? = nil, - runtime: Swift.String? = nil, - vpcEndpointServiceName: Swift.String? = nil - ) { - self.actionType = actionType - self.applicationId = applicationId - self.listenerPort = listenerPort - self.properties = properties - self.runtime = runtime - self.vpcEndpointServiceName = vpcEndpointServiceName - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed application step output. - public struct M2ManagedApplicationStepOutput: Swift.Sendable { - /// The import data set summary of the AWS Mainframe Modernization managed application step output. - public var importDataSetSummary: [Swift.String: Swift.String]? - - public init( - importDataSetSummary: [Swift.String: Swift.String]? = nil - ) { - self.importDataSetSummary = importDataSetSummary - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization managed application step summary. - public struct M2ManagedApplicationStepSummary: Swift.Sendable { - /// The step input of the AWS Mainframe Modernization managed application step summary. - /// This member is required. - public var stepInput: AppTestClientTypes.M2ManagedApplicationStepInput? - /// The step output of the AWS Mainframe Modernization managed application step summary. - public var stepOutput: AppTestClientTypes.M2ManagedApplicationStepOutput? - - public init( - stepInput: AppTestClientTypes.M2ManagedApplicationStepInput? = nil, - stepOutput: AppTestClientTypes.M2ManagedApplicationStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization non-managed application step input. - public struct M2NonManagedApplicationStepInput: Swift.Sendable { - /// The action type of the AWS Mainframe Modernization non-managed application step input. - /// This member is required. - public var actionType: AppTestClientTypes.M2NonManagedActionType? - /// The listener port of the AWS Mainframe Modernization non-managed application step input. - /// This member is required. - public var listenerPort: Swift.Int? - /// The runtime of the AWS Mainframe Modernization non-managed application step input. - /// This member is required. - public var runtime: AppTestClientTypes.M2NonManagedRuntime? - /// The VPC endpoint service name of the AWS Mainframe Modernization non-managed application step input. - /// This member is required. - public var vpcEndpointServiceName: Swift.String? - /// The web app name of the AWS Mainframe Modernization non-managed application step input. - public var webAppName: Swift.String? - - public init( - actionType: AppTestClientTypes.M2NonManagedActionType? = nil, - listenerPort: Swift.Int? = nil, - runtime: AppTestClientTypes.M2NonManagedRuntime? = nil, - vpcEndpointServiceName: Swift.String? = nil, - webAppName: Swift.String? = nil - ) { - self.actionType = actionType - self.listenerPort = listenerPort - self.runtime = runtime - self.vpcEndpointServiceName = vpcEndpointServiceName - self.webAppName = webAppName - } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization non-managed application step output. - public struct M2NonManagedApplicationStepOutput: Swift.Sendable { - - public init() { } - } -} - -extension AppTestClientTypes { - - /// Specifies the AWS Mainframe Modernization non-managed application step summary. - public struct M2NonManagedApplicationStepSummary: Swift.Sendable { - /// The step input of the AWS Mainframe Modernization non-managed application step summary. - /// This member is required. - public var stepInput: AppTestClientTypes.M2NonManagedApplicationStepInput? - /// The step output of the AWS Mainframe Modernization non-managed application step summary. - public var stepOutput: AppTestClientTypes.M2NonManagedApplicationStepOutput? - - public init( - stepInput: AppTestClientTypes.M2NonManagedApplicationStepInput? = nil, - stepOutput: AppTestClientTypes.M2NonManagedApplicationStepOutput? = nil - ) { - self.stepInput = stepInput - self.stepOutput = stepOutput - } - } -} - -extension AppTestClientTypes { - - /// Specifies the resource action summary. - public enum ResourceActionSummary: Swift.Sendable { - /// The CloudFormation template of the resource action summary. - case cloudformation(AppTestClientTypes.CloudFormationStepSummary) - /// The AWS Mainframe Modernization managed application of the resource action summary. - case m2managedapplication(AppTestClientTypes.M2ManagedApplicationStepSummary) - /// The AWS Mainframe Modernization non-managed application of the resource action summary. - case m2nonmanagedapplication(AppTestClientTypes.M2NonManagedApplicationStepSummary) - case sdkUnknown(Swift.String) - } -} - -extension AppTestClientTypes { - - /// Defines the step run summary. - public enum StepRunSummary: Swift.Sendable { - /// The mainframe action of the step run summary. - case mainframeaction(AppTestClientTypes.MainframeActionSummary) - /// The compare action of the step run summary. - case compareaction(AppTestClientTypes.CompareActionSummary) - /// The resource action of the step run summary. - case resourceaction(AppTestClientTypes.ResourceActionSummary) - case sdkUnknown(Swift.String) - } -} - -public struct GetTestRunStepOutput: Swift.Sendable { - /// The after steps of the test run step. - public var afterStep: Swift.Bool? - /// The before steps of the test run step. - public var beforeStep: Swift.Bool? - /// The run end time of the test run step. - public var runEndTime: Foundation.Date? - /// The run start time of the test run step. - /// This member is required. - public var runStartTime: Foundation.Date? - /// The status of the test run step. - /// This member is required. - public var status: AppTestClientTypes.StepRunStatus? - /// The status reason of the test run step. - public var statusReason: Swift.String? - /// The step name of the test run step. - /// This member is required. - public var stepName: Swift.String? - /// The step run summary of the test run step. - public var stepRunSummary: AppTestClientTypes.StepRunSummary? - /// The test case ID of the test run step. - public var testCaseId: Swift.String? - /// The test case version of the test run step. - public var testCaseVersion: Swift.Int? - /// The test run ID of the test run step. - /// This member is required. - public var testRunId: Swift.String? - /// The test suite ID of the test run step. - public var testSuiteId: Swift.String? - /// The test suite version of the test run step. - public var testSuiteVersion: Swift.Int? - - public init( - afterStep: Swift.Bool? = nil, - beforeStep: Swift.Bool? = nil, - runEndTime: Foundation.Date? = nil, - runStartTime: Foundation.Date? = nil, - status: AppTestClientTypes.StepRunStatus? = nil, - statusReason: Swift.String? = nil, - stepName: Swift.String? = nil, - stepRunSummary: AppTestClientTypes.StepRunSummary? = nil, - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil, - testRunId: Swift.String? = nil, - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.afterStep = afterStep - self.beforeStep = beforeStep - self.runEndTime = runEndTime - self.runStartTime = runStartTime - self.status = status - self.statusReason = statusReason - self.stepName = stepName - self.stepRunSummary = stepRunSummary - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - self.testRunId = testRunId - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } -} - -public struct ListTestRunsInput: Swift.Sendable { - /// The maximum number of test runs to return in one page of results. - public var maxResults: Swift.Int? - /// The token from the previous request to retrieve the next page of test run results. - public var nextToken: Swift.String? - /// The test run IDs of the test runs. - public var testRunIds: [Swift.String]? - /// The test suite ID of the test runs. - public var testSuiteId: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - testRunIds: [Swift.String]? = nil, - testSuiteId: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.testRunIds = testRunIds - self.testSuiteId = testSuiteId - } -} - -extension AppTestClientTypes { - - public enum TestRunStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case deleting - case failed - case running - case success - case sdkUnknown(Swift.String) - - public static var allCases: [TestRunStatus] { - return [ - .deleting, - .failed, - .running, - .success - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .deleting: return "Deleting" - case .failed: return "Failed" - case .running: return "Running" - case .success: return "Success" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies a test run summary. - public struct TestRunSummary: Swift.Sendable { - /// The run end time of the test run summary. - public var runEndTime: Foundation.Date? - /// The run start time of the test run summary. - /// This member is required. - public var runStartTime: Foundation.Date? - /// The status of the test run summary. - /// This member is required. - public var status: AppTestClientTypes.TestRunStatus? - /// The status reason of the test run summary. - public var statusReason: Swift.String? - /// The test configuration ID of the test run summary. - public var testConfigurationId: Swift.String? - /// The test configuration version of the test run summary. - public var testConfigurationVersion: Swift.Int? - /// The test run ARN of the test run summary. - /// This member is required. - public var testRunArn: Swift.String? - /// The test run ID of the test run summary. - /// This member is required. - public var testRunId: Swift.String? - /// The test suite ID of the test run summary. - /// This member is required. - public var testSuiteId: Swift.String? - /// The test suite version of the test run summary. - /// This member is required. - public var testSuiteVersion: Swift.Int? - - public init( - runEndTime: Foundation.Date? = nil, - runStartTime: Foundation.Date? = nil, - status: AppTestClientTypes.TestRunStatus? = nil, - statusReason: Swift.String? = nil, - testConfigurationId: Swift.String? = nil, - testConfigurationVersion: Swift.Int? = nil, - testRunArn: Swift.String? = nil, - testRunId: Swift.String? = nil, - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.runEndTime = runEndTime - self.runStartTime = runStartTime - self.status = status - self.statusReason = statusReason - self.testConfigurationId = testConfigurationId - self.testConfigurationVersion = testConfigurationVersion - self.testRunArn = testRunArn - self.testRunId = testRunId - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } - } -} - -public struct ListTestRunsOutput: Swift.Sendable { - /// The token from the previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The test runs of the response query. - /// This member is required. - public var testRuns: [AppTestClientTypes.TestRunSummary]? - - public init( - nextToken: Swift.String? = nil, - testRuns: [AppTestClientTypes.TestRunSummary]? = nil - ) { - self.nextToken = nextToken - self.testRuns = testRuns - } -} - -public struct ListTestRunStepsInput: Swift.Sendable { - /// The maximum number of test run steps to return in one page of results. - public var maxResults: Swift.Int? - /// The token from a previous step to retrieve the next page of results. - public var nextToken: Swift.String? - /// The test case ID of the test run steps. - public var testCaseId: Swift.String? - /// The test run ID of the test run steps. - /// This member is required. - public var testRunId: Swift.String? - /// The test suite ID of the test run steps. - public var testSuiteId: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - testCaseId: Swift.String? = nil, - testRunId: Swift.String? = nil, - testSuiteId: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.testCaseId = testCaseId - self.testRunId = testRunId - self.testSuiteId = testSuiteId - } -} - -extension AppTestClientTypes { - - /// Specifies a test run step summary. - public struct TestRunStepSummary: Swift.Sendable { - /// The after step of the test run step summary. - public var afterStep: Swift.Bool? - /// The before step of the test run step summary. - public var beforeStep: Swift.Bool? - /// The run end time of the test run step summary. - public var runEndTime: Foundation.Date? - /// The run start time of the test run step summary. - /// This member is required. - public var runStartTime: Foundation.Date? - /// The status of the test run step summary. - /// This member is required. - public var status: AppTestClientTypes.StepRunStatus? - /// The status reason of the test run step summary. - public var statusReason: Swift.String? - /// The step name of the test run step summary. - /// This member is required. - public var stepName: Swift.String? - /// The test case ID of the test run step summary. - public var testCaseId: Swift.String? - /// The test case version of the test run step summary. - public var testCaseVersion: Swift.Int? - /// The test run ID of the test run step summary. - /// This member is required. - public var testRunId: Swift.String? - /// The test suite ID of the test run step summary. - public var testSuiteId: Swift.String? - /// The test suite version of the test run step summary. - public var testSuiteVersion: Swift.Int? - - public init( - afterStep: Swift.Bool? = nil, - beforeStep: Swift.Bool? = nil, - runEndTime: Foundation.Date? = nil, - runStartTime: Foundation.Date? = nil, - status: AppTestClientTypes.StepRunStatus? = nil, - statusReason: Swift.String? = nil, - stepName: Swift.String? = nil, - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil, - testRunId: Swift.String? = nil, - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.afterStep = afterStep - self.beforeStep = beforeStep - self.runEndTime = runEndTime - self.runStartTime = runStartTime - self.status = status - self.statusReason = statusReason - self.stepName = stepName - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - self.testRunId = testRunId - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } - } -} - -public struct ListTestRunStepsOutput: Swift.Sendable { - /// The token from a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The test run steps of the response query. - /// This member is required. - public var testRunSteps: [AppTestClientTypes.TestRunStepSummary]? - - public init( - nextToken: Swift.String? = nil, - testRunSteps: [AppTestClientTypes.TestRunStepSummary]? = nil - ) { - self.nextToken = nextToken - self.testRunSteps = testRunSteps - } -} - -public struct ListTestRunTestCasesInput: Swift.Sendable { - /// The maximum number of test run test cases to return in one page of results. - public var maxResults: Swift.Int? - /// The token from a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The test run ID of the test cases. - /// This member is required. - public var testRunId: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - testRunId: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.testRunId = testRunId - } -} - -extension AppTestClientTypes { - - public enum TestCaseRunStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case failed - case running - case success - case sdkUnknown(Swift.String) - - public static var allCases: [TestCaseRunStatus] { - return [ - .failed, - .running, - .success - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .failed: return "Failed" - case .running: return "Running" - case .success: return "Success" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the test case run summary. - public struct TestCaseRunSummary: Swift.Sendable { - /// The run end time of the test case run summary. - public var runEndTime: Foundation.Date? - /// The run start time of the test case run summary. - /// This member is required. - public var runStartTime: Foundation.Date? - /// The status of the test case run summary. - /// This member is required. - public var status: AppTestClientTypes.TestCaseRunStatus? - /// The status reason of the test case run summary. - public var statusReason: Swift.String? - /// The test case id of the test case run summary. - /// This member is required. - public var testCaseId: Swift.String? - /// The test case version of the test case run summary. - /// This member is required. - public var testCaseVersion: Swift.Int? - /// The test run id of the test case run summary. - /// This member is required. - public var testRunId: Swift.String? - - public init( - runEndTime: Foundation.Date? = nil, - runStartTime: Foundation.Date? = nil, - status: AppTestClientTypes.TestCaseRunStatus? = nil, - statusReason: Swift.String? = nil, - testCaseId: Swift.String? = nil, - testCaseVersion: Swift.Int? = nil, - testRunId: Swift.String? = nil - ) { - self.runEndTime = runEndTime - self.runStartTime = runStartTime - self.status = status - self.statusReason = statusReason - self.testCaseId = testCaseId - self.testCaseVersion = testCaseVersion - self.testRunId = testRunId - } - } -} - -public struct ListTestRunTestCasesOutput: Swift.Sendable { - /// The token from a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The test run of the test cases. - /// This member is required. - public var testRunTestCases: [AppTestClientTypes.TestCaseRunSummary]? - - public init( - nextToken: Swift.String? = nil, - testRunTestCases: [AppTestClientTypes.TestCaseRunSummary]? = nil - ) { - self.nextToken = nextToken - self.testRunTestCases = testRunTestCases - } -} - -public struct StartTestRunInput: Swift.Sendable { - /// The client token of the test run. - public var clientToken: Swift.String? - /// The tags of the test run. - public var tags: [Swift.String: Swift.String]? - /// The configuration ID of the test run. - public var testConfigurationId: Swift.String? - /// The test suite ID of the test run. - /// This member is required. - public var testSuiteId: Swift.String? - - public init( - clientToken: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - testConfigurationId: Swift.String? = nil, - testSuiteId: Swift.String? = nil - ) { - self.clientToken = clientToken - self.tags = tags - self.testConfigurationId = testConfigurationId - self.testSuiteId = testSuiteId - } -} - -public struct StartTestRunOutput: Swift.Sendable { - /// The test run ID of the test run. - /// This member is required. - public var testRunId: Swift.String? - /// The test run status of the test run. - /// This member is required. - public var testRunStatus: AppTestClientTypes.TestRunStatus? - - public init( - testRunId: Swift.String? = nil, - testRunStatus: AppTestClientTypes.TestRunStatus? = nil - ) { - self.testRunId = testRunId - self.testRunStatus = testRunStatus - } -} - -extension AppTestClientTypes { - - /// Specifies test cases. - public enum TestCases: Swift.Sendable { - /// The sequential of the test case. - case sequential([Swift.String]) - case sdkUnknown(Swift.String) - } -} - -public struct CreateTestSuiteInput: Swift.Sendable { - /// The after steps of the test suite. - public var afterSteps: [AppTestClientTypes.Step]? - /// The before steps of the test suite. - public var beforeSteps: [AppTestClientTypes.Step]? - /// The client token of the test suite. - public var clientToken: Swift.String? - /// The description of the test suite. - public var description: Swift.String? - /// The name of the test suite. - /// This member is required. - public var name: Swift.String? - /// The tags of the test suite. - public var tags: [Swift.String: Swift.String]? - /// The test cases in the test suite. - /// This member is required. - public var testCases: AppTestClientTypes.TestCases? - - public init( - afterSteps: [AppTestClientTypes.Step]? = nil, - beforeSteps: [AppTestClientTypes.Step]? = nil, - clientToken: Swift.String? = nil, - description: Swift.String? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - testCases: AppTestClientTypes.TestCases? = nil - ) { - self.afterSteps = afterSteps - self.beforeSteps = beforeSteps - self.clientToken = clientToken - self.description = description - self.name = name - self.tags = tags - self.testCases = testCases - } -} - -public struct CreateTestSuiteOutput: Swift.Sendable { - /// The suite ID of the test suite. - /// This member is required. - public var testSuiteId: Swift.String? - /// The suite version of the test suite. - /// This member is required. - public var testSuiteVersion: Swift.Int? - - public init( - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } -} - -public struct DeleteTestSuiteInput: Swift.Sendable { - /// The test ID of the test suite. - /// This member is required. - public var testSuiteId: Swift.String? - - public init( - testSuiteId: Swift.String? = nil - ) { - self.testSuiteId = testSuiteId - } -} - -public struct DeleteTestSuiteOutput: Swift.Sendable { - - public init() { } -} - -public struct GetTestSuiteInput: Swift.Sendable { - /// The ID of the test suite. - /// This member is required. - public var testSuiteId: Swift.String? - /// The version of the test suite. - public var testSuiteVersion: Swift.Int? - - public init( - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } -} - -extension AppTestClientTypes { - - public enum TestSuiteLifecycle: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case creating - case deleting - case failed - case updating - case sdkUnknown(Swift.String) - - public static var allCases: [TestSuiteLifecycle] { - return [ - .active, - .creating, - .deleting, - .failed, - .updating - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "Active" - case .creating: return "Creating" - case .deleting: return "Deleting" - case .failed: return "Failed" - case .updating: return "Updating" - case let .sdkUnknown(s): return s - } - } - } -} - -extension AppTestClientTypes { - - /// Specifies the latest version of a test suite. - public struct TestSuiteLatestVersion: Swift.Sendable { - /// The status of the test suite latest version. - /// This member is required. - public var status: AppTestClientTypes.TestSuiteLifecycle? - /// The status reason of the test suite latest version. - public var statusReason: Swift.String? - /// The version of the test suite latest version. - /// This member is required. - public var version: Swift.Int? - - public init( - status: AppTestClientTypes.TestSuiteLifecycle? = nil, - statusReason: Swift.String? = nil, - version: Swift.Int? = nil - ) { - self.status = status - self.statusReason = statusReason - self.version = version - } - } -} - -public struct GetTestSuiteOutput: Swift.Sendable { - /// The after steps of the test suite. - /// This member is required. - public var afterSteps: [AppTestClientTypes.Step]? - /// The before steps of the test suite. - /// This member is required. - public var beforeSteps: [AppTestClientTypes.Step]? - /// The creation time of the test suite. - /// This member is required. - public var creationTime: Foundation.Date? - /// The description of the test suite. - public var description: Swift.String? - /// The last update time of the test suite. - /// This member is required. - public var lastUpdateTime: Foundation.Date? - /// The latest version of the test suite. - /// This member is required. - public var latestVersion: AppTestClientTypes.TestSuiteLatestVersion? - /// The name of the test suite. - /// This member is required. - public var name: Swift.String? - /// The status of the test suite. - public var status: AppTestClientTypes.TestSuiteLifecycle? - /// The status reason of the test suite. - public var statusReason: Swift.String? - /// The tags of the test suite. - public var tags: [Swift.String: Swift.String]? - /// The test cases of the test suite. - /// This member is required. - public var testCases: AppTestClientTypes.TestCases? - /// The test suite Amazon Resource Name (ARN). - /// This member is required. - public var testSuiteArn: Swift.String? - /// The response ID of the test suite. - /// This member is required. - public var testSuiteId: Swift.String? - /// The version of the test suite. - /// This member is required. - public var testSuiteVersion: Swift.Int? - - public init( - afterSteps: [AppTestClientTypes.Step]? = nil, - beforeSteps: [AppTestClientTypes.Step]? = nil, - creationTime: Foundation.Date? = nil, - description: Swift.String? = nil, - lastUpdateTime: Foundation.Date? = nil, - latestVersion: AppTestClientTypes.TestSuiteLatestVersion? = nil, - name: Swift.String? = nil, - status: AppTestClientTypes.TestSuiteLifecycle? = nil, - statusReason: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - testCases: AppTestClientTypes.TestCases? = nil, - testSuiteArn: Swift.String? = nil, - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.afterSteps = afterSteps - self.beforeSteps = beforeSteps - self.creationTime = creationTime - self.description = description - self.lastUpdateTime = lastUpdateTime - self.latestVersion = latestVersion - self.name = name - self.status = status - self.statusReason = statusReason - self.tags = tags - self.testCases = testCases - self.testSuiteArn = testSuiteArn - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } -} - -public struct ListTestSuitesInput: Swift.Sendable { - /// The maximum number of test suites to return in one page of results. - public var maxResults: Swift.Int? - /// The token from a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The suite ID of the test suites. - public var testSuiteIds: [Swift.String]? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - testSuiteIds: [Swift.String]? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.testSuiteIds = testSuiteIds - } -} - -extension AppTestClientTypes { - - /// Specifies the test suite summary. - public struct TestSuiteSummary: Swift.Sendable { - /// The creation time of the test suite summary. - /// This member is required. - public var creationTime: Foundation.Date? - /// The last update time of the test suite summary. - /// This member is required. - public var lastUpdateTime: Foundation.Date? - /// The latest version of the test suite summary. - /// This member is required. - public var latestVersion: Swift.Int? - /// The name of the test suite summary. - /// This member is required. - public var name: Swift.String? - /// The status of the test suite summary. - /// This member is required. - public var status: AppTestClientTypes.TestSuiteLifecycle? - /// The status reason of the test suite summary. - public var statusReason: Swift.String? - /// The test suite Amazon Resource Name (ARN) of the test suite summary. - /// This member is required. - public var testSuiteArn: Swift.String? - /// The test suite ID of the test suite summary. - /// This member is required. - public var testSuiteId: Swift.String? - - public init( - creationTime: Foundation.Date? = nil, - lastUpdateTime: Foundation.Date? = nil, - latestVersion: Swift.Int? = nil, - name: Swift.String? = nil, - status: AppTestClientTypes.TestSuiteLifecycle? = nil, - statusReason: Swift.String? = nil, - testSuiteArn: Swift.String? = nil, - testSuiteId: Swift.String? = nil - ) { - self.creationTime = creationTime - self.lastUpdateTime = lastUpdateTime - self.latestVersion = latestVersion - self.name = name - self.status = status - self.statusReason = statusReason - self.testSuiteArn = testSuiteArn - self.testSuiteId = testSuiteId - } - } -} - -public struct ListTestSuitesOutput: Swift.Sendable { - /// The token from a previous request to retrieve the next page of test suites results. - public var nextToken: Swift.String? - /// The test suites returned with the response query. - /// This member is required. - public var testSuites: [AppTestClientTypes.TestSuiteSummary]? - - public init( - nextToken: Swift.String? = nil, - testSuites: [AppTestClientTypes.TestSuiteSummary]? = nil - ) { - self.nextToken = nextToken - self.testSuites = testSuites - } -} - -public struct UpdateTestSuiteInput: Swift.Sendable { - /// The after steps of the test suite. - public var afterSteps: [AppTestClientTypes.Step]? - /// The before steps for the test suite. - public var beforeSteps: [AppTestClientTypes.Step]? - /// The description of the test suite. - public var description: Swift.String? - /// The test cases in the test suite. - public var testCases: AppTestClientTypes.TestCases? - /// The test suite ID of the test suite. - /// This member is required. - public var testSuiteId: Swift.String? - - public init( - afterSteps: [AppTestClientTypes.Step]? = nil, - beforeSteps: [AppTestClientTypes.Step]? = nil, - description: Swift.String? = nil, - testCases: AppTestClientTypes.TestCases? = nil, - testSuiteId: Swift.String? = nil - ) { - self.afterSteps = afterSteps - self.beforeSteps = beforeSteps - self.description = description - self.testCases = testCases - self.testSuiteId = testSuiteId - } -} - -public struct UpdateTestSuiteOutput: Swift.Sendable { - /// The test suite ID of the test suite. - /// This member is required. - public var testSuiteId: Swift.String? - /// The test suite version of the test suite. - public var testSuiteVersion: Swift.Int? - - public init( - testSuiteId: Swift.String? = nil, - testSuiteVersion: Swift.Int? = nil - ) { - self.testSuiteId = testSuiteId - self.testSuiteVersion = testSuiteVersion - } -} - -public struct UntagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the resource. - /// This member is required. - public var resourceArn: Swift.String? - /// The tag keys of the resource. - /// This member is required. - public var tagKeys: [Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tagKeys: [Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } -} - -public struct UntagResourceOutput: Swift.Sendable { - - public init() { } -} - -extension CreateTestCaseInput { - - static func urlPathProvider(_ value: CreateTestCaseInput) -> Swift.String? { - return "/testcase" - } -} - -extension CreateTestConfigurationInput { - - static func urlPathProvider(_ value: CreateTestConfigurationInput) -> Swift.String? { - return "/testconfiguration" - } -} - -extension CreateTestSuiteInput { - - static func urlPathProvider(_ value: CreateTestSuiteInput) -> Swift.String? { - return "/testsuite" - } -} - -extension DeleteTestCaseInput { - - static func urlPathProvider(_ value: DeleteTestCaseInput) -> Swift.String? { - guard let testCaseId = value.testCaseId else { - return nil - } - return "/testcases/\(testCaseId.urlPercentEncoding())" - } -} - -extension DeleteTestConfigurationInput { - - static func urlPathProvider(_ value: DeleteTestConfigurationInput) -> Swift.String? { - guard let testConfigurationId = value.testConfigurationId else { - return nil - } - return "/testconfigurations/\(testConfigurationId.urlPercentEncoding())" - } -} - -extension DeleteTestRunInput { - - static func urlPathProvider(_ value: DeleteTestRunInput) -> Swift.String? { - guard let testRunId = value.testRunId else { - return nil - } - return "/testruns/\(testRunId.urlPercentEncoding())" - } -} - -extension DeleteTestSuiteInput { - - static func urlPathProvider(_ value: DeleteTestSuiteInput) -> Swift.String? { - guard let testSuiteId = value.testSuiteId else { - return nil - } - return "/testsuites/\(testSuiteId.urlPercentEncoding())" - } -} - -extension GetTestCaseInput { - - static func urlPathProvider(_ value: GetTestCaseInput) -> Swift.String? { - guard let testCaseId = value.testCaseId else { - return nil - } - return "/testcases/\(testCaseId.urlPercentEncoding())" - } -} - -extension GetTestCaseInput { - - static func queryItemProvider(_ value: GetTestCaseInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let testCaseVersion = value.testCaseVersion { - let testCaseVersionQueryItem = Smithy.URIQueryItem(name: "testCaseVersion".urlPercentEncoding(), value: Swift.String(testCaseVersion).urlPercentEncoding()) - items.append(testCaseVersionQueryItem) - } - return items - } -} - -extension GetTestConfigurationInput { - - static func urlPathProvider(_ value: GetTestConfigurationInput) -> Swift.String? { - guard let testConfigurationId = value.testConfigurationId else { - return nil - } - return "/testconfigurations/\(testConfigurationId.urlPercentEncoding())" - } -} - -extension GetTestConfigurationInput { - - static func queryItemProvider(_ value: GetTestConfigurationInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let testConfigurationVersion = value.testConfigurationVersion { - let testConfigurationVersionQueryItem = Smithy.URIQueryItem(name: "testConfigurationVersion".urlPercentEncoding(), value: Swift.String(testConfigurationVersion).urlPercentEncoding()) - items.append(testConfigurationVersionQueryItem) - } - return items - } -} - -extension GetTestRunStepInput { - - static func urlPathProvider(_ value: GetTestRunStepInput) -> Swift.String? { - guard let testRunId = value.testRunId else { - return nil - } - guard let stepName = value.stepName else { - return nil - } - return "/testruns/\(testRunId.urlPercentEncoding())/steps/\(stepName.urlPercentEncoding())" - } -} - -extension GetTestRunStepInput { - - static func queryItemProvider(_ value: GetTestRunStepInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let testSuiteId = value.testSuiteId { - let testSuiteIdQueryItem = Smithy.URIQueryItem(name: "testSuiteId".urlPercentEncoding(), value: Swift.String(testSuiteId).urlPercentEncoding()) - items.append(testSuiteIdQueryItem) - } - if let testCaseId = value.testCaseId { - let testCaseIdQueryItem = Smithy.URIQueryItem(name: "testCaseId".urlPercentEncoding(), value: Swift.String(testCaseId).urlPercentEncoding()) - items.append(testCaseIdQueryItem) - } - return items - } -} - -extension GetTestSuiteInput { - - static func urlPathProvider(_ value: GetTestSuiteInput) -> Swift.String? { - guard let testSuiteId = value.testSuiteId else { - return nil - } - return "/testsuites/\(testSuiteId.urlPercentEncoding())" - } -} - -extension GetTestSuiteInput { - - static func queryItemProvider(_ value: GetTestSuiteInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let testSuiteVersion = value.testSuiteVersion { - let testSuiteVersionQueryItem = Smithy.URIQueryItem(name: "testSuiteVersion".urlPercentEncoding(), value: Swift.String(testSuiteVersion).urlPercentEncoding()) - items.append(testSuiteVersionQueryItem) - } - return items - } -} - -extension ListTagsForResourceInput { - - static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension ListTestCasesInput { - - static func urlPathProvider(_ value: ListTestCasesInput) -> Swift.String? { - return "/testcases" - } -} - -extension ListTestCasesInput { - - static func queryItemProvider(_ value: ListTestCasesInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - if let testCaseIds = value.testCaseIds { - testCaseIds.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "testCaseIds".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - } - return items - } -} - -extension ListTestConfigurationsInput { - - static func urlPathProvider(_ value: ListTestConfigurationsInput) -> Swift.String? { - return "/testconfigurations" - } -} - -extension ListTestConfigurationsInput { - - static func queryItemProvider(_ value: ListTestConfigurationsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - if let testConfigurationIds = value.testConfigurationIds { - testConfigurationIds.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "testConfigurationIds".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - } - return items - } -} - -extension ListTestRunsInput { - - static func urlPathProvider(_ value: ListTestRunsInput) -> Swift.String? { - return "/testruns" - } -} - -extension ListTestRunsInput { - - static func queryItemProvider(_ value: ListTestRunsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - if let testSuiteId = value.testSuiteId { - let testSuiteIdQueryItem = Smithy.URIQueryItem(name: "testSuiteId".urlPercentEncoding(), value: Swift.String(testSuiteId).urlPercentEncoding()) - items.append(testSuiteIdQueryItem) - } - if let testRunIds = value.testRunIds { - testRunIds.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "testrunIds".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - } - return items - } -} - -extension ListTestRunStepsInput { - - static func urlPathProvider(_ value: ListTestRunStepsInput) -> Swift.String? { - guard let testRunId = value.testRunId else { - return nil - } - return "/testruns/\(testRunId.urlPercentEncoding())/steps" - } -} - -extension ListTestRunStepsInput { - - static func queryItemProvider(_ value: ListTestRunStepsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - if let testSuiteId = value.testSuiteId { - let testSuiteIdQueryItem = Smithy.URIQueryItem(name: "testSuiteId".urlPercentEncoding(), value: Swift.String(testSuiteId).urlPercentEncoding()) - items.append(testSuiteIdQueryItem) - } - if let testCaseId = value.testCaseId { - let testCaseIdQueryItem = Smithy.URIQueryItem(name: "testCaseId".urlPercentEncoding(), value: Swift.String(testCaseId).urlPercentEncoding()) - items.append(testCaseIdQueryItem) - } - return items - } -} - -extension ListTestRunTestCasesInput { - - static func urlPathProvider(_ value: ListTestRunTestCasesInput) -> Swift.String? { - guard let testRunId = value.testRunId else { - return nil - } - return "/testruns/\(testRunId.urlPercentEncoding())/testcases" - } -} - -extension ListTestRunTestCasesInput { - - static func queryItemProvider(_ value: ListTestRunTestCasesInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListTestSuitesInput { - - static func urlPathProvider(_ value: ListTestSuitesInput) -> Swift.String? { - return "/testsuites" - } -} - -extension ListTestSuitesInput { - - static func queryItemProvider(_ value: ListTestSuitesInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let testSuiteIds = value.testSuiteIds { - testSuiteIds.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "testSuiteIds".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - } - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension StartTestRunInput { - - static func urlPathProvider(_ value: StartTestRunInput) -> Swift.String? { - return "/testrun" - } -} - -extension TagResourceInput { - - static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - guard let tagKeys = value.tagKeys else { - let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." - throw Smithy.ClientError.unknownError(message) - } - tagKeys.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - return items - } -} - -extension UpdateTestCaseInput { - - static func urlPathProvider(_ value: UpdateTestCaseInput) -> Swift.String? { - guard let testCaseId = value.testCaseId else { - return nil - } - return "/testcases/\(testCaseId.urlPercentEncoding())" - } -} - -extension UpdateTestConfigurationInput { - - static func urlPathProvider(_ value: UpdateTestConfigurationInput) -> Swift.String? { - guard let testConfigurationId = value.testConfigurationId else { - return nil - } - return "/testconfigurations/\(testConfigurationId.urlPercentEncoding())" - } -} - -extension UpdateTestSuiteInput { - - static func urlPathProvider(_ value: UpdateTestSuiteInput) -> Swift.String? { - guard let testSuiteId = value.testSuiteId else { - return nil - } - return "/testsuites/\(testSuiteId.urlPercentEncoding())" - } -} - -extension CreateTestCaseInput { - - static func write(value: CreateTestCaseInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientToken"].write(value.clientToken) - try writer["description"].write(value.description) - try writer["name"].write(value.name) - try writer["steps"].writeList(value.steps, memberWritingClosure: AppTestClientTypes.Step.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateTestConfigurationInput { - - static func write(value: CreateTestConfigurationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientToken"].write(value.clientToken) - try writer["description"].write(value.description) - try writer["name"].write(value.name) - try writer["properties"].writeMap(value.properties, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["resources"].writeList(value.resources, memberWritingClosure: AppTestClientTypes.Resource.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["serviceSettings"].write(value.serviceSettings, with: AppTestClientTypes.ServiceSettings.write(value:to:)) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateTestSuiteInput { - - static func write(value: CreateTestSuiteInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["afterSteps"].writeList(value.afterSteps, memberWritingClosure: AppTestClientTypes.Step.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["beforeSteps"].writeList(value.beforeSteps, memberWritingClosure: AppTestClientTypes.Step.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["clientToken"].write(value.clientToken) - try writer["description"].write(value.description) - try writer["name"].write(value.name) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["testCases"].write(value.testCases, with: AppTestClientTypes.TestCases.write(value:to:)) - } -} - -extension StartTestRunInput { - - static func write(value: StartTestRunInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientToken"].write(value.clientToken) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["testConfigurationId"].write(value.testConfigurationId) - try writer["testSuiteId"].write(value.testSuiteId) - } -} - -extension TagResourceInput { - - static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension UpdateTestCaseInput { - - static func write(value: UpdateTestCaseInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["description"].write(value.description) - try writer["steps"].writeList(value.steps, memberWritingClosure: AppTestClientTypes.Step.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension UpdateTestConfigurationInput { - - static func write(value: UpdateTestConfigurationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["description"].write(value.description) - try writer["properties"].writeMap(value.properties, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["resources"].writeList(value.resources, memberWritingClosure: AppTestClientTypes.Resource.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["serviceSettings"].write(value.serviceSettings, with: AppTestClientTypes.ServiceSettings.write(value:to:)) - } -} - -extension UpdateTestSuiteInput { - - static func write(value: UpdateTestSuiteInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["afterSteps"].writeList(value.afterSteps, memberWritingClosure: AppTestClientTypes.Step.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["beforeSteps"].writeList(value.beforeSteps, memberWritingClosure: AppTestClientTypes.Step.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["description"].write(value.description) - try writer["testCases"].write(value.testCases, with: AppTestClientTypes.TestCases.write(value:to:)) - } -} - -extension CreateTestCaseOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateTestCaseOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateTestCaseOutput() - value.testCaseId = try reader["testCaseId"].readIfPresent() ?? "" - value.testCaseVersion = try reader["testCaseVersion"].readIfPresent() ?? 0 - return value - } -} - -extension CreateTestConfigurationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateTestConfigurationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateTestConfigurationOutput() - value.testConfigurationId = try reader["testConfigurationId"].readIfPresent() ?? "" - value.testConfigurationVersion = try reader["testConfigurationVersion"].readIfPresent() ?? 0 - return value - } -} - -extension CreateTestSuiteOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateTestSuiteOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateTestSuiteOutput() - value.testSuiteId = try reader["testSuiteId"].readIfPresent() ?? "" - value.testSuiteVersion = try reader["testSuiteVersion"].readIfPresent() ?? 0 - return value - } -} - -extension DeleteTestCaseOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteTestCaseOutput { - return DeleteTestCaseOutput() - } -} - -extension DeleteTestConfigurationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteTestConfigurationOutput { - return DeleteTestConfigurationOutput() - } -} - -extension DeleteTestRunOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteTestRunOutput { - return DeleteTestRunOutput() - } -} - -extension DeleteTestSuiteOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteTestSuiteOutput { - return DeleteTestSuiteOutput() - } -} - -extension GetTestCaseOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetTestCaseOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetTestCaseOutput() - value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.description = try reader["description"].readIfPresent() - value.lastUpdateTime = try reader["lastUpdateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.latestVersion = try reader["latestVersion"].readIfPresent(with: AppTestClientTypes.TestCaseLatestVersion.read(from:)) - value.name = try reader["name"].readIfPresent() ?? "" - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - value.steps = try reader["steps"].readListIfPresent(memberReadingClosure: AppTestClientTypes.Step.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.testCaseArn = try reader["testCaseArn"].readIfPresent() ?? "" - value.testCaseId = try reader["testCaseId"].readIfPresent() ?? "" - value.testCaseVersion = try reader["testCaseVersion"].readIfPresent() ?? 0 - return value - } -} - -extension GetTestConfigurationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetTestConfigurationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetTestConfigurationOutput() - value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.description = try reader["description"].readIfPresent() - value.lastUpdateTime = try reader["lastUpdateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.latestVersion = try reader["latestVersion"].readIfPresent(with: AppTestClientTypes.TestConfigurationLatestVersion.read(from:)) - value.name = try reader["name"].readIfPresent() ?? "" - value.properties = try reader["properties"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) ?? [:] - value.resources = try reader["resources"].readListIfPresent(memberReadingClosure: AppTestClientTypes.Resource.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.serviceSettings = try reader["serviceSettings"].readIfPresent(with: AppTestClientTypes.ServiceSettings.read(from:)) - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.testConfigurationArn = try reader["testConfigurationArn"].readIfPresent() ?? "" - value.testConfigurationId = try reader["testConfigurationId"].readIfPresent() ?? "" - value.testConfigurationVersion = try reader["testConfigurationVersion"].readIfPresent() ?? 0 - return value - } -} - -extension GetTestRunStepOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetTestRunStepOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetTestRunStepOutput() - value.afterStep = try reader["afterStep"].readIfPresent() - value.beforeStep = try reader["beforeStep"].readIfPresent() - value.runEndTime = try reader["runEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.runStartTime = try reader["runStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - value.stepName = try reader["stepName"].readIfPresent() ?? "" - value.stepRunSummary = try reader["stepRunSummary"].readIfPresent(with: AppTestClientTypes.StepRunSummary.read(from:)) - value.testCaseId = try reader["testCaseId"].readIfPresent() - value.testCaseVersion = try reader["testCaseVersion"].readIfPresent() - value.testRunId = try reader["testRunId"].readIfPresent() ?? "" - value.testSuiteId = try reader["testSuiteId"].readIfPresent() - value.testSuiteVersion = try reader["testSuiteVersion"].readIfPresent() - return value - } -} - -extension GetTestSuiteOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetTestSuiteOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetTestSuiteOutput() - value.afterSteps = try reader["afterSteps"].readListIfPresent(memberReadingClosure: AppTestClientTypes.Step.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.beforeSteps = try reader["beforeSteps"].readListIfPresent(memberReadingClosure: AppTestClientTypes.Step.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.description = try reader["description"].readIfPresent() - value.lastUpdateTime = try reader["lastUpdateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.latestVersion = try reader["latestVersion"].readIfPresent(with: AppTestClientTypes.TestSuiteLatestVersion.read(from:)) - value.name = try reader["name"].readIfPresent() ?? "" - value.status = try reader["status"].readIfPresent() - value.statusReason = try reader["statusReason"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.testCases = try reader["testCases"].readIfPresent(with: AppTestClientTypes.TestCases.read(from:)) - value.testSuiteArn = try reader["testSuiteArn"].readIfPresent() ?? "" - value.testSuiteId = try reader["testSuiteId"].readIfPresent() ?? "" - value.testSuiteVersion = try reader["testSuiteVersion"].readIfPresent() ?? 0 - return value - } -} - -extension ListTagsForResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTagsForResourceOutput() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) ?? [:] - return value - } -} - -extension ListTestCasesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTestCasesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTestCasesOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.testCases = try reader["testCases"].readListIfPresent(memberReadingClosure: AppTestClientTypes.TestCaseSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListTestConfigurationsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTestConfigurationsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTestConfigurationsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.testConfigurations = try reader["testConfigurations"].readListIfPresent(memberReadingClosure: AppTestClientTypes.TestConfigurationSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListTestRunsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTestRunsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTestRunsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.testRuns = try reader["testRuns"].readListIfPresent(memberReadingClosure: AppTestClientTypes.TestRunSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListTestRunStepsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTestRunStepsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTestRunStepsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.testRunSteps = try reader["testRunSteps"].readListIfPresent(memberReadingClosure: AppTestClientTypes.TestRunStepSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListTestRunTestCasesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTestRunTestCasesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTestRunTestCasesOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.testRunTestCases = try reader["testRunTestCases"].readListIfPresent(memberReadingClosure: AppTestClientTypes.TestCaseRunSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListTestSuitesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTestSuitesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTestSuitesOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.testSuites = try reader["testSuites"].readListIfPresent(memberReadingClosure: AppTestClientTypes.TestSuiteSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension StartTestRunOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartTestRunOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = StartTestRunOutput() - value.testRunId = try reader["testRunId"].readIfPresent() ?? "" - value.testRunStatus = try reader["testRunStatus"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension TagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { - return TagResourceOutput() - } -} - -extension UntagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { - return UntagResourceOutput() - } -} - -extension UpdateTestCaseOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateTestCaseOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateTestCaseOutput() - value.testCaseId = try reader["testCaseId"].readIfPresent() ?? "" - value.testCaseVersion = try reader["testCaseVersion"].readIfPresent() ?? 0 - return value - } -} - -extension UpdateTestConfigurationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateTestConfigurationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateTestConfigurationOutput() - value.testConfigurationId = try reader["testConfigurationId"].readIfPresent() ?? "" - value.testConfigurationVersion = try reader["testConfigurationVersion"].readIfPresent() ?? 0 - return value - } -} - -extension UpdateTestSuiteOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateTestSuiteOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateTestSuiteOutput() - value.testSuiteId = try reader["testSuiteId"].readIfPresent() ?? "" - value.testSuiteVersion = try reader["testSuiteVersion"].readIfPresent() - return value - } -} - -enum CreateTestCaseOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateTestConfigurationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateTestSuiteOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteTestCaseOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteTestConfigurationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteTestRunOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteTestSuiteOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetTestCaseOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetTestConfigurationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetTestRunStepOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetTestSuiteOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTagsForResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTestCasesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTestConfigurationsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTestRunsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTestRunStepsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTestRunTestCasesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTestSuitesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum StartTestRunOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum TagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UntagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateTestCaseOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateTestConfigurationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateTestSuiteOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension AccessDeniedException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> AccessDeniedException { - let reader = baseError.errorBodyReader - var value = AccessDeniedException() - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ConflictException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ConflictException { - let reader = baseError.errorBodyReader - var value = ConflictException() - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.properties.resourceId = try reader["resourceId"].readIfPresent() - value.properties.resourceType = try reader["resourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension InternalServerException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { - let reader = baseError.errorBodyReader - let httpResponse = baseError.httpResponse - var value = InternalServerException() - if let retryAfterSecondsHeaderValue = httpResponse.headers.value(for: "Retry-After") { - value.properties.retryAfterSeconds = Swift.Int(retryAfterSecondsHeaderValue) ?? 0 - } - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ServiceQuotaExceededException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { - let reader = baseError.errorBodyReader - var value = ServiceQuotaExceededException() - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.properties.quotaCode = try reader["quotaCode"].readIfPresent() - value.properties.resourceId = try reader["resourceId"].readIfPresent() - value.properties.resourceType = try reader["resourceType"].readIfPresent() - value.properties.serviceCode = try reader["serviceCode"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ThrottlingException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { - let reader = baseError.errorBodyReader - let httpResponse = baseError.httpResponse - var value = ThrottlingException() - if let retryAfterSecondsHeaderValue = httpResponse.headers.value(for: "Retry-After") { - value.properties.retryAfterSeconds = Swift.Int(retryAfterSecondsHeaderValue) ?? 0 - } - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.properties.quotaCode = try reader["quotaCode"].readIfPresent() - value.properties.serviceCode = try reader["serviceCode"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ValidationException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ValidationException { - let reader = baseError.errorBodyReader - var value = ValidationException() - value.properties.fieldList = try reader["fieldList"].readListIfPresent(memberReadingClosure: AppTestClientTypes.ValidationExceptionField.read(from:), memberNodeInfo: "member", isFlattened: false) - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.properties.reason = try reader["reason"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceNotFoundException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { - let reader = baseError.errorBodyReader - var value = ResourceNotFoundException() - value.properties.message = try reader["message"].readIfPresent() ?? "" - value.properties.resourceId = try reader["resourceId"].readIfPresent() - value.properties.resourceType = try reader["resourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension AppTestClientTypes.TestCaseLatestVersion { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestCaseLatestVersion { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestCaseLatestVersion() - value.version = try reader["version"].readIfPresent() ?? 0 - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.Step { - - static func write(value: AppTestClientTypes.Step?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["action"].write(value.action, with: AppTestClientTypes.StepAction.write(value:to:)) - try writer["description"].write(value.description) - try writer["name"].write(value.name) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.Step { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.Step() - value.name = try reader["name"].readIfPresent() ?? "" - value.description = try reader["description"].readIfPresent() - value.action = try reader["action"].readIfPresent(with: AppTestClientTypes.StepAction.read(from:)) - return value - } -} - -extension AppTestClientTypes.StepAction { - - static func write(value: AppTestClientTypes.StepAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .compareaction(compareaction): - try writer["compareAction"].write(compareaction, with: AppTestClientTypes.CompareAction.write(value:to:)) - case let .mainframeaction(mainframeaction): - try writer["mainframeAction"].write(mainframeaction, with: AppTestClientTypes.MainframeAction.write(value:to:)) - case let .resourceaction(resourceaction): - try writer["resourceAction"].write(resourceaction, with: AppTestClientTypes.ResourceAction.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.StepAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "resourceAction": - return .resourceaction(try reader["resourceAction"].read(with: AppTestClientTypes.ResourceAction.read(from:))) - case "mainframeAction": - return .mainframeaction(try reader["mainframeAction"].read(with: AppTestClientTypes.MainframeAction.read(from:))) - case "compareAction": - return .compareaction(try reader["compareAction"].read(with: AppTestClientTypes.CompareAction.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.CompareAction { - - static func write(value: AppTestClientTypes.CompareAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["input"].write(value.input, with: AppTestClientTypes.Input.write(value:to:)) - try writer["output"].write(value.output, with: AppTestClientTypes.Output.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareAction() - value.input = try reader["input"].readIfPresent(with: AppTestClientTypes.Input.read(from:)) - value.output = try reader["output"].readIfPresent(with: AppTestClientTypes.Output.read(from:)) - return value - } -} - -extension AppTestClientTypes.Output { - - static func write(value: AppTestClientTypes.Output?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .file(file): - try writer["file"].write(file, with: AppTestClientTypes.OutputFile.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.Output { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "file": - return .file(try reader["file"].read(with: AppTestClientTypes.OutputFile.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.OutputFile { - - static func write(value: AppTestClientTypes.OutputFile?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["fileLocation"].write(value.fileLocation) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.OutputFile { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.OutputFile() - value.fileLocation = try reader["fileLocation"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.Input { - - static func write(value: AppTestClientTypes.Input?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .file(file): - try writer["file"].write(file, with: AppTestClientTypes.InputFile.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.Input { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "file": - return .file(try reader["file"].read(with: AppTestClientTypes.InputFile.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.InputFile { - - static func write(value: AppTestClientTypes.InputFile?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["fileMetadata"].write(value.fileMetadata, with: AppTestClientTypes.FileMetadata.write(value:to:)) - try writer["sourceLocation"].write(value.sourceLocation) - try writer["targetLocation"].write(value.targetLocation) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.InputFile { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.InputFile() - value.sourceLocation = try reader["sourceLocation"].readIfPresent() ?? "" - value.targetLocation = try reader["targetLocation"].readIfPresent() ?? "" - value.fileMetadata = try reader["fileMetadata"].readIfPresent(with: AppTestClientTypes.FileMetadata.read(from:)) - return value - } -} - -extension AppTestClientTypes.FileMetadata { - - static func write(value: AppTestClientTypes.FileMetadata?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .datasets(datasets): - try writer["dataSets"].writeList(datasets, memberWritingClosure: AppTestClientTypes.DataSet.write(value:to:), memberNodeInfo: "member", isFlattened: false) - case let .databasecdc(databasecdc): - try writer["databaseCDC"].write(databasecdc, with: AppTestClientTypes.DatabaseCDC.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.FileMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "dataSets": - return .datasets(try reader["dataSets"].readList(memberReadingClosure: AppTestClientTypes.DataSet.read(from:), memberNodeInfo: "member", isFlattened: false)) - case "databaseCDC": - return .databasecdc(try reader["databaseCDC"].read(with: AppTestClientTypes.DatabaseCDC.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.DatabaseCDC { - - static func write(value: AppTestClientTypes.DatabaseCDC?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["sourceMetadata"].write(value.sourceMetadata, with: AppTestClientTypes.SourceDatabaseMetadata.write(value:to:)) - try writer["targetMetadata"].write(value.targetMetadata, with: AppTestClientTypes.TargetDatabaseMetadata.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.DatabaseCDC { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.DatabaseCDC() - value.sourceMetadata = try reader["sourceMetadata"].readIfPresent(with: AppTestClientTypes.SourceDatabaseMetadata.read(from:)) - value.targetMetadata = try reader["targetMetadata"].readIfPresent(with: AppTestClientTypes.TargetDatabaseMetadata.read(from:)) - return value - } -} - -extension AppTestClientTypes.TargetDatabaseMetadata { - - static func write(value: AppTestClientTypes.TargetDatabaseMetadata?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["captureTool"].write(value.captureTool) - try writer["type"].write(value.type) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TargetDatabaseMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TargetDatabaseMetadata() - value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") - value.captureTool = try reader["captureTool"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.SourceDatabaseMetadata { - - static func write(value: AppTestClientTypes.SourceDatabaseMetadata?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["captureTool"].write(value.captureTool) - try writer["type"].write(value.type) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.SourceDatabaseMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.SourceDatabaseMetadata() - value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") - value.captureTool = try reader["captureTool"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.DataSet { - - static func write(value: AppTestClientTypes.DataSet?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["ccsid"].write(value.ccsid) - try writer["format"].write(value.format) - try writer["length"].write(value.length) - try writer["name"].write(value.name) - try writer["type"].write(value.type) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.DataSet { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.DataSet() - value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") - value.name = try reader["name"].readIfPresent() ?? "" - value.ccsid = try reader["ccsid"].readIfPresent() ?? "" - value.format = try reader["format"].readIfPresent() ?? .sdkUnknown("") - value.length = try reader["length"].readIfPresent() ?? 0 - return value - } -} - -extension AppTestClientTypes.MainframeAction { - - static func write(value: AppTestClientTypes.MainframeAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["actionType"].write(value.actionType, with: AppTestClientTypes.MainframeActionType.write(value:to:)) - try writer["properties"].write(value.properties, with: AppTestClientTypes.MainframeActionProperties.write(value:to:)) - try writer["resource"].write(value.resource) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.MainframeAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.MainframeAction() - value.resource = try reader["resource"].readIfPresent() ?? "" - value.actionType = try reader["actionType"].readIfPresent(with: AppTestClientTypes.MainframeActionType.read(from:)) - value.properties = try reader["properties"].readIfPresent(with: AppTestClientTypes.MainframeActionProperties.read(from:)) - return value - } -} - -extension AppTestClientTypes.MainframeActionProperties { - - static func write(value: AppTestClientTypes.MainframeActionProperties?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["dmsTaskArn"].write(value.dmsTaskArn) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.MainframeActionProperties { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.MainframeActionProperties() - value.dmsTaskArn = try reader["dmsTaskArn"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.MainframeActionType { - - static func write(value: AppTestClientTypes.MainframeActionType?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .batch(batch): - try writer["batch"].write(batch, with: AppTestClientTypes.Batch.write(value:to:)) - case let .tn3270(tn3270): - try writer["tn3270"].write(tn3270, with: AppTestClientTypes.TN3270.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.MainframeActionType { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "batch": - return .batch(try reader["batch"].read(with: AppTestClientTypes.Batch.read(from:))) - case "tn3270": - return .tn3270(try reader["tn3270"].read(with: AppTestClientTypes.TN3270.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.TN3270 { - - static func write(value: AppTestClientTypes.TN3270?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["exportDataSetNames"].writeList(value.exportDataSetNames, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["script"].write(value.script, with: AppTestClientTypes.Script.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TN3270 { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TN3270() - value.script = try reader["script"].readIfPresent(with: AppTestClientTypes.Script.read(from:)) - value.exportDataSetNames = try reader["exportDataSetNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.Script { - - static func write(value: AppTestClientTypes.Script?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["scriptLocation"].write(value.scriptLocation) - try writer["type"].write(value.type) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.Script { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.Script() - value.scriptLocation = try reader["scriptLocation"].readIfPresent() ?? "" - value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.Batch { - - static func write(value: AppTestClientTypes.Batch?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["batchJobName"].write(value.batchJobName) - try writer["batchJobParameters"].writeMap(value.batchJobParameters, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["exportDataSetNames"].writeList(value.exportDataSetNames, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.Batch { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.Batch() - value.batchJobName = try reader["batchJobName"].readIfPresent() ?? "" - value.batchJobParameters = try reader["batchJobParameters"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.exportDataSetNames = try reader["exportDataSetNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.ResourceAction { - - static func write(value: AppTestClientTypes.ResourceAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .cloudformationaction(cloudformationaction): - try writer["cloudFormationAction"].write(cloudformationaction, with: AppTestClientTypes.CloudFormationAction.write(value:to:)) - case let .m2managedapplicationaction(m2managedapplicationaction): - try writer["m2ManagedApplicationAction"].write(m2managedapplicationaction, with: AppTestClientTypes.M2ManagedApplicationAction.write(value:to:)) - case let .m2nonmanagedapplicationaction(m2nonmanagedapplicationaction): - try writer["m2NonManagedApplicationAction"].write(m2nonmanagedapplicationaction, with: AppTestClientTypes.M2NonManagedApplicationAction.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.ResourceAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "m2ManagedApplicationAction": - return .m2managedapplicationaction(try reader["m2ManagedApplicationAction"].read(with: AppTestClientTypes.M2ManagedApplicationAction.read(from:))) - case "m2NonManagedApplicationAction": - return .m2nonmanagedapplicationaction(try reader["m2NonManagedApplicationAction"].read(with: AppTestClientTypes.M2NonManagedApplicationAction.read(from:))) - case "cloudFormationAction": - return .cloudformationaction(try reader["cloudFormationAction"].read(with: AppTestClientTypes.CloudFormationAction.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.CloudFormationAction { - - static func write(value: AppTestClientTypes.CloudFormationAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["actionType"].write(value.actionType) - try writer["resource"].write(value.resource) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CloudFormationAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CloudFormationAction() - value.resource = try reader["resource"].readIfPresent() ?? "" - value.actionType = try reader["actionType"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.M2NonManagedApplicationAction { - - static func write(value: AppTestClientTypes.M2NonManagedApplicationAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["actionType"].write(value.actionType) - try writer["resource"].write(value.resource) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2NonManagedApplicationAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2NonManagedApplicationAction() - value.resource = try reader["resource"].readIfPresent() ?? "" - value.actionType = try reader["actionType"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.M2ManagedApplicationAction { - - static func write(value: AppTestClientTypes.M2ManagedApplicationAction?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["actionType"].write(value.actionType) - try writer["properties"].write(value.properties, with: AppTestClientTypes.M2ManagedActionProperties.write(value:to:)) - try writer["resource"].write(value.resource) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedApplicationAction { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedApplicationAction() - value.resource = try reader["resource"].readIfPresent() ?? "" - value.actionType = try reader["actionType"].readIfPresent() ?? .sdkUnknown("") - value.properties = try reader["properties"].readIfPresent(with: AppTestClientTypes.M2ManagedActionProperties.read(from:)) - return value - } -} - -extension AppTestClientTypes.M2ManagedActionProperties { - - static func write(value: AppTestClientTypes.M2ManagedActionProperties?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["forceStop"].write(value.forceStop) - try writer["importDataSetLocation"].write(value.importDataSetLocation) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedActionProperties { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedActionProperties() - value.forceStop = try reader["forceStop"].readIfPresent() - value.importDataSetLocation = try reader["importDataSetLocation"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.TestConfigurationLatestVersion { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestConfigurationLatestVersion { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestConfigurationLatestVersion() - value.version = try reader["version"].readIfPresent() ?? 0 - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.Resource { - - static func write(value: AppTestClientTypes.Resource?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["type"].write(value.type, with: AppTestClientTypes.ResourceType.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.Resource { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.Resource() - value.name = try reader["name"].readIfPresent() ?? "" - value.type = try reader["type"].readIfPresent(with: AppTestClientTypes.ResourceType.read(from:)) - return value - } -} - -extension AppTestClientTypes.ResourceType { - - static func write(value: AppTestClientTypes.ResourceType?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .cloudformation(cloudformation): - try writer["cloudFormation"].write(cloudformation, with: AppTestClientTypes.CloudFormation.write(value:to:)) - case let .m2managedapplication(m2managedapplication): - try writer["m2ManagedApplication"].write(m2managedapplication, with: AppTestClientTypes.M2ManagedApplication.write(value:to:)) - case let .m2nonmanagedapplication(m2nonmanagedapplication): - try writer["m2NonManagedApplication"].write(m2nonmanagedapplication, with: AppTestClientTypes.M2NonManagedApplication.write(value:to:)) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.ResourceType { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "cloudFormation": - return .cloudformation(try reader["cloudFormation"].read(with: AppTestClientTypes.CloudFormation.read(from:))) - case "m2ManagedApplication": - return .m2managedapplication(try reader["m2ManagedApplication"].read(with: AppTestClientTypes.M2ManagedApplication.read(from:))) - case "m2NonManagedApplication": - return .m2nonmanagedapplication(try reader["m2NonManagedApplication"].read(with: AppTestClientTypes.M2NonManagedApplication.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.M2NonManagedApplication { - - static func write(value: AppTestClientTypes.M2NonManagedApplication?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["listenerPort"].write(value.listenerPort) - try writer["runtime"].write(value.runtime) - try writer["vpcEndpointServiceName"].write(value.vpcEndpointServiceName) - try writer["webAppName"].write(value.webAppName) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2NonManagedApplication { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2NonManagedApplication() - value.vpcEndpointServiceName = try reader["vpcEndpointServiceName"].readIfPresent() ?? "" - value.listenerPort = try reader["listenerPort"].readIfPresent() ?? "" - value.runtime = try reader["runtime"].readIfPresent() ?? .sdkUnknown("") - value.webAppName = try reader["webAppName"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.M2ManagedApplication { - - static func write(value: AppTestClientTypes.M2ManagedApplication?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["applicationId"].write(value.applicationId) - try writer["listenerPort"].write(value.listenerPort) - try writer["runtime"].write(value.runtime) - try writer["vpcEndpointServiceName"].write(value.vpcEndpointServiceName) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedApplication { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedApplication() - value.applicationId = try reader["applicationId"].readIfPresent() ?? "" - value.runtime = try reader["runtime"].readIfPresent() ?? .sdkUnknown("") - value.vpcEndpointServiceName = try reader["vpcEndpointServiceName"].readIfPresent() - value.listenerPort = try reader["listenerPort"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.CloudFormation { - - static func write(value: AppTestClientTypes.CloudFormation?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["parameters"].writeMap(value.parameters, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["templateLocation"].write(value.templateLocation) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CloudFormation { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CloudFormation() - value.templateLocation = try reader["templateLocation"].readIfPresent() ?? "" - value.parameters = try reader["parameters"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.ServiceSettings { - - static func write(value: AppTestClientTypes.ServiceSettings?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["kmsKeyId"].write(value.kmsKeyId) - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.ServiceSettings { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.ServiceSettings() - value.kmsKeyId = try reader["kmsKeyId"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.StepRunSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.StepRunSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "mainframeAction": - return .mainframeaction(try reader["mainframeAction"].read(with: AppTestClientTypes.MainframeActionSummary.read(from:))) - case "compareAction": - return .compareaction(try reader["compareAction"].read(with: AppTestClientTypes.CompareActionSummary.read(from:))) - case "resourceAction": - return .resourceaction(try reader["resourceAction"].read(with: AppTestClientTypes.ResourceActionSummary.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.ResourceActionSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.ResourceActionSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "cloudFormation": - return .cloudformation(try reader["cloudFormation"].read(with: AppTestClientTypes.CloudFormationStepSummary.read(from:))) - case "m2ManagedApplication": - return .m2managedapplication(try reader["m2ManagedApplication"].read(with: AppTestClientTypes.M2ManagedApplicationStepSummary.read(from:))) - case "m2NonManagedApplication": - return .m2nonmanagedapplication(try reader["m2NonManagedApplication"].read(with: AppTestClientTypes.M2NonManagedApplicationStepSummary.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.M2NonManagedApplicationStepSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2NonManagedApplicationStepSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2NonManagedApplicationStepSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.M2NonManagedApplicationStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.M2NonManagedApplicationStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.M2NonManagedApplicationStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2NonManagedApplicationStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - return AppTestClientTypes.M2NonManagedApplicationStepOutput() - } -} - -extension AppTestClientTypes.M2NonManagedApplicationStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2NonManagedApplicationStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2NonManagedApplicationStepInput() - value.vpcEndpointServiceName = try reader["vpcEndpointServiceName"].readIfPresent() ?? "" - value.listenerPort = try reader["listenerPort"].readIfPresent() ?? 0 - value.runtime = try reader["runtime"].readIfPresent() ?? .sdkUnknown("") - value.webAppName = try reader["webAppName"].readIfPresent() - value.actionType = try reader["actionType"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.M2ManagedApplicationStepSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedApplicationStepSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedApplicationStepSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.M2ManagedApplicationStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.M2ManagedApplicationStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.M2ManagedApplicationStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedApplicationStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedApplicationStepOutput() - value.importDataSetSummary = try reader["importDataSetSummary"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.M2ManagedApplicationStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedApplicationStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedApplicationStepInput() - value.applicationId = try reader["applicationId"].readIfPresent() ?? "" - value.runtime = try reader["runtime"].readIfPresent() ?? "" - value.vpcEndpointServiceName = try reader["vpcEndpointServiceName"].readIfPresent() - value.listenerPort = try reader["listenerPort"].readIfPresent() - value.actionType = try reader["actionType"].readIfPresent() ?? .sdkUnknown("") - value.properties = try reader["properties"].readIfPresent(with: AppTestClientTypes.M2ManagedActionProperties.read(from:)) - return value - } -} - -extension AppTestClientTypes.CloudFormationStepSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CloudFormationStepSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "createCloudformation": - return .createcloudformation(try reader["createCloudformation"].read(with: AppTestClientTypes.CreateCloudFormationSummary.read(from:))) - case "deleteCloudformation": - return .deletecloudformation(try reader["deleteCloudformation"].read(with: AppTestClientTypes.DeleteCloudFormationSummary.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.DeleteCloudFormationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.DeleteCloudFormationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.DeleteCloudFormationSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.DeleteCloudFormationStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.DeleteCloudFormationStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.DeleteCloudFormationStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.DeleteCloudFormationStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - return AppTestClientTypes.DeleteCloudFormationStepOutput() - } -} - -extension AppTestClientTypes.DeleteCloudFormationStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.DeleteCloudFormationStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.DeleteCloudFormationStepInput() - value.stackId = try reader["stackId"].readIfPresent() ?? "" - return value - } -} - -extension AppTestClientTypes.CreateCloudFormationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CreateCloudFormationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CreateCloudFormationSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.CreateCloudFormationStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.CreateCloudFormationStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.CreateCloudFormationStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CreateCloudFormationStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CreateCloudFormationStepOutput() - value.stackId = try reader["stackId"].readIfPresent() ?? "" - value.exports = try reader["exports"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.CreateCloudFormationStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CreateCloudFormationStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CreateCloudFormationStepInput() - value.templateLocation = try reader["templateLocation"].readIfPresent() ?? "" - value.parameters = try reader["parameters"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.CompareActionSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareActionSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareActionSummary() - value.type = try reader["type"].readIfPresent(with: AppTestClientTypes.File.read(from:)) - return value - } -} - -extension AppTestClientTypes.File { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.File { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "fileType": - return .filetype(try reader["fileType"].read(with: AppTestClientTypes.CompareFileType.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.CompareFileType { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareFileType { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "datasets": - return .datasets(try reader["datasets"].read(with: AppTestClientTypes.CompareDataSetsSummary.read(from:))) - case "databaseCDC": - return .databasecdc(try reader["databaseCDC"].read(with: AppTestClientTypes.CompareDatabaseCDCSummary.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.CompareDatabaseCDCSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareDatabaseCDCSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareDatabaseCDCSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.CompareDatabaseCDCStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.CompareDatabaseCDCStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.CompareDatabaseCDCStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareDatabaseCDCStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareDatabaseCDCStepOutput() - value.comparisonOutputLocation = try reader["comparisonOutputLocation"].readIfPresent() ?? "" - value.comparisonStatus = try reader["comparisonStatus"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.CompareDatabaseCDCStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareDatabaseCDCStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareDatabaseCDCStepInput() - value.sourceLocation = try reader["sourceLocation"].readIfPresent() ?? "" - value.targetLocation = try reader["targetLocation"].readIfPresent() ?? "" - value.outputLocation = try reader["outputLocation"].readIfPresent() - value.sourceMetadata = try reader["sourceMetadata"].readIfPresent(with: AppTestClientTypes.SourceDatabaseMetadata.read(from:)) - value.targetMetadata = try reader["targetMetadata"].readIfPresent(with: AppTestClientTypes.TargetDatabaseMetadata.read(from:)) - return value - } -} - -extension AppTestClientTypes.CompareDataSetsSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareDataSetsSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareDataSetsSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.CompareDataSetsStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.CompareDataSetsStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.CompareDataSetsStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareDataSetsStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareDataSetsStepOutput() - value.comparisonOutputLocation = try reader["comparisonOutputLocation"].readIfPresent() ?? "" - value.comparisonStatus = try reader["comparisonStatus"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.CompareDataSetsStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.CompareDataSetsStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.CompareDataSetsStepInput() - value.sourceLocation = try reader["sourceLocation"].readIfPresent() ?? "" - value.targetLocation = try reader["targetLocation"].readIfPresent() ?? "" - value.sourceDataSets = try reader["sourceDataSets"].readListIfPresent(memberReadingClosure: AppTestClientTypes.DataSet.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.targetDataSets = try reader["targetDataSets"].readListIfPresent(memberReadingClosure: AppTestClientTypes.DataSet.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension AppTestClientTypes.MainframeActionSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.MainframeActionSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "batch": - return .batch(try reader["batch"].read(with: AppTestClientTypes.BatchSummary.read(from:))) - case "tn3270": - return .tn3270(try reader["tn3270"].read(with: AppTestClientTypes.TN3270Summary.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.TN3270Summary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TN3270Summary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TN3270Summary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.TN3270StepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.TN3270StepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.TN3270StepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TN3270StepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TN3270StepOutput() - value.dataSetExportLocation = try reader["dataSetExportLocation"].readIfPresent() - value.dmsOutputLocation = try reader["dmsOutputLocation"].readIfPresent() - value.dataSetDetails = try reader["dataSetDetails"].readListIfPresent(memberReadingClosure: AppTestClientTypes.DataSet.read(from:), memberNodeInfo: "member", isFlattened: false) - value.scriptOutputLocation = try reader["scriptOutputLocation"].readIfPresent() ?? "" - return value - } -} - -extension AppTestClientTypes.TN3270StepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TN3270StepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TN3270StepInput() - value.resource = try reader["resource"].readIfPresent(with: AppTestClientTypes.MainframeResourceSummary.read(from:)) - value.script = try reader["script"].readIfPresent(with: AppTestClientTypes.ScriptSummary.read(from:)) - value.exportDataSetNames = try reader["exportDataSetNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.properties = try reader["properties"].readIfPresent(with: AppTestClientTypes.MainframeActionProperties.read(from:)) - return value - } -} - -extension AppTestClientTypes.ScriptSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.ScriptSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.ScriptSummary() - value.scriptLocation = try reader["scriptLocation"].readIfPresent() ?? "" - value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension AppTestClientTypes.MainframeResourceSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.MainframeResourceSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "m2ManagedApplication": - return .m2managedapplication(try reader["m2ManagedApplication"].read(with: AppTestClientTypes.M2ManagedApplicationSummary.read(from:))) - case "m2NonManagedApplication": - return .m2nonmanagedapplication(try reader["m2NonManagedApplication"].read(with: AppTestClientTypes.M2NonManagedApplicationSummary.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.M2NonManagedApplicationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2NonManagedApplicationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2NonManagedApplicationSummary() - value.vpcEndpointServiceName = try reader["vpcEndpointServiceName"].readIfPresent() ?? "" - value.listenerPort = try reader["listenerPort"].readIfPresent() ?? 0 - value.runtime = try reader["runtime"].readIfPresent() ?? .sdkUnknown("") - value.webAppName = try reader["webAppName"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.M2ManagedApplicationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.M2ManagedApplicationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.M2ManagedApplicationSummary() - value.applicationId = try reader["applicationId"].readIfPresent() ?? "" - value.runtime = try reader["runtime"].readIfPresent() ?? .sdkUnknown("") - value.listenerPort = try reader["listenerPort"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.BatchSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.BatchSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.BatchSummary() - value.stepInput = try reader["stepInput"].readIfPresent(with: AppTestClientTypes.BatchStepInput.read(from:)) - value.stepOutput = try reader["stepOutput"].readIfPresent(with: AppTestClientTypes.BatchStepOutput.read(from:)) - return value - } -} - -extension AppTestClientTypes.BatchStepOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.BatchStepOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.BatchStepOutput() - value.dataSetExportLocation = try reader["dataSetExportLocation"].readIfPresent() - value.dmsOutputLocation = try reader["dmsOutputLocation"].readIfPresent() - value.dataSetDetails = try reader["dataSetDetails"].readListIfPresent(memberReadingClosure: AppTestClientTypes.DataSet.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension AppTestClientTypes.BatchStepInput { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.BatchStepInput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.BatchStepInput() - value.resource = try reader["resource"].readIfPresent(with: AppTestClientTypes.MainframeResourceSummary.read(from:)) - value.batchJobName = try reader["batchJobName"].readIfPresent() ?? "" - value.batchJobParameters = try reader["batchJobParameters"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.exportDataSetNames = try reader["exportDataSetNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.properties = try reader["properties"].readIfPresent(with: AppTestClientTypes.MainframeActionProperties.read(from:)) - return value - } -} - -extension AppTestClientTypes.TestSuiteLatestVersion { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestSuiteLatestVersion { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestSuiteLatestVersion() - value.version = try reader["version"].readIfPresent() ?? 0 - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - return value - } -} - -extension AppTestClientTypes.TestCases { - - static func write(value: AppTestClientTypes.TestCases?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .sequential(sequential): - try writer["sequential"].writeList(sequential, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestCases { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "sequential": - return .sequential(try reader["sequential"].readList(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false)) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension AppTestClientTypes.TestCaseSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestCaseSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestCaseSummary() - value.testCaseId = try reader["testCaseId"].readIfPresent() ?? "" - value.testCaseArn = try reader["testCaseArn"].readIfPresent() ?? "" - value.name = try reader["name"].readIfPresent() ?? "" - value.statusReason = try reader["statusReason"].readIfPresent() - value.latestVersion = try reader["latestVersion"].readIfPresent() ?? 0 - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.lastUpdateTime = try reader["lastUpdateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - return value - } -} - -extension AppTestClientTypes.TestConfigurationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestConfigurationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestConfigurationSummary() - value.testConfigurationId = try reader["testConfigurationId"].readIfPresent() ?? "" - value.name = try reader["name"].readIfPresent() ?? "" - value.statusReason = try reader["statusReason"].readIfPresent() - value.latestVersion = try reader["latestVersion"].readIfPresent() ?? 0 - value.testConfigurationArn = try reader["testConfigurationArn"].readIfPresent() ?? "" - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.lastUpdateTime = try reader["lastUpdateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - return value - } -} - -extension AppTestClientTypes.TestRunSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestRunSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestRunSummary() - value.testRunId = try reader["testRunId"].readIfPresent() ?? "" - value.testRunArn = try reader["testRunArn"].readIfPresent() ?? "" - value.testSuiteId = try reader["testSuiteId"].readIfPresent() ?? "" - value.testSuiteVersion = try reader["testSuiteVersion"].readIfPresent() ?? 0 - value.testConfigurationId = try reader["testConfigurationId"].readIfPresent() - value.testConfigurationVersion = try reader["testConfigurationVersion"].readIfPresent() - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - value.runStartTime = try reader["runStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.runEndTime = try reader["runEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension AppTestClientTypes.TestRunStepSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestRunStepSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestRunStepSummary() - value.stepName = try reader["stepName"].readIfPresent() ?? "" - value.testRunId = try reader["testRunId"].readIfPresent() ?? "" - value.testCaseId = try reader["testCaseId"].readIfPresent() - value.testCaseVersion = try reader["testCaseVersion"].readIfPresent() - value.testSuiteId = try reader["testSuiteId"].readIfPresent() - value.testSuiteVersion = try reader["testSuiteVersion"].readIfPresent() - value.beforeStep = try reader["beforeStep"].readIfPresent() - value.afterStep = try reader["afterStep"].readIfPresent() - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - value.runStartTime = try reader["runStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.runEndTime = try reader["runEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension AppTestClientTypes.TestCaseRunSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestCaseRunSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestCaseRunSummary() - value.testCaseId = try reader["testCaseId"].readIfPresent() ?? "" - value.testCaseVersion = try reader["testCaseVersion"].readIfPresent() ?? 0 - value.testRunId = try reader["testRunId"].readIfPresent() ?? "" - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.statusReason = try reader["statusReason"].readIfPresent() - value.runStartTime = try reader["runStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.runEndTime = try reader["runEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension AppTestClientTypes.TestSuiteSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.TestSuiteSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.TestSuiteSummary() - value.testSuiteId = try reader["testSuiteId"].readIfPresent() ?? "" - value.name = try reader["name"].readIfPresent() ?? "" - value.statusReason = try reader["statusReason"].readIfPresent() - value.latestVersion = try reader["latestVersion"].readIfPresent() ?? 0 - value.testSuiteArn = try reader["testSuiteArn"].readIfPresent() ?? "" - value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") - value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.lastUpdateTime = try reader["lastUpdateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - return value - } -} - -extension AppTestClientTypes.ValidationExceptionField { - - static func read(from reader: SmithyJSON.Reader) throws -> AppTestClientTypes.ValidationExceptionField { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = AppTestClientTypes.ValidationExceptionField() - value.name = try reader["name"].readIfPresent() ?? "" - value.message = try reader["message"].readIfPresent() ?? "" - return value - } -} - -public enum AppTestClientTypes {} diff --git a/Sources/Services/AWSAppTest/Sources/AWSAppTest/Plugins.swift b/Sources/Services/AWSAppTest/Sources/AWSAppTest/Plugins.swift deleted file mode 100644 index 7701a50f35f..00000000000 --- a/Sources/Services/AWSAppTest/Sources/AWSAppTest/Plugins.swift +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import protocol ClientRuntime.ClientConfiguration -import protocol ClientRuntime.Plugin -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -import struct AWSSDKHTTPAuth.SigV4AuthScheme -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class AppTestClientEndpointPlugin: Plugin { - private var endpointResolver: EndpointResolver - - public init(endpointResolver: EndpointResolver) { - self.endpointResolver = endpointResolver - } - - public convenience init() throws { - self.init(endpointResolver: try DefaultEndpointResolver()) - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? AppTestClient.AppTestClientConfiguration { - config.endpointResolver = self.endpointResolver - } - } -} - -public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { - - public init() {} - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? AppTestClient.AppTestClientConfiguration { - config.authSchemeResolver = DefaultAppTestAuthSchemeResolver() - config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] - config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() - config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() - } - } -} - -public class AppTestClientAuthSchemePlugin: ClientRuntime.Plugin { - private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - private var authSchemePreference: [String] - private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? - private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? - private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: AppTestAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { - self.authSchemeResolver = authSchemeResolver - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference ?? [] - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? AppTestClient.AppTestClientConfiguration { - if (self.authSchemes != nil) { - config.authSchemes = self.authSchemes - } - config.authSchemePreference = self.authSchemePreference - if (self.authSchemeResolver != nil) { - config.authSchemeResolver = self.authSchemeResolver! - } - if (self.awsCredentialIdentityResolver != nil) { - config.awsCredentialIdentityResolver = self.awsCredentialIdentityResolver! - } - if (self.bearerTokenIdentityResolver != nil) { - config.bearerTokenIdentityResolver = self.bearerTokenIdentityResolver! - } - } - } -} diff --git a/Sources/Services/AWSAppTest/Tests/AWSAppTestTests/EndpointResolverTest.swift b/Sources/Services/AWSAppTest/Tests/AWSAppTestTests/EndpointResolverTest.swift deleted file mode 100644 index 26cd4ba7d1e..00000000000 --- a/Sources/Services/AWSAppTest/Tests/AWSAppTestTests/EndpointResolverTest.swift +++ /dev/null @@ -1,441 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@testable import AWSAppTest -import XCTest -import enum ClientRuntime.EndpointError -import enum SmithyHTTPAPI.EndpointPropertyValue -import enum SmithyTestUtil.TestInitializer -import struct SmithyHTTPAPI.Endpoint -import struct SmithyHTTPAPI.Headers - -class EndpointResolverTest: XCTestCase { - - override class func setUp() { - SmithyTestUtil.TestInitializer.initialize() - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve1() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack disabled - func testResolve2() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve3() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve5() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve6() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve7() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve8() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve9() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve10() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve11() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve12() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve13() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://apptest.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve17() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve18() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve19() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve20() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// Missing region - func testResolve21() throws { - let endpointParams = EndpointParams( - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } - } - -} diff --git a/Sources/Services/AWSAppflow/Sources/AWSAppflow/AppflowClient.swift b/Sources/Services/AWSAppflow/Sources/AWSAppflow/AppflowClient.swift index a037a2b7b5d..d6d6240c6ee 100644 --- a/Sources/Services/AWSAppflow/Sources/AWSAppflow/AppflowClient.swift +++ b/Sources/Services/AWSAppflow/Sources/AWSAppflow/AppflowClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppflowClient: ClientRuntime.Client { +public class AppflowClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AppflowClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AppflowClient.AppflowClientConfiguration let serviceName = "Appflow" diff --git a/Sources/Services/AWSApplicationAutoScaling/Sources/AWSApplicationAutoScaling/ApplicationAutoScalingClient.swift b/Sources/Services/AWSApplicationAutoScaling/Sources/AWSApplicationAutoScaling/ApplicationAutoScalingClient.swift index 472103fc3c3..faafa23e6f8 100644 --- a/Sources/Services/AWSApplicationAutoScaling/Sources/AWSApplicationAutoScaling/ApplicationAutoScalingClient.swift +++ b/Sources/Services/AWSApplicationAutoScaling/Sources/AWSApplicationAutoScaling/ApplicationAutoScalingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApplicationAutoScalingClient: ClientRuntime.Client { +public class ApplicationAutoScalingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApplicationAutoScalingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApplicationAutoScalingClient.ApplicationAutoScalingClientConfiguration let serviceName = "Application Auto Scaling" diff --git a/Sources/Services/AWSApplicationCostProfiler/Sources/AWSApplicationCostProfiler/ApplicationCostProfilerClient.swift b/Sources/Services/AWSApplicationCostProfiler/Sources/AWSApplicationCostProfiler/ApplicationCostProfilerClient.swift index 5a18873d620..c5fb296e139 100644 --- a/Sources/Services/AWSApplicationCostProfiler/Sources/AWSApplicationCostProfiler/ApplicationCostProfilerClient.swift +++ b/Sources/Services/AWSApplicationCostProfiler/Sources/AWSApplicationCostProfiler/ApplicationCostProfilerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApplicationCostProfilerClient: ClientRuntime.Client { +public class ApplicationCostProfilerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApplicationCostProfilerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApplicationCostProfilerClient.ApplicationCostProfilerClientConfiguration let serviceName = "ApplicationCostProfiler" diff --git a/Sources/Services/AWSApplicationDiscoveryService/Sources/AWSApplicationDiscoveryService/ApplicationDiscoveryClient.swift b/Sources/Services/AWSApplicationDiscoveryService/Sources/AWSApplicationDiscoveryService/ApplicationDiscoveryClient.swift index c07b1e14052..f34298ad0ed 100644 --- a/Sources/Services/AWSApplicationDiscoveryService/Sources/AWSApplicationDiscoveryService/ApplicationDiscoveryClient.swift +++ b/Sources/Services/AWSApplicationDiscoveryService/Sources/AWSApplicationDiscoveryService/ApplicationDiscoveryClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApplicationDiscoveryClient: ClientRuntime.Client { +public class ApplicationDiscoveryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApplicationDiscoveryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApplicationDiscoveryClient.ApplicationDiscoveryClientConfiguration let serviceName = "Application Discovery" diff --git a/Sources/Services/AWSApplicationInsights/Sources/AWSApplicationInsights/ApplicationInsightsClient.swift b/Sources/Services/AWSApplicationInsights/Sources/AWSApplicationInsights/ApplicationInsightsClient.swift index 3b6ed9d46ac..d175d535b08 100644 --- a/Sources/Services/AWSApplicationInsights/Sources/AWSApplicationInsights/ApplicationInsightsClient.swift +++ b/Sources/Services/AWSApplicationInsights/Sources/AWSApplicationInsights/ApplicationInsightsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApplicationInsightsClient: ClientRuntime.Client { +public class ApplicationInsightsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApplicationInsightsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApplicationInsightsClient.ApplicationInsightsClientConfiguration let serviceName = "Application Insights" diff --git a/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/ApplicationSignalsClient.swift b/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/ApplicationSignalsClient.swift index bf06f4c21c4..068616fe988 100644 --- a/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/ApplicationSignalsClient.swift +++ b/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/ApplicationSignalsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ApplicationSignalsClient: ClientRuntime.Client { +public class ApplicationSignalsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ApplicationSignalsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ApplicationSignalsClient.ApplicationSignalsClientConfiguration let serviceName = "Application Signals" @@ -611,7 +610,7 @@ extension ApplicationSignalsClient { /// Performs the `DeleteGroupingConfiguration` operation on the `ApplicationSignals` service. /// - /// Deletes the grouping configuration for this account. This removes all custom grouping attribute definitions that were previously configured. + /// Deletes a grouping configuration that defines how services are grouped and organized in Application Signals. Once deleted, services will no longer be grouped according to the specified configuration rules. This operation is irreversible. After deletion, you must recreate the grouping configuration if you want to restore the same grouping behavior. /// /// - Parameter input: [no documentation found] (Type: `DeleteGroupingConfigurationInput`) /// @@ -882,7 +881,7 @@ extension ApplicationSignalsClient { /// Performs the `ListAuditFindings` operation on the `ApplicationSignals` service. /// - /// Returns a list of audit findings that provide automated analysis of service behavior and root cause analysis. These findings help identify the most significant observations about your services, including performance issues, anomalies, and potential problems. The findings are generated using heuristic algorithms based on established troubleshooting patterns. + /// Retrieves a list of audit findings for Application Signals resources. Audit findings identify potential issues, misconfigurations, or compliance violations in your observability setup. You can filter findings by time range, auditor type, and target resources to focus on specific areas of concern. This operation supports pagination for large result sets. /// /// - Parameter input: [no documentation found] (Type: `ListAuditFindingsInput`) /// @@ -952,7 +951,7 @@ extension ApplicationSignalsClient { /// Performs the `ListGroupingAttributeDefinitions` operation on the `ApplicationSignals` service. /// - /// Returns the current grouping configuration for this account, including all custom grouping attribute definitions that have been configured. These definitions determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings. + /// Retrieves the available grouping attribute definitions that can be used to create grouping configurations. These definitions specify the attributes and rules available for organizing services. Use this operation to discover what grouping options are available before creating or updating grouping configurations. /// /// - Parameter input: [no documentation found] (Type: `ListGroupingAttributeDefinitionsInput`) /// @@ -1368,7 +1367,7 @@ extension ApplicationSignalsClient { /// Performs the `ListServiceStates` operation on the `ApplicationSignals` service. /// - /// Returns information about the last deployment and other change states of services. This API provides visibility into recent changes that may have affected service performance, helping with troubleshooting and change correlation. + /// Retrieves the current state information for services monitored by Application Signals. Service states include health status, recent change events, and other operational metadata. You can filter results by time range, AWS account, and service attributes to focus on specific services or time periods. This operation supports pagination and can include data from linked accounts. /// /// - Parameter input: [no documentation found] (Type: `ListServiceStatesInput`) /// @@ -1571,7 +1570,7 @@ extension ApplicationSignalsClient { /// Performs the `PutGroupingConfiguration` operation on the `ApplicationSignals` service. /// - /// Creates or updates the grouping configuration for this account. This operation allows you to define custom grouping attributes that determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings. These grouping attributes can then be used to organize and filter services in the Application Signals console and APIs. + /// Creates or updates a grouping configuration that defines how services are organized and grouped in Application Signals dashboards and service maps. Grouping configurations allow you to logically organize services based on attributes such as environment, team ownership, or business function, making it easier to monitor and manage related services together. /// /// - Parameter input: [no documentation found] (Type: `PutGroupingConfigurationInput`) /// diff --git a/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/Models.swift b/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/Models.swift index ed55311a35f..2eab339d042 100644 --- a/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/Models.swift +++ b/Sources/Services/AWSApplicationSignals/Sources/AWSApplicationSignals/Models.swift @@ -1132,18 +1132,18 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that represents a logical grouping of services based on shared attributes such as business unit, environment, or entry point. + /// Represents a logical grouping of services based on shared attributes or characteristics. public struct ServiceGroup: Swift.Sendable { - /// A unique identifier for this grouping attribute value, used for filtering and API operations. + /// A unique identifier for the group within the grouping configuration. /// This member is required. public var groupIdentifier: Swift.String? - /// The name of the grouping attribute, such as BusinessUnit or Environment. + /// The name of the group, such as "Environment", "Team", or "Application". /// This member is required. public var groupName: Swift.String? - /// The source of the grouping attribute, such as TAG, OTEL, or DEFAULT. + /// The source of the grouping information, such as "Tag", "Attribute", or "Manual". /// This member is required. public var groupSource: Swift.String? - /// The value of the grouping attribute for this service, such as Payments or Production. + /// The specific value for this group, such as "Production", "TeamA", or "WebApp". /// This member is required. public var groupValue: Swift.String? @@ -1227,7 +1227,7 @@ extension ApplicationSignalsClientTypes { /// An array of structures that each contain information about one metric associated with this service. /// This member is required. public var metricReferences: [ApplicationSignalsClientTypes.MetricReference]? - /// An array of service groups that this service belongs to, based on the configured grouping attributes. + /// An array of service groups that this service belongs to, based on the configured grouping rules. public var serviceGroups: [ApplicationSignalsClientTypes.ServiceGroup]? public init( @@ -1280,15 +1280,31 @@ public struct GetServiceOutput: Swift.Sendable { extension ApplicationSignalsClientTypes { - /// A structure that contains identifying information for a service entity. + /// Represents a CloudWatch Synthetics canary that can be audited for performance and configuration issues. + public struct CanaryEntity: Swift.Sendable { + /// The name of the CloudWatch Synthetics canary. + /// This member is required. + public var canaryName: Swift.String? + + public init( + canaryName: Swift.String? = nil + ) { + self.canaryName = canaryName + } + } +} + +extension ApplicationSignalsClientTypes { + + /// Represents a service entity that is monitored by Application Signals. public struct ServiceEntity: Swift.Sendable { - /// The Amazon Web Services account ID where the service is located. Provide this value only for cross-account access. + /// The AWS account ID where the service is deployed. public var awsAccountId: Swift.String? - /// The environment where the service is deployed. + /// The environment where the service is deployed, such as "Production", "Staging", or "Development". public var environment: Swift.String? - /// The name of the service. + /// The name of the service as identified by Application Signals. public var name: Swift.String? - /// The type of the service entity. + /// The type of service, such as "WebService", "Database", "Queue", or "Function". public var type: Swift.String? public init( @@ -1307,11 +1323,11 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains identifying information for a service operation entity. + /// Represents a specific operation within a service that can be monitored and audited independently. public struct ServiceOperationEntity: Swift.Sendable { - /// The type of metric associated with this service operation. + /// The type of metric associated with this service operation, such as "Latency", "ErrorRate", or "Throughput". public var metricType: Swift.String? - /// The name of the operation. + /// The name of the specific operation within the service. public var operation: Swift.String? /// The service entity that contains this operation. public var service: ApplicationSignalsClientTypes.ServiceEntity? @@ -1330,11 +1346,11 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains identifying information for a service level objective entity. + /// Represents a Service Level Objective (SLO) entity that can be audited for compliance and performance. public struct ServiceLevelObjectiveEntity: Swift.Sendable { - /// The ARN of the service level objective. The SLO must be provided with ARN for cross-account access. + /// The Amazon Resource Name (ARN) of the Service Level Objective. public var sloArn: Swift.String? - /// The name of the service level objective. + /// The name of the Service Level Objective. public var sloName: Swift.String? public init( @@ -1349,26 +1365,28 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A union structure that contains the specific entity information for different types of audit targets. + /// A union type that represents different types of entities that can be audited, such as services, SLOs, service operations, or canaries. public enum AuditTargetEntity: Swift.Sendable { /// Service entity information when the audit target is a service. case service(ApplicationSignalsClientTypes.ServiceEntity) - /// SLO entity information when the audit target is a service level objective. + /// Service Level Objective entity information when the audit target is an SLO. case slo(ApplicationSignalsClientTypes.ServiceLevelObjectiveEntity) - /// Service operation entity information when the audit target is a specific service operation. + /// Service operation entity information when the audit target is a specific operation within a service. case serviceoperation(ApplicationSignalsClientTypes.ServiceOperationEntity) + /// Canary entity information when the audit target is a CloudWatch Synthetics canary. + case canary(ApplicationSignalsClientTypes.CanaryEntity) case sdkUnknown(Swift.String) } } extension ApplicationSignalsClientTypes { - /// A structure that specifies the target entity for audit analysis, such as a service, SLO, or service_operation. + /// Specifies a target resource for auditing, such as a service, SLO, or operation. public struct AuditTarget: Swift.Sendable { - /// The specific data identifying the audit target entity. + /// The specific data or entity information for the audit target, containing details needed to identify and examine the resource. /// This member is required. public var data: ApplicationSignalsClientTypes.AuditTargetEntity? - /// The type of entity being audited, such as Service, SLO, or ServiceOperation. + /// The type of resource being targeted for audit, such as "Service", "SLO", "ServiceOperation", or "Canary". /// This member is required. public var type: Swift.String? @@ -1383,36 +1401,19 @@ extension ApplicationSignalsClientTypes { } public struct ListAuditFindingsInput: Swift.Sendable { - /// A list of audit targets to filter the findings by. You can specify services, SLOs, or service operations to limit the audit findings to specific entities. + /// An array of audit target specifications to filter the findings. Only findings related to the specified targets (such as specific services, SLOs, operations or canary) will be returned. /// This member is required. public var auditTargets: [ApplicationSignalsClientTypes.AuditTarget]? - /// A list of auditor names to filter the findings by. Only findings generated by the specified auditors will be returned. The following auditors are available for configuration: - /// - /// * slo - SloAuditor: Identifies SLO violations and detects breached thresholds during the Assessment phase. - /// - /// * operation_metric - OperationMetricAuditor: Detects anomalies in service operation metrics from Application Signals RED metrics during the Assessment phase - /// - /// * service_quota - ServiceQuotaAuditor: Monitors resource utilization against service quotas during the Assessment phase - /// - /// * trace - TraceAuditor: Performs deep-dive analysis of distributed traces, correlating traces with breached SLOs or abnormal RED metrics during the Analysis phase - /// - /// * dependency_metric - CriticalPathAuditor: Analyzes service dependency impacts and maps dependency relationships from Application Signals RED metrics during the Analysis phase - /// - /// * top_contributor - TopContributorAuditor: Identifies infrastructure-level contributors to issues by analyzing EMF logs of Application Signals RED metrics during the Analysis phase - /// - /// * log - LogAuditor: Extracts insights from application logs, categorizing error types and ranking severity by frequency during the Analysis phase - /// - /// - /// InitAuditor and Summarizer auditors are not configurable as they are automatically triggered during the audit process. + /// An array of auditor names to filter the findings. Only findings generated by the specified auditors will be returned. When not specified, findings from all auditors are included except canary. public var auditors: [Swift.String]? - /// The end of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057 + /// The end time for the audit findings query. Only findings created before this time will be included in the results. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var endTime: Foundation.Date? - /// The maximum number of audit findings to return in one operation. If you omit this parameter, the default of 10 is used. + /// The maximum number of audit findings to return in a single request. Valid range is 1 to 100. If not specified, defaults to 50. public var maxResults: Swift.Int? - /// Include this value, if it was returned by the previous operation, to get the next set of audit findings. + /// The token for the next set of results. Use this token to retrieve additional pages of audit findings when the result set is large. public var nextToken: Swift.String? - /// The start of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057 + /// The start time for the audit findings query. Only findings created on or after this time will be included in the results. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var startTime: Foundation.Date? @@ -1473,13 +1474,13 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains the result of an automated audit analysis, including the auditor name, description of findings, and severity level. + /// Represents the result of an audit performed by a specific auditor on a resource. public struct AuditorResult: Swift.Sendable { - /// The name of the auditor algorithm that generated this result. + /// The name or identifier of the auditor that performed the examination and generated this result. public var auditor: Swift.String? - /// A detailed description of the audit finding, explaining what was observed and potential implications. + /// A detailed description of what the auditor found, including any recommendations for remediation or further investigation. public var description: Swift.String? - /// The severity level of this audit finding, indicating the importance and potential impact of the issue. + /// The severity level of the finding, such as "Critical", "High", "Medium", or "Low". This helps prioritize remediation efforts. public var severity: ApplicationSignalsClientTypes.Severity? public init( @@ -1525,15 +1526,15 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that represents a connection between two nodes in a dependency graph, showing the relationship and characteristics of the connection. + /// Represents a connection between two nodes in a dependency graph, showing how services or components interact with each other. public struct Edge: Swift.Sendable { - /// The type of connection between the nodes, indicating the nature of the relationship. + /// The type of connection between the nodes, such as "HTTP", "Database", "Queue", or "Internal". public var connectionType: ApplicationSignalsClientTypes.ConnectionType? - /// The identifier of the destination node in this edge connection. + /// The identifier of the destination node in the dependency relationship. public var destinationNodeId: Swift.String? - /// The duration or latency associated with this connection, if applicable. + /// The typical duration or latency of interactions along this edge, measured in milliseconds. public var duration: Swift.Double? - /// The identifier of the source node in this edge connection. + /// The identifier of the source node in the dependency relationship. public var sourceNodeId: Swift.String? public init( @@ -1552,24 +1553,24 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that represents a node in a dependency graph, containing information about a service, resource, or other entity and its characteristics. + /// Represents a node in a dependency graph, typically corresponding to a service or component in your application architecture. public struct Node: Swift.Sendable { - /// The duration or processing time associated with this node, if applicable. + /// The typical response time or processing duration for this node, measured in milliseconds. public var duration: Swift.Double? - /// The key attributes that identify this node, including Type, Name, and Environment information. + /// A map of key attributes that identify and describe the node, such as service name, environment, and other metadata. /// This member is required. public var keyAttributes: [Swift.String: Swift.String]? - /// The name of the entity represented by this node. + /// The display name of the node, typically the service or component name. /// This member is required. public var name: Swift.String? - /// A unique identifier for this node within the dependency graph. + /// A unique identifier for the node within the dependency graph. /// This member is required. public var nodeId: Swift.String? - /// The operation associated with this node, if applicable. + /// The specific operation or endpoint within the service that this node represents, if applicable. public var operation: Swift.String? - /// The status of the entity represented by this node. + /// The current health status of the node, such as "Healthy", "Warning", or "Critical". public var status: Swift.String? - /// The type of entity represented by this node, such as Service or Resource. + /// The type of node, such as "Service", "Database", "Queue", or "External". public var type: Swift.String? public init( @@ -1594,11 +1595,11 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that represents the dependency relationships relevant to an audit finding, containing nodes and edges that show how services and resources are connected. + /// Represents a graph showing the dependencies between services and components in your application architecture. public struct DependencyGraph: Swift.Sendable { - /// An array of edges representing the connections and relationships between the nodes in the dependency graph. + /// An array of edges in the dependency graph, where each edge represents a connection or dependency between two nodes. public var edges: [ApplicationSignalsClientTypes.Edge]? - /// An array of nodes representing the services, resources, or other entities in the dependency graph. + /// An array of nodes in the dependency graph, where each node represents a service or component. public var nodes: [ApplicationSignalsClientTypes.Node]? public init( @@ -1613,13 +1614,13 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains metric data queries and time range information that provides context for audit findings through relevant performance metrics. + /// Represents a graph of metric data over time, showing performance trends and patterns for monitored resources. public struct MetricGraph: Swift.Sendable { - /// The end time for the metric data included in this graph. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. + /// The end time for the metric data displayed in the graph, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. public var endTime: Foundation.Date? - /// An array of metric data queries that define the metrics to be retrieved and analyzed as part of the audit finding context. + /// An array of metric data queries that define what metrics to display in the graph. Each query specifies the metric source, aggregation, and time range. public var metricDataQueries: [ApplicationSignalsClientTypes.MetricDataQuery]? - /// The start time for the metric data included in this graph. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. + /// The start time for the metric data displayed in the graph, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. public var startTime: Foundation.Date? public init( @@ -1636,20 +1637,20 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains information about an audit finding, which represents an automated analysis result about service behavior, performance issues, or potential problems identified through heuristic algorithms. + /// Represents an audit finding that identifies a potential issue, misconfiguration, or compliance violation in Application Signals resources. public struct AuditFinding: Swift.Sendable { - /// An array of auditor results that contain the specific findings, descriptions, and severity levels identified by different auditing algorithms. + /// An array of results from different auditors that examined the resource. Each result includes the auditor name, description, and severity level. public var auditorResults: [ApplicationSignalsClientTypes.AuditorResult]? - /// A structure containing nodes and edges that represent the dependency relationships relevant to this audit finding, helping to understand the context and potential impact. + /// A dependency graph showing the relationships between services that may be affected by or related to the audit finding. public var dependencyGraph: ApplicationSignalsClientTypes.DependencyGraph? - /// The key attributes that identify the service or entity this audit finding relates to. This is a string-to-string map that includes fields like Type, Name, and Environment. + /// A map of key attributes that identify the resource associated with this audit finding. These attributes help locate and understand the context of the finding. /// This member is required. public var keyAttributes: [Swift.String: Swift.String]? - /// A structure containing metric data queries and time range information that provides context for the audit finding through relevant performance metrics. + /// A metric graph associated with the audit finding, showing relevant performance data that may be related to the identified issue. public var metricGraph: ApplicationSignalsClientTypes.MetricGraph? - /// The name of the operation associated with this audit finding, if the finding is specific to a particular service operation. + /// The operation or action that was being audited when this finding was discovered. This provides context about what was being examined. public var operation: Swift.String? - /// The type of audit finding. + /// The type or category of the audit finding, such as "Performance", "Security", or "Configuration". public var type: Swift.String? public init( @@ -1671,10 +1672,10 @@ extension ApplicationSignalsClientTypes { } public struct ListAuditFindingsOutput: Swift.Sendable { - /// An array of structures, where each structure contains information about one audit finding, including the auditor results, severity, and associated metric and dependency graphs. + /// An array of audit findings that match the specified criteria. Each finding includes details about the issue, affected resources, and auditor results. /// This member is required. public var auditFindings: [ApplicationSignalsClientTypes.AuditFinding]? - /// Include this value in your next use of this API to get the next set of audit findings. + /// The token to use for retrieving the next page of results. This value is present only if there are more results available than were returned in the current response. public var nextToken: Swift.String? public init( @@ -1687,7 +1688,7 @@ public struct ListAuditFindingsOutput: Swift.Sendable { } public struct ListGroupingAttributeDefinitionsInput: Swift.Sendable { - /// Include this value, if it was returned by the previous operation, to get the next set of grouping attribute definitions. + /// The token for the next set of results. Use this token to retrieve additional pages of grouping attribute definitions when the result set is large. public var nextToken: Swift.String? public init( @@ -1699,14 +1700,14 @@ public struct ListGroupingAttributeDefinitionsInput: Swift.Sendable { extension ApplicationSignalsClientTypes { - /// A structure that defines how services should be grouped based on specific attributes. This includes the friendly name for the grouping, the source keys to derive values from, and an optional default value. + /// Defines how services should be grouped based on specific attributes. This allows logical organization of services in dashboards and service maps. public struct GroupingAttributeDefinition: Swift.Sendable { - /// The default value to use for this grouping attribute when no value can be derived from the source keys. This ensures all services have a grouping value even if the source data is missing. + /// The default value to use for grouping when a service doesn't have any of the specified source keys, such as "Unknown" or "Unassigned". public var defaultGroupingValue: Swift.String? - /// The friendly name for this grouping attribute, such as BusinessUnit or Environment. This name is used to identify the grouping in the console and APIs. + /// The name of the grouping attribute, such as "Environment", "Team", or "Application". /// This member is required. public var groupingName: Swift.String? - /// An array of source keys used to derive the grouping attribute value from telemetry data, Amazon Web Services tags, or other sources. For example, ["business_unit", "team"] would look for values in those fields. + /// An array of source attribute keys that will be used to determine the grouping value for each service. These keys correspond to service metadata or tags. public var groupingSourceKeys: [Swift.String]? public init( @@ -1722,12 +1723,12 @@ extension ApplicationSignalsClientTypes { } public struct ListGroupingAttributeDefinitionsOutput: Swift.Sendable { - /// An array of structures, where each structure contains information about one grouping attribute definition, including the grouping name, source keys, and default values. + /// An array of available grouping attribute definitions that can be used to create grouping configurations. /// This member is required. public var groupingAttributeDefinitions: [ApplicationSignalsClientTypes.GroupingAttributeDefinition]? - /// Include this value in your next use of this API to get the next set of grouping attribute definitions. + /// The token to use for retrieving the next page of results. This value is present only if there are more results available than were returned in the current response. public var nextToken: Swift.String? - /// The timestamp when the grouping configuration was last updated. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. + /// The timestamp when the grouping attribute definitions were last updated. Expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. public var updatedAt: Foundation.Date? public init( @@ -2167,7 +2168,7 @@ extension ApplicationSignalsClientTypes { /// An array of structures that each contain information about one metric associated with this service. /// This member is required. public var metricReferences: [ApplicationSignalsClientTypes.MetricReference]? - /// An array of service groups that this service belongs to, based on the configured grouping attributes. + /// An array of service groups that this service belongs to, providing a summary view of the service's organizational context. public var serviceGroups: [ApplicationSignalsClientTypes.ServiceGroup]? public init( @@ -2212,12 +2213,12 @@ public struct ListServicesOutput: Swift.Sendable { extension ApplicationSignalsClientTypes { - /// A structure that defines a filter for narrowing down results based on specific attribute values. This can be used to filter services by platform, environment, or other service characteristics. + /// Represents a filter for service attributes. Used to narrow down results based on specific attribute names and values. public struct AttributeFilter: Swift.Sendable { - /// The name of the attribute to filter by, such as Platform, Environment, or BusinessUnit. + /// The name of the attribute to filter on. This corresponds to service metadata attributes such as environment, team, or custom tags. /// This member is required. public var attributeFilterName: Swift.String? - /// An array of values to match for the specified attribute. Services that have any of these values for the attribute will be included in the results. + /// An array of values to match against the specified attribute. Services with attribute values matching any of these values will be included in the results. /// This member is required. public var attributeFilterValues: [Swift.String]? @@ -2232,20 +2233,20 @@ extension ApplicationSignalsClientTypes { } public struct ListServiceStatesInput: Swift.Sendable { - /// A list of attribute filters to narrow down the services. You can filter by platform, environment, or other service attributes. + /// An array of attribute filters to narrow down the service states returned. Each filter specifies an attribute name and the values to match against. public var attributeFilters: [ApplicationSignalsClientTypes.AttributeFilter]? - /// The Amazon Web Services account ID to filter service states by. Use this to limit results to services from a specific account. + /// The AWS account ID to filter service states. If specified, only service states from this account will be returned. If not specified, service states from the current account (and linked accounts if enabled) are returned. public var awsAccountId: Swift.String? - /// The end of the time period to retrieve service state information for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057. + /// The end time for the service states query. Only service states before this time will be included. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var endTime: Foundation.Date? - /// If you are using this operation in a monitoring account, specify true to include service states from source accounts in the returned data. + /// Specifies whether to include service states from linked AWS accounts in the results. Set to true to include linked accounts, or false to only include the current account. Defaults to false. public var includeLinkedAccounts: Swift.Bool? - /// The maximum number of service states to return in one operation. If you omit this parameter, the default of 20 is used. + /// The maximum number of service states to return in a single request. Valid range is 1 to 100. If not specified, defaults to 50. public var maxResults: Swift.Int? - /// Include this value, if it was returned by the previous operation, to get the next set of service states. + /// The token for the next set of results. Use this token to retrieve additional pages of service states when the result set is large. public var nextToken: Swift.String? - /// The start of the time period to retrieve service state information for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057. + /// The start time for the service states query. Only service states from this time onward will be included. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var startTime: Foundation.Date? @@ -2296,29 +2297,29 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains information about a change event that occurred for a service, such as a deployment or configuration change. + /// Represents a change event that occurred in the system, such as deployments, configuration changes, or other operational events that may impact service performance. public struct ChangeEvent: Swift.Sendable { - /// The Amazon Web Services account ID where this change event occurred. + /// The AWS account ID where the change event occurred. /// This member is required. public var accountId: Swift.String? - /// The type of change event that occurred, such as DEPLOYMENT. + /// The type of change that occurred, such as "Deployment", "Configuration", or "Infrastructure". /// This member is required. public var changeEventType: ApplicationSignalsClientTypes.ChangeEventType? - /// The entity (service or resource) that was affected by this change event, including its key attributes. + /// The entity or resource that was changed, such as a service, deployment, or configuration. /// This member is required. public var entity: [Swift.String: Swift.String]? - /// A unique identifier for this change event. + /// A unique identifier for the change event. /// This member is required. public var eventId: Swift.String? - /// The name or description of this change event. + /// A descriptive name for the change event that provides context about what changed. public var eventName: Swift.String? - /// The Amazon Web Services region where this change event occurred. + /// The AWS region where the change event occurred. /// This member is required. public var region: Swift.String? - /// The timestamp when this change event occurred. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. + /// The timestamp when the change event occurred, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var timestamp: Foundation.Date? - /// The name of the user who initiated this change event, if available. + /// The name of the user or system that initiated the change event. public var userName: Swift.String? public init( @@ -2345,14 +2346,14 @@ extension ApplicationSignalsClientTypes { extension ApplicationSignalsClientTypes { - /// A structure that contains information about the current state of a service, including its latest change events such as deployments and other state-changing activities. + /// Represents the current state and health information for a service monitored by Application Signals. public struct ServiceState: Swift.Sendable { - /// The attribute filters that were applied when retrieving this service state information. + /// The attribute filters that were applied when retrieving this service state. public var attributeFilters: [ApplicationSignalsClientTypes.AttributeFilter]? - /// An array containing the most recent change events for this service, such as deployments, with information about when they occurred and who initiated them. + /// An array of the most recent change events that may have affected this service, such as deployments or configuration changes. /// This member is required. public var latestChangeEvents: [ApplicationSignalsClientTypes.ChangeEvent]? - /// The key attributes that identify this service, including Type, Name, and Environment information. + /// The service entity information for this service state. /// This member is required. public var service: [Swift.String: Swift.String]? @@ -2369,15 +2370,15 @@ extension ApplicationSignalsClientTypes { } public struct ListServiceStatesOutput: Swift.Sendable { - /// The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057. + /// The end time of the query range, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var endTime: Foundation.Date? - /// Include this value in your next use of this API to get the next set of service states. + /// The token to use for retrieving the next page of results. This value is present only if there are more results available than were returned in the current response. public var nextToken: Swift.String? - /// An array of structures, where each structure contains information about the state of one service, including its latest change events such as deployments. + /// An array of service state objects that match the specified criteria. Each service state includes current status, recent change events, and service metadata. /// This member is required. public var serviceStates: [ApplicationSignalsClientTypes.ServiceState]? - /// The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057. + /// The start time of the query range, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var startTime: Foundation.Date? @@ -2439,7 +2440,7 @@ public struct ListTagsForResourceOutput: Swift.Sendable { } public struct PutGroupingConfigurationInput: Swift.Sendable { - /// An array of grouping attribute definitions that specify how services should be grouped. Each definition includes a friendly name, source keys to derive the grouping value from, and an optional default value. + /// An array of grouping attribute definitions that specify how services should be grouped. Each definition includes the grouping name, source keys, and default values. /// This member is required. public var groupingAttributeDefinitions: [ApplicationSignalsClientTypes.GroupingAttributeDefinition]? @@ -2452,12 +2453,12 @@ public struct PutGroupingConfigurationInput: Swift.Sendable { extension ApplicationSignalsClientTypes { - /// A structure that contains the complete grouping configuration for an account, including all defined grouping attributes and metadata about when it was last updated. + /// Contains the complete configuration for how services are grouped and organized in Application Signals. public struct GroupingConfiguration: Swift.Sendable { - /// An array of grouping attribute definitions that specify how services should be grouped based on various attributes and source keys. + /// An array of grouping attribute definitions that specify the rules for organizing services into groups. /// This member is required. public var groupingAttributeDefinitions: [ApplicationSignalsClientTypes.GroupingAttributeDefinition]? - /// The timestamp when this grouping configuration was last updated. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. + /// The timestamp when the grouping configuration was last updated, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC. /// This member is required. public var updatedAt: Foundation.Date? @@ -2472,7 +2473,7 @@ extension ApplicationSignalsClientTypes { } public struct PutGroupingConfigurationOutput: Swift.Sendable { - /// A structure containing the updated grouping configuration, including all grouping attribute definitions and the timestamp when it was last updated. + /// The created or updated grouping configuration, including all attribute definitions and metadata such as the update timestamp. /// This member is required. public var groupingConfiguration: ApplicationSignalsClientTypes.GroupingConfiguration? @@ -2636,7 +2637,7 @@ extension ApplicationSignalsClientTypes { public var keyAttributes: [Swift.String: Swift.String]? /// If this SLO monitors a CloudWatch metric or the result of a CloudWatch metric math expression, use this structure to specify that metric or expression. public var metricDataQueries: [ApplicationSignalsClientTypes.MetricDataQuery]? - /// The name of the CloudWatch metric to use for the SLO, when using a custom metric rather than Application Signals standard metrics. + /// The name of the CloudWatch metric used as a service level indicator (SLI) for measuring service performance. public var metricName: Swift.String? /// If the SLO is to monitor either the LATENCY or AVAILABILITY metric that Application Signals collects, use this field to specify which of those metrics is used. public var metricType: ApplicationSignalsClientTypes.ServiceLevelIndicatorMetricType? @@ -5074,6 +5075,8 @@ extension ApplicationSignalsClientTypes.AuditTargetEntity { static func write(value: ApplicationSignalsClientTypes.AuditTargetEntity?, to writer: SmithyJSON.Writer) throws { guard let value else { return } switch value { + case let .canary(canary): + try writer["Canary"].write(canary, with: ApplicationSignalsClientTypes.CanaryEntity.write(value:to:)) case let .service(service): try writer["Service"].write(service, with: ApplicationSignalsClientTypes.ServiceEntity.write(value:to:)) case let .serviceoperation(serviceoperation): @@ -5086,6 +5089,14 @@ extension ApplicationSignalsClientTypes.AuditTargetEntity { } } +extension ApplicationSignalsClientTypes.CanaryEntity { + + static func write(value: ApplicationSignalsClientTypes.CanaryEntity?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["CanaryName"].write(value.canaryName) + } +} + extension ApplicationSignalsClientTypes.ServiceOperationEntity { static func write(value: ApplicationSignalsClientTypes.ServiceOperationEntity?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSArtifact/Sources/AWSArtifact/ArtifactClient.swift b/Sources/Services/AWSArtifact/Sources/AWSArtifact/ArtifactClient.swift index 1c4bc80e9bd..2f88c15f39f 100644 --- a/Sources/Services/AWSArtifact/Sources/AWSArtifact/ArtifactClient.swift +++ b/Sources/Services/AWSArtifact/Sources/AWSArtifact/ArtifactClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ArtifactClient: ClientRuntime.Client { +public class ArtifactClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ArtifactClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ArtifactClient.ArtifactClientConfiguration let serviceName = "Artifact" diff --git a/Sources/Services/AWSAthena/Sources/AWSAthena/AthenaClient.swift b/Sources/Services/AWSAthena/Sources/AWSAthena/AthenaClient.swift index a8b4923c4e4..4851cae5f63 100644 --- a/Sources/Services/AWSAthena/Sources/AWSAthena/AthenaClient.swift +++ b/Sources/Services/AWSAthena/Sources/AWSAthena/AthenaClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AthenaClient: ClientRuntime.Client { +public class AthenaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AthenaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AthenaClient.AthenaClientConfiguration let serviceName = "Athena" diff --git a/Sources/Services/AWSAuditManager/Sources/AWSAuditManager/AuditManagerClient.swift b/Sources/Services/AWSAuditManager/Sources/AWSAuditManager/AuditManagerClient.swift index bf6fcdfbee1..9938b8c4de5 100644 --- a/Sources/Services/AWSAuditManager/Sources/AWSAuditManager/AuditManagerClient.swift +++ b/Sources/Services/AWSAuditManager/Sources/AWSAuditManager/AuditManagerClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AuditManagerClient: ClientRuntime.Client { +public class AuditManagerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AuditManagerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AuditManagerClient.AuditManagerClientConfiguration let serviceName = "AuditManager" diff --git a/Sources/Services/AWSAutoScaling/Sources/AWSAutoScaling/AutoScalingClient.swift b/Sources/Services/AWSAutoScaling/Sources/AWSAutoScaling/AutoScalingClient.swift index e106a84567f..a96f13e0d87 100644 --- a/Sources/Services/AWSAutoScaling/Sources/AWSAutoScaling/AutoScalingClient.swift +++ b/Sources/Services/AWSAutoScaling/Sources/AWSAutoScaling/AutoScalingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AutoScalingClient: ClientRuntime.Client { +public class AutoScalingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AutoScalingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AutoScalingClient.AutoScalingClientConfiguration let serviceName = "Auto Scaling" diff --git a/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/AutoScalingPlansClient.swift b/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/AutoScalingPlansClient.swift index c763ff9c329..810641e1917 100644 --- a/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/AutoScalingPlansClient.swift +++ b/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/AutoScalingPlansClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AutoScalingPlansClient: ClientRuntime.Client { +public class AutoScalingPlansClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "AutoScalingPlansClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: AutoScalingPlansClient.AutoScalingPlansClientConfiguration let serviceName = "Auto Scaling Plans" diff --git a/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/Endpoints.swift b/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/Endpoints.swift index e10fdb89b74..766fb4a209a 100644 --- a/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/Endpoints.swift +++ b/Sources/Services/AWSAutoScalingPlans/Sources/AWSAutoScalingPlans/Endpoints.swift @@ -59,7 +59,7 @@ public protocol EndpointResolver { typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" + private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"Region\"},\"us-gov-east-1\"]}],\"endpoint\":{\"url\":\"https://autoscaling-plans.us-gov-east-1.amazonaws.com\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"Region\"},\"us-gov-west-1\"]}],\"endpoint\":{\"url\":\"https://autoscaling-plans.us-gov-west-1.amazonaws.com\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://autoscaling-plans.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" init() throws { try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) diff --git a/Sources/Services/AWSAutoScalingPlans/Tests/AWSAutoScalingPlansTests/EndpointResolverTest.swift b/Sources/Services/AWSAutoScalingPlans/Tests/AWSAutoScalingPlansTests/EndpointResolverTest.swift index 9602519b374..49f8e5a3a8b 100644 --- a/Sources/Services/AWSAutoScalingPlans/Tests/AWSAutoScalingPlansTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSAutoScalingPlans/Tests/AWSAutoScalingPlansTests/EndpointResolverTest.swift @@ -641,8 +641,28 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-gov-east-1 with FIPS enabled and DualStack disabled func testResolve32() throws { + let endpointParams = EndpointParams( + region: "us-gov-east-1", + useDualStack: false, + useFIPS: true + ) + let resolver = try DefaultEndpointResolver() + + let actual = try resolver.resolve(params: endpointParams) + + let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = + [:] + + let headers = SmithyHTTPAPI.Headers() + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://autoscaling-plans.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) + + XCTAssertEqual(expected, actual) + } + + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + func testResolve33() throws { let endpointParams = EndpointParams( region: "us-gov-west-1", useDualStack: false, @@ -661,11 +681,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve33() throws { + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + func testResolve34() throws { let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, + region: "us-gov-west-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -676,16 +696,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://autoscaling-plans-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://autoscaling-plans.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve34() throws { + /// For region us-gov-east-1 with FIPS enabled and DualStack enabled + func testResolve35() throws { let endpointParams = EndpointParams( region: "us-gov-east-1", - useDualStack: false, + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -696,13 +716,13 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://autoscaling-plans-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://autoscaling-plans-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve35() throws { + func testResolve36() throws { let endpointParams = EndpointParams( region: "us-gov-east-1", useDualStack: true, @@ -722,7 +742,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve36() throws { + func testResolve37() throws { let endpointParams = EndpointParams( region: "us-iso-east-1", useDualStack: false, @@ -742,7 +762,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve37() throws { + func testResolve38() throws { let endpointParams = EndpointParams( region: "us-iso-east-1", useDualStack: false, @@ -762,7 +782,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve38() throws { + func testResolve39() throws { let endpointParams = EndpointParams( region: "us-isob-east-1", useDualStack: false, @@ -782,7 +802,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve39() throws { + func testResolve40() throws { let endpointParams = EndpointParams( region: "us-isob-east-1", useDualStack: false, @@ -802,7 +822,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve40() throws { + func testResolve41() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", region: "us-east-1", @@ -823,7 +843,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve41() throws { + func testResolve42() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", useDualStack: false, @@ -843,7 +863,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with fips enabled and dualstack disabled - func testResolve42() throws { + func testResolve43() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", region: "us-east-1", @@ -863,7 +883,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with fips disabled and dualstack enabled - func testResolve43() throws { + func testResolve44() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", region: "us-east-1", @@ -883,7 +903,7 @@ class EndpointResolverTest: XCTestCase { } /// Missing region - func testResolve44() throws { + func testResolve45() throws { let endpointParams = EndpointParams( ) let resolver = try DefaultEndpointResolver() diff --git a/Sources/Services/AWSB2bi/Sources/AWSB2bi/B2biClient.swift b/Sources/Services/AWSB2bi/Sources/AWSB2bi/B2biClient.swift index 59c2391f2e1..c958ab46a43 100644 --- a/Sources/Services/AWSB2bi/Sources/AWSB2bi/B2biClient.swift +++ b/Sources/Services/AWSB2bi/Sources/AWSB2bi/B2biClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class B2biClient: ClientRuntime.Client { +public class B2biClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "B2biClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: B2biClient.B2biClientConfiguration let serviceName = "b2bi" diff --git a/Sources/Services/AWSBCMDashboards/Sources/AWSBCMDashboards/BCMDashboardsClient.swift b/Sources/Services/AWSBCMDashboards/Sources/AWSBCMDashboards/BCMDashboardsClient.swift index 9be53ff12f5..2edc39b8804 100644 --- a/Sources/Services/AWSBCMDashboards/Sources/AWSBCMDashboards/BCMDashboardsClient.swift +++ b/Sources/Services/AWSBCMDashboards/Sources/AWSBCMDashboards/BCMDashboardsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BCMDashboardsClient: ClientRuntime.Client { +public class BCMDashboardsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BCMDashboardsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BCMDashboardsClient.BCMDashboardsClientConfiguration let serviceName = "BCM Dashboards" diff --git a/Sources/Services/AWSBCMDataExports/Sources/AWSBCMDataExports/BCMDataExportsClient.swift b/Sources/Services/AWSBCMDataExports/Sources/AWSBCMDataExports/BCMDataExportsClient.swift index 6c1e81660ee..232c332702b 100644 --- a/Sources/Services/AWSBCMDataExports/Sources/AWSBCMDataExports/BCMDataExportsClient.swift +++ b/Sources/Services/AWSBCMDataExports/Sources/AWSBCMDataExports/BCMDataExportsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BCMDataExportsClient: ClientRuntime.Client { +public class BCMDataExportsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BCMDataExportsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BCMDataExportsClient.BCMDataExportsClientConfiguration let serviceName = "BCM Data Exports" diff --git a/Sources/Services/AWSBCMPricingCalculator/Sources/AWSBCMPricingCalculator/BCMPricingCalculatorClient.swift b/Sources/Services/AWSBCMPricingCalculator/Sources/AWSBCMPricingCalculator/BCMPricingCalculatorClient.swift index 2822550c8e7..33b6a340f09 100644 --- a/Sources/Services/AWSBCMPricingCalculator/Sources/AWSBCMPricingCalculator/BCMPricingCalculatorClient.swift +++ b/Sources/Services/AWSBCMPricingCalculator/Sources/AWSBCMPricingCalculator/BCMPricingCalculatorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BCMPricingCalculatorClient: ClientRuntime.Client { +public class BCMPricingCalculatorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BCMPricingCalculatorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BCMPricingCalculatorClient.BCMPricingCalculatorClientConfiguration let serviceName = "BCM Pricing Calculator" diff --git a/Sources/Services/AWSBCMRecommendedActions/Sources/AWSBCMRecommendedActions/BCMRecommendedActionsClient.swift b/Sources/Services/AWSBCMRecommendedActions/Sources/AWSBCMRecommendedActions/BCMRecommendedActionsClient.swift index ff7d4b4f912..3b998be7a71 100644 --- a/Sources/Services/AWSBCMRecommendedActions/Sources/AWSBCMRecommendedActions/BCMRecommendedActionsClient.swift +++ b/Sources/Services/AWSBCMRecommendedActions/Sources/AWSBCMRecommendedActions/BCMRecommendedActionsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BCMRecommendedActionsClient: ClientRuntime.Client { +public class BCMRecommendedActionsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BCMRecommendedActionsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BCMRecommendedActionsClient.BCMRecommendedActionsClientConfiguration let serviceName = "BCM Recommended Actions" diff --git a/Sources/Services/AWSBackup/Sources/AWSBackup/BackupClient.swift b/Sources/Services/AWSBackup/Sources/AWSBackup/BackupClient.swift index 1b2619e5a1b..61168e49ce1 100644 --- a/Sources/Services/AWSBackup/Sources/AWSBackup/BackupClient.swift +++ b/Sources/Services/AWSBackup/Sources/AWSBackup/BackupClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BackupClient: ClientRuntime.Client { +public class BackupClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BackupClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BackupClient.BackupClientConfiguration let serviceName = "Backup" diff --git a/Sources/Services/AWSBackup/Sources/AWSBackup/Models.swift b/Sources/Services/AWSBackup/Sources/AWSBackup/Models.swift index e2426dd3bc2..32c3f9e6e6f 100644 --- a/Sources/Services/AWSBackup/Sources/AWSBackup/Models.swift +++ b/Sources/Services/AWSBackup/Sources/AWSBackup/Models.swift @@ -160,7 +160,7 @@ extension BackupClientTypes { /// The backup options for each resource type. public struct AdvancedBackupSetting: Swift.Sendable { - /// Specifies the backup option for a selected resource. This option is only available for Windows VSS backup jobs. Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup. Set to "WindowsVSS":"disabled" to create a regular backup. The WindowsVSS option is not enabled by default. If you specify an invalid option, you get an InvalidParameterValueException exception. For more information about Windows VSS backups, see [Creating a VSS-Enabled Windows Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/windows-backups.html). + /// Specifies the backup option for a selected resource. This option is available for Windows VSS backup jobs and S3 backups. Valid values: Set to "WindowsVSS":"enabled" to enable the WindowsVSS backup option and create a Windows VSS backup. Set to "WindowsVSS":"disabled" to create a regular backup. The WindowsVSS option is not enabled by default. For S3 backups, set to "S3BackupACLs":"disabled" to exclude ACLs from the backup, or "S3BackupObjectTags":"disabled" to exclude object tags from the backup. By default, both ACLs and object tags are included in S3 backups. If you specify an invalid option, you get an InvalidParameterValueException exception. For more information about Windows VSS backups, see [Creating a VSS-Enabled Windows Backup](https://docs.aws.amazon.com/aws-backup/latest/devguide/windows-backups.html). public var backupOptions: [Swift.String: Swift.String]? /// Specifies an object containing resource type and backup options. The only supported resource type is Amazon EC2 instances with Windows Volume Shadow Copy Service (VSS). For a CloudFormation example, see the [sample CloudFormation template to enable Windows VSS](https://docs.aws.amazon.com/aws-backup/latest/devguide/integrate-cloudformation-with-aws-backup.html) in the Backup User Guide. Valid values: EC2. public var resourceType: Swift.String? @@ -453,21 +453,60 @@ extension BackupClientTypes { public var backupPlanArn: Swift.String? /// Uniquely identifies a backup plan. public var backupPlanId: Swift.String? + /// The name of the backup plan that created this recovery point. This provides human-readable context about which backup plan was responsible for the backup job. + public var backupPlanName: Swift.String? /// Version IDs are unique, randomly generated, Unicode, UTF-8 encoded strings that are at most 1,024 bytes long. They cannot be edited. public var backupPlanVersion: Swift.String? + /// The cron expression that defines the schedule for the backup rule. This shows the frequency and timing of when backups are automatically triggered. + public var backupRuleCron: Swift.String? /// Uniquely identifies a rule used to schedule the backup of a selection of resources. public var backupRuleId: Swift.String? + /// The name of the backup rule within the backup plan that created this recovery point. This helps identify which specific rule triggered the backup job. + public var backupRuleName: Swift.String? + /// The timezone used for the backup rule schedule. This provides context for when backups are scheduled to run in the specified timezone. + public var backupRuleTimezone: Swift.String? public init( backupPlanArn: Swift.String? = nil, backupPlanId: Swift.String? = nil, + backupPlanName: Swift.String? = nil, backupPlanVersion: Swift.String? = nil, - backupRuleId: Swift.String? = nil + backupRuleCron: Swift.String? = nil, + backupRuleId: Swift.String? = nil, + backupRuleName: Swift.String? = nil, + backupRuleTimezone: Swift.String? = nil ) { self.backupPlanArn = backupPlanArn self.backupPlanId = backupPlanId + self.backupPlanName = backupPlanName self.backupPlanVersion = backupPlanVersion + self.backupRuleCron = backupRuleCron self.backupRuleId = backupRuleId + self.backupRuleName = backupRuleName + self.backupRuleTimezone = backupRuleTimezone + } + } +} + +extension BackupClientTypes { + + /// Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold. Resource types that can transition to cold storage are listed in the [Feature availability by resource](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource) table. Backup ignores this expression for other resource types. To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for MoveToColdStorageAfterDays and DeleteAfterDays. + public struct Lifecycle: Swift.Sendable { + /// The number of days after creation that a recovery point is deleted. This value must be at least 90 days after the number of days specified in MoveToColdStorageAfterDays. + public var deleteAfterDays: Swift.Int? + /// The number of days after creation that a recovery point is moved to cold storage. + public var moveToColdStorageAfterDays: Swift.Int? + /// If the value is true, your backup plan transitions supported resources to archive (cold) storage tier in accordance with your lifecycle settings. + public var optInToArchiveForSupportedResources: Swift.Bool? + + public init( + deleteAfterDays: Swift.Int? = nil, + moveToColdStorageAfterDays: Swift.Int? = nil, + optInToArchiveForSupportedResources: Swift.Bool? = nil + ) { + self.deleteAfterDays = deleteAfterDays + self.moveToColdStorageAfterDays = moveToColdStorageAfterDays + self.optInToArchiveForSupportedResources = optInToArchiveForSupportedResources } } } @@ -562,12 +601,16 @@ extension BackupClientTypes { public var createdBy: BackupClientTypes.RecoveryPointCreator? /// The date and time a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. public var creationDate: Foundation.Date? + /// The Amazon Resource Name (ARN) of the KMS key used to encrypt the backup. This can be a customer-managed key or an Amazon Web Services managed key, depending on the vault configuration. + public var encryptionKeyArn: Swift.String? /// The date and time a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. public var expectedCompletionDate: Foundation.Date? /// Specifies the IAM role ARN used to create the target recovery point. IAM roles other than the default role must include either AWSBackup or AwsBackup in the role name. For example, arn:aws:iam::123456789012:role/AWSBackupRDSAccess. Role names without those strings lack permissions to perform backup jobs. public var iamRoleArn: Swift.String? /// The date on which the backup job was initiated. public var initiationDate: Foundation.Date? + /// A boolean value indicating whether the backup is encrypted. All backups in Backup are encrypted, but this field indicates the encryption status for transparency. + public var isEncrypted: Swift.Bool /// This is a boolean value indicating this is a parent (composite) backup job. public var isParent: Swift.Bool /// This parameter is the job count for the specified message category. Example strings may include AccessDenied, SUCCESS, AGGREGATE_ALL, and INVALIDPARAMETERS. See [Monitoring](https://docs.aws.amazon.com/aws-backup/latest/devguide/monitoring.html) for a list of MessageCategory strings. The the value ANY returns count of all message categories. AGGREGATE_ALL aggregates job counts for all message categories and returns the sum. @@ -578,6 +621,8 @@ extension BackupClientTypes { public var percentDone: Swift.String? /// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. public var recoveryPointArn: Swift.String? + /// Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold. Resource types that can transition to cold storage are listed in the [Feature availability by resource](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource) table. Backup ignores this expression for other resource types. To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for MoveToColdStorageAfterDays and DeleteAfterDays. + public var recoveryPointLifecycle: BackupClientTypes.Lifecycle? /// An ARN that uniquely identifies a resource. The format of the ARN depends on the resource type. public var resourceArn: Swift.String? /// The non-unique name of the resource that belongs to the specified backup. @@ -590,6 +635,10 @@ extension BackupClientTypes { public var state: BackupClientTypes.BackupJobState? /// A detailed message explaining the status of the job to back up a resource. public var statusMessage: Swift.String? + /// The lock state of the backup vault. For logically air-gapped vaults, this indicates whether the vault is locked in compliance mode. Valid values include LOCKED and UNLOCKED. + public var vaultLockState: Swift.String? + /// The type of backup vault where the recovery point is stored. Valid values are BACKUP_VAULT for standard backup vaults and LOGICALLY_AIR_GAPPED_BACKUP_VAULT for logically air-gapped vaults. + public var vaultType: Swift.String? public init( accountId: Swift.String? = nil, @@ -603,20 +652,25 @@ extension BackupClientTypes { completionDate: Foundation.Date? = nil, createdBy: BackupClientTypes.RecoveryPointCreator? = nil, creationDate: Foundation.Date? = nil, + encryptionKeyArn: Swift.String? = nil, expectedCompletionDate: Foundation.Date? = nil, iamRoleArn: Swift.String? = nil, initiationDate: Foundation.Date? = nil, + isEncrypted: Swift.Bool = false, isParent: Swift.Bool = false, messageCategory: Swift.String? = nil, parentJobId: Swift.String? = nil, percentDone: Swift.String? = nil, recoveryPointArn: Swift.String? = nil, + recoveryPointLifecycle: BackupClientTypes.Lifecycle? = nil, resourceArn: Swift.String? = nil, resourceName: Swift.String? = nil, resourceType: Swift.String? = nil, startBy: Foundation.Date? = nil, state: BackupClientTypes.BackupJobState? = nil, - statusMessage: Swift.String? = nil + statusMessage: Swift.String? = nil, + vaultLockState: Swift.String? = nil, + vaultType: Swift.String? = nil ) { self.accountId = accountId self.backupJobId = backupJobId @@ -629,20 +683,25 @@ extension BackupClientTypes { self.completionDate = completionDate self.createdBy = createdBy self.creationDate = creationDate + self.encryptionKeyArn = encryptionKeyArn self.expectedCompletionDate = expectedCompletionDate self.iamRoleArn = iamRoleArn self.initiationDate = initiationDate + self.isEncrypted = isEncrypted self.isParent = isParent self.messageCategory = messageCategory self.parentJobId = parentJobId self.percentDone = percentDone self.recoveryPointArn = recoveryPointArn + self.recoveryPointLifecycle = recoveryPointLifecycle self.resourceArn = resourceArn self.resourceName = resourceName self.resourceType = resourceType self.startBy = startBy self.state = state self.statusMessage = statusMessage + self.vaultLockState = vaultLockState + self.vaultType = vaultType } } } @@ -746,29 +805,6 @@ extension BackupClientTypes { } } -extension BackupClientTypes { - - /// Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold. Resource types that can transition to cold storage are listed in the [Feature availability by resource](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource) table. Backup ignores this expression for other resource types. To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for MoveToColdStorageAfterDays and DeleteAfterDays. - public struct Lifecycle: Swift.Sendable { - /// The number of days after creation that a recovery point is deleted. This value must be at least 90 days after the number of days specified in MoveToColdStorageAfterDays. - public var deleteAfterDays: Swift.Int? - /// The number of days after creation that a recovery point is moved to cold storage. - public var moveToColdStorageAfterDays: Swift.Int? - /// If the value is true, your backup plan transitions supported resources to archive (cold) storage tier in accordance with your lifecycle settings. - public var optInToArchiveForSupportedResources: Swift.Bool? - - public init( - deleteAfterDays: Swift.Int? = nil, - moveToColdStorageAfterDays: Swift.Int? = nil, - optInToArchiveForSupportedResources: Swift.Bool? = nil - ) { - self.deleteAfterDays = deleteAfterDays - self.moveToColdStorageAfterDays = moveToColdStorageAfterDays - self.optInToArchiveForSupportedResources = optInToArchiveForSupportedResources - } - } -} - extension BackupClientTypes { /// The details of the copy operation. @@ -1650,8 +1686,16 @@ extension BackupClientTypes { public var creationDate: Foundation.Date? /// An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for example, arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault. public var destinationBackupVaultArn: Swift.String? + /// The Amazon Resource Name (ARN) of the KMS key used to encrypt the copied backup in the destination vault. This can be a customer-managed key or an Amazon Web Services managed key. + public var destinationEncryptionKeyArn: Swift.String? /// An ARN that uniquely identifies a destination recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. public var destinationRecoveryPointArn: Swift.String? + /// Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold. Resource types that can transition to cold storage are listed in the [Feature availability by resource](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource) table. Backup ignores this expression for other resource types. To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for MoveToColdStorageAfterDays and DeleteAfterDays. + public var destinationRecoveryPointLifecycle: BackupClientTypes.Lifecycle? + /// The lock state of the destination backup vault. For logically air-gapped vaults, this indicates whether the vault is locked in compliance mode. Valid values include LOCKED and UNLOCKED. + public var destinationVaultLockState: Swift.String? + /// The type of destination backup vault where the copied recovery point is stored. Valid values are BACKUP_VAULT for standard backup vaults and LOGICALLY_AIR_GAPPED_BACKUP_VAULT for logically air-gapped vaults. + public var destinationVaultType: Swift.String? /// Specifies the IAM role ARN used to copy the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access. public var iamRoleArn: Swift.String? /// This is a boolean value indicating this is a parent (composite) copy job. @@ -1687,7 +1731,11 @@ extension BackupClientTypes { createdBy: BackupClientTypes.RecoveryPointCreator? = nil, creationDate: Foundation.Date? = nil, destinationBackupVaultArn: Swift.String? = nil, + destinationEncryptionKeyArn: Swift.String? = nil, destinationRecoveryPointArn: Swift.String? = nil, + destinationRecoveryPointLifecycle: BackupClientTypes.Lifecycle? = nil, + destinationVaultLockState: Swift.String? = nil, + destinationVaultType: Swift.String? = nil, iamRoleArn: Swift.String? = nil, isParent: Swift.Bool = false, messageCategory: Swift.String? = nil, @@ -1710,7 +1758,11 @@ extension BackupClientTypes { self.createdBy = createdBy self.creationDate = creationDate self.destinationBackupVaultArn = destinationBackupVaultArn + self.destinationEncryptionKeyArn = destinationEncryptionKeyArn self.destinationRecoveryPointArn = destinationRecoveryPointArn + self.destinationRecoveryPointLifecycle = destinationRecoveryPointLifecycle + self.destinationVaultLockState = destinationVaultLockState + self.destinationVaultType = destinationVaultType self.iamRoleArn = iamRoleArn self.isParent = isParent self.messageCategory = messageCategory @@ -3037,12 +3089,16 @@ public struct DescribeBackupJobOutput: Swift.Sendable { public var createdBy: BackupClientTypes.RecoveryPointCreator? /// The date and time that a backup job is created, in Unix format and Coordinated Universal Time (UTC). The value of CreationDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. public var creationDate: Foundation.Date? + /// The Amazon Resource Name (ARN) of the KMS key used to encrypt the backup. This can be a customer-managed key or an Amazon Web Services managed key, depending on the vault configuration. + public var encryptionKeyArn: Swift.String? /// The date and time that a job to back up resources is expected to be completed, in Unix format and Coordinated Universal Time (UTC). The value of ExpectedCompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. public var expectedCompletionDate: Foundation.Date? /// Specifies the IAM role ARN used to create the target recovery point; for example, arn:aws:iam::123456789012:role/S3Access. public var iamRoleArn: Swift.String? /// The date a backup job was initiated. public var initiationDate: Foundation.Date? + /// A boolean value indicating whether the backup is encrypted. All backups in Backup are encrypted, but this field indicates the encryption status for transparency. + public var isEncrypted: Swift.Bool /// This returns the boolean value that a backup job is a parent (composite) job. public var isParent: Swift.Bool /// The job count for the specified message category. Example strings may include AccessDenied, SUCCESS, AGGREGATE_ALL, and INVALIDPARAMETERS. View [Monitoring](https://docs.aws.amazon.com/aws-backup/latest/devguide/monitoring.html) for a list of accepted MessageCategory strings. @@ -3055,6 +3111,8 @@ public struct DescribeBackupJobOutput: Swift.Sendable { public var percentDone: Swift.String? /// An ARN that uniquely identifies a recovery point; for example, arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45. public var recoveryPointArn: Swift.String? + /// Specifies the time period, in days, before a recovery point transitions to cold storage or is deleted. Backups transitioned to cold storage must be stored in cold storage for a minimum of 90 days. Therefore, on the console, the retention setting must be 90 days greater than the transition to cold after days setting. The transition to cold after days setting can't be changed after a backup has been transitioned to cold. Resource types that can transition to cold storage are listed in the [Feature availability by resource](https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-feature-availability.html#features-by-resource) table. Backup ignores this expression for other resource types. To remove the existing lifecycle and retention periods and keep your recovery points indefinitely, specify -1 for MoveToColdStorageAfterDays and DeleteAfterDays. + public var recoveryPointLifecycle: BackupClientTypes.Lifecycle? /// An ARN that uniquely identifies a saved resource. The format of the ARN depends on the resource type. public var resourceArn: Swift.String? /// The non-unique name of the resource that belongs to the specified backup. @@ -3067,6 +3125,10 @@ public struct DescribeBackupJobOutput: Swift.Sendable { public var state: BackupClientTypes.BackupJobState? /// A detailed message explaining the status of the job to back up a resource. public var statusMessage: Swift.String? + /// The lock state of the backup vault. For logically air-gapped vaults, this indicates whether the vault is locked in compliance mode. Valid values include LOCKED and UNLOCKED. + public var vaultLockState: Swift.String? + /// The type of backup vault where the recovery point is stored. Valid values are BACKUP_VAULT for standard backup vaults and LOGICALLY_AIR_GAPPED_BACKUP_VAULT for logically air-gapped vaults. + public var vaultType: Swift.String? public init( accountId: Swift.String? = nil, @@ -3081,21 +3143,26 @@ public struct DescribeBackupJobOutput: Swift.Sendable { completionDate: Foundation.Date? = nil, createdBy: BackupClientTypes.RecoveryPointCreator? = nil, creationDate: Foundation.Date? = nil, + encryptionKeyArn: Swift.String? = nil, expectedCompletionDate: Foundation.Date? = nil, iamRoleArn: Swift.String? = nil, initiationDate: Foundation.Date? = nil, + isEncrypted: Swift.Bool = false, isParent: Swift.Bool = false, messageCategory: Swift.String? = nil, numberOfChildJobs: Swift.Int? = nil, parentJobId: Swift.String? = nil, percentDone: Swift.String? = nil, recoveryPointArn: Swift.String? = nil, + recoveryPointLifecycle: BackupClientTypes.Lifecycle? = nil, resourceArn: Swift.String? = nil, resourceName: Swift.String? = nil, resourceType: Swift.String? = nil, startBy: Foundation.Date? = nil, state: BackupClientTypes.BackupJobState? = nil, - statusMessage: Swift.String? = nil + statusMessage: Swift.String? = nil, + vaultLockState: Swift.String? = nil, + vaultType: Swift.String? = nil ) { self.accountId = accountId self.backupJobId = backupJobId @@ -3109,21 +3176,26 @@ public struct DescribeBackupJobOutput: Swift.Sendable { self.completionDate = completionDate self.createdBy = createdBy self.creationDate = creationDate + self.encryptionKeyArn = encryptionKeyArn self.expectedCompletionDate = expectedCompletionDate self.iamRoleArn = iamRoleArn self.initiationDate = initiationDate + self.isEncrypted = isEncrypted self.isParent = isParent self.messageCategory = messageCategory self.numberOfChildJobs = numberOfChildJobs self.parentJobId = parentJobId self.percentDone = percentDone self.recoveryPointArn = recoveryPointArn + self.recoveryPointLifecycle = recoveryPointLifecycle self.resourceArn = resourceArn self.resourceName = resourceName self.resourceType = resourceType self.startBy = startBy self.state = state self.statusMessage = statusMessage + self.vaultLockState = vaultLockState + self.vaultType = vaultType } } @@ -4003,6 +4075,8 @@ public struct DescribeRestoreJobOutput: Swift.Sendable { public var accountId: Swift.String? /// The size, in bytes, of the restored resource. public var backupSizeInBytes: Swift.Int? + /// The Amazon Resource Name (ARN) of the backup vault containing the recovery point being restored. This helps identify vault access policies and permissions. + public var backupVaultArn: Swift.String? /// The date and time that a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. public var completionDate: Foundation.Date? /// Contains identifying information about the creation of a restore job. @@ -4029,6 +4103,8 @@ public struct DescribeRestoreJobOutput: Swift.Sendable { public var resourceType: Swift.String? /// Uniquely identifies the job that restores a recovery point. public var restoreJobId: Swift.String? + /// The Amazon Resource Name (ARN) of the original resource that was backed up. This provides context about what resource is being restored. + public var sourceResourceArn: Swift.String? /// Status code specifying the state of the job that is initiated by Backup to restore a recovery point. public var status: BackupClientTypes.RestoreJobStatus? /// A message showing the status of a job to restore a recovery point. @@ -4041,6 +4117,7 @@ public struct DescribeRestoreJobOutput: Swift.Sendable { public init( accountId: Swift.String? = nil, backupSizeInBytes: Swift.Int? = nil, + backupVaultArn: Swift.String? = nil, completionDate: Foundation.Date? = nil, createdBy: BackupClientTypes.RestoreJobCreator? = nil, createdResourceArn: Swift.String? = nil, @@ -4054,6 +4131,7 @@ public struct DescribeRestoreJobOutput: Swift.Sendable { recoveryPointCreationDate: Foundation.Date? = nil, resourceType: Swift.String? = nil, restoreJobId: Swift.String? = nil, + sourceResourceArn: Swift.String? = nil, status: BackupClientTypes.RestoreJobStatus? = nil, statusMessage: Swift.String? = nil, validationStatus: BackupClientTypes.RestoreValidationStatus? = nil, @@ -4061,6 +4139,7 @@ public struct DescribeRestoreJobOutput: Swift.Sendable { ) { self.accountId = accountId self.backupSizeInBytes = backupSizeInBytes + self.backupVaultArn = backupVaultArn self.completionDate = completionDate self.createdBy = createdBy self.createdResourceArn = createdResourceArn @@ -4074,6 +4153,7 @@ public struct DescribeRestoreJobOutput: Swift.Sendable { self.recoveryPointCreationDate = recoveryPointCreationDate self.resourceType = resourceType self.restoreJobId = restoreJobId + self.sourceResourceArn = sourceResourceArn self.status = status self.statusMessage = statusMessage self.validationStatus = validationStatus @@ -6405,6 +6485,8 @@ extension BackupClientTypes { public var accountId: Swift.String? /// The size, in bytes, of the restored resource. public var backupSizeInBytes: Swift.Int? + /// The Amazon Resource Name (ARN) of the backup vault containing the recovery point being restored. This helps identify vault access policies and permissions. + public var backupVaultArn: Swift.String? /// The date and time a job to restore a recovery point is completed, in Unix format and Coordinated Universal Time (UTC). The value of CompletionDate is accurate to milliseconds. For example, the value 1516925490.087 represents Friday, January 26, 2018 12:11:30.087 AM. public var completionDate: Foundation.Date? /// Contains identifying information about the creation of a restore job. @@ -6431,6 +6513,8 @@ extension BackupClientTypes { public var resourceType: Swift.String? /// Uniquely identifies the job that restores a recovery point. public var restoreJobId: Swift.String? + /// The Amazon Resource Name (ARN) of the original resource that was backed up. This provides context about what resource is being restored. + public var sourceResourceArn: Swift.String? /// A status code specifying the state of the job initiated by Backup to restore a recovery point. public var status: BackupClientTypes.RestoreJobStatus? /// A detailed message explaining the status of the job to restore a recovery point. @@ -6443,6 +6527,7 @@ extension BackupClientTypes { public init( accountId: Swift.String? = nil, backupSizeInBytes: Swift.Int? = nil, + backupVaultArn: Swift.String? = nil, completionDate: Foundation.Date? = nil, createdBy: BackupClientTypes.RestoreJobCreator? = nil, createdResourceArn: Swift.String? = nil, @@ -6456,6 +6541,7 @@ extension BackupClientTypes { recoveryPointCreationDate: Foundation.Date? = nil, resourceType: Swift.String? = nil, restoreJobId: Swift.String? = nil, + sourceResourceArn: Swift.String? = nil, status: BackupClientTypes.RestoreJobStatus? = nil, statusMessage: Swift.String? = nil, validationStatus: BackupClientTypes.RestoreValidationStatus? = nil, @@ -6463,6 +6549,7 @@ extension BackupClientTypes { ) { self.accountId = accountId self.backupSizeInBytes = backupSizeInBytes + self.backupVaultArn = backupVaultArn self.completionDate = completionDate self.createdBy = createdBy self.createdResourceArn = createdResourceArn @@ -6476,6 +6563,7 @@ extension BackupClientTypes { self.recoveryPointCreationDate = recoveryPointCreationDate self.resourceType = resourceType self.restoreJobId = restoreJobId + self.sourceResourceArn = sourceResourceArn self.status = status self.statusMessage = statusMessage self.validationStatus = validationStatus @@ -10091,21 +10179,26 @@ extension DescribeBackupJobOutput { value.completionDate = try reader["CompletionDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.createdBy = try reader["CreatedBy"].readIfPresent(with: BackupClientTypes.RecoveryPointCreator.read(from:)) value.creationDate = try reader["CreationDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.encryptionKeyArn = try reader["EncryptionKeyArn"].readIfPresent() value.expectedCompletionDate = try reader["ExpectedCompletionDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.iamRoleArn = try reader["IamRoleArn"].readIfPresent() value.initiationDate = try reader["InitiationDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.isEncrypted = try reader["IsEncrypted"].readIfPresent() ?? false value.isParent = try reader["IsParent"].readIfPresent() ?? false value.messageCategory = try reader["MessageCategory"].readIfPresent() value.numberOfChildJobs = try reader["NumberOfChildJobs"].readIfPresent() value.parentJobId = try reader["ParentJobId"].readIfPresent() value.percentDone = try reader["PercentDone"].readIfPresent() value.recoveryPointArn = try reader["RecoveryPointArn"].readIfPresent() + value.recoveryPointLifecycle = try reader["RecoveryPointLifecycle"].readIfPresent(with: BackupClientTypes.Lifecycle.read(from:)) value.resourceArn = try reader["ResourceArn"].readIfPresent() value.resourceName = try reader["ResourceName"].readIfPresent() value.resourceType = try reader["ResourceType"].readIfPresent() value.startBy = try reader["StartBy"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.state = try reader["State"].readIfPresent() value.statusMessage = try reader["StatusMessage"].readIfPresent() + value.vaultLockState = try reader["VaultLockState"].readIfPresent() + value.vaultType = try reader["VaultType"].readIfPresent() return value } } @@ -10285,6 +10378,7 @@ extension DescribeRestoreJobOutput { var value = DescribeRestoreJobOutput() value.accountId = try reader["AccountId"].readIfPresent() value.backupSizeInBytes = try reader["BackupSizeInBytes"].readIfPresent() + value.backupVaultArn = try reader["BackupVaultArn"].readIfPresent() value.completionDate = try reader["CompletionDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.createdBy = try reader["CreatedBy"].readIfPresent(with: BackupClientTypes.RestoreJobCreator.read(from:)) value.createdResourceArn = try reader["CreatedResourceArn"].readIfPresent() @@ -10298,6 +10392,7 @@ extension DescribeRestoreJobOutput { value.recoveryPointCreationDate = try reader["RecoveryPointCreationDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.resourceType = try reader["ResourceType"].readIfPresent() value.restoreJobId = try reader["RestoreJobId"].readIfPresent() + value.sourceResourceArn = try reader["SourceResourceArn"].readIfPresent() value.status = try reader["Status"].readIfPresent() value.statusMessage = try reader["StatusMessage"].readIfPresent() value.validationStatus = try reader["ValidationStatus"].readIfPresent() @@ -13018,6 +13113,25 @@ extension BackupClientTypes.DateRange { } } +extension BackupClientTypes.Lifecycle { + + static func write(value: BackupClientTypes.Lifecycle?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["DeleteAfterDays"].write(value.deleteAfterDays) + try writer["MoveToColdStorageAfterDays"].write(value.moveToColdStorageAfterDays) + try writer["OptInToArchiveForSupportedResources"].write(value.optInToArchiveForSupportedResources) + } + + static func read(from reader: SmithyJSON.Reader) throws -> BackupClientTypes.Lifecycle { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BackupClientTypes.Lifecycle() + value.moveToColdStorageAfterDays = try reader["MoveToColdStorageAfterDays"].readIfPresent() + value.deleteAfterDays = try reader["DeleteAfterDays"].readIfPresent() + value.optInToArchiveForSupportedResources = try reader["OptInToArchiveForSupportedResources"].readIfPresent() + return value + } +} + extension BackupClientTypes.RecoveryPointCreator { static func read(from reader: SmithyJSON.Reader) throws -> BackupClientTypes.RecoveryPointCreator { @@ -13025,8 +13139,12 @@ extension BackupClientTypes.RecoveryPointCreator { var value = BackupClientTypes.RecoveryPointCreator() value.backupPlanId = try reader["BackupPlanId"].readIfPresent() value.backupPlanArn = try reader["BackupPlanArn"].readIfPresent() + value.backupPlanName = try reader["BackupPlanName"].readIfPresent() value.backupPlanVersion = try reader["BackupPlanVersion"].readIfPresent() value.backupRuleId = try reader["BackupRuleId"].readIfPresent() + value.backupRuleName = try reader["BackupRuleName"].readIfPresent() + value.backupRuleCron = try reader["BackupRuleCron"].readIfPresent() + value.backupRuleTimezone = try reader["BackupRuleTimezone"].readIfPresent() return value } } @@ -13055,7 +13173,11 @@ extension BackupClientTypes.CopyJob { value.sourceBackupVaultArn = try reader["SourceBackupVaultArn"].readIfPresent() value.sourceRecoveryPointArn = try reader["SourceRecoveryPointArn"].readIfPresent() value.destinationBackupVaultArn = try reader["DestinationBackupVaultArn"].readIfPresent() + value.destinationVaultType = try reader["DestinationVaultType"].readIfPresent() + value.destinationVaultLockState = try reader["DestinationVaultLockState"].readIfPresent() value.destinationRecoveryPointArn = try reader["DestinationRecoveryPointArn"].readIfPresent() + value.destinationEncryptionKeyArn = try reader["DestinationEncryptionKeyArn"].readIfPresent() + value.destinationRecoveryPointLifecycle = try reader["DestinationRecoveryPointLifecycle"].readIfPresent(with: BackupClientTypes.Lifecycle.read(from:)) value.resourceArn = try reader["ResourceArn"].readIfPresent() value.creationDate = try reader["CreationDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.completionDate = try reader["CompletionDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) @@ -13142,25 +13264,6 @@ extension BackupClientTypes.CalculatedLifecycle { } } -extension BackupClientTypes.Lifecycle { - - static func write(value: BackupClientTypes.Lifecycle?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DeleteAfterDays"].write(value.deleteAfterDays) - try writer["MoveToColdStorageAfterDays"].write(value.moveToColdStorageAfterDays) - try writer["OptInToArchiveForSupportedResources"].write(value.optInToArchiveForSupportedResources) - } - - static func read(from reader: SmithyJSON.Reader) throws -> BackupClientTypes.Lifecycle { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BackupClientTypes.Lifecycle() - value.moveToColdStorageAfterDays = try reader["MoveToColdStorageAfterDays"].readIfPresent() - value.deleteAfterDays = try reader["DeleteAfterDays"].readIfPresent() - value.optInToArchiveForSupportedResources = try reader["OptInToArchiveForSupportedResources"].readIfPresent() - return value - } -} - extension BackupClientTypes.ReportJob { static func read(from reader: SmithyJSON.Reader) throws -> BackupClientTypes.ReportJob { @@ -13524,7 +13627,12 @@ extension BackupClientTypes.BackupJob { value.backupJobId = try reader["BackupJobId"].readIfPresent() value.backupVaultName = try reader["BackupVaultName"].readIfPresent() value.backupVaultArn = try reader["BackupVaultArn"].readIfPresent() + value.vaultType = try reader["VaultType"].readIfPresent() + value.vaultLockState = try reader["VaultLockState"].readIfPresent() value.recoveryPointArn = try reader["RecoveryPointArn"].readIfPresent() + value.recoveryPointLifecycle = try reader["RecoveryPointLifecycle"].readIfPresent(with: BackupClientTypes.Lifecycle.read(from:)) + value.encryptionKeyArn = try reader["EncryptionKeyArn"].readIfPresent() + value.isEncrypted = try reader["IsEncrypted"].readIfPresent() ?? false value.resourceArn = try reader["ResourceArn"].readIfPresent() value.creationDate = try reader["CreationDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.completionDate = try reader["CompletionDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) @@ -13818,6 +13926,8 @@ extension BackupClientTypes.RestoreJobsListMember { value.accountId = try reader["AccountId"].readIfPresent() value.restoreJobId = try reader["RestoreJobId"].readIfPresent() value.recoveryPointArn = try reader["RecoveryPointArn"].readIfPresent() + value.sourceResourceArn = try reader["SourceResourceArn"].readIfPresent() + value.backupVaultArn = try reader["BackupVaultArn"].readIfPresent() value.creationDate = try reader["CreationDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.completionDate = try reader["CompletionDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.status = try reader["Status"].readIfPresent() diff --git a/Sources/Services/AWSBackupGateway/Sources/AWSBackupGateway/BackupGatewayClient.swift b/Sources/Services/AWSBackupGateway/Sources/AWSBackupGateway/BackupGatewayClient.swift index cbfbf84a29f..9b3d9484e49 100644 --- a/Sources/Services/AWSBackupGateway/Sources/AWSBackupGateway/BackupGatewayClient.swift +++ b/Sources/Services/AWSBackupGateway/Sources/AWSBackupGateway/BackupGatewayClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BackupGatewayClient: ClientRuntime.Client { +public class BackupGatewayClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BackupGatewayClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BackupGatewayClient.BackupGatewayClientConfiguration let serviceName = "Backup Gateway" diff --git a/Sources/Services/AWSBackupSearch/Sources/AWSBackupSearch/BackupSearchClient.swift b/Sources/Services/AWSBackupSearch/Sources/AWSBackupSearch/BackupSearchClient.swift index ea809d4f3f1..be277db96c3 100644 --- a/Sources/Services/AWSBackupSearch/Sources/AWSBackupSearch/BackupSearchClient.swift +++ b/Sources/Services/AWSBackupSearch/Sources/AWSBackupSearch/BackupSearchClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BackupSearchClient: ClientRuntime.Client { +public class BackupSearchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BackupSearchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BackupSearchClient.BackupSearchClientConfiguration let serviceName = "BackupSearch" diff --git a/Sources/Services/AWSBatch/Sources/AWSBatch/BatchClient.swift b/Sources/Services/AWSBatch/Sources/AWSBatch/BatchClient.swift index fca9a1fad71..6f25840ffd7 100644 --- a/Sources/Services/AWSBatch/Sources/AWSBatch/BatchClient.swift +++ b/Sources/Services/AWSBatch/Sources/AWSBatch/BatchClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BatchClient: ClientRuntime.Client { +public class BatchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BatchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BatchClient.BatchClientConfiguration let serviceName = "Batch" diff --git a/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift b/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift index eab78061c87..d79ac4032e8 100644 --- a/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift +++ b/Sources/Services/AWSBedrock/Sources/AWSBedrock/BedrockClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockClient: ClientRuntime.Client { +public class BedrockClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockClient.BedrockClientConfiguration let serviceName = "Bedrock" @@ -1856,7 +1855,9 @@ extension BedrockClient { /// /// __Possible Exceptions:__ /// - `AccessDeniedException` : The request is denied because of missing access permissions. + /// - `ConflictException` : Error occurred because of a conflict while performing an operation. /// - `InternalServerException` : An internal server error occurred. Retry your request. + /// - `ResourceInUseException` : Thrown when attempting to delete or modify a resource that is currently being used by other resources or operations. For example, trying to delete an Automated Reasoning policy that is referenced by an active guardrail. /// - `ResourceNotFoundException` : The specified resource Amazon Resource Name (ARN) was not found. Check the Amazon Resource Name (ARN) and try your request again. /// - `ThrottlingException` : The number of requests exceeds the limit. Resubmit your request later. /// - `ValidationException` : Input validation failed. Check your request parameters and retry the request. @@ -1883,6 +1884,7 @@ extension BedrockClient { } builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteAutomatedReasoningPolicyInput.urlPathProvider(_:))) builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(DeleteAutomatedReasoningPolicyInput.queryItemProvider(_:))) builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteAutomatedReasoningPolicyOutput.httpOutput(from:), DeleteAutomatedReasoningPolicyOutputError.httpError(from:))) builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) diff --git a/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift b/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift index 72fce1a2719..93e27ee19f9 100644 --- a/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift +++ b/Sources/Services/AWSBedrock/Sources/AWSBedrock/Models.swift @@ -502,6 +502,8 @@ public struct CreateAutomatedReasoningPolicyInput: Swift.Sendable { public var clientRequestToken: Swift.String? /// A description of the Automated Reasoning policy. Use this to provide context about the policy's purpose and the types of validations it performs. public var description: Swift.String? + /// The identifier of the KMS key to use for encrypting the automated reasoning policy and its associated artifacts. If you don't specify a KMS key, Amazon Bedrock uses an KMS managed key for encryption. For enhanced security and control, you can specify a customer managed KMS key. + public var kmsKeyId: Swift.String? /// A unique name for the Automated Reasoning policy. The name must be between 1 and 63 characters and can contain letters, numbers, hyphens, and underscores. /// This member is required. public var name: Swift.String? @@ -513,12 +515,14 @@ public struct CreateAutomatedReasoningPolicyInput: Swift.Sendable { public init( clientRequestToken: Swift.String? = nil, description: Swift.String? = nil, + kmsKeyId: Swift.String? = nil, name: Swift.String? = nil, policyDefinition: BedrockClientTypes.AutomatedReasoningPolicyDefinition? = nil, tags: [BedrockClientTypes.Tag]? = nil ) { self.clientRequestToken = clientRequestToken self.description = description + self.kmsKeyId = kmsKeyId self.name = name self.policyDefinition = policyDefinition self.tags = tags @@ -527,7 +531,7 @@ public struct CreateAutomatedReasoningPolicyInput: Swift.Sendable { extension CreateAutomatedReasoningPolicyInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateAutomatedReasoningPolicyInput(clientRequestToken: \(Swift.String(describing: clientRequestToken)), policyDefinition: \(Swift.String(describing: policyDefinition)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "CreateAutomatedReasoningPolicyInput(clientRequestToken: \(Swift.String(describing: clientRequestToken)), kmsKeyId: \(Swift.String(describing: kmsKeyId)), policyDefinition: \(Swift.String(describing: policyDefinition)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct CreateAutomatedReasoningPolicyOutput: Swift.Sendable { @@ -755,23 +759,6 @@ extension CreateAutomatedReasoningPolicyVersionOutput: Swift.CustomDebugStringCo "CreateAutomatedReasoningPolicyVersionOutput(createdAt: \(Swift.String(describing: createdAt)), definitionHash: \(Swift.String(describing: definitionHash)), policyArn: \(Swift.String(describing: policyArn)), version: \(Swift.String(describing: version)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } -public struct DeleteAutomatedReasoningPolicyInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the Automated Reasoning policy to delete. - /// This member is required. - public var policyArn: Swift.String? - - public init( - policyArn: Swift.String? = nil - ) { - self.policyArn = policyArn - } -} - -public struct DeleteAutomatedReasoningPolicyOutput: Swift.Sendable { - - public init() { } -} - /// Thrown when attempting to delete or modify a resource that is currently being used by other resources or operations. For example, trying to delete an Automated Reasoning policy that is referenced by an active guardrail. public struct ResourceInUseException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -795,6 +782,27 @@ public struct ResourceInUseException: ClientRuntime.ModeledError, AWSClientRunti } } +public struct DeleteAutomatedReasoningPolicyInput: Swift.Sendable { + /// Specifies whether to force delete the automated reasoning policy even if it has active resources. When false, Amazon Bedrock validates if all artifacts have been deleted (e.g. policy version, test case, test result) for a policy before deletion. When true, Amazon Bedrock will delete the policy and all its artifacts without validation. Default is false. + public var force: Swift.Bool? + /// The Amazon Resource Name (ARN) of the Automated Reasoning policy to delete. + /// This member is required. + public var policyArn: Swift.String? + + public init( + force: Swift.Bool? = nil, + policyArn: Swift.String? = nil + ) { + self.force = force + self.policyArn = policyArn + } +} + +public struct DeleteAutomatedReasoningPolicyOutput: Swift.Sendable { + + public init() { } +} + public struct DeleteAutomatedReasoningPolicyBuildWorkflowInput: Swift.Sendable { /// The unique identifier of the build workflow to delete. /// This member is required. @@ -893,6 +901,8 @@ public struct GetAutomatedReasoningPolicyOutput: Swift.Sendable { public var definitionHash: Swift.String? /// The description of the policy. public var description: Swift.String? + /// The Amazon Resource Name (ARN) of the KMS key used to encrypt the automated reasoning policy and its associated artifacts. If a KMS key is not provided during the initial CreateAutomatedReasoningPolicyRequest, the kmsKeyArn won't be included in the GetAutomatedReasoningPolicyResponse. + public var kmsKeyArn: Swift.String? /// The name of the policy. /// This member is required. public var name: Swift.String? @@ -913,6 +923,7 @@ public struct GetAutomatedReasoningPolicyOutput: Swift.Sendable { createdAt: Foundation.Date? = nil, definitionHash: Swift.String? = nil, description: Swift.String? = nil, + kmsKeyArn: Swift.String? = nil, name: Swift.String? = nil, policyArn: Swift.String? = nil, policyId: Swift.String? = nil, @@ -922,6 +933,7 @@ public struct GetAutomatedReasoningPolicyOutput: Swift.Sendable { self.createdAt = createdAt self.definitionHash = definitionHash self.description = description + self.kmsKeyArn = kmsKeyArn self.name = name self.policyArn = policyArn self.policyId = policyId @@ -932,7 +944,7 @@ public struct GetAutomatedReasoningPolicyOutput: Swift.Sendable { extension GetAutomatedReasoningPolicyOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetAutomatedReasoningPolicyOutput(createdAt: \(Swift.String(describing: createdAt)), definitionHash: \(Swift.String(describing: definitionHash)), policyArn: \(Swift.String(describing: policyArn)), policyId: \(Swift.String(describing: policyId)), updatedAt: \(Swift.String(describing: updatedAt)), version: \(Swift.String(describing: version)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "GetAutomatedReasoningPolicyOutput(createdAt: \(Swift.String(describing: createdAt)), definitionHash: \(Swift.String(describing: definitionHash)), kmsKeyArn: \(Swift.String(describing: kmsKeyArn)), policyArn: \(Swift.String(describing: policyArn)), policyId: \(Swift.String(describing: policyId)), updatedAt: \(Swift.String(describing: updatedAt)), version: \(Swift.String(describing: version)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct GetAutomatedReasoningPolicyAnnotationsInput: Swift.Sendable { @@ -12764,6 +12776,18 @@ extension DeleteAutomatedReasoningPolicyInput { } } +extension DeleteAutomatedReasoningPolicyInput { + + static func queryItemProvider(_ value: DeleteAutomatedReasoningPolicyInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let force = value.force { + let forceQueryItem = Smithy.URIQueryItem(name: "force".urlPercentEncoding(), value: Swift.String(force).urlPercentEncoding()) + items.append(forceQueryItem) + } + return items + } +} + extension DeleteAutomatedReasoningPolicyBuildWorkflowInput { static func urlPathProvider(_ value: DeleteAutomatedReasoningPolicyBuildWorkflowInput) -> Swift.String? { @@ -14137,6 +14161,7 @@ extension CreateAutomatedReasoningPolicyInput { guard let value else { return } try writer["clientRequestToken"].write(value.clientRequestToken) try writer["description"].write(value.description) + try writer["kmsKeyId"].write(value.kmsKeyId) try writer["name"].write(value.name) try writer["policyDefinition"].write(value.policyDefinition, with: BedrockClientTypes.AutomatedReasoningPolicyDefinition.write(value:to:)) try writer["tags"].writeList(value.tags, memberWritingClosure: BedrockClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) @@ -14869,6 +14894,7 @@ extension GetAutomatedReasoningPolicyOutput { value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) value.definitionHash = try reader["definitionHash"].readIfPresent() ?? "" value.description = try reader["description"].readIfPresent() + value.kmsKeyArn = try reader["kmsKeyArn"].readIfPresent() value.name = try reader["name"].readIfPresent() ?? "" value.policyArn = try reader["policyArn"].readIfPresent() ?? "" value.policyId = try reader["policyId"].readIfPresent() ?? "" @@ -16137,7 +16163,9 @@ enum DeleteAutomatedReasoningPolicyOutputError { if let error = baseError.customError() { return error } switch baseError.code { case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceInUseException": return try ResourceInUseException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) diff --git a/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift b/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift index d0cb2b67d3b..d6a63db3217 100644 --- a/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift +++ b/Sources/Services/AWSBedrockAgent/Sources/AWSBedrockAgent/BedrockAgentClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockAgentClient: ClientRuntime.Client { +public class BedrockAgentClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockAgentClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockAgentClient.BedrockAgentClientConfiguration let serviceName = "Bedrock Agent" diff --git a/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/BedrockAgentCoreClient.swift b/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/BedrockAgentCoreClient.swift index 3e32144e84e..7631221350a 100644 --- a/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/BedrockAgentCoreClient.swift +++ b/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/BedrockAgentCoreClient.swift @@ -34,7 +34,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -72,9 +72,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockAgentCoreClient: ClientRuntime.Client { +public class BedrockAgentCoreClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockAgentCoreClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockAgentCoreClient.BedrockAgentCoreClientConfiguration let serviceName = "Bedrock AgentCore" @@ -596,6 +595,79 @@ extension BedrockAgentCoreClient { return try await op.execute(input: input) } + /// Performs the `CompleteResourceTokenAuth` operation on the `BedrockAgentCore` service. + /// + /// Confirms the user authentication session for obtaining OAuth2.0 tokens for a resource. + /// + /// - Parameter input: [no documentation found] (Type: `CompleteResourceTokenAuthInput`) + /// + /// - Returns: [no documentation found] (Type: `CompleteResourceTokenAuthOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The exception that occurs when you do not have sufficient permissions to perform an action. Verify that your IAM policy includes the necessary permissions for the operation you are trying to perform. + /// - `InternalServerException` : The exception that occurs when the service encounters an unexpected internal error. This is a temporary condition that will resolve itself with retries. We recommend implementing exponential backoff retry logic in your application. + /// - `ResourceNotFoundException` : The exception that occurs when the specified resource does not exist. This can happen when using an invalid identifier or when trying to access a resource that has been deleted. + /// - `ThrottlingException` : The exception that occurs when the request was denied due to request throttling. This happens when you exceed the allowed request rate for an operation. Reduce the frequency of requests or implement exponential backoff retry logic in your application. + /// - `UnauthorizedException` : This exception is thrown when the JWT bearer token is invalid or not found for OAuth bearer token based access + /// - `ValidationException` : The exception that occurs when the input fails to satisfy the constraints specified by the service. Check the error message for details about which input parameter is invalid and correct your request. + public func completeResourceTokenAuth(input: CompleteResourceTokenAuthInput) async throws -> CompleteResourceTokenAuthOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "completeResourceTokenAuth") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "bedrock-agentcore") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CompleteResourceTokenAuthInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CompleteResourceTokenAuthInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CompleteResourceTokenAuthOutput.httpOutput(from:), CompleteResourceTokenAuthOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("Bedrock AgentCore", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: BedrockAgentCoreClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "BedrockAgentCore") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CompleteResourceTokenAuth") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CreateEvent` operation on the `BedrockAgentCore` service. /// /// Creates an event in an AgentCore Memory resource. Events represent interactions or activities that occur within a session and are associated with specific actors. To use this operation, you must have the bedrock-agentcore:CreateEvent permission. This operation is subject to request rate limiting. diff --git a/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/Models.swift b/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/Models.swift index 91e9f3c3a73..d6a1372a69f 100644 --- a/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/Models.swift +++ b/Sources/Services/AWSBedrockAgentCore/Sources/AWSBedrockAgentCore/Models.swift @@ -324,6 +324,8 @@ public struct GetAgentCardOutput: Swift.Sendable { public struct InvokeAgentRuntimeInput: Swift.Sendable { /// The desired MIME type for the response from the agent runtime. This tells the agent runtime what format to use for the response data. Common values include application/json for JSON data. public var accept: Swift.String? + /// The identifier of the Amazon Web Services account for the agent runtime resource. + public var accountId: Swift.String? /// The Amazon Web Services Resource Name (ARN) of the agent runtime to invoke. The ARN uniquely identifies the agent runtime resource in Amazon Bedrock. /// This member is required. public var agentRuntimeArn: Swift.String? @@ -353,6 +355,7 @@ public struct InvokeAgentRuntimeInput: Swift.Sendable { public init( accept: Swift.String? = nil, + accountId: Swift.String? = nil, agentRuntimeArn: Swift.String? = nil, baggage: Swift.String? = nil, contentType: Swift.String? = nil, @@ -367,6 +370,7 @@ public struct InvokeAgentRuntimeInput: Swift.Sendable { traceState: Swift.String? = nil ) { self.accept = accept + self.accountId = accountId self.agentRuntimeArn = agentRuntimeArn self.baggage = baggage self.contentType = contentType @@ -384,7 +388,7 @@ public struct InvokeAgentRuntimeInput: Swift.Sendable { extension InvokeAgentRuntimeInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "InvokeAgentRuntimeInput(accept: \(Swift.String(describing: accept)), agentRuntimeArn: \(Swift.String(describing: agentRuntimeArn)), baggage: \(Swift.String(describing: baggage)), contentType: \(Swift.String(describing: contentType)), mcpProtocolVersion: \(Swift.String(describing: mcpProtocolVersion)), mcpSessionId: \(Swift.String(describing: mcpSessionId)), qualifier: \(Swift.String(describing: qualifier)), runtimeSessionId: \(Swift.String(describing: runtimeSessionId)), runtimeUserId: \(Swift.String(describing: runtimeUserId)), traceId: \(Swift.String(describing: traceId)), traceParent: \(Swift.String(describing: traceParent)), traceState: \(Swift.String(describing: traceState)), payload: \"CONTENT_REDACTED\")"} + "InvokeAgentRuntimeInput(accept: \(Swift.String(describing: accept)), accountId: \(Swift.String(describing: accountId)), agentRuntimeArn: \(Swift.String(describing: agentRuntimeArn)), baggage: \(Swift.String(describing: baggage)), contentType: \(Swift.String(describing: contentType)), mcpProtocolVersion: \(Swift.String(describing: mcpProtocolVersion)), mcpSessionId: \(Swift.String(describing: mcpSessionId)), qualifier: \(Swift.String(describing: qualifier)), runtimeSessionId: \(Swift.String(describing: runtimeSessionId)), runtimeUserId: \(Swift.String(describing: runtimeUserId)), traceId: \(Swift.String(describing: traceId)), traceParent: \(Swift.String(describing: traceParent)), traceState: \(Swift.String(describing: traceState)), payload: \"CONTENT_REDACTED\")"} } public struct InvokeAgentRuntimeOutput: Swift.Sendable { @@ -1262,6 +1266,40 @@ public struct StopCodeInterpreterSessionOutput: Swift.Sendable { } } +extension BedrockAgentCoreClientTypes { + + /// The OAuth2.0 token or user ID that was used to generate the workload access token used for initiating the user authorization flow to retrieve OAuth2.0 tokens. + public enum UserIdentifier: Swift.Sendable { + /// The OAuth2.0 token issued by the user’s identity provider + case usertoken(Swift.String) + /// The ID of the user for whom you have retrieved a workload access token for + case userid(Swift.String) + case sdkUnknown(Swift.String) + } +} + +public struct CompleteResourceTokenAuthInput: Swift.Sendable { + /// Unique identifier for the user's authentication session for retrieving OAuth2 tokens. This ID tracks the authorization flow state across multiple requests and responses during the OAuth2 authentication process. + /// This member is required. + public var sessionUri: Swift.String? + /// The OAuth2.0 token or user ID that was used to generate the workload access token used for initiating the user authorization flow to retrieve OAuth2.0 tokens. + /// This member is required. + public var userIdentifier: BedrockAgentCoreClientTypes.UserIdentifier? + + public init( + sessionUri: Swift.String? = nil, + userIdentifier: BedrockAgentCoreClientTypes.UserIdentifier? = nil + ) { + self.sessionUri = sessionUri + self.userIdentifier = userIdentifier + } +} + +public struct CompleteResourceTokenAuthOutput: Swift.Sendable { + + public init() { } +} + public struct GetResourceApiKeyInput: Swift.Sendable { /// The credential provider name for the resource from which you are retrieving the API key. /// This member is required. @@ -1333,6 +1371,8 @@ extension BedrockAgentCoreClientTypes { public struct GetResourceOauth2TokenInput: Swift.Sendable { /// A map of custom parameters to include in the authorization request to the resource credential provider. These parameters are in addition to the standard OAuth 2.0 flow parameters, and will not override them. public var customParameters: [Swift.String: Swift.String]? + /// An opaque string that will be sent back to the callback URL provided in resourceOauth2ReturnUrl. This state should be used to protect the callback URL of your application against CSRF attacks by ensuring the response corresponds to the original request. + public var customState: Swift.String? /// Indicates whether to always initiate a new three-legged OAuth (3LO) flow, regardless of any existing session. public var forceAuthentication: Swift.Bool? /// The type of flow to be performed. @@ -1346,32 +1386,67 @@ public struct GetResourceOauth2TokenInput: Swift.Sendable { /// The OAuth scopes being requested. /// This member is required. public var scopes: [Swift.String]? + /// Unique identifier for the user's authentication session for retrieving OAuth2 tokens. This ID tracks the authorization flow state across multiple requests and responses during the OAuth2 authentication process. + public var sessionUri: Swift.String? /// The identity token of the workload from which you want to retrieve the OAuth2 token. /// This member is required. public var workloadIdentityToken: Swift.String? public init( customParameters: [Swift.String: Swift.String]? = nil, + customState: Swift.String? = nil, forceAuthentication: Swift.Bool? = nil, oauth2Flow: BedrockAgentCoreClientTypes.Oauth2FlowType? = nil, resourceCredentialProviderName: Swift.String? = nil, resourceOauth2ReturnUrl: Swift.String? = nil, scopes: [Swift.String]? = nil, + sessionUri: Swift.String? = nil, workloadIdentityToken: Swift.String? = nil ) { self.customParameters = customParameters + self.customState = customState self.forceAuthentication = forceAuthentication self.oauth2Flow = oauth2Flow self.resourceCredentialProviderName = resourceCredentialProviderName self.resourceOauth2ReturnUrl = resourceOauth2ReturnUrl self.scopes = scopes + self.sessionUri = sessionUri self.workloadIdentityToken = workloadIdentityToken } } extension GetResourceOauth2TokenInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetResourceOauth2TokenInput(forceAuthentication: \(Swift.String(describing: forceAuthentication)), oauth2Flow: \(Swift.String(describing: oauth2Flow)), resourceCredentialProviderName: \(Swift.String(describing: resourceCredentialProviderName)), resourceOauth2ReturnUrl: \(Swift.String(describing: resourceOauth2ReturnUrl)), scopes: \(Swift.String(describing: scopes)), customParameters: [keys: \(Swift.String(describing: customParameters?.keys)), values: \"CONTENT_REDACTED\"], workloadIdentityToken: \"CONTENT_REDACTED\")"} + "GetResourceOauth2TokenInput(forceAuthentication: \(Swift.String(describing: forceAuthentication)), oauth2Flow: \(Swift.String(describing: oauth2Flow)), resourceCredentialProviderName: \(Swift.String(describing: resourceCredentialProviderName)), resourceOauth2ReturnUrl: \(Swift.String(describing: resourceOauth2ReturnUrl)), scopes: \(Swift.String(describing: scopes)), sessionUri: \(Swift.String(describing: sessionUri)), customParameters: [keys: \(Swift.String(describing: customParameters?.keys)), values: \"CONTENT_REDACTED\"], customState: \"CONTENT_REDACTED\", workloadIdentityToken: \"CONTENT_REDACTED\")"} +} + +extension BedrockAgentCoreClientTypes { + + public enum SessionStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case failed + case inProgress + case sdkUnknown(Swift.String) + + public static var allCases: [SessionStatus] { + return [ + .failed, + .inProgress + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .failed: return "FAILED" + case .inProgress: return "IN_PROGRESS" + case let .sdkUnknown(s): return s + } + } + } } public struct GetResourceOauth2TokenOutput: Swift.Sendable { @@ -1379,19 +1454,27 @@ public struct GetResourceOauth2TokenOutput: Swift.Sendable { public var accessToken: Swift.String? /// The URL to initiate the authorization process, provided when the access token requires user authorization. public var authorizationUrl: Swift.String? + /// Status indicating whether the user's authorization session is in progress or has failed. This helps determine the next steps in the OAuth2 authentication flow. + public var sessionStatus: BedrockAgentCoreClientTypes.SessionStatus? + /// Unique identifier for the user's authorization session for retrieving OAuth2 tokens. This matches the sessionId from the request and can be used to track the session state. + public var sessionUri: Swift.String? public init( accessToken: Swift.String? = nil, - authorizationUrl: Swift.String? = nil + authorizationUrl: Swift.String? = nil, + sessionStatus: BedrockAgentCoreClientTypes.SessionStatus? = nil, + sessionUri: Swift.String? = nil ) { self.accessToken = accessToken self.authorizationUrl = authorizationUrl + self.sessionStatus = sessionStatus + self.sessionUri = sessionUri } } extension GetResourceOauth2TokenOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetResourceOauth2TokenOutput(authorizationUrl: \(Swift.String(describing: authorizationUrl)), accessToken: \"CONTENT_REDACTED\")"} + "GetResourceOauth2TokenOutput(sessionStatus: \(Swift.String(describing: sessionStatus)), sessionUri: \(Swift.String(describing: sessionUri)), accessToken: \"CONTENT_REDACTED\", authorizationUrl: \"CONTENT_REDACTED\")"} } public struct GetWorkloadAccessTokenInput: Swift.Sendable { @@ -3135,6 +3218,13 @@ extension BatchUpdateMemoryRecordsInput { } } +extension CompleteResourceTokenAuthInput { + + static func urlPathProvider(_ value: CompleteResourceTokenAuthInput) -> Swift.String? { + return "/identities/CompleteResourceTokenAuth" + } +} + extension CreateEventInput { static func urlPathProvider(_ value: CreateEventInput) -> Swift.String? { @@ -3377,6 +3467,10 @@ extension InvokeAgentRuntimeInput { static func queryItemProvider(_ value: InvokeAgentRuntimeInput) throws -> [Smithy.URIQueryItem] { var items = [Smithy.URIQueryItem]() + if let accountId = value.accountId { + let accountIdQueryItem = Smithy.URIQueryItem(name: "accountId".urlPercentEncoding(), value: Swift.String(accountId).urlPercentEncoding()) + items.append(accountIdQueryItem) + } if let qualifier = value.qualifier { let qualifierQueryItem = Smithy.URIQueryItem(name: "qualifier".urlPercentEncoding(), value: Swift.String(qualifier).urlPercentEncoding()) items.append(qualifierQueryItem) @@ -3697,6 +3791,15 @@ extension BatchUpdateMemoryRecordsInput { } } +extension CompleteResourceTokenAuthInput { + + static func write(value: CompleteResourceTokenAuthInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["sessionUri"].write(value.sessionUri) + try writer["userIdentifier"].write(value.userIdentifier, with: BedrockAgentCoreClientTypes.UserIdentifier.write(value:to:)) + } +} + extension CreateEventInput { static func write(value: CreateEventInput?, to writer: SmithyJSON.Writer) throws { @@ -3725,11 +3828,13 @@ extension GetResourceOauth2TokenInput { static func write(value: GetResourceOauth2TokenInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["customParameters"].writeMap(value.customParameters, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + try writer["customState"].write(value.customState) try writer["forceAuthentication"].write(value.forceAuthentication) try writer["oauth2Flow"].write(value.oauth2Flow) try writer["resourceCredentialProviderName"].write(value.resourceCredentialProviderName) try writer["resourceOauth2ReturnUrl"].write(value.resourceOauth2ReturnUrl) try writer["scopes"].writeList(value.scopes, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["sessionUri"].write(value.sessionUri) try writer["workloadIdentityToken"].write(value.workloadIdentityToken) } } @@ -3941,6 +4046,13 @@ extension BatchUpdateMemoryRecordsOutput { } } +extension CompleteResourceTokenAuthOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CompleteResourceTokenAuthOutput { + return CompleteResourceTokenAuthOutput() + } +} + extension CreateEventOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateEventOutput { @@ -4075,6 +4187,8 @@ extension GetResourceOauth2TokenOutput { var value = GetResourceOauth2TokenOutput() value.accessToken = try reader["accessToken"].readIfPresent() value.authorizationUrl = try reader["authorizationUrl"].readIfPresent() + value.sessionStatus = try reader["sessionStatus"].readIfPresent() + value.sessionUri = try reader["sessionUri"].readIfPresent() return value } } @@ -4404,6 +4518,25 @@ enum BatchUpdateMemoryRecordsOutputError { } } +enum CompleteResourceTokenAuthOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnauthorizedException": return try UnauthorizedException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CreateEventOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -5033,12 +5166,12 @@ extension ValidationException { } } -extension InvalidInputException { +extension InternalServerException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InvalidInputException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { let reader = baseError.errorBodyReader - var value = InvalidInputException() - value.properties.message = try reader["message"].readIfPresent() ?? "" + var value = InternalServerException() + value.properties.message = try reader["message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID value.message = baseError.message @@ -5046,11 +5179,11 @@ extension InvalidInputException { } } -extension InternalServerException { +extension ThrottlingException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { let reader = baseError.errorBodyReader - var value = InternalServerException() + var value = ThrottlingException() value.properties.message = try reader["message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID @@ -5059,11 +5192,11 @@ extension InternalServerException { } } -extension RuntimeClientError { +extension UnauthorizedException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> RuntimeClientError { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> UnauthorizedException { let reader = baseError.errorBodyReader - var value = RuntimeClientError() + var value = UnauthorizedException() value.properties.message = try reader["message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID @@ -5072,12 +5205,12 @@ extension RuntimeClientError { } } -extension ThrottlingException { +extension InvalidInputException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InvalidInputException { let reader = baseError.errorBodyReader - var value = ThrottlingException() - value.properties.message = try reader["message"].readIfPresent() + var value = InvalidInputException() + value.properties.message = try reader["message"].readIfPresent() ?? "" value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID value.message = baseError.message @@ -5085,11 +5218,11 @@ extension ThrottlingException { } } -extension UnauthorizedException { +extension RuntimeClientError { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> UnauthorizedException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> RuntimeClientError { let reader = baseError.errorBodyReader - var value = UnauthorizedException() + var value = RuntimeClientError() value.properties.message = try reader["message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID @@ -5633,6 +5766,21 @@ extension BedrockAgentCoreClientTypes.MemoryRecordUpdateInput { } } +extension BedrockAgentCoreClientTypes.UserIdentifier { + + static func write(value: BedrockAgentCoreClientTypes.UserIdentifier?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .userid(userid): + try writer["userId"].write(userid) + case let .usertoken(usertoken): + try writer["userToken"].write(usertoken) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } +} + extension BedrockAgentCoreClientTypes.ToolArguments { static func write(value: BedrockAgentCoreClientTypes.ToolArguments?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/BedrockAgentCoreControlClient.swift b/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/BedrockAgentCoreControlClient.swift index 130c70d8812..0a86724693c 100644 --- a/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/BedrockAgentCoreControlClient.swift +++ b/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/BedrockAgentCoreControlClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockAgentCoreControlClient: ClientRuntime.Client { +public class BedrockAgentCoreControlClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockAgentCoreControlClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockAgentCoreControlClient.BedrockAgentCoreControlClientConfiguration let serviceName = "Bedrock AgentCore Control" diff --git a/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift b/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift index 3eacdb482c3..516bea99211 100644 --- a/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift +++ b/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift @@ -343,9 +343,13 @@ public struct CreateAgentRuntimeEndpointOutput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the AgentCore Runtime endpoint. /// This member is required. public var agentRuntimeEndpointArn: Swift.String? + /// The unique identifier of the AgentCore Runtime. + public var agentRuntimeId: Swift.String? /// The timestamp when the AgentCore Runtime endpoint was created. /// This member is required. public var createdAt: Foundation.Date? + /// The name of the AgentCore Runtime endpoint. + public var endpointName: Swift.String? /// The current status of the AgentCore Runtime endpoint. /// This member is required. public var status: BedrockAgentCoreControlClientTypes.AgentRuntimeEndpointStatus? @@ -356,18 +360,27 @@ public struct CreateAgentRuntimeEndpointOutput: Swift.Sendable { public init( agentRuntimeArn: Swift.String? = nil, agentRuntimeEndpointArn: Swift.String? = nil, + agentRuntimeId: Swift.String? = nil, createdAt: Foundation.Date? = nil, + endpointName: Swift.String? = nil, status: BedrockAgentCoreControlClientTypes.AgentRuntimeEndpointStatus? = nil, targetVersion: Swift.String? = nil ) { self.agentRuntimeArn = agentRuntimeArn self.agentRuntimeEndpointArn = agentRuntimeEndpointArn + self.agentRuntimeId = agentRuntimeId self.createdAt = createdAt + self.endpointName = endpointName self.status = status self.targetVersion = targetVersion } } +extension CreateAgentRuntimeEndpointOutput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "CreateAgentRuntimeEndpointOutput(agentRuntimeArn: \(Swift.String(describing: agentRuntimeArn)), agentRuntimeEndpointArn: \(Swift.String(describing: agentRuntimeEndpointArn)), agentRuntimeId: \(Swift.String(describing: agentRuntimeId)), createdAt: \(Swift.String(describing: createdAt)), status: \(Swift.String(describing: status)), targetVersion: \(Swift.String(describing: targetVersion)), endpointName: \"CONTENT_REDACTED\")"} +} + public struct DeleteAgentRuntimeEndpointInput: Swift.Sendable { /// The unique identifier of the AgentCore Runtime associated with the endpoint. /// This member is required. @@ -395,17 +408,30 @@ extension DeleteAgentRuntimeEndpointInput: Swift.CustomDebugStringConvertible { } public struct DeleteAgentRuntimeEndpointOutput: Swift.Sendable { + /// The unique identifier of the AgentCore Runtime. + public var agentRuntimeId: Swift.String? + /// The name of the AgentCore Runtime endpoint. + public var endpointName: Swift.String? /// The current status of the AgentCore Runtime endpoint deletion. /// This member is required. public var status: BedrockAgentCoreControlClientTypes.AgentRuntimeEndpointStatus? public init( + agentRuntimeId: Swift.String? = nil, + endpointName: Swift.String? = nil, status: BedrockAgentCoreControlClientTypes.AgentRuntimeEndpointStatus? = nil ) { + self.agentRuntimeId = agentRuntimeId + self.endpointName = endpointName self.status = status } } +extension DeleteAgentRuntimeEndpointOutput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "DeleteAgentRuntimeEndpointOutput(agentRuntimeId: \(Swift.String(describing: agentRuntimeId)), status: \(Swift.String(describing: status)), endpointName: \"CONTENT_REDACTED\")"} +} + public struct GetAgentRuntimeEndpointInput: Swift.Sendable { /// The unique identifier of the AgentCore Runtime associated with the endpoint. /// This member is required. @@ -1041,13 +1067,17 @@ public struct DeleteAgentRuntimeInput: Swift.Sendable { } public struct DeleteAgentRuntimeOutput: Swift.Sendable { + /// The unique identifier of the AgentCore Runtime. + public var agentRuntimeId: Swift.String? /// The current status of the AgentCore Runtime deletion. /// This member is required. public var status: BedrockAgentCoreControlClientTypes.AgentRuntimeStatus? public init( + agentRuntimeId: Swift.String? = nil, status: BedrockAgentCoreControlClientTypes.AgentRuntimeStatus? = nil ) { + self.agentRuntimeId = agentRuntimeId self.status = status } } @@ -1478,19 +1508,23 @@ public struct CreateApiKeyCredentialProviderInput: Swift.Sendable { /// The name of the API key credential provider. The name must be unique within your account. /// This member is required. public var name: Swift.String? + /// A map of tag keys and values to assign to the API key credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. + public var tags: [Swift.String: Swift.String]? public init( apiKey: Swift.String? = nil, - name: Swift.String? = nil + name: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil ) { self.apiKey = apiKey self.name = name + self.tags = tags } } extension CreateApiKeyCredentialProviderInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateApiKeyCredentialProviderInput(name: \(Swift.String(describing: name)), apiKey: \"CONTENT_REDACTED\")"} + "CreateApiKeyCredentialProviderInput(name: \(Swift.String(describing: name)), tags: \(Swift.String(describing: tags)), apiKey: \"CONTENT_REDACTED\")"} } extension BedrockAgentCoreControlClientTypes { @@ -1708,6 +1742,22 @@ public struct UpdateApiKeyCredentialProviderOutput: Swift.Sendable { } } +extension BedrockAgentCoreControlClientTypes { + + /// Configuration for enabling browser signing capabilities that allow agents to cryptographically identify themselves to websites using HTTP message signatures. + public struct BrowserSigningConfigInput: Swift.Sendable { + /// Specifies whether browser signing is enabled. When enabled, the browser will cryptographically sign HTTP requests to identify itself as an AI agent to bot control vendors. + /// This member is required. + public var enabled: Swift.Bool + + public init( + enabled: Swift.Bool = false + ) { + self.enabled = enabled + } + } +} + extension BedrockAgentCoreControlClientTypes { public enum BrowserNetworkMode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -1798,6 +1848,8 @@ extension BedrockAgentCoreControlClientTypes { } public struct CreateBrowserInput: Swift.Sendable { + /// The browser signing configuration that enables cryptographic agent identification using HTTP message signatures for web bot authentication. + public var browserSigning: BedrockAgentCoreControlClientTypes.BrowserSigningConfigInput? /// A unique, case-sensitive identifier to ensure that the operation completes no more than one time. If this token matches a previous request, Amazon Bedrock ignores the request but does not return an error. public var clientToken: Swift.String? /// The description of the browser. @@ -1816,6 +1868,7 @@ public struct CreateBrowserInput: Swift.Sendable { public var tags: [Swift.String: Swift.String]? public init( + browserSigning: BedrockAgentCoreControlClientTypes.BrowserSigningConfigInput? = nil, clientToken: Swift.String? = nil, description: Swift.String? = nil, executionRoleArn: Swift.String? = nil, @@ -1824,6 +1877,7 @@ public struct CreateBrowserInput: Swift.Sendable { recording: BedrockAgentCoreControlClientTypes.RecordingConfig? = nil, tags: [Swift.String: Swift.String]? = nil ) { + self.browserSigning = browserSigning self.clientToken = clientToken self.description = description self.executionRoleArn = executionRoleArn @@ -1836,7 +1890,7 @@ public struct CreateBrowserInput: Swift.Sendable { extension CreateBrowserInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateBrowserInput(clientToken: \(Swift.String(describing: clientToken)), executionRoleArn: \(Swift.String(describing: executionRoleArn)), name: \(Swift.String(describing: name)), networkConfiguration: \(Swift.String(describing: networkConfiguration)), recording: \(Swift.String(describing: recording)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\")"} + "CreateBrowserInput(browserSigning: \(Swift.String(describing: browserSigning)), clientToken: \(Swift.String(describing: clientToken)), executionRoleArn: \(Swift.String(describing: executionRoleArn)), name: \(Swift.String(describing: name)), networkConfiguration: \(Swift.String(describing: networkConfiguration)), recording: \(Swift.String(describing: recording)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\")"} } extension BedrockAgentCoreControlClientTypes { @@ -1957,6 +2011,22 @@ public struct GetBrowserInput: Swift.Sendable { } } +extension BedrockAgentCoreControlClientTypes { + + /// The current browser signing configuration that shows whether cryptographic agent identification is enabled for web bot authentication. + public struct BrowserSigningConfigOutput: Swift.Sendable { + /// Indicates whether browser signing is currently enabled for cryptographic agent identification using HTTP message signatures. + /// This member is required. + public var enabled: Swift.Bool + + public init( + enabled: Swift.Bool = false + ) { + self.enabled = enabled + } + } +} + public struct GetBrowserOutput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the browser. /// This member is required. @@ -1964,6 +2034,8 @@ public struct GetBrowserOutput: Swift.Sendable { /// The unique identifier of the browser. /// This member is required. public var browserId: Swift.String? + /// The browser signing configuration that shows whether cryptographic agent identification is enabled for web bot authentication. + public var browserSigning: BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput? /// The timestamp when the browser was created. /// This member is required. public var createdAt: Foundation.Date? @@ -1991,6 +2063,7 @@ public struct GetBrowserOutput: Swift.Sendable { public init( browserArn: Swift.String? = nil, browserId: Swift.String? = nil, + browserSigning: BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput? = nil, createdAt: Foundation.Date? = nil, description: Swift.String? = nil, executionRoleArn: Swift.String? = nil, @@ -2003,6 +2076,7 @@ public struct GetBrowserOutput: Swift.Sendable { ) { self.browserArn = browserArn self.browserId = browserId + self.browserSigning = browserSigning self.createdAt = createdAt self.description = description self.executionRoleArn = executionRoleArn @@ -2017,7 +2091,7 @@ public struct GetBrowserOutput: Swift.Sendable { extension GetBrowserOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetBrowserOutput(browserArn: \(Swift.String(describing: browserArn)), browserId: \(Swift.String(describing: browserId)), createdAt: \(Swift.String(describing: createdAt)), executionRoleArn: \(Swift.String(describing: executionRoleArn)), failureReason: \(Swift.String(describing: failureReason)), lastUpdatedAt: \(Swift.String(describing: lastUpdatedAt)), name: \(Swift.String(describing: name)), networkConfiguration: \(Swift.String(describing: networkConfiguration)), recording: \(Swift.String(describing: recording)), status: \(Swift.String(describing: status)), description: \"CONTENT_REDACTED\")"} + "GetBrowserOutput(browserArn: \(Swift.String(describing: browserArn)), browserId: \(Swift.String(describing: browserId)), browserSigning: \(Swift.String(describing: browserSigning)), createdAt: \(Swift.String(describing: createdAt)), executionRoleArn: \(Swift.String(describing: executionRoleArn)), failureReason: \(Swift.String(describing: failureReason)), lastUpdatedAt: \(Swift.String(describing: lastUpdatedAt)), name: \(Swift.String(describing: name)), networkConfiguration: \(Swift.String(describing: networkConfiguration)), recording: \(Swift.String(describing: recording)), status: \(Swift.String(describing: status)), description: \"CONTENT_REDACTED\")"} } extension BedrockAgentCoreControlClientTypes { @@ -5220,22 +5294,60 @@ public struct UpdateMemoryOutput: Swift.Sendable { extension BedrockAgentCoreControlClientTypes { public enum CredentialProviderVendorType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case atlassianoauth2 + case auth0oauth2 + case cognitooauth2 case customoauth2 + case cyberarkoauth2 + case dropboxoauth2 + case facebookoauth2 + case fusionauthoauth2 case githuboauth2 case googleoauth2 + case hubspotoauth2 + case linkedinoauth2 case microsoftoauth2 + case notionoauth2 + case oktaoauth2 + case oneloginoauth2 + case pingoneoauth2 + case redditoauth2 case salesforceoauth2 case slackoauth2 + case spotifyoauth2 + case twitchoauth2 + case xoauth2 + case yandexoauth2 + case zoomoauth2 case sdkUnknown(Swift.String) public static var allCases: [CredentialProviderVendorType] { return [ + .atlassianoauth2, + .auth0oauth2, + .cognitooauth2, .customoauth2, + .cyberarkoauth2, + .dropboxoauth2, + .facebookoauth2, + .fusionauthoauth2, .githuboauth2, .googleoauth2, + .hubspotoauth2, + .linkedinoauth2, .microsoftoauth2, + .notionoauth2, + .oktaoauth2, + .oneloginoauth2, + .pingoneoauth2, + .redditoauth2, .salesforceoauth2, - .slackoauth2 + .slackoauth2, + .spotifyoauth2, + .twitchoauth2, + .xoauth2, + .yandexoauth2, + .zoomoauth2 ] } @@ -5246,18 +5358,63 @@ extension BedrockAgentCoreControlClientTypes { public var rawValue: Swift.String { switch self { + case .atlassianoauth2: return "AtlassianOauth2" + case .auth0oauth2: return "Auth0Oauth2" + case .cognitooauth2: return "CognitoOauth2" case .customoauth2: return "CustomOauth2" + case .cyberarkoauth2: return "CyberArkOauth2" + case .dropboxoauth2: return "DropboxOauth2" + case .facebookoauth2: return "FacebookOauth2" + case .fusionauthoauth2: return "FusionAuthOauth2" case .githuboauth2: return "GithubOauth2" case .googleoauth2: return "GoogleOauth2" + case .hubspotoauth2: return "HubspotOauth2" + case .linkedinoauth2: return "LinkedinOauth2" case .microsoftoauth2: return "MicrosoftOauth2" + case .notionoauth2: return "NotionOauth2" + case .oktaoauth2: return "OktaOauth2" + case .oneloginoauth2: return "OneLoginOauth2" + case .pingoneoauth2: return "PingOneOauth2" + case .redditoauth2: return "RedditOauth2" case .salesforceoauth2: return "SalesforceOauth2" case .slackoauth2: return "SlackOauth2" + case .spotifyoauth2: return "SpotifyOauth2" + case .twitchoauth2: return "TwitchOauth2" + case .xoauth2: return "XOauth2" + case .yandexoauth2: return "YandexOauth2" + case .zoomoauth2: return "ZoomOauth2" case let .sdkUnknown(s): return s } } } } +extension BedrockAgentCoreControlClientTypes { + + /// Configuration settings for connecting to Atlassian services using OAuth2 authentication. This includes the client credentials required to authenticate with Atlassian's OAuth2 authorization server. + public struct AtlassianOauth2ProviderConfigInput: Swift.Sendable { + /// The client ID for the Atlassian OAuth2 provider. This identifier is assigned by Atlassian when you register your application. + /// This member is required. + public var clientId: Swift.String? + /// The client secret for the Atlassian OAuth2 provider. This secret is assigned by Atlassian and used along with the client ID to authenticate your application. + /// This member is required. + public var clientSecret: Swift.String? + + public init( + clientId: Swift.String? = nil, + clientSecret: Swift.String? = nil + ) { + self.clientId = clientId + self.clientSecret = clientSecret + } + } +} + +extension BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigInput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "AtlassianOauth2ProviderConfigInput(clientId: \(Swift.String(describing: clientId)), clientSecret: \"CONTENT_REDACTED\")"} +} + extension BedrockAgentCoreControlClientTypes { /// Contains the authorization server metadata for an OAuth2 provider. @@ -5273,17 +5430,21 @@ extension BedrockAgentCoreControlClientTypes { /// The token endpoint URL for the OAuth2 authorization server. /// This member is required. public var tokenEndpoint: Swift.String? + /// The authentication methods supported by the token endpoint. This specifies how clients can authenticate when requesting tokens from the authorization server. + public var tokenEndpointAuthMethods: [Swift.String]? public init( authorizationEndpoint: Swift.String? = nil, issuer: Swift.String? = nil, responseTypes: [Swift.String]? = nil, - tokenEndpoint: Swift.String? = nil + tokenEndpoint: Swift.String? = nil, + tokenEndpointAuthMethods: [Swift.String]? = nil ) { self.authorizationEndpoint = authorizationEndpoint self.issuer = issuer self.responseTypes = responseTypes self.tokenEndpoint = tokenEndpoint + self.tokenEndpointAuthMethods = tokenEndpointAuthMethods } } } @@ -5383,6 +5544,70 @@ extension BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigInput: Sw "GoogleOauth2ProviderConfigInput(clientId: \(Swift.String(describing: clientId)), clientSecret: \"CONTENT_REDACTED\")"} } +extension BedrockAgentCoreControlClientTypes { + + /// Configuration settings for connecting to a supported OAuth2 provider. This includes client credentials and OAuth2 discovery information for providers that have built-in support. + public struct IncludedOauth2ProviderConfigInput: Swift.Sendable { + /// OAuth2 authorization endpoint for your isolated OAuth2 application tenant. This is where users are redirected to authenticate and authorize access to their resources. + public var authorizationEndpoint: Swift.String? + /// The client ID for the supported OAuth2 provider. This identifier is assigned by the OAuth2 provider when you register your application. + /// This member is required. + public var clientId: Swift.String? + /// The client secret for the supported OAuth2 provider. This secret is assigned by the OAuth2 provider and used along with the client ID to authenticate your application. + /// This member is required. + public var clientSecret: Swift.String? + /// Token issuer of your isolated OAuth2 application tenant. This URL identifies the authorization server that issues tokens for this provider. + public var issuer: Swift.String? + /// OAuth2 token endpoint for your isolated OAuth2 application tenant. This is where authorization codes are exchanged for access tokens. + public var tokenEndpoint: Swift.String? + + public init( + authorizationEndpoint: Swift.String? = nil, + clientId: Swift.String? = nil, + clientSecret: Swift.String? = nil, + issuer: Swift.String? = nil, + tokenEndpoint: Swift.String? = nil + ) { + self.authorizationEndpoint = authorizationEndpoint + self.clientId = clientId + self.clientSecret = clientSecret + self.issuer = issuer + self.tokenEndpoint = tokenEndpoint + } + } +} + +extension BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigInput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "IncludedOauth2ProviderConfigInput(authorizationEndpoint: \(Swift.String(describing: authorizationEndpoint)), clientId: \(Swift.String(describing: clientId)), issuer: \(Swift.String(describing: issuer)), tokenEndpoint: \(Swift.String(describing: tokenEndpoint)), clientSecret: \"CONTENT_REDACTED\")"} +} + +extension BedrockAgentCoreControlClientTypes { + + /// Configuration settings for connecting to LinkedIn services using OAuth2 authentication. This includes the client credentials required to authenticate with LinkedIn's OAuth2 authorization server. + public struct LinkedinOauth2ProviderConfigInput: Swift.Sendable { + /// The client ID for the LinkedIn OAuth2 provider. This identifier is assigned by LinkedIn when you register your application. + /// This member is required. + public var clientId: Swift.String? + /// The client secret for the LinkedIn OAuth2 provider. This secret is assigned by LinkedIn and used along with the client ID to authenticate your application. + /// This member is required. + public var clientSecret: Swift.String? + + public init( + clientId: Swift.String? = nil, + clientSecret: Swift.String? = nil + ) { + self.clientId = clientId + self.clientSecret = clientSecret + } + } +} + +extension BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigInput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "LinkedinOauth2ProviderConfigInput(clientId: \(Swift.String(describing: clientId)), clientSecret: \"CONTENT_REDACTED\")"} +} + extension BedrockAgentCoreControlClientTypes { /// Input configuration for a Microsoft OAuth2 provider. @@ -5393,20 +5618,24 @@ extension BedrockAgentCoreControlClientTypes { /// The client secret for the Microsoft OAuth2 provider. /// This member is required. public var clientSecret: Swift.String? + /// The Microsoft Entra ID (formerly Azure AD) tenant ID for your organization. This identifies the specific tenant within Microsoft's identity platform where your application is registered. + public var tenantId: Swift.String? public init( clientId: Swift.String? = nil, - clientSecret: Swift.String? = nil + clientSecret: Swift.String? = nil, + tenantId: Swift.String? = nil ) { self.clientId = clientId self.clientSecret = clientSecret + self.tenantId = tenantId } } } extension BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "MicrosoftOauth2ProviderConfigInput(clientId: \(Swift.String(describing: clientId)), clientSecret: \"CONTENT_REDACTED\")"} + "MicrosoftOauth2ProviderConfigInput(clientId: \(Swift.String(describing: clientId)), tenantId: \(Swift.String(describing: tenantId)), clientSecret: \"CONTENT_REDACTED\")"} } extension BedrockAgentCoreControlClientTypes { @@ -5477,6 +5706,12 @@ extension BedrockAgentCoreControlClientTypes { case salesforceoauth2providerconfig(BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigInput) /// The configuration for a Microsoft OAuth2 provider. case microsoftoauth2providerconfig(BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigInput) + /// Configuration settings for Atlassian OAuth2 provider integration. + case atlassianoauth2providerconfig(BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigInput) + /// Configuration settings for LinkedIn OAuth2 provider integration. + case linkedinoauth2providerconfig(BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigInput) + /// The configuration for a non-custom OAuth2 provider. This includes settings for supported OAuth2 providers that have built-in integration support. + case includedoauth2providerconfig(BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigInput) case sdkUnknown(Swift.String) } } @@ -5491,66 +5726,39 @@ public struct CreateOauth2CredentialProviderInput: Swift.Sendable { /// The configuration settings for the OAuth2 provider, including client ID, client secret, and other vendor-specific settings. /// This member is required. public var oauth2ProviderConfigInput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput? + /// A map of tag keys and values to assign to the OAuth2 credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. + public var tags: [Swift.String: Swift.String]? public init( credentialProviderVendor: BedrockAgentCoreControlClientTypes.CredentialProviderVendorType? = nil, name: Swift.String? = nil, - oauth2ProviderConfigInput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput? = nil + oauth2ProviderConfigInput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput? = nil, + tags: [Swift.String: Swift.String]? = nil ) { self.credentialProviderVendor = credentialProviderVendor self.name = name self.oauth2ProviderConfigInput = oauth2ProviderConfigInput + self.tags = tags } } -public struct CreateOauth2CredentialProviderOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager. - /// This member is required. - public var clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? - /// The Amazon Resource Name (ARN) of the OAuth2 credential provider. - /// This member is required. - public var credentialProviderArn: Swift.String? - /// The name of the OAuth2 credential provider. - /// This member is required. - public var name: Swift.String? - - public init( - clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? = nil, - credentialProviderArn: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.clientSecretArn = clientSecretArn - self.credentialProviderArn = credentialProviderArn - self.name = name - } -} - -public struct DeleteOauth2CredentialProviderInput: Swift.Sendable { - /// The name of the OAuth2 credential provider to delete. - /// This member is required. - public var name: Swift.String? - - public init( - name: Swift.String? = nil - ) { - self.name = name - } -} - -public struct DeleteOauth2CredentialProviderOutput: Swift.Sendable { - - public init() { } -} +extension BedrockAgentCoreControlClientTypes { -public struct GetOauth2CredentialProviderInput: Swift.Sendable { - /// The name of the OAuth2 credential provider to retrieve. - /// This member is required. - public var name: Swift.String? + /// The configuration details returned for an Atlassian OAuth2 provider, including the client ID and OAuth2 discovery information. + public struct AtlassianOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the Atlassian OAuth2 provider. + public var clientId: Swift.String? + /// Contains the discovery information for an OAuth2 provider. + /// This member is required. + public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? - public init( - name: Swift.String? = nil - ) { - self.name = name + public init( + clientId: Swift.String? = nil, + oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil + ) { + self.clientId = clientId + self.oauthDiscovery = oauthDiscovery + } } } @@ -5558,13 +5766,17 @@ extension BedrockAgentCoreControlClientTypes { /// Output configuration for a custom OAuth2 provider. public struct CustomOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the custom OAuth2 provider. + public var clientId: Swift.String? /// The OAuth2 discovery information for the custom provider. /// This member is required. public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? public init( + clientId: Swift.String? = nil, oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil ) { + self.clientId = clientId self.oauthDiscovery = oauthDiscovery } } @@ -5574,13 +5786,17 @@ extension BedrockAgentCoreControlClientTypes { /// Output configuration for a GitHub OAuth2 provider. public struct GithubOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the GitHub OAuth2 provider. + public var clientId: Swift.String? /// The OAuth2 discovery information for the GitHub provider. /// This member is required. public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? public init( + clientId: Swift.String? = nil, oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil ) { + self.clientId = clientId self.oauthDiscovery = oauthDiscovery } } @@ -5590,13 +5806,57 @@ extension BedrockAgentCoreControlClientTypes { /// Output configuration for a Google OAuth2 provider. public struct GoogleOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the Google OAuth2 provider. + public var clientId: Swift.String? /// The OAuth2 discovery information for the Google provider. /// This member is required. public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? public init( + clientId: Swift.String? = nil, + oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil + ) { + self.clientId = clientId + self.oauthDiscovery = oauthDiscovery + } + } +} + +extension BedrockAgentCoreControlClientTypes { + + /// The configuration details returned for a supported OAuth2 provider, including client credentials and OAuth2 discovery information. + public struct IncludedOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the supported OAuth2 provider. + public var clientId: Swift.String? + /// Contains the discovery information for an OAuth2 provider. + /// This member is required. + public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? + + public init( + clientId: Swift.String? = nil, + oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil + ) { + self.clientId = clientId + self.oauthDiscovery = oauthDiscovery + } + } +} + +extension BedrockAgentCoreControlClientTypes { + + /// The configuration details returned for a LinkedIn OAuth2 provider, including the client ID and OAuth2 discovery information. + public struct LinkedinOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the LinkedIn OAuth2 provider. + public var clientId: Swift.String? + /// Contains the discovery information for an OAuth2 provider. + /// This member is required. + public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? + + public init( + clientId: Swift.String? = nil, oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil ) { + self.clientId = clientId self.oauthDiscovery = oauthDiscovery } } @@ -5606,13 +5866,17 @@ extension BedrockAgentCoreControlClientTypes { /// Output configuration for a Microsoft OAuth2 provider. public struct MicrosoftOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the Microsoft OAuth2 provider. + public var clientId: Swift.String? /// The OAuth2 discovery information for the Microsoft provider. /// This member is required. public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? public init( + clientId: Swift.String? = nil, oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil ) { + self.clientId = clientId self.oauthDiscovery = oauthDiscovery } } @@ -5622,13 +5886,17 @@ extension BedrockAgentCoreControlClientTypes { /// Output configuration for a Salesforce OAuth2 provider. public struct SalesforceOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the Salesforce OAuth2 provider. + public var clientId: Swift.String? /// The OAuth2 discovery information for the Salesforce provider. /// This member is required. public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? public init( + clientId: Swift.String? = nil, oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil ) { + self.clientId = clientId self.oauthDiscovery = oauthDiscovery } } @@ -5638,13 +5906,17 @@ extension BedrockAgentCoreControlClientTypes { /// Output configuration for a Slack OAuth2 provider. public struct SlackOauth2ProviderConfigOutput: Swift.Sendable { + /// The client ID for the Slack OAuth2 provider. + public var clientId: Swift.String? /// The OAuth2 discovery information for the Slack provider. /// This member is required. public var oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? public init( + clientId: Swift.String? = nil, oauthDiscovery: BedrockAgentCoreControlClientTypes.Oauth2Discovery? = nil ) { + self.clientId = clientId self.oauthDiscovery = oauthDiscovery } } @@ -5666,34 +5938,102 @@ extension BedrockAgentCoreControlClientTypes { case salesforceoauth2providerconfig(BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput) /// The output configuration for a Microsoft OAuth2 provider. case microsoftoauth2providerconfig(BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput) + /// The configuration details for the Atlassian OAuth2 provider. + case atlassianoauth2providerconfig(BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigOutput) + /// The configuration details for the LinkedIn OAuth2 provider. + case linkedinoauth2providerconfig(BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigOutput) + /// The configuration for a non-custom OAuth2 provider. This includes the configuration details for supported OAuth2 providers that have built-in integration support. + case includedoauth2providerconfig(BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigOutput) case sdkUnknown(Swift.String) } } -public struct GetOauth2CredentialProviderOutput: Swift.Sendable { +public struct CreateOauth2CredentialProviderOutput: Swift.Sendable { + /// Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow. + public var callbackUrl: Swift.String? /// The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager. /// This member is required. public var clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? - /// The timestamp when the OAuth2 credential provider was created. - /// This member is required. - public var createdTime: Foundation.Date? - /// ARN of the credential provider requested. + /// The Amazon Resource Name (ARN) of the OAuth2 credential provider. /// This member is required. public var credentialProviderArn: Swift.String? - /// The vendor of the OAuth2 credential provider. - /// This member is required. - public var credentialProviderVendor: BedrockAgentCoreControlClientTypes.CredentialProviderVendorType? - /// The timestamp when the OAuth2 credential provider was last updated. - /// This member is required. - public var lastUpdatedTime: Foundation.Date? /// The name of the OAuth2 credential provider. /// This member is required. public var name: Swift.String? - /// The configuration output for the OAuth2 provider. + /// Contains the output configuration for an OAuth2 provider. + public var oauth2ProviderConfigOutput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput? + + public init( + callbackUrl: Swift.String? = nil, + clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? = nil, + credentialProviderArn: Swift.String? = nil, + name: Swift.String? = nil, + oauth2ProviderConfigOutput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput? = nil + ) { + self.callbackUrl = callbackUrl + self.clientSecretArn = clientSecretArn + self.credentialProviderArn = credentialProviderArn + self.name = name + self.oauth2ProviderConfigOutput = oauth2ProviderConfigOutput + } +} + +public struct DeleteOauth2CredentialProviderInput: Swift.Sendable { + /// The name of the OAuth2 credential provider to delete. + /// This member is required. + public var name: Swift.String? + + public init( + name: Swift.String? = nil + ) { + self.name = name + } +} + +public struct DeleteOauth2CredentialProviderOutput: Swift.Sendable { + + public init() { } +} + +public struct GetOauth2CredentialProviderInput: Swift.Sendable { + /// The name of the OAuth2 credential provider to retrieve. + /// This member is required. + public var name: Swift.String? + + public init( + name: Swift.String? = nil + ) { + self.name = name + } +} + +public struct GetOauth2CredentialProviderOutput: Swift.Sendable { + /// Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow. + public var callbackUrl: Swift.String? + /// The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager. + /// This member is required. + public var clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? + /// The timestamp when the OAuth2 credential provider was created. + /// This member is required. + public var createdTime: Foundation.Date? + /// ARN of the credential provider requested. + /// This member is required. + public var credentialProviderArn: Swift.String? + /// The vendor of the OAuth2 credential provider. + /// This member is required. + public var credentialProviderVendor: BedrockAgentCoreControlClientTypes.CredentialProviderVendorType? + /// The timestamp when the OAuth2 credential provider was last updated. + /// This member is required. + public var lastUpdatedTime: Foundation.Date? + /// The name of the OAuth2 credential provider. + /// This member is required. + public var name: Swift.String? + /// The configuration output for the OAuth2 provider. /// This member is required. public var oauth2ProviderConfigOutput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput? public init( + callbackUrl: Swift.String? = nil, clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? = nil, createdTime: Foundation.Date? = nil, credentialProviderArn: Swift.String? = nil, @@ -5702,6 +6042,7 @@ public struct GetOauth2CredentialProviderOutput: Swift.Sendable { name: Swift.String? = nil, oauth2ProviderConfigOutput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput? = nil ) { + self.callbackUrl = callbackUrl self.clientSecretArn = clientSecretArn self.createdTime = createdTime self.credentialProviderArn = credentialProviderArn @@ -5802,6 +6143,8 @@ public struct UpdateOauth2CredentialProviderInput: Swift.Sendable { } public struct UpdateOauth2CredentialProviderOutput: Swift.Sendable { + /// Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow. + public var callbackUrl: Swift.String? /// The Amazon Resource Name (ARN) of the client secret in AWS Secrets Manager. /// This member is required. public var clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? @@ -5825,6 +6168,7 @@ public struct UpdateOauth2CredentialProviderOutput: Swift.Sendable { public var oauth2ProviderConfigOutput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput? public init( + callbackUrl: Swift.String? = nil, clientSecretArn: BedrockAgentCoreControlClientTypes.Secret? = nil, createdTime: Foundation.Date? = nil, credentialProviderArn: Swift.String? = nil, @@ -5833,6 +6177,7 @@ public struct UpdateOauth2CredentialProviderOutput: Swift.Sendable { name: Swift.String? = nil, oauth2ProviderConfigOutput: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput? = nil ) { + self.callbackUrl = callbackUrl self.clientSecretArn = clientSecretArn self.createdTime = createdTime self.credentialProviderArn = credentialProviderArn @@ -5955,13 +6300,17 @@ public struct CreateWorkloadIdentityInput: Swift.Sendable { /// The name of the workload identity. The name must be unique within your account. /// This member is required. public var name: Swift.String? + /// A map of tag keys and values to assign to the workload identity. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment. + public var tags: [Swift.String: Swift.String]? public init( allowedResourceOauth2ReturnUrls: [Swift.String]? = nil, - name: Swift.String? = nil + name: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil ) { self.allowedResourceOauth2ReturnUrls = allowedResourceOauth2ReturnUrls self.name = name + self.tags = tags } } @@ -7336,6 +7685,7 @@ extension CreateApiKeyCredentialProviderInput { guard let value else { return } try writer["apiKey"].write(value.apiKey) try writer["name"].write(value.name) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) } } @@ -7343,6 +7693,7 @@ extension CreateBrowserInput { static func write(value: CreateBrowserInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["browserSigning"].write(value.browserSigning, with: BedrockAgentCoreControlClientTypes.BrowserSigningConfigInput.write(value:to:)) try writer["clientToken"].write(value.clientToken) try writer["description"].write(value.description) try writer["executionRoleArn"].write(value.executionRoleArn) @@ -7418,6 +7769,7 @@ extension CreateOauth2CredentialProviderInput { try writer["credentialProviderVendor"].write(value.credentialProviderVendor) try writer["name"].write(value.name) try writer["oauth2ProviderConfigInput"].write(value.oauth2ProviderConfigInput, with: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput.write(value:to:)) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) } } @@ -7427,6 +7779,7 @@ extension CreateWorkloadIdentityInput { guard let value else { return } try writer["allowedResourceOauth2ReturnUrls"].writeList(value.allowedResourceOauth2ReturnUrls, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["name"].write(value.name) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) } } @@ -7667,7 +8020,9 @@ extension CreateAgentRuntimeEndpointOutput { var value = CreateAgentRuntimeEndpointOutput() value.agentRuntimeArn = try reader["agentRuntimeArn"].readIfPresent() ?? "" value.agentRuntimeEndpointArn = try reader["agentRuntimeEndpointArn"].readIfPresent() ?? "" + value.agentRuntimeId = try reader["agentRuntimeId"].readIfPresent() value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.endpointName = try reader["endpointName"].readIfPresent() value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") value.targetVersion = try reader["targetVersion"].readIfPresent() ?? "" return value @@ -7787,9 +8142,11 @@ extension CreateOauth2CredentialProviderOutput { let responseReader = try SmithyJSON.Reader.from(data: data) let reader = responseReader var value = CreateOauth2CredentialProviderOutput() + value.callbackUrl = try reader["callbackUrl"].readIfPresent() value.clientSecretArn = try reader["clientSecretArn"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Secret.read(from:)) value.credentialProviderArn = try reader["credentialProviderArn"].readIfPresent() ?? "" value.name = try reader["name"].readIfPresent() ?? "" + value.oauth2ProviderConfigOutput = try reader["oauth2ProviderConfigOutput"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput.read(from:)) return value } } @@ -7815,6 +8172,7 @@ extension DeleteAgentRuntimeOutput { let responseReader = try SmithyJSON.Reader.from(data: data) let reader = responseReader var value = DeleteAgentRuntimeOutput() + value.agentRuntimeId = try reader["agentRuntimeId"].readIfPresent() value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") return value } @@ -7827,6 +8185,8 @@ extension DeleteAgentRuntimeEndpointOutput { let responseReader = try SmithyJSON.Reader.from(data: data) let reader = responseReader var value = DeleteAgentRuntimeEndpointOutput() + value.agentRuntimeId = try reader["agentRuntimeId"].readIfPresent() + value.endpointName = try reader["endpointName"].readIfPresent() value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") return value } @@ -7998,6 +8358,7 @@ extension GetBrowserOutput { var value = GetBrowserOutput() value.browserArn = try reader["browserArn"].readIfPresent() ?? "" value.browserId = try reader["browserId"].readIfPresent() ?? "" + value.browserSigning = try reader["browserSigning"].readIfPresent(with: BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput.read(from:)) value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") value.description = try reader["description"].readIfPresent() value.executionRoleArn = try reader["executionRoleArn"].readIfPresent() @@ -8101,6 +8462,7 @@ extension GetOauth2CredentialProviderOutput { let responseReader = try SmithyJSON.Reader.from(data: data) let reader = responseReader var value = GetOauth2CredentialProviderOutput() + value.callbackUrl = try reader["callbackUrl"].readIfPresent() value.clientSecretArn = try reader["clientSecretArn"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Secret.read(from:)) value.createdTime = try reader["createdTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") value.credentialProviderArn = try reader["credentialProviderArn"].readIfPresent() ?? "" @@ -8458,6 +8820,7 @@ extension UpdateOauth2CredentialProviderOutput { let responseReader = try SmithyJSON.Reader.from(data: data) let reader = responseReader var value = UpdateOauth2CredentialProviderOutput() + value.callbackUrl = try reader["callbackUrl"].readIfPresent() value.clientSecretArn = try reader["clientSecretArn"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Secret.read(from:)) value.createdTime = try reader["createdTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") value.credentialProviderArn = try reader["credentialProviderArn"].readIfPresent() ?? "" @@ -10360,6 +10723,186 @@ extension BedrockAgentCoreControlClientTypes.SemanticExtractionOverride { } } +extension BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "customOauth2ProviderConfig": + return .customoauth2providerconfig(try reader["customOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput.read(from:))) + case "googleOauth2ProviderConfig": + return .googleoauth2providerconfig(try reader["googleOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput.read(from:))) + case "githubOauth2ProviderConfig": + return .githuboauth2providerconfig(try reader["githubOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput.read(from:))) + case "slackOauth2ProviderConfig": + return .slackoauth2providerconfig(try reader["slackOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput.read(from:))) + case "salesforceOauth2ProviderConfig": + return .salesforceoauth2providerconfig(try reader["salesforceOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput.read(from:))) + case "microsoftOauth2ProviderConfig": + return .microsoftoauth2providerconfig(try reader["microsoftOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput.read(from:))) + case "atlassianOauth2ProviderConfig": + return .atlassianoauth2providerconfig(try reader["atlassianOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigOutput.read(from:))) + case "linkedinOauth2ProviderConfig": + return .linkedinoauth2providerconfig(try reader["linkedinOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigOutput.read(from:))) + case "includedOauth2ProviderConfig": + return .includedoauth2providerconfig(try reader["includedOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigOutput.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.Oauth2Discovery { + + static func write(value: BedrockAgentCoreControlClientTypes.Oauth2Discovery?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .authorizationservermetadata(authorizationservermetadata): + try writer["authorizationServerMetadata"].write(authorizationservermetadata, with: BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata.write(value:to:)) + case let .discoveryurl(discoveryurl): + try writer["discoveryUrl"].write(discoveryurl) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.Oauth2Discovery { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "discoveryUrl": + return .discoveryurl(try reader["discoveryUrl"].read()) + case "authorizationServerMetadata": + return .authorizationservermetadata(try reader["authorizationServerMetadata"].read(with: BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata { + + static func write(value: BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["authorizationEndpoint"].write(value.authorizationEndpoint) + try writer["issuer"].write(value.issuer) + try writer["responseTypes"].writeList(value.responseTypes, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["tokenEndpoint"].write(value.tokenEndpoint) + try writer["tokenEndpointAuthMethods"].writeList(value.tokenEndpointAuthMethods, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata() + value.issuer = try reader["issuer"].readIfPresent() ?? "" + value.authorizationEndpoint = try reader["authorizationEndpoint"].readIfPresent() ?? "" + value.tokenEndpoint = try reader["tokenEndpoint"].readIfPresent() ?? "" + value.responseTypes = try reader["responseTypes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.tokenEndpointAuthMethods = try reader["tokenEndpointAuthMethods"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + +extension BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + +extension BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput() + value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) + value.clientId = try reader["clientId"].readIfPresent() + return value + } +} + extension BedrockAgentCoreControlClientTypes.NetworkConfiguration { static func write(value: BedrockAgentCoreControlClientTypes.NetworkConfiguration?, to writer: SmithyJSON.Writer) throws { @@ -10540,6 +11083,16 @@ extension BedrockAgentCoreControlClientTypes.S3Location { } } +extension BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput() + value.enabled = try reader["enabled"].readIfPresent() ?? false + return value + } +} + extension BedrockAgentCoreControlClientTypes.CodeInterpreterNetworkConfiguration { static func write(value: BedrockAgentCoreControlClientTypes.CodeInterpreterNetworkConfiguration?, to writer: SmithyJSON.Writer) throws { @@ -10557,139 +11110,6 @@ extension BedrockAgentCoreControlClientTypes.CodeInterpreterNetworkConfiguration } } -extension BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "customOauth2ProviderConfig": - return .customoauth2providerconfig(try reader["customOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput.read(from:))) - case "googleOauth2ProviderConfig": - return .googleoauth2providerconfig(try reader["googleOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput.read(from:))) - case "githubOauth2ProviderConfig": - return .githuboauth2providerconfig(try reader["githubOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput.read(from:))) - case "slackOauth2ProviderConfig": - return .slackoauth2providerconfig(try reader["slackOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput.read(from:))) - case "salesforceOauth2ProviderConfig": - return .salesforceoauth2providerconfig(try reader["salesforceOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput.read(from:))) - case "microsoftOauth2ProviderConfig": - return .microsoftoauth2providerconfig(try reader["microsoftOauth2ProviderConfig"].read(with: BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigOutput() - value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) - return value - } -} - -extension BedrockAgentCoreControlClientTypes.Oauth2Discovery { - - static func write(value: BedrockAgentCoreControlClientTypes.Oauth2Discovery?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - switch value { - case let .authorizationservermetadata(authorizationservermetadata): - try writer["authorizationServerMetadata"].write(authorizationservermetadata, with: BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata.write(value:to:)) - case let .discoveryurl(discoveryurl): - try writer["discoveryUrl"].write(discoveryurl) - case let .sdkUnknown(sdkUnknown): - try writer["sdkUnknown"].write(sdkUnknown) - } - } - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.Oauth2Discovery { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name - switch name { - case "discoveryUrl": - return .discoveryurl(try reader["discoveryUrl"].read()) - case "authorizationServerMetadata": - return .authorizationservermetadata(try reader["authorizationServerMetadata"].read(with: BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata.read(from:))) - default: - return .sdkUnknown(name ?? "") - } - } -} - -extension BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata { - - static func write(value: BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["authorizationEndpoint"].write(value.authorizationEndpoint) - try writer["issuer"].write(value.issuer) - try writer["responseTypes"].writeList(value.responseTypes, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tokenEndpoint"].write(value.tokenEndpoint) - } - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.Oauth2AuthorizationServerMetadata() - value.issuer = try reader["issuer"].readIfPresent() ?? "" - value.authorizationEndpoint = try reader["authorizationEndpoint"].readIfPresent() ?? "" - value.tokenEndpoint = try reader["tokenEndpoint"].readIfPresent() ?? "" - value.responseTypes = try reader["responseTypes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.SalesforceOauth2ProviderConfigOutput() - value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) - return value - } -} - -extension BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.SlackOauth2ProviderConfigOutput() - value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) - return value - } -} - -extension BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigOutput() - value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) - return value - } -} - -extension BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigOutput() - value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) - return value - } -} - -extension BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigOutput() - value.oauthDiscovery = try reader["oauthDiscovery"].readIfPresent(with: BedrockAgentCoreControlClientTypes.Oauth2Discovery.read(from:)) - return value - } -} - extension BedrockAgentCoreControlClientTypes.KmsConfiguration { static func write(value: BedrockAgentCoreControlClientTypes.KmsConfiguration?, to writer: SmithyJSON.Writer) throws { @@ -10889,6 +11309,14 @@ extension BedrockAgentCoreControlClientTypes.ValidationExceptionField { } } +extension BedrockAgentCoreControlClientTypes.BrowserSigningConfigInput { + + static func write(value: BedrockAgentCoreControlClientTypes.BrowserSigningConfigInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["enabled"].write(value.enabled) + } +} + extension BedrockAgentCoreControlClientTypes.MemoryStrategyInput { static func write(value: BedrockAgentCoreControlClientTypes.MemoryStrategyInput?, to writer: SmithyJSON.Writer) throws { @@ -11104,12 +11532,18 @@ extension BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput { static func write(value: BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } switch value { + case let .atlassianoauth2providerconfig(atlassianoauth2providerconfig): + try writer["atlassianOauth2ProviderConfig"].write(atlassianoauth2providerconfig, with: BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigInput.write(value:to:)) case let .customoauth2providerconfig(customoauth2providerconfig): try writer["customOauth2ProviderConfig"].write(customoauth2providerconfig, with: BedrockAgentCoreControlClientTypes.CustomOauth2ProviderConfigInput.write(value:to:)) case let .githuboauth2providerconfig(githuboauth2providerconfig): try writer["githubOauth2ProviderConfig"].write(githuboauth2providerconfig, with: BedrockAgentCoreControlClientTypes.GithubOauth2ProviderConfigInput.write(value:to:)) case let .googleoauth2providerconfig(googleoauth2providerconfig): try writer["googleOauth2ProviderConfig"].write(googleoauth2providerconfig, with: BedrockAgentCoreControlClientTypes.GoogleOauth2ProviderConfigInput.write(value:to:)) + case let .includedoauth2providerconfig(includedoauth2providerconfig): + try writer["includedOauth2ProviderConfig"].write(includedoauth2providerconfig, with: BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigInput.write(value:to:)) + case let .linkedinoauth2providerconfig(linkedinoauth2providerconfig): + try writer["linkedinOauth2ProviderConfig"].write(linkedinoauth2providerconfig, with: BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigInput.write(value:to:)) case let .microsoftoauth2providerconfig(microsoftoauth2providerconfig): try writer["microsoftOauth2ProviderConfig"].write(microsoftoauth2providerconfig, with: BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigInput.write(value:to:)) case let .salesforceoauth2providerconfig(salesforceoauth2providerconfig): @@ -11122,12 +11556,43 @@ extension BedrockAgentCoreControlClientTypes.Oauth2ProviderConfigInput { } } +extension BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigInput { + + static func write(value: BedrockAgentCoreControlClientTypes.IncludedOauth2ProviderConfigInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["authorizationEndpoint"].write(value.authorizationEndpoint) + try writer["clientId"].write(value.clientId) + try writer["clientSecret"].write(value.clientSecret) + try writer["issuer"].write(value.issuer) + try writer["tokenEndpoint"].write(value.tokenEndpoint) + } +} + +extension BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigInput { + + static func write(value: BedrockAgentCoreControlClientTypes.LinkedinOauth2ProviderConfigInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientId"].write(value.clientId) + try writer["clientSecret"].write(value.clientSecret) + } +} + +extension BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigInput { + + static func write(value: BedrockAgentCoreControlClientTypes.AtlassianOauth2ProviderConfigInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientId"].write(value.clientId) + try writer["clientSecret"].write(value.clientSecret) + } +} + extension BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigInput { static func write(value: BedrockAgentCoreControlClientTypes.MicrosoftOauth2ProviderConfigInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["clientId"].write(value.clientId) try writer["clientSecret"].write(value.clientSecret) + try writer["tenantId"].write(value.tenantId) } } diff --git a/Sources/Services/AWSBedrockAgentRuntime/Sources/AWSBedrockAgentRuntime/BedrockAgentRuntimeClient.swift b/Sources/Services/AWSBedrockAgentRuntime/Sources/AWSBedrockAgentRuntime/BedrockAgentRuntimeClient.swift index 1e7afff1956..37bdcc3d710 100644 --- a/Sources/Services/AWSBedrockAgentRuntime/Sources/AWSBedrockAgentRuntime/BedrockAgentRuntimeClient.swift +++ b/Sources/Services/AWSBedrockAgentRuntime/Sources/AWSBedrockAgentRuntime/BedrockAgentRuntimeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockAgentRuntimeClient: ClientRuntime.Client { +public class BedrockAgentRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockAgentRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockAgentRuntimeClient.BedrockAgentRuntimeClientConfiguration let serviceName = "Bedrock Agent Runtime" diff --git a/Sources/Services/AWSBedrockDataAutomation/Sources/AWSBedrockDataAutomation/BedrockDataAutomationClient.swift b/Sources/Services/AWSBedrockDataAutomation/Sources/AWSBedrockDataAutomation/BedrockDataAutomationClient.swift index efbc5e4e75c..340bfb9d60f 100644 --- a/Sources/Services/AWSBedrockDataAutomation/Sources/AWSBedrockDataAutomation/BedrockDataAutomationClient.swift +++ b/Sources/Services/AWSBedrockDataAutomation/Sources/AWSBedrockDataAutomation/BedrockDataAutomationClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockDataAutomationClient: ClientRuntime.Client { +public class BedrockDataAutomationClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockDataAutomationClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockDataAutomationClient.BedrockDataAutomationClientConfiguration let serviceName = "Bedrock Data Automation" diff --git a/Sources/Services/AWSBedrockDataAutomationRuntime/Sources/AWSBedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.swift b/Sources/Services/AWSBedrockDataAutomationRuntime/Sources/AWSBedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.swift index b234289ce41..9d442830618 100644 --- a/Sources/Services/AWSBedrockDataAutomationRuntime/Sources/AWSBedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.swift +++ b/Sources/Services/AWSBedrockDataAutomationRuntime/Sources/AWSBedrockDataAutomationRuntime/BedrockDataAutomationRuntimeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockDataAutomationRuntimeClient: ClientRuntime.Client { +public class BedrockDataAutomationRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockDataAutomationRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockDataAutomationRuntimeClient.BedrockDataAutomationRuntimeClientConfiguration let serviceName = "Bedrock Data Automation Runtime" diff --git a/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/BedrockRuntimeClient.swift b/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/BedrockRuntimeClient.swift index e126aca9aa1..a67cff33786 100644 --- a/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/BedrockRuntimeClient.swift +++ b/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/BedrockRuntimeClient.swift @@ -34,7 +34,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import func AWSSDKEventStreamsAuth.setupBidirectionalStreaming import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -74,9 +74,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BedrockRuntimeClient: ClientRuntime.Client { +public class BedrockRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BedrockRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BedrockRuntimeClient.BedrockRuntimeClientConfiguration let serviceName = "Bedrock Runtime" diff --git a/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/Models.swift b/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/Models.swift index 268fd78ec11..c69bb49f251 100644 --- a/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/Models.swift +++ b/Sources/Services/AWSBedrockRuntime/Sources/AWSBedrockRuntime/Models.swift @@ -1827,7 +1827,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The assessment for aPersonally Identifiable Information (PII) policy. + /// The assessment for a Personally Identifiable Information (PII) policy. public struct GuardrailSensitiveInformationPolicyAssessment: Swift.Sendable { /// The PII entities in the assessment. /// This member is required. @@ -2439,10 +2439,31 @@ extension BedrockRuntimeClientTypes { } } +extension BedrockRuntimeClientTypes { + + /// Provides the URL and domain information for the website that was cited when performing a web search. + public struct WebLocation: Swift.Sendable { + /// The domain that was cited when performing a web search. + public var domain: Swift.String? + /// The URL that was cited when performing a web search. + public var url: Swift.String? + + public init( + domain: Swift.String? = nil, + url: Swift.String? = nil + ) { + self.domain = domain + self.url = url + } + } +} + extension BedrockRuntimeClientTypes { /// Specifies the precise location within a source document where cited content can be found. This can include character-level positions, page numbers, or document chunks depending on the document type and indexing method. public enum CitationLocation: Swift.Sendable { + /// The web URL that was cited for this reference. + case web(BedrockRuntimeClientTypes.WebLocation) /// The character-level location within the document where the cited content is found. case documentchar(BedrockRuntimeClientTypes.DocumentCharLocation) /// The page-level location within the document where the cited content is found. @@ -2519,7 +2540,7 @@ extension BedrockRuntimeClientTypes { /// Configuration settings for enabling and controlling document citations in Converse API responses. When enabled, the model can include citation information that links generated content back to specific source documents. public struct CitationsConfig: Swift.Sendable { - /// Specifies whether document citations should be included in the model's response. When set to true, the model can generate citations that reference the source documents used to inform the response. + /// Specifies whether citations from the selected document should be used in the model's response. When set to true, the model can generate citations that reference the source documents used to inform the response. /// This member is required. public var enabled: Swift.Bool? @@ -2773,7 +2794,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// A text block that contains text that you want to assess with a guardrail. For more information, see [GuardrailConverseContentBlock]. + /// A text block that contains text that you want to assess with a guardrail. For more information, see [GuardrailConverseContentBlock](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_GuardrailConverseContentBlock.html). public struct GuardrailConverseTextBlock: Swift.Sendable { /// The qualifier details for the guardrails contextual grounding filter. public var qualifiers: [BedrockRuntimeClientTypes.GuardrailConverseContentQualifier]? @@ -2994,13 +3015,13 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The tool result content block. + /// The tool result content block. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public enum ToolResultContentBlock: Swift.Sendable { /// A tool result that is JSON format data. case json(Smithy.Document) /// A tool result that is text. case text(Swift.String) - /// A tool result that is an image. This field is only supported by Anthropic Claude 3 models. + /// A tool result that is an image. This field is only supported by Amazon Nova and Anthropic Claude 3 and 4 models. case image(BedrockRuntimeClientTypes.ImageBlock) /// A tool result that is a document. case document(BedrockRuntimeClientTypes.DocumentBlock) @@ -3041,32 +3062,62 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// A tool result block that contains the results for a tool request that the model previously made. + /// A tool result block that contains the results for a tool request that the model previously made. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public struct ToolResultBlock: Swift.Sendable { /// The content for tool result content block. /// This member is required. public var content: [BedrockRuntimeClientTypes.ToolResultContentBlock]? - /// The status for the tool result content block. This field is only supported Anthropic Claude 3 models. + /// The status for the tool result content block. This field is only supported by Amazon Nova and Anthropic Claude 3 and 4 models. public var status: BedrockRuntimeClientTypes.ToolResultStatus? /// The ID of the tool request that this is the result for. /// This member is required. public var toolUseId: Swift.String? + /// The type for the tool result content block. + public var type: Swift.String? public init( content: [BedrockRuntimeClientTypes.ToolResultContentBlock]? = nil, status: BedrockRuntimeClientTypes.ToolResultStatus? = nil, - toolUseId: Swift.String? = nil + toolUseId: Swift.String? = nil, + type: Swift.String? = nil ) { self.content = content self.status = status self.toolUseId = toolUseId + self.type = type + } + } +} + +extension BedrockRuntimeClientTypes { + + public enum ToolUseType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case serverToolUse + case sdkUnknown(Swift.String) + + public static var allCases: [ToolUseType] { + return [ + .serverToolUse + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .serverToolUse: return "server_tool_use" + case let .sdkUnknown(s): return s + } } } } extension BedrockRuntimeClientTypes { - /// A tool use content block. Contains information about a tool that the model is requesting be run., The model uses the result from the tool to generate a response. + /// A tool use content block. Contains information about a tool that the model is requesting be run., The model uses the result from the tool to generate a response. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public struct ToolUseBlock: Swift.Sendable { /// The input to pass to the tool. /// This member is required. @@ -3077,15 +3128,19 @@ extension BedrockRuntimeClientTypes { /// The ID for the tool request. /// This member is required. public var toolUseId: Swift.String? + /// The type for the tool request. + public var type: BedrockRuntimeClientTypes.ToolUseType? public init( input: Smithy.Document? = nil, name: Swift.String? = nil, - toolUseId: Swift.String? = nil + toolUseId: Swift.String? = nil, + type: BedrockRuntimeClientTypes.ToolUseType? = nil ) { self.input = input self.name = name self.toolUseId = toolUseId + self.type = type } } } @@ -3232,7 +3287,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// A system content block. + /// Contains configurations for instructions to provide the model for how to handle input. To learn more, see [Using the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/conversation-inference-call.html). public enum SystemContentBlock: Swift.Sendable { /// A system prompt for the model. case text(Swift.String) @@ -3246,7 +3301,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The model must request at least one tool (no text is generated). For example, {"any" : {}}. + /// The model must request at least one tool (no text is generated). For example, {"any" : {}}. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public struct AnyToolChoice: Swift.Sendable { public init() { } @@ -3255,7 +3310,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The Model automatically decides if a tool should be called or whether to generate text instead. For example, {"auto" : {}}. + /// The Model automatically decides if a tool should be called or whether to generate text instead. For example, {"auto" : {}}. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide public struct AutoToolChoice: Swift.Sendable { public init() { } @@ -3264,7 +3319,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The model must request a specific tool. For example, {"tool" : {"name" : "Your tool name"}}. This field is only supported by Anthropic Claude 3 models. + /// The model must request a specific tool. For example, {"tool" : {"name" : "Your tool name"}}. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide This field is only supported by Anthropic Claude 3 models. public struct SpecificToolChoice: Swift.Sendable { /// The name of the tool that the model must request. /// This member is required. @@ -3280,13 +3335,13 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// Determines which tools the model should request in a call to Converse or ConverseStream. ToolChoice is only supported by Anthropic Claude 3 models and by Mistral AI Mistral Large. + /// Determines which tools the model should request in a call to Converse or ConverseStream. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public enum ToolChoice: Swift.Sendable { /// (Default). The Model automatically decides if a tool should be called or whether to generate text instead. case auto(BedrockRuntimeClientTypes.AutoToolChoice) /// The model must request at least one tool (no text is generated). case any(BedrockRuntimeClientTypes.AnyToolChoice) - /// The Model must request the specified tool. Only supported by Anthropic Claude 3 models. + /// The Model must request the specified tool. Only supported by Anthropic Claude 3 and Amazon Nova models. case tool(BedrockRuntimeClientTypes.SpecificToolChoice) case sdkUnknown(Swift.String) } @@ -3294,7 +3349,23 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The schema for the tool. The top level schema type must be object. + /// Specifies a system-defined tool for the model to use. System-defined tools are tools that are created and provided by the model provider. + public struct SystemTool: Swift.Sendable { + /// The name of the system-defined tool that you want to call. + /// This member is required. + public var name: Swift.String? + + public init( + name: Swift.String? = nil + ) { + self.name = name + } + } +} + +extension BedrockRuntimeClientTypes { + + /// The schema for the tool. The top level schema type must be object. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public enum ToolInputSchema: Swift.Sendable { /// The JSON schema for the tool. For more information, see [JSON Schema Reference](https://json-schema.org/understanding-json-schema/reference). case json(Smithy.Document) @@ -3304,7 +3375,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The specification for the tool. + /// The specification for the tool. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public struct ToolSpecification: Swift.Sendable { /// The description for the tool. public var description: Swift.String? @@ -3329,10 +3400,12 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// Information about a tool that you can use with the Converse API. For more information, see [Tool use (function calling)](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. + /// Information about a tool that you can use with the Converse API. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public enum Tool: Swift.Sendable { /// The specfication for the tool. case toolspec(BedrockRuntimeClientTypes.ToolSpecification) + /// Specifies the system-defined tool that you want use. + case systemtool(BedrockRuntimeClientTypes.SystemTool) /// CachePoint to include in the tool configuration. case cachepoint(BedrockRuntimeClientTypes.CachePointBlock) case sdkUnknown(Swift.String) @@ -3501,7 +3574,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// A Top level guardrail trace object. For more information, see [ConverseTrace]. + /// A Top level guardrail trace object. For more information, see [ConverseTrace](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseTrace.html). public struct GuardrailTraceAssessment: Swift.Sendable { /// Provides the reason for the action taken when harmful content is detected. public var actionReason: Swift.String? @@ -3543,7 +3616,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The trace object in a response from [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html). Currently, you can only trace guardrails. + /// The trace object in a response from [Converse](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_Converse.html). public struct ConverseTrace: Swift.Sendable { /// The guardrail trace object. public var guardrail: BedrockRuntimeClientTypes.GuardrailTraceAssessment? @@ -3664,7 +3737,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// Configuration information for a guardrail that you use with the [ConverseStream] action. + /// Configuration information for a guardrail that you use with the [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html) action. public struct GuardrailStreamConfiguration: Swift.Sendable { /// The identifier for the guardrail. /// This member is required. @@ -3813,6 +3886,16 @@ extension BedrockRuntimeClientTypes { } } +extension BedrockRuntimeClientTypes { + + /// Contains incremental updates to tool results information during streaming responses. This allows clients to build up tool results data progressively as the response is generated. + public enum ToolResultBlockDelta: Swift.Sendable { + /// The reasoning the model used to return the output. + case text(Swift.String) + case sdkUnknown(Swift.String) + } +} + extension BedrockRuntimeClientTypes { /// The delta for a tool use block. @@ -3837,6 +3920,8 @@ extension BedrockRuntimeClientTypes { case text(Swift.String) /// Information about a tool that the model is requesting to use. case tooluse(BedrockRuntimeClientTypes.ToolUseBlockDelta) + /// An incremental update that contains the results from a tool call. + case toolresult([BedrockRuntimeClientTypes.ToolResultBlockDelta]) /// Contains content regarding the reasoning that is carried out by the model. Reasoning refers to a Chain of Thought (CoT) that the model generates to enhance the accuracy of its final response. case reasoningcontent(BedrockRuntimeClientTypes.ReasoningContentBlockDelta) /// Incremental citation information that is streamed as part of the response generation process. @@ -3868,7 +3953,31 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The start of a tool use block. + /// The start of a tool result block. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. + public struct ToolResultBlockStart: Swift.Sendable { + /// The status of the tool result block. + public var status: BedrockRuntimeClientTypes.ToolResultStatus? + /// The ID of the tool that was used to generate this tool result block. + /// This member is required. + public var toolUseId: Swift.String? + /// The type for the tool that was used to generate this tool result block. + public var type: Swift.String? + + public init( + status: BedrockRuntimeClientTypes.ToolResultStatus? = nil, + toolUseId: Swift.String? = nil, + type: Swift.String? = nil + ) { + self.status = status + self.toolUseId = toolUseId + self.type = type + } + } +} + +extension BedrockRuntimeClientTypes { + + /// The start of a tool use block. For more information, see [Call a tool with the Converse API](https://docs.aws.amazon.com/bedrock/latest/userguide/tool-use.html) in the Amazon Bedrock User Guide. public struct ToolUseBlockStart: Swift.Sendable { /// The name of the tool that the model is requesting to use. /// This member is required. @@ -3876,13 +3985,17 @@ extension BedrockRuntimeClientTypes { /// The ID for the tool request. /// This member is required. public var toolUseId: Swift.String? + /// The type for the tool request. + public var type: BedrockRuntimeClientTypes.ToolUseType? public init( name: Swift.String? = nil, - toolUseId: Swift.String? = nil + toolUseId: Swift.String? = nil, + type: BedrockRuntimeClientTypes.ToolUseType? = nil ) { self.name = name self.toolUseId = toolUseId + self.type = type } } } @@ -3893,6 +4006,8 @@ extension BedrockRuntimeClientTypes { public enum ContentBlockStart: Swift.Sendable { /// Information about a tool that the model is requesting to use. case tooluse(BedrockRuntimeClientTypes.ToolUseBlockStart) + /// The + case toolresult(BedrockRuntimeClientTypes.ToolResultBlockStart) case sdkUnknown(Swift.String) } } @@ -3988,7 +4103,7 @@ extension BedrockRuntimeClientTypes { extension BedrockRuntimeClientTypes { - /// The trace object in a response from [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html). Currently, you can only trace guardrails. + /// The trace object in a response from [ConverseStream](https://docs.aws.amazon.com/bedrock/latest/APIReference/API_runtime_ConverseStream.html). public struct ConverseStreamTrace: Swift.Sendable { /// The guardrail trace object. public var guardrail: BedrockRuntimeClientTypes.GuardrailTraceAssessment? @@ -6045,6 +6160,8 @@ extension BedrockRuntimeClientTypes.CitationLocation { try writer["documentChunk"].write(documentchunk, with: BedrockRuntimeClientTypes.DocumentChunkLocation.write(value:to:)) case let .documentpage(documentpage): try writer["documentPage"].write(documentpage, with: BedrockRuntimeClientTypes.DocumentPageLocation.write(value:to:)) + case let .web(web): + try writer["web"].write(web, with: BedrockRuntimeClientTypes.WebLocation.write(value:to:)) case let .sdkUnknown(sdkUnknown): try writer["sdkUnknown"].write(sdkUnknown) } @@ -6054,6 +6171,8 @@ extension BedrockRuntimeClientTypes.CitationLocation { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name switch name { + case "web": + return .web(try reader["web"].read(with: BedrockRuntimeClientTypes.WebLocation.read(from:))) case "documentChar": return .documentchar(try reader["documentChar"].read(with: BedrockRuntimeClientTypes.DocumentCharLocation.read(from:))) case "documentPage": @@ -6123,6 +6242,23 @@ extension BedrockRuntimeClientTypes.DocumentCharLocation { } } +extension BedrockRuntimeClientTypes.WebLocation { + + static func write(value: BedrockRuntimeClientTypes.WebLocation?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["domain"].write(value.domain) + try writer["url"].write(value.url) + } + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.WebLocation { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockRuntimeClientTypes.WebLocation() + value.url = try reader["url"].readIfPresent() + value.domain = try reader["domain"].readIfPresent() + return value + } +} + extension BedrockRuntimeClientTypes.CitationSourceContent { static func write(value: BedrockRuntimeClientTypes.CitationSourceContent?, to writer: SmithyJSON.Writer) throws { @@ -6324,6 +6460,7 @@ extension BedrockRuntimeClientTypes.ToolResultBlock { try writer["content"].writeList(value.content, memberWritingClosure: BedrockRuntimeClientTypes.ToolResultContentBlock.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["status"].write(value.status) try writer["toolUseId"].write(value.toolUseId) + try writer["type"].write(value.type) } static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.ToolResultBlock { @@ -6332,6 +6469,7 @@ extension BedrockRuntimeClientTypes.ToolResultBlock { value.toolUseId = try reader["toolUseId"].readIfPresent() ?? "" value.content = try reader["content"].readListIfPresent(memberReadingClosure: BedrockRuntimeClientTypes.ToolResultContentBlock.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.status = try reader["status"].readIfPresent() + value.type = try reader["type"].readIfPresent() return value } } @@ -6588,6 +6726,7 @@ extension BedrockRuntimeClientTypes.ToolUseBlock { try writer["input"].write(value.input) try writer["name"].write(value.name) try writer["toolUseId"].write(value.toolUseId) + try writer["type"].write(value.type) } static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.ToolUseBlock { @@ -6596,6 +6735,7 @@ extension BedrockRuntimeClientTypes.ToolUseBlock { value.toolUseId = try reader["toolUseId"].readIfPresent() ?? "" value.name = try reader["name"].readIfPresent() ?? "" value.input = try reader["input"].readIfPresent() ?? [:] + value.type = try reader["type"].readIfPresent() return value } } @@ -6801,6 +6941,8 @@ extension BedrockRuntimeClientTypes.ContentBlockDelta { return .text(try reader["text"].read()) case "toolUse": return .tooluse(try reader["toolUse"].read(with: BedrockRuntimeClientTypes.ToolUseBlockDelta.read(from:))) + case "toolResult": + return .toolresult(try reader["toolResult"].readList(memberReadingClosure: BedrockRuntimeClientTypes.ToolResultBlockDelta.read(from:), memberNodeInfo: "member", isFlattened: false)) case "reasoningContent": return .reasoningcontent(try reader["reasoningContent"].read(with: BedrockRuntimeClientTypes.ReasoningContentBlockDelta.read(from:))) case "citation": @@ -6851,6 +6993,20 @@ extension BedrockRuntimeClientTypes.ReasoningContentBlockDelta { } } +extension BedrockRuntimeClientTypes.ToolResultBlockDelta { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.ToolResultBlockDelta { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "text": + return .text(try reader["text"].read()) + default: + return .sdkUnknown(name ?? "") + } + } +} + extension BedrockRuntimeClientTypes.ToolUseBlockDelta { static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.ToolUseBlockDelta { @@ -6880,12 +7036,26 @@ extension BedrockRuntimeClientTypes.ContentBlockStart { switch name { case "toolUse": return .tooluse(try reader["toolUse"].read(with: BedrockRuntimeClientTypes.ToolUseBlockStart.read(from:))) + case "toolResult": + return .toolresult(try reader["toolResult"].read(with: BedrockRuntimeClientTypes.ToolResultBlockStart.read(from:))) default: return .sdkUnknown(name ?? "") } } } +extension BedrockRuntimeClientTypes.ToolResultBlockStart { + + static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.ToolResultBlockStart { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BedrockRuntimeClientTypes.ToolResultBlockStart() + value.toolUseId = try reader["toolUseId"].readIfPresent() ?? "" + value.type = try reader["type"].readIfPresent() + value.status = try reader["status"].readIfPresent() + return value + } +} + extension BedrockRuntimeClientTypes.ToolUseBlockStart { static func read(from reader: SmithyJSON.Reader) throws -> BedrockRuntimeClientTypes.ToolUseBlockStart { @@ -6893,6 +7063,7 @@ extension BedrockRuntimeClientTypes.ToolUseBlockStart { var value = BedrockRuntimeClientTypes.ToolUseBlockStart() value.toolUseId = try reader["toolUseId"].readIfPresent() ?? "" value.name = try reader["name"].readIfPresent() ?? "" + value.type = try reader["type"].readIfPresent() return value } } @@ -7129,6 +7300,8 @@ extension BedrockRuntimeClientTypes.Tool { switch value { case let .cachepoint(cachepoint): try writer["cachePoint"].write(cachepoint, with: BedrockRuntimeClientTypes.CachePointBlock.write(value:to:)) + case let .systemtool(systemtool): + try writer["systemTool"].write(systemtool, with: BedrockRuntimeClientTypes.SystemTool.write(value:to:)) case let .toolspec(toolspec): try writer["toolSpec"].write(toolspec, with: BedrockRuntimeClientTypes.ToolSpecification.write(value:to:)) case let .sdkUnknown(sdkUnknown): @@ -7137,6 +7310,14 @@ extension BedrockRuntimeClientTypes.Tool { } } +extension BedrockRuntimeClientTypes.SystemTool { + + static func write(value: BedrockRuntimeClientTypes.SystemTool?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["name"].write(value.name) + } +} + extension BedrockRuntimeClientTypes.ToolSpecification { static func write(value: BedrockRuntimeClientTypes.ToolSpecification?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSBilling/Sources/AWSBilling/BillingClient.swift b/Sources/Services/AWSBilling/Sources/AWSBilling/BillingClient.swift index ce64a22fd29..4b693af8149 100644 --- a/Sources/Services/AWSBilling/Sources/AWSBilling/BillingClient.swift +++ b/Sources/Services/AWSBilling/Sources/AWSBilling/BillingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BillingClient: ClientRuntime.Client { +public class BillingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BillingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BillingClient.BillingClientConfiguration let serviceName = "Billing" diff --git a/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/BillingconductorClient.swift b/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/BillingconductorClient.swift index 2ec6115109f..8c4166c62c6 100644 --- a/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/BillingconductorClient.swift +++ b/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/BillingconductorClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BillingconductorClient: ClientRuntime.Client { +public class BillingconductorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BillingconductorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BillingconductorClient.BillingconductorClientConfiguration let serviceName = "billingconductor" @@ -388,7 +387,7 @@ extension BillingconductorClient { /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func associateAccounts(input: AssociateAccountsInput) async throws -> AssociateAccountsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -462,7 +461,7 @@ extension BillingconductorClient { /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func associatePricingRules(input: AssociatePricingRulesInput) async throws -> AssociatePricingRulesOutput { let context = Smithy.ContextBuilder() .withMethod(value: .put) @@ -536,7 +535,7 @@ extension BillingconductorClient { /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func batchAssociateResourcesToCustomLineItem(input: BatchAssociateResourcesToCustomLineItemInput) async throws -> BatchAssociateResourcesToCustomLineItemOutput { let context = Smithy.ContextBuilder() .withMethod(value: .put) @@ -609,7 +608,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func batchDisassociateResourcesFromCustomLineItem(input: BatchDisassociateResourcesFromCustomLineItemInput) async throws -> BatchDisassociateResourcesFromCustomLineItemOutput { let context = Smithy.ContextBuilder() .withMethod(value: .put) @@ -682,7 +681,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func createBillingGroup(input: CreateBillingGroupInput) async throws -> CreateBillingGroupOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -757,7 +756,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func createCustomLineItem(input: CreateCustomLineItemInput) async throws -> CreateCustomLineItemOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -833,7 +832,7 @@ extension BillingconductorClient { /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func createPricingPlan(input: CreatePricingPlanInput) async throws -> CreatePricingPlanOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -908,7 +907,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ServiceLimitExceededException` : The request would cause a service limit to exceed. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func createPricingRule(input: CreatePricingRuleInput) async throws -> CreatePricingRuleOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -981,7 +980,7 @@ extension BillingconductorClient { /// - `AccessDeniedException` : You do not have sufficient access to perform this action. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func deleteBillingGroup(input: DeleteBillingGroupInput) async throws -> DeleteBillingGroupOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1053,7 +1052,7 @@ extension BillingconductorClient { /// - `ConflictException` : You can cause an inconsistent state by updating or deleting a resource. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func deleteCustomLineItem(input: DeleteCustomLineItemInput) async throws -> DeleteCustomLineItemOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1125,7 +1124,7 @@ extension BillingconductorClient { /// - `ConflictException` : You can cause an inconsistent state by updating or deleting a resource. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func deletePricingPlan(input: DeletePricingPlanInput) async throws -> DeletePricingPlanOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1197,7 +1196,7 @@ extension BillingconductorClient { /// - `ConflictException` : You can cause an inconsistent state by updating or deleting a resource. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func deletePricingRule(input: DeletePricingRuleInput) async throws -> DeletePricingRuleOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1270,7 +1269,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func disassociateAccounts(input: DisassociateAccountsInput) async throws -> DisassociateAccountsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1343,7 +1342,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func disassociatePricingRules(input: DisassociatePricingRulesInput) async throws -> DisassociatePricingRulesOutput { let context = Smithy.ContextBuilder() .withMethod(value: .put) @@ -1402,7 +1401,7 @@ extension BillingconductorClient { /// Performs the `GetBillingGroupCostReport` operation on the `Billingconductor` service. /// - /// Retrieves the margin summary report, which includes the Amazon Web Services cost and charged amount (pro forma cost) by Amazon Web Service for a specific billing group. + /// Retrieves the margin summary report, which includes the Amazon Web Services cost and charged amount (pro forma cost) by Amazon Web Services service for a specific billing group. /// /// - Parameter input: [no documentation found] (Type: `GetBillingGroupCostReportInput`) /// @@ -1415,7 +1414,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func getBillingGroupCostReport(input: GetBillingGroupCostReportInput) async throws -> GetBillingGroupCostReportOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1487,7 +1486,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listAccountAssociations(input: ListAccountAssociationsInput) async throws -> ListAccountAssociationsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1559,7 +1558,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listBillingGroupCostReports(input: ListBillingGroupCostReportsInput) async throws -> ListBillingGroupCostReportsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1631,7 +1630,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listBillingGroups(input: ListBillingGroupsInput) async throws -> ListBillingGroupsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1702,7 +1701,7 @@ extension BillingconductorClient { /// - `AccessDeniedException` : You do not have sufficient access to perform this action. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listCustomLineItemVersions(input: ListCustomLineItemVersionsInput) async throws -> ListCustomLineItemVersionsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1774,7 +1773,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listCustomLineItems(input: ListCustomLineItemsInput) async throws -> ListCustomLineItemsOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1845,7 +1844,7 @@ extension BillingconductorClient { /// - `AccessDeniedException` : You do not have sufficient access to perform this action. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listPricingPlans(input: ListPricingPlansInput) async throws -> ListPricingPlansOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1917,7 +1916,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listPricingPlansAssociatedWithPricingRule(input: ListPricingPlansAssociatedWithPricingRuleInput) async throws -> ListPricingPlansAssociatedWithPricingRuleOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1988,7 +1987,7 @@ extension BillingconductorClient { /// - `AccessDeniedException` : You do not have sufficient access to perform this action. /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listPricingRules(input: ListPricingRulesInput) async throws -> ListPricingRulesOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -2060,7 +2059,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listPricingRulesAssociatedToPricingPlan(input: ListPricingRulesAssociatedToPricingPlanInput) async throws -> ListPricingRulesAssociatedToPricingPlanOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -2132,7 +2131,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listResourcesAssociatedToCustomLineItem(input: ListResourcesAssociatedToCustomLineItemInput) async throws -> ListResourcesAssociatedToCustomLineItemOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -2204,7 +2203,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) @@ -2273,7 +2272,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -2345,7 +2344,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { let context = Smithy.ContextBuilder() .withMethod(value: .delete) @@ -2416,7 +2415,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func updateBillingGroup(input: UpdateBillingGroupInput) async throws -> UpdateBillingGroupOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -2488,7 +2487,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func updateCustomLineItem(input: UpdateCustomLineItemInput) async throws -> UpdateCustomLineItemOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -2561,7 +2560,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func updatePricingPlan(input: UpdatePricingPlanInput) async throws -> UpdatePricingPlanOutput { let context = Smithy.ContextBuilder() .withMethod(value: .put) @@ -2634,7 +2633,7 @@ extension BillingconductorClient { /// - `InternalServerException` : An unexpected error occurred while processing a request. /// - `ResourceNotFoundException` : The request references a resource that doesn't exist. /// - `ThrottlingException` : The request was denied due to request throttling. - /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services. + /// - `ValidationException` : The input doesn't match with the constraints specified by Amazon Web Services services. public func updatePricingRule(input: UpdatePricingRuleInput) async throws -> UpdatePricingRuleOutput { let context = Smithy.ContextBuilder() .withMethod(value: .put) diff --git a/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/Models.swift b/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/Models.swift index b3579b8f07f..9bfa8f3e9c2 100644 --- a/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/Models.swift +++ b/Sources/Services/AWSBillingconductor/Sources/AWSBillingconductor/Models.swift @@ -339,6 +339,7 @@ extension BillingconductorClientTypes { public enum ValidationExceptionReason: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case accountsAlreadyAssociated case accountsNotAssociated + case billingGroupAlreadyExistInCurrentBillingPeriod case cannotDeleteAutoAssociateBillingGroup case cannotParse case customLineItemAssociationExists @@ -352,11 +353,13 @@ extension BillingconductorClientTypes { case illegalBillingPeriodRange case illegalChargeDetails case illegalChildAssociateResource + case illegalComputationRule case illegalCustomlineitem case illegalCustomlineitemModification case illegalCustomlineitemUpdate case illegalEndedBillinggroup case illegalExpression + case illegalLineItemFilter case illegalModifierPercentage case illegalOperation case illegalPrimaryAccount @@ -381,6 +384,7 @@ extension BillingconductorClientTypes { case mismatchedPricingplanArn case mismatchedPricingruleArn case missingBillinggroup + case missingCostcategory case missingCustomlineitem case missingLinkedAccountIds case missingPricingplan @@ -403,6 +407,7 @@ extension BillingconductorClientTypes { return [ .accountsAlreadyAssociated, .accountsNotAssociated, + .billingGroupAlreadyExistInCurrentBillingPeriod, .cannotDeleteAutoAssociateBillingGroup, .cannotParse, .customLineItemAssociationExists, @@ -416,11 +421,13 @@ extension BillingconductorClientTypes { .illegalBillingPeriodRange, .illegalChargeDetails, .illegalChildAssociateResource, + .illegalComputationRule, .illegalCustomlineitem, .illegalCustomlineitemModification, .illegalCustomlineitemUpdate, .illegalEndedBillinggroup, .illegalExpression, + .illegalLineItemFilter, .illegalModifierPercentage, .illegalOperation, .illegalPrimaryAccount, @@ -445,6 +452,7 @@ extension BillingconductorClientTypes { .mismatchedPricingplanArn, .mismatchedPricingruleArn, .missingBillinggroup, + .missingCostcategory, .missingCustomlineitem, .missingLinkedAccountIds, .missingPricingplan, @@ -473,6 +481,7 @@ extension BillingconductorClientTypes { switch self { case .accountsAlreadyAssociated: return "ACCOUNTS_ALREADY_ASSOCIATED" case .accountsNotAssociated: return "ACCOUNTS_NOT_ASSOCIATED" + case .billingGroupAlreadyExistInCurrentBillingPeriod: return "BILLING_GROUP_ALREADY_EXIST_IN_CURRENT_BILLING_PERIOD" case .cannotDeleteAutoAssociateBillingGroup: return "CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP" case .cannotParse: return "CANNOT_PARSE" case .customLineItemAssociationExists: return "CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS" @@ -486,11 +495,13 @@ extension BillingconductorClientTypes { case .illegalBillingPeriodRange: return "ILLEGAL_BILLING_PERIOD_RANGE" case .illegalChargeDetails: return "ILLEGAL_CHARGE_DETAILS" case .illegalChildAssociateResource: return "ILLEGAL_CHILD_ASSOCIATE_RESOURCE" + case .illegalComputationRule: return "ILLEGAL_COMPUTATION_RULE" case .illegalCustomlineitem: return "ILLEGAL_CUSTOMLINEITEM" case .illegalCustomlineitemModification: return "ILLEGAL_CUSTOMLINEITEM_MODIFICATION" case .illegalCustomlineitemUpdate: return "ILLEGAL_CUSTOMLINEITEM_UPDATE" case .illegalEndedBillinggroup: return "ILLEGAL_ENDED_BILLINGGROUP" case .illegalExpression: return "ILLEGAL_EXPRESSION" + case .illegalLineItemFilter: return "ILLEGAL_LINE_ITEM_FILTER" case .illegalModifierPercentage: return "ILLEGAL_MODIFIER_PERCENTAGE" case .illegalOperation: return "ILLEGAL_OPERATION" case .illegalPrimaryAccount: return "ILLEGAL_PRIMARY_ACCOUNT" @@ -515,6 +526,7 @@ extension BillingconductorClientTypes { case .mismatchedPricingplanArn: return "MISMATCHED_PRICINGPLAN_ARN" case .mismatchedPricingruleArn: return "MISMATCHED_PRICINGRULE_ARN" case .missingBillinggroup: return "MISSING_BILLINGGROUP" + case .missingCostcategory: return "MISSING_COSTCATEGORY" case .missingCustomlineitem: return "MISSING_CUSTOMLINEITEM" case .missingLinkedAccountIds: return "MISSING_LINKED_ACCOUNT_IDS" case .missingPricingplan: return "MISSING_PRICINGPLAN" @@ -537,7 +549,7 @@ extension BillingconductorClientTypes { } } -/// The input doesn't match with the constraints specified by Amazon Web Services. +/// The input doesn't match with the constraints specified by Amazon Web Services services. public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { public struct Properties: Swift.Sendable { @@ -740,7 +752,7 @@ public struct CreateBillingGroupInput: Swift.Sendable { /// The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family. /// This member is required. public var accountGrouping: BillingconductorClientTypes.AccountGrouping? - /// The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. + /// A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions. public var clientToken: Swift.String? /// The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group. /// This member is required. @@ -1422,6 +1434,49 @@ extension BillingconductorClientTypes { } } +extension BillingconductorClientTypes { + + /// The display settings of the custom line item + public enum ComputationRuleEnum: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case consolidated + case sdkUnknown(Swift.String) + + public static var allCases: [ComputationRuleEnum] { + return [ + .consolidated + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .consolidated: return "CONSOLIDATED" + case let .sdkUnknown(s): return s + } + } + } +} + +extension BillingconductorClientTypes { + + /// The presentation configuration of the custom line item + public struct PresentationObject: Swift.Sendable { + /// This defines the service of where the custom line item is presented + /// This member is required. + public var service: Swift.String? + + public init( + service: Swift.String? = nil + ) { + self.service = service + } + } +} + public struct CreateCustomLineItemInput: Swift.Sendable { /// The Amazon Web Services account in which this custom line item will be applied to. public var accountId: Swift.String? @@ -1433,14 +1488,18 @@ public struct CreateCustomLineItemInput: Swift.Sendable { /// A CustomLineItemChargeDetails that describes the charge details for a custom line item. /// This member is required. public var chargeDetails: BillingconductorClientTypes.CustomLineItemChargeDetails? - /// The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. + /// A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions. public var clientToken: Swift.String? + /// The display settings of the custom line item + public var computationRule: BillingconductorClientTypes.ComputationRuleEnum? /// The description of the custom line item. This is shown on the Bills page in association with the charge value. /// This member is required. public var description: Swift.String? /// The name of the custom line item. /// This member is required. public var name: Swift.String? + /// The presentation configuration of the custom line item + public var presentationDetails: BillingconductorClientTypes.PresentationObject? /// A map that contains tag keys and tag values that are attached to a custom line item. public var tags: [Swift.String: Swift.String]? @@ -1450,8 +1509,10 @@ public struct CreateCustomLineItemInput: Swift.Sendable { billingPeriodRange: BillingconductorClientTypes.CustomLineItemBillingPeriodRange? = nil, chargeDetails: BillingconductorClientTypes.CustomLineItemChargeDetails? = nil, clientToken: Swift.String? = nil, + computationRule: BillingconductorClientTypes.ComputationRuleEnum? = nil, description: Swift.String? = nil, name: Swift.String? = nil, + presentationDetails: BillingconductorClientTypes.PresentationObject? = nil, tags: [Swift.String: Swift.String]? = nil ) { self.accountId = accountId @@ -1459,15 +1520,17 @@ public struct CreateCustomLineItemInput: Swift.Sendable { self.billingPeriodRange = billingPeriodRange self.chargeDetails = chargeDetails self.clientToken = clientToken + self.computationRule = computationRule self.description = description self.name = name + self.presentationDetails = presentationDetails self.tags = tags } } extension CreateCustomLineItemInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateCustomLineItemInput(accountId: \(Swift.String(describing: accountId)), billingGroupArn: \(Swift.String(describing: billingGroupArn)), billingPeriodRange: \(Swift.String(describing: billingPeriodRange)), chargeDetails: \(Swift.String(describing: chargeDetails)), clientToken: \(Swift.String(describing: clientToken)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "CreateCustomLineItemInput(accountId: \(Swift.String(describing: accountId)), billingGroupArn: \(Swift.String(describing: billingGroupArn)), billingPeriodRange: \(Swift.String(describing: billingPeriodRange)), chargeDetails: \(Swift.String(describing: chargeDetails)), clientToken: \(Swift.String(describing: clientToken)), computationRule: \(Swift.String(describing: computationRule)), presentationDetails: \(Swift.String(describing: presentationDetails)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct CreateCustomLineItemOutput: Swift.Sendable { @@ -1666,6 +1729,8 @@ extension BillingconductorClientTypes { public var billingGroupArn: Swift.String? /// A ListCustomLineItemChargeDetails that describes the charge details of a custom line item. public var chargeDetails: BillingconductorClientTypes.ListCustomLineItemChargeDetails? + /// The display settings of the custom line item + public var computationRule: BillingconductorClientTypes.ComputationRuleEnum? /// The time created. public var creationTime: Swift.Int /// The custom line item's charge value currency. Only one of the valid values can be used. @@ -1676,6 +1741,8 @@ extension BillingconductorClientTypes { public var lastModifiedTime: Swift.Int /// The custom line item's name. public var name: Swift.String? + /// The presentation configuration of the custom line item + public var presentationDetails: BillingconductorClientTypes.PresentationObject? /// The product code that's associated with the custom line item. public var productCode: Swift.String? @@ -1685,11 +1752,13 @@ extension BillingconductorClientTypes { associationSize: Swift.Int = 0, billingGroupArn: Swift.String? = nil, chargeDetails: BillingconductorClientTypes.ListCustomLineItemChargeDetails? = nil, + computationRule: BillingconductorClientTypes.ComputationRuleEnum? = nil, creationTime: Swift.Int = 0, currencyCode: BillingconductorClientTypes.CurrencyCode? = nil, description: Swift.String? = nil, lastModifiedTime: Swift.Int = 0, name: Swift.String? = nil, + presentationDetails: BillingconductorClientTypes.PresentationObject? = nil, productCode: Swift.String? = nil ) { self.accountId = accountId @@ -1697,11 +1766,13 @@ extension BillingconductorClientTypes { self.associationSize = associationSize self.billingGroupArn = billingGroupArn self.chargeDetails = chargeDetails + self.computationRule = computationRule self.creationTime = creationTime self.currencyCode = currencyCode self.description = description self.lastModifiedTime = lastModifiedTime self.name = name + self.presentationDetails = presentationDetails self.productCode = productCode } } @@ -1709,7 +1780,7 @@ extension BillingconductorClientTypes { extension BillingconductorClientTypes.CustomLineItemListElement: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CustomLineItemListElement(accountId: \(Swift.String(describing: accountId)), arn: \(Swift.String(describing: arn)), associationSize: \(Swift.String(describing: associationSize)), billingGroupArn: \(Swift.String(describing: billingGroupArn)), chargeDetails: \(Swift.String(describing: chargeDetails)), creationTime: \(Swift.String(describing: creationTime)), currencyCode: \(Swift.String(describing: currencyCode)), lastModifiedTime: \(Swift.String(describing: lastModifiedTime)), productCode: \(Swift.String(describing: productCode)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "CustomLineItemListElement(accountId: \(Swift.String(describing: accountId)), arn: \(Swift.String(describing: arn)), associationSize: \(Swift.String(describing: associationSize)), billingGroupArn: \(Swift.String(describing: billingGroupArn)), chargeDetails: \(Swift.String(describing: chargeDetails)), computationRule: \(Swift.String(describing: computationRule)), creationTime: \(Swift.String(describing: creationTime)), currencyCode: \(Swift.String(describing: currencyCode)), lastModifiedTime: \(Swift.String(describing: lastModifiedTime)), presentationDetails: \(Swift.String(describing: presentationDetails)), productCode: \(Swift.String(describing: productCode)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct ListCustomLineItemsOutput: Swift.Sendable { @@ -1799,6 +1870,8 @@ extension BillingconductorClientTypes { public var billingGroupArn: Swift.String? /// A representation of the charge details of a custom line item. public var chargeDetails: BillingconductorClientTypes.ListCustomLineItemChargeDetails? + /// The display settings of the custom line item + public var computationRule: BillingconductorClientTypes.ComputationRuleEnum? /// The time when the custom line item version was created. public var creationTime: Swift.Int /// The charge value currency of the custom line item. @@ -1811,6 +1884,8 @@ extension BillingconductorClientTypes { public var lastModifiedTime: Swift.Int /// The name of the custom line item. public var name: Swift.String? + /// The presentation configuration of the custom line item + public var presentationDetails: BillingconductorClientTypes.PresentationObject? /// The product code that’s associated with the custom line item. public var productCode: Swift.String? /// The start billing period of the custom line item version. @@ -1824,12 +1899,14 @@ extension BillingconductorClientTypes { associationSize: Swift.Int = 0, billingGroupArn: Swift.String? = nil, chargeDetails: BillingconductorClientTypes.ListCustomLineItemChargeDetails? = nil, + computationRule: BillingconductorClientTypes.ComputationRuleEnum? = nil, creationTime: Swift.Int = 0, currencyCode: BillingconductorClientTypes.CurrencyCode? = nil, description: Swift.String? = nil, endBillingPeriod: Swift.String? = nil, lastModifiedTime: Swift.Int = 0, name: Swift.String? = nil, + presentationDetails: BillingconductorClientTypes.PresentationObject? = nil, productCode: Swift.String? = nil, startBillingPeriod: Swift.String? = nil, startTime: Swift.Int = 0 @@ -1839,12 +1916,14 @@ extension BillingconductorClientTypes { self.associationSize = associationSize self.billingGroupArn = billingGroupArn self.chargeDetails = chargeDetails + self.computationRule = computationRule self.creationTime = creationTime self.currencyCode = currencyCode self.description = description self.endBillingPeriod = endBillingPeriod self.lastModifiedTime = lastModifiedTime self.name = name + self.presentationDetails = presentationDetails self.productCode = productCode self.startBillingPeriod = startBillingPeriod self.startTime = startTime @@ -1854,7 +1933,7 @@ extension BillingconductorClientTypes { extension BillingconductorClientTypes.CustomLineItemVersionListElement: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CustomLineItemVersionListElement(accountId: \(Swift.String(describing: accountId)), arn: \(Swift.String(describing: arn)), associationSize: \(Swift.String(describing: associationSize)), billingGroupArn: \(Swift.String(describing: billingGroupArn)), chargeDetails: \(Swift.String(describing: chargeDetails)), creationTime: \(Swift.String(describing: creationTime)), currencyCode: \(Swift.String(describing: currencyCode)), endBillingPeriod: \(Swift.String(describing: endBillingPeriod)), lastModifiedTime: \(Swift.String(describing: lastModifiedTime)), productCode: \(Swift.String(describing: productCode)), startBillingPeriod: \(Swift.String(describing: startBillingPeriod)), startTime: \(Swift.String(describing: startTime)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "CustomLineItemVersionListElement(accountId: \(Swift.String(describing: accountId)), arn: \(Swift.String(describing: arn)), associationSize: \(Swift.String(describing: associationSize)), billingGroupArn: \(Swift.String(describing: billingGroupArn)), chargeDetails: \(Swift.String(describing: chargeDetails)), computationRule: \(Swift.String(describing: computationRule)), creationTime: \(Swift.String(describing: creationTime)), currencyCode: \(Swift.String(describing: currencyCode)), endBillingPeriod: \(Swift.String(describing: endBillingPeriod)), lastModifiedTime: \(Swift.String(describing: lastModifiedTime)), presentationDetails: \(Swift.String(describing: presentationDetails)), productCode: \(Swift.String(describing: productCode)), startBillingPeriod: \(Swift.String(describing: startBillingPeriod)), startTime: \(Swift.String(describing: startTime)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct ListCustomLineItemVersionsOutput: Swift.Sendable { @@ -2170,7 +2249,7 @@ public struct GetBillingGroupCostReportInput: Swift.Sendable { public var arn: Swift.String? /// A time range for which the margin summary is effective. You can specify up to 12 months. public var billingPeriodRange: BillingconductorClientTypes.BillingPeriodRange? - /// A list of strings that specify the attributes that are used to break down costs in the margin summary reports for the billing group. For example, you can view your costs by the Amazon Web Service name or the billing period. + /// A list of strings that specify the attributes that are used to break down costs in the margin summary reports for the billing group. For example, you can view your costs by the Amazon Web Services service name or the billing period. public var groupBy: [BillingconductorClientTypes.GroupByAttributeName]? /// The maximum number of margin summary reports to retrieve. public var maxResults: Swift.Int? @@ -2415,7 +2494,7 @@ public struct ListTagsForResourceOutput: Swift.Sendable { } public struct CreatePricingPlanInput: Swift.Sendable { - /// The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. + /// A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions. public var clientToken: Swift.String? /// The description of the pricing plan. public var description: Swift.String? @@ -2812,11 +2891,11 @@ extension BillingconductorClientTypes { public struct CreatePricingRuleInput: Swift.Sendable { /// The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace. public var billingEntity: Swift.String? - /// The token that's needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. + /// A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions. public var clientToken: Swift.String? /// The pricing rule description. public var description: Swift.String? - /// A percentage modifier that's applied on the public pricing rates. + /// A percentage modifier that's applied on the public pricing rates. Your entry will be rounded to the nearest 2 decimal places. public var modifierPercentage: Swift.Double? /// The pricing rule name. The names must be unique to each pricing rule. /// This member is required. @@ -3152,7 +3231,7 @@ public struct UpdatePricingRuleInput: Swift.Sendable { public var arn: Swift.String? /// The new description for the pricing rule. public var description: Swift.String? - /// The new modifier to show pricing plan rates as a percentage. + /// The new modifier to show pricing plan rates as a percentage. Your entry will be rounded to the nearest 2 decimal places. public var modifierPercentage: Swift.Double? /// The new name of the pricing rule. The name must be unique to each pricing rule. public var name: Swift.String? @@ -3643,8 +3722,10 @@ extension CreateCustomLineItemInput { try writer["BillingGroupArn"].write(value.billingGroupArn) try writer["BillingPeriodRange"].write(value.billingPeriodRange, with: BillingconductorClientTypes.CustomLineItemBillingPeriodRange.write(value:to:)) try writer["ChargeDetails"].write(value.chargeDetails, with: BillingconductorClientTypes.CustomLineItemChargeDetails.write(value:to:)) + try writer["ComputationRule"].write(value.computationRule) try writer["Description"].write(value.description) try writer["Name"].write(value.name) + try writer["PresentationDetails"].write(value.presentationDetails, with: BillingconductorClientTypes.PresentationObject.write(value:to:)) try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) } } @@ -5180,6 +5261,23 @@ extension BillingconductorClientTypes.CustomLineItemListElement { value.lastModifiedTime = try reader["LastModifiedTime"].readIfPresent() ?? 0 value.associationSize = try reader["AssociationSize"].readIfPresent() ?? 0 value.accountId = try reader["AccountId"].readIfPresent() + value.computationRule = try reader["ComputationRule"].readIfPresent() + value.presentationDetails = try reader["PresentationDetails"].readIfPresent(with: BillingconductorClientTypes.PresentationObject.read(from:)) + return value + } +} + +extension BillingconductorClientTypes.PresentationObject { + + static func write(value: BillingconductorClientTypes.PresentationObject?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["Service"].write(value.service) + } + + static func read(from reader: SmithyJSON.Reader) throws -> BillingconductorClientTypes.PresentationObject { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = BillingconductorClientTypes.PresentationObject() + value.service = try reader["Service"].readIfPresent() ?? "" return value } } @@ -5255,6 +5353,8 @@ extension BillingconductorClientTypes.CustomLineItemVersionListElement { value.arn = try reader["Arn"].readIfPresent() value.startTime = try reader["StartTime"].readIfPresent() ?? 0 value.accountId = try reader["AccountId"].readIfPresent() + value.computationRule = try reader["ComputationRule"].readIfPresent() + value.presentationDetails = try reader["PresentationDetails"].readIfPresent(with: BillingconductorClientTypes.PresentationObject.read(from:)) return value } } diff --git a/Sources/Services/AWSBraket/Sources/AWSBraket/BraketClient.swift b/Sources/Services/AWSBraket/Sources/AWSBraket/BraketClient.swift index 0270424499b..8eaea6f5d8d 100644 --- a/Sources/Services/AWSBraket/Sources/AWSBraket/BraketClient.swift +++ b/Sources/Services/AWSBraket/Sources/AWSBraket/BraketClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BraketClient: ClientRuntime.Client { +public class BraketClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BraketClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BraketClient.BraketClientConfiguration let serviceName = "Braket" diff --git a/Sources/Services/AWSBudgets/Sources/AWSBudgets/BudgetsClient.swift b/Sources/Services/AWSBudgets/Sources/AWSBudgets/BudgetsClient.swift index 030e3670170..23e5cc94a15 100644 --- a/Sources/Services/AWSBudgets/Sources/AWSBudgets/BudgetsClient.swift +++ b/Sources/Services/AWSBudgets/Sources/AWSBudgets/BudgetsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class BudgetsClient: ClientRuntime.Client { +public class BudgetsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "BudgetsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: BudgetsClient.BudgetsClientConfiguration let serviceName = "Budgets" diff --git a/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift b/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift index f674286ecac..dfa99596d5e 100644 --- a/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift @@ -293,11 +293,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -309,23 +309,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -336,23 +336,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -363,21 +363,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -390,21 +390,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -417,21 +417,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -444,21 +444,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -471,21 +471,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -498,21 +498,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -525,21 +525,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -552,22 +552,22 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -579,23 +579,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -606,23 +606,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -633,21 +633,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -660,13 +660,13 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSChatbot/Sources/AWSChatbot/ChatbotClient.swift b/Sources/Services/AWSChatbot/Sources/AWSChatbot/ChatbotClient.swift index 5e461a94993..1d686a6ed7e 100644 --- a/Sources/Services/AWSChatbot/Sources/AWSChatbot/ChatbotClient.swift +++ b/Sources/Services/AWSChatbot/Sources/AWSChatbot/ChatbotClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChatbotClient: ClientRuntime.Client { +public class ChatbotClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChatbotClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChatbotClient.ChatbotClientConfiguration let serviceName = "chatbot" diff --git a/Sources/Services/AWSChime/Sources/AWSChime/ChimeClient.swift b/Sources/Services/AWSChime/Sources/AWSChime/ChimeClient.swift index 779609e0035..a9f28dde498 100644 --- a/Sources/Services/AWSChime/Sources/AWSChime/ChimeClient.swift +++ b/Sources/Services/AWSChime/Sources/AWSChime/ChimeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChimeClient: ClientRuntime.Client { +public class ChimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChimeClient.ChimeClientConfiguration let serviceName = "Chime" diff --git a/Sources/Services/AWSChimeSDKIdentity/Sources/AWSChimeSDKIdentity/ChimeSDKIdentityClient.swift b/Sources/Services/AWSChimeSDKIdentity/Sources/AWSChimeSDKIdentity/ChimeSDKIdentityClient.swift index df52e7e844f..f9f699ae641 100644 --- a/Sources/Services/AWSChimeSDKIdentity/Sources/AWSChimeSDKIdentity/ChimeSDKIdentityClient.swift +++ b/Sources/Services/AWSChimeSDKIdentity/Sources/AWSChimeSDKIdentity/ChimeSDKIdentityClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChimeSDKIdentityClient: ClientRuntime.Client { +public class ChimeSDKIdentityClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChimeSDKIdentityClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChimeSDKIdentityClient.ChimeSDKIdentityClientConfiguration let serviceName = "Chime SDK Identity" diff --git a/Sources/Services/AWSChimeSDKMediaPipelines/Sources/AWSChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.swift b/Sources/Services/AWSChimeSDKMediaPipelines/Sources/AWSChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.swift index f91fadc0be6..ef21e1fd909 100644 --- a/Sources/Services/AWSChimeSDKMediaPipelines/Sources/AWSChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.swift +++ b/Sources/Services/AWSChimeSDKMediaPipelines/Sources/AWSChimeSDKMediaPipelines/ChimeSDKMediaPipelinesClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChimeSDKMediaPipelinesClient: ClientRuntime.Client { +public class ChimeSDKMediaPipelinesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChimeSDKMediaPipelinesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChimeSDKMediaPipelinesClient.ChimeSDKMediaPipelinesClientConfiguration let serviceName = "Chime SDK Media Pipelines" diff --git a/Sources/Services/AWSChimeSDKMeetings/Sources/AWSChimeSDKMeetings/ChimeSDKMeetingsClient.swift b/Sources/Services/AWSChimeSDKMeetings/Sources/AWSChimeSDKMeetings/ChimeSDKMeetingsClient.swift index 6c9193016b6..cc851c124dd 100644 --- a/Sources/Services/AWSChimeSDKMeetings/Sources/AWSChimeSDKMeetings/ChimeSDKMeetingsClient.swift +++ b/Sources/Services/AWSChimeSDKMeetings/Sources/AWSChimeSDKMeetings/ChimeSDKMeetingsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChimeSDKMeetingsClient: ClientRuntime.Client { +public class ChimeSDKMeetingsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChimeSDKMeetingsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChimeSDKMeetingsClient.ChimeSDKMeetingsClientConfiguration let serviceName = "Chime SDK Meetings" diff --git a/Sources/Services/AWSChimeSDKMessaging/Sources/AWSChimeSDKMessaging/ChimeSDKMessagingClient.swift b/Sources/Services/AWSChimeSDKMessaging/Sources/AWSChimeSDKMessaging/ChimeSDKMessagingClient.swift index f333e05a18f..eff8c1d75d2 100644 --- a/Sources/Services/AWSChimeSDKMessaging/Sources/AWSChimeSDKMessaging/ChimeSDKMessagingClient.swift +++ b/Sources/Services/AWSChimeSDKMessaging/Sources/AWSChimeSDKMessaging/ChimeSDKMessagingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChimeSDKMessagingClient: ClientRuntime.Client { +public class ChimeSDKMessagingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChimeSDKMessagingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChimeSDKMessagingClient.ChimeSDKMessagingClientConfiguration let serviceName = "Chime SDK Messaging" diff --git a/Sources/Services/AWSChimeSDKVoice/Sources/AWSChimeSDKVoice/ChimeSDKVoiceClient.swift b/Sources/Services/AWSChimeSDKVoice/Sources/AWSChimeSDKVoice/ChimeSDKVoiceClient.swift index 14d97d2dcd4..228a291e896 100644 --- a/Sources/Services/AWSChimeSDKVoice/Sources/AWSChimeSDKVoice/ChimeSDKVoiceClient.swift +++ b/Sources/Services/AWSChimeSDKVoice/Sources/AWSChimeSDKVoice/ChimeSDKVoiceClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ChimeSDKVoiceClient: ClientRuntime.Client { +public class ChimeSDKVoiceClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ChimeSDKVoiceClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ChimeSDKVoiceClient.ChimeSDKVoiceClientConfiguration let serviceName = "Chime SDK Voice" diff --git a/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/CleanRoomsClient.swift b/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/CleanRoomsClient.swift index 1bfa1f88b69..1fe87b50a47 100644 --- a/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/CleanRoomsClient.swift +++ b/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/CleanRoomsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CleanRoomsClient: ClientRuntime.Client { +public class CleanRoomsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CleanRoomsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CleanRoomsClient.CleanRoomsClientConfiguration let serviceName = "CleanRooms" diff --git a/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/Models.swift b/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/Models.swift index be3d6ad6c9e..2225f852173 100644 --- a/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/Models.swift +++ b/Sources/Services/AWSCleanRooms/Sources/AWSCleanRooms/Models.swift @@ -6717,7 +6717,7 @@ extension CleanRoomsClientTypes { /// A table that has been configured for use in a collaboration. public struct ConfiguredTable: Swift.Sendable { - /// The columns within the underlying Glue table that can be utilized within collaborations. + /// The columns within the underlying Glue table that can be used within collaborations. /// This member is required. public var allowedColumns: [Swift.String]? /// The analysis method for the configured table. DIRECT_QUERY allows SQL queries to be run directly on this table. DIRECT_JOB allows PySpark jobs to be run directly on this table. MULTIPLE allows both SQL queries and PySpark jobs to be run directly on this table. @@ -8834,6 +8834,16 @@ public struct GetProtectedQueryInput: Swift.Sendable { } } +extension CleanRoomsClientTypes { + + /// The configuration properties that define the compute environment settings for workers in Clean Rooms. These properties enable customization of the underlying compute environment to optimize performance for your specific workloads. + public enum WorkerComputeConfigurationProperties: Swift.Sendable { + /// The Spark configuration properties for SQL workloads. This map contains key-value pairs that configure Apache Spark settings to optimize performance for your data processing jobs. You can specify up to 50 Spark properties, with each key being 1-200 characters and each value being 0-500 characters. These properties allow you to adjust compute capacity for large datasets and complex workloads. + case spark([Swift.String: Swift.String]) + case sdkUnknown(Swift.String) + } +} + extension CleanRoomsClientTypes { public enum WorkerComputeType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -8869,14 +8879,18 @@ extension CleanRoomsClientTypes { public struct WorkerComputeConfiguration: Swift.Sendable { /// The number of workers. SQL queries support a minimum value of 2 and a maximum value of 400. PySpark jobs support a minimum value of 4 and a maximum value of 128. public var number: Swift.Int? + /// The configuration properties for the worker compute environment. These properties allow you to customize the compute settings for your Clean Rooms workloads. + public var properties: CleanRoomsClientTypes.WorkerComputeConfigurationProperties? /// The worker compute configuration type. public var type: CleanRoomsClientTypes.WorkerComputeType? public init( number: Swift.Int? = nil, + properties: CleanRoomsClientTypes.WorkerComputeConfigurationProperties? = nil, type: CleanRoomsClientTypes.WorkerComputeType? = nil ) { self.number = number + self.properties = properties self.type = type } } @@ -16988,6 +17002,7 @@ extension CleanRoomsClientTypes.WorkerComputeConfiguration { static func write(value: CleanRoomsClientTypes.WorkerComputeConfiguration?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["number"].write(value.number) + try writer["properties"].write(value.properties, with: CleanRoomsClientTypes.WorkerComputeConfigurationProperties.write(value:to:)) try writer["type"].write(value.type) } @@ -16996,10 +17011,35 @@ extension CleanRoomsClientTypes.WorkerComputeConfiguration { var value = CleanRoomsClientTypes.WorkerComputeConfiguration() value.type = try reader["type"].readIfPresent() value.number = try reader["number"].readIfPresent() + value.properties = try reader["properties"].readIfPresent(with: CleanRoomsClientTypes.WorkerComputeConfigurationProperties.read(from:)) return value } } +extension CleanRoomsClientTypes.WorkerComputeConfigurationProperties { + + static func write(value: CleanRoomsClientTypes.WorkerComputeConfigurationProperties?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .spark(spark): + try writer["spark"].writeMap(spark, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> CleanRoomsClientTypes.WorkerComputeConfigurationProperties { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "spark": + return .spark(try reader["spark"].readMap(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false)) + default: + return .sdkUnknown(name ?? "") + } + } +} + extension CleanRoomsClientTypes.DifferentialPrivacyParameters { static func read(from reader: SmithyJSON.Reader) throws -> CleanRoomsClientTypes.DifferentialPrivacyParameters { diff --git a/Sources/Services/AWSCleanRoomsML/Sources/AWSCleanRoomsML/CleanRoomsMLClient.swift b/Sources/Services/AWSCleanRoomsML/Sources/AWSCleanRoomsML/CleanRoomsMLClient.swift index 9527a170560..0f1ce4d6920 100644 --- a/Sources/Services/AWSCleanRoomsML/Sources/AWSCleanRoomsML/CleanRoomsMLClient.swift +++ b/Sources/Services/AWSCleanRoomsML/Sources/AWSCleanRoomsML/CleanRoomsMLClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CleanRoomsMLClient: ClientRuntime.Client { +public class CleanRoomsMLClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CleanRoomsMLClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CleanRoomsMLClient.CleanRoomsMLClientConfiguration let serviceName = "CleanRoomsML" diff --git a/Sources/Services/AWSCloud9/Sources/AWSCloud9/Cloud9Client.swift b/Sources/Services/AWSCloud9/Sources/AWSCloud9/Cloud9Client.swift index 0016cada6f8..e9b17f5a62c 100644 --- a/Sources/Services/AWSCloud9/Sources/AWSCloud9/Cloud9Client.swift +++ b/Sources/Services/AWSCloud9/Sources/AWSCloud9/Cloud9Client.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Cloud9Client: ClientRuntime.Client { +public class Cloud9Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "Cloud9Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Cloud9Client.Cloud9ClientConfiguration let serviceName = "Cloud9" diff --git a/Sources/Services/AWSCloudControl/Sources/AWSCloudControl/CloudControlClient.swift b/Sources/Services/AWSCloudControl/Sources/AWSCloudControl/CloudControlClient.swift index 5291a052169..62de28acae8 100644 --- a/Sources/Services/AWSCloudControl/Sources/AWSCloudControl/CloudControlClient.swift +++ b/Sources/Services/AWSCloudControl/Sources/AWSCloudControl/CloudControlClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudControlClient: ClientRuntime.Client { +public class CloudControlClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudControlClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudControlClient.CloudControlClientConfiguration let serviceName = "CloudControl" diff --git a/Sources/Services/AWSCloudDirectory/Sources/AWSCloudDirectory/CloudDirectoryClient.swift b/Sources/Services/AWSCloudDirectory/Sources/AWSCloudDirectory/CloudDirectoryClient.swift index df3666eab4e..d349c17e4ae 100644 --- a/Sources/Services/AWSCloudDirectory/Sources/AWSCloudDirectory/CloudDirectoryClient.swift +++ b/Sources/Services/AWSCloudDirectory/Sources/AWSCloudDirectory/CloudDirectoryClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudDirectoryClient: ClientRuntime.Client { +public class CloudDirectoryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudDirectoryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudDirectoryClient.CloudDirectoryClientConfiguration let serviceName = "CloudDirectory" diff --git a/Sources/Services/AWSCloudFormation/Sources/AWSCloudFormation/CloudFormationClient.swift b/Sources/Services/AWSCloudFormation/Sources/AWSCloudFormation/CloudFormationClient.swift index 084cee840e9..5c26b4ae652 100644 --- a/Sources/Services/AWSCloudFormation/Sources/AWSCloudFormation/CloudFormationClient.swift +++ b/Sources/Services/AWSCloudFormation/Sources/AWSCloudFormation/CloudFormationClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudFormationClient: ClientRuntime.Client { +public class CloudFormationClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudFormationClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudFormationClient.CloudFormationClientConfiguration let serviceName = "CloudFormation" diff --git a/Sources/Services/AWSCloudFront/Sources/AWSCloudFront/CloudFrontClient.swift b/Sources/Services/AWSCloudFront/Sources/AWSCloudFront/CloudFrontClient.swift index 82d5b44eb66..f79c1c66ac3 100644 --- a/Sources/Services/AWSCloudFront/Sources/AWSCloudFront/CloudFrontClient.swift +++ b/Sources/Services/AWSCloudFront/Sources/AWSCloudFront/CloudFrontClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudFrontClient: ClientRuntime.Client { +public class CloudFrontClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudFrontClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudFrontClient.CloudFrontClientConfiguration let serviceName = "CloudFront" diff --git a/Sources/Services/AWSCloudFrontKeyValueStore/Sources/AWSCloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.swift b/Sources/Services/AWSCloudFrontKeyValueStore/Sources/AWSCloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.swift index 4e28982418f..e87e16061da 100644 --- a/Sources/Services/AWSCloudFrontKeyValueStore/Sources/AWSCloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.swift +++ b/Sources/Services/AWSCloudFrontKeyValueStore/Sources/AWSCloudFrontKeyValueStore/CloudFrontKeyValueStoreClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudFrontKeyValueStoreClient: ClientRuntime.Client { +public class CloudFrontKeyValueStoreClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudFrontKeyValueStoreClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudFrontKeyValueStoreClient.CloudFrontKeyValueStoreClientConfiguration let serviceName = "CloudFront KeyValueStore" diff --git a/Sources/Services/AWSCloudHSM/Sources/AWSCloudHSM/CloudHSMClient.swift b/Sources/Services/AWSCloudHSM/Sources/AWSCloudHSM/CloudHSMClient.swift index e26f1090513..b7664c9dd73 100644 --- a/Sources/Services/AWSCloudHSM/Sources/AWSCloudHSM/CloudHSMClient.swift +++ b/Sources/Services/AWSCloudHSM/Sources/AWSCloudHSM/CloudHSMClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudHSMClient: ClientRuntime.Client { +public class CloudHSMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudHSMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudHSMClient.CloudHSMClientConfiguration let serviceName = "CloudHSM" diff --git a/Sources/Services/AWSCloudHSMV2/Sources/AWSCloudHSMV2/CloudHSMV2Client.swift b/Sources/Services/AWSCloudHSMV2/Sources/AWSCloudHSMV2/CloudHSMV2Client.swift index 22644e0aa82..5a3e079a720 100644 --- a/Sources/Services/AWSCloudHSMV2/Sources/AWSCloudHSMV2/CloudHSMV2Client.swift +++ b/Sources/Services/AWSCloudHSMV2/Sources/AWSCloudHSMV2/CloudHSMV2Client.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudHSMV2Client: ClientRuntime.Client { +public class CloudHSMV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudHSMV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudHSMV2Client.CloudHSMV2ClientConfiguration let serviceName = "CloudHSM V2" diff --git a/Sources/Services/AWSCloudSearch/Sources/AWSCloudSearch/CloudSearchClient.swift b/Sources/Services/AWSCloudSearch/Sources/AWSCloudSearch/CloudSearchClient.swift index f455fe5b3e2..66102c5ab55 100644 --- a/Sources/Services/AWSCloudSearch/Sources/AWSCloudSearch/CloudSearchClient.swift +++ b/Sources/Services/AWSCloudSearch/Sources/AWSCloudSearch/CloudSearchClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudSearchClient: ClientRuntime.Client { +public class CloudSearchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudSearchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudSearchClient.CloudSearchClientConfiguration let serviceName = "CloudSearch" diff --git a/Sources/Services/AWSCloudSearchDomain/Sources/AWSCloudSearchDomain/CloudSearchDomainClient.swift b/Sources/Services/AWSCloudSearchDomain/Sources/AWSCloudSearchDomain/CloudSearchDomainClient.swift index 9c7846e4a87..27a9209774b 100644 --- a/Sources/Services/AWSCloudSearchDomain/Sources/AWSCloudSearchDomain/CloudSearchDomainClient.swift +++ b/Sources/Services/AWSCloudSearchDomain/Sources/AWSCloudSearchDomain/CloudSearchDomainClient.swift @@ -32,7 +32,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudSearchDomainClient: ClientRuntime.Client { +public class CloudSearchDomainClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudSearchDomainClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudSearchDomainClient.CloudSearchDomainClientConfiguration let serviceName = "CloudSearch Domain" diff --git a/Sources/Services/AWSCloudTrail/Sources/AWSCloudTrail/CloudTrailClient.swift b/Sources/Services/AWSCloudTrail/Sources/AWSCloudTrail/CloudTrailClient.swift index ffa876414ad..04a1c2dfbf2 100644 --- a/Sources/Services/AWSCloudTrail/Sources/AWSCloudTrail/CloudTrailClient.swift +++ b/Sources/Services/AWSCloudTrail/Sources/AWSCloudTrail/CloudTrailClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudTrailClient: ClientRuntime.Client { +public class CloudTrailClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudTrailClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudTrailClient.CloudTrailClientConfiguration let serviceName = "CloudTrail" diff --git a/Sources/Services/AWSCloudTrailData/Sources/AWSCloudTrailData/CloudTrailDataClient.swift b/Sources/Services/AWSCloudTrailData/Sources/AWSCloudTrailData/CloudTrailDataClient.swift index eb068b0b2f7..ccd5949c13a 100644 --- a/Sources/Services/AWSCloudTrailData/Sources/AWSCloudTrailData/CloudTrailDataClient.swift +++ b/Sources/Services/AWSCloudTrailData/Sources/AWSCloudTrailData/CloudTrailDataClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudTrailDataClient: ClientRuntime.Client { +public class CloudTrailDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudTrailDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudTrailDataClient.CloudTrailDataClientConfiguration let serviceName = "CloudTrail Data" diff --git a/Sources/Services/AWSCloudWatch/Sources/AWSCloudWatch/CloudWatchClient.swift b/Sources/Services/AWSCloudWatch/Sources/AWSCloudWatch/CloudWatchClient.swift index 5dd9e08343d..f4bb0ae1881 100644 --- a/Sources/Services/AWSCloudWatch/Sources/AWSCloudWatch/CloudWatchClient.swift +++ b/Sources/Services/AWSCloudWatch/Sources/AWSCloudWatch/CloudWatchClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudWatchClient: ClientRuntime.Client { +public class CloudWatchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudWatchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudWatchClient.CloudWatchClientConfiguration let serviceName = "CloudWatch" diff --git a/Sources/Services/AWSCloudWatch/Tests/AWSCloudWatchTests/EndpointResolverTest.swift b/Sources/Services/AWSCloudWatch/Tests/AWSCloudWatchTests/EndpointResolverTest.swift index d5deafd0fbc..5c81915d5da 100644 --- a/Sources/Services/AWSCloudWatch/Tests/AWSCloudWatchTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSCloudWatch/Tests/AWSCloudWatchTests/EndpointResolverTest.swift @@ -237,11 +237,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -252,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -272,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -292,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -312,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -332,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -352,15 +352,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -372,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -392,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -412,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -432,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -452,17 +452,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -472,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -492,15 +492,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -512,7 +512,7 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://monitoring.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSCloudWatchEvents/Sources/AWSCloudWatchEvents/CloudWatchEventsClient.swift b/Sources/Services/AWSCloudWatchEvents/Sources/AWSCloudWatchEvents/CloudWatchEventsClient.swift index 05469b5ceda..12606f26ff6 100644 --- a/Sources/Services/AWSCloudWatchEvents/Sources/AWSCloudWatchEvents/CloudWatchEventsClient.swift +++ b/Sources/Services/AWSCloudWatchEvents/Sources/AWSCloudWatchEvents/CloudWatchEventsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudWatchEventsClient: ClientRuntime.Client { +public class CloudWatchEventsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudWatchEventsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudWatchEventsClient.CloudWatchEventsClientConfiguration let serviceName = "CloudWatch Events" diff --git a/Sources/Services/AWSCloudWatchLogs/Sources/AWSCloudWatchLogs/CloudWatchLogsClient.swift b/Sources/Services/AWSCloudWatchLogs/Sources/AWSCloudWatchLogs/CloudWatchLogsClient.swift index 0e5d0dbea54..6c438e4e9c1 100644 --- a/Sources/Services/AWSCloudWatchLogs/Sources/AWSCloudWatchLogs/CloudWatchLogsClient.swift +++ b/Sources/Services/AWSCloudWatchLogs/Sources/AWSCloudWatchLogs/CloudWatchLogsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CloudWatchLogsClient: ClientRuntime.Client { +public class CloudWatchLogsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CloudWatchLogsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CloudWatchLogsClient.CloudWatchLogsClientConfiguration let serviceName = "CloudWatch Logs" diff --git a/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/CodeBuildClient.swift b/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/CodeBuildClient.swift index 071c1ecf870..c07ae99a8bd 100644 --- a/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/CodeBuildClient.swift +++ b/Sources/Services/AWSCodeBuild/Sources/AWSCodeBuild/CodeBuildClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeBuildClient: ClientRuntime.Client { +public class CodeBuildClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeBuildClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeBuildClient.CodeBuildClientConfiguration let serviceName = "CodeBuild" diff --git a/Sources/Services/AWSCodeCatalyst/Sources/AWSCodeCatalyst/CodeCatalystClient.swift b/Sources/Services/AWSCodeCatalyst/Sources/AWSCodeCatalyst/CodeCatalystClient.swift index 06fd4459679..12bc6f16740 100644 --- a/Sources/Services/AWSCodeCatalyst/Sources/AWSCodeCatalyst/CodeCatalystClient.swift +++ b/Sources/Services/AWSCodeCatalyst/Sources/AWSCodeCatalyst/CodeCatalystClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeCatalystClient: ClientRuntime.Client { +public class CodeCatalystClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeCatalystClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeCatalystClient.CodeCatalystClientConfiguration let serviceName = "CodeCatalyst" diff --git a/Sources/Services/AWSCodeCommit/Sources/AWSCodeCommit/CodeCommitClient.swift b/Sources/Services/AWSCodeCommit/Sources/AWSCodeCommit/CodeCommitClient.swift index 821b0fcd20f..d1d426994b7 100644 --- a/Sources/Services/AWSCodeCommit/Sources/AWSCodeCommit/CodeCommitClient.swift +++ b/Sources/Services/AWSCodeCommit/Sources/AWSCodeCommit/CodeCommitClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeCommitClient: ClientRuntime.Client { +public class CodeCommitClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeCommitClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeCommitClient.CodeCommitClientConfiguration let serviceName = "CodeCommit" diff --git a/Sources/Services/AWSCodeConnections/Sources/AWSCodeConnections/CodeConnectionsClient.swift b/Sources/Services/AWSCodeConnections/Sources/AWSCodeConnections/CodeConnectionsClient.swift index b2d46e2edba..ea2cd4b7da2 100644 --- a/Sources/Services/AWSCodeConnections/Sources/AWSCodeConnections/CodeConnectionsClient.swift +++ b/Sources/Services/AWSCodeConnections/Sources/AWSCodeConnections/CodeConnectionsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeConnectionsClient: ClientRuntime.Client { +public class CodeConnectionsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeConnectionsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeConnectionsClient.CodeConnectionsClientConfiguration let serviceName = "CodeConnections" diff --git a/Sources/Services/AWSCodeDeploy/Sources/AWSCodeDeploy/CodeDeployClient.swift b/Sources/Services/AWSCodeDeploy/Sources/AWSCodeDeploy/CodeDeployClient.swift index 449f7f44d84..8b738d1f957 100644 --- a/Sources/Services/AWSCodeDeploy/Sources/AWSCodeDeploy/CodeDeployClient.swift +++ b/Sources/Services/AWSCodeDeploy/Sources/AWSCodeDeploy/CodeDeployClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeDeployClient: ClientRuntime.Client { +public class CodeDeployClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeDeployClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeDeployClient.CodeDeployClientConfiguration let serviceName = "CodeDeploy" diff --git a/Sources/Services/AWSCodeGuruProfiler/Sources/AWSCodeGuruProfiler/CodeGuruProfilerClient.swift b/Sources/Services/AWSCodeGuruProfiler/Sources/AWSCodeGuruProfiler/CodeGuruProfilerClient.swift index 435dfc33fd1..95def192b18 100644 --- a/Sources/Services/AWSCodeGuruProfiler/Sources/AWSCodeGuruProfiler/CodeGuruProfilerClient.swift +++ b/Sources/Services/AWSCodeGuruProfiler/Sources/AWSCodeGuruProfiler/CodeGuruProfilerClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeGuruProfilerClient: ClientRuntime.Client { +public class CodeGuruProfilerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeGuruProfilerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeGuruProfilerClient.CodeGuruProfilerClientConfiguration let serviceName = "CodeGuruProfiler" diff --git a/Sources/Services/AWSCodeGuruReviewer/Sources/AWSCodeGuruReviewer/CodeGuruReviewerClient.swift b/Sources/Services/AWSCodeGuruReviewer/Sources/AWSCodeGuruReviewer/CodeGuruReviewerClient.swift index 0fec6b23b1a..e0247c7f3e0 100644 --- a/Sources/Services/AWSCodeGuruReviewer/Sources/AWSCodeGuruReviewer/CodeGuruReviewerClient.swift +++ b/Sources/Services/AWSCodeGuruReviewer/Sources/AWSCodeGuruReviewer/CodeGuruReviewerClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeGuruReviewerClient: ClientRuntime.Client { +public class CodeGuruReviewerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeGuruReviewerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeGuruReviewerClient.CodeGuruReviewerClientConfiguration let serviceName = "CodeGuru Reviewer" diff --git a/Sources/Services/AWSCodeGuruSecurity/Sources/AWSCodeGuruSecurity/CodeGuruSecurityClient.swift b/Sources/Services/AWSCodeGuruSecurity/Sources/AWSCodeGuruSecurity/CodeGuruSecurityClient.swift index bffc95da9f8..d6fce5da768 100644 --- a/Sources/Services/AWSCodeGuruSecurity/Sources/AWSCodeGuruSecurity/CodeGuruSecurityClient.swift +++ b/Sources/Services/AWSCodeGuruSecurity/Sources/AWSCodeGuruSecurity/CodeGuruSecurityClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeGuruSecurityClient: ClientRuntime.Client { +public class CodeGuruSecurityClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeGuruSecurityClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeGuruSecurityClient.CodeGuruSecurityClientConfiguration let serviceName = "CodeGuru Security" diff --git a/Sources/Services/AWSCodePipeline/Sources/AWSCodePipeline/CodePipelineClient.swift b/Sources/Services/AWSCodePipeline/Sources/AWSCodePipeline/CodePipelineClient.swift index a7b996c0041..d28ed7eb62d 100644 --- a/Sources/Services/AWSCodePipeline/Sources/AWSCodePipeline/CodePipelineClient.swift +++ b/Sources/Services/AWSCodePipeline/Sources/AWSCodePipeline/CodePipelineClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodePipelineClient: ClientRuntime.Client { +public class CodePipelineClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodePipelineClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodePipelineClient.CodePipelineClientConfiguration let serviceName = "CodePipeline" diff --git a/Sources/Services/AWSCodeStarconnections/Sources/AWSCodeStarconnections/CodeStarconnectionsClient.swift b/Sources/Services/AWSCodeStarconnections/Sources/AWSCodeStarconnections/CodeStarconnectionsClient.swift index 852820543b4..032b234d958 100644 --- a/Sources/Services/AWSCodeStarconnections/Sources/AWSCodeStarconnections/CodeStarconnectionsClient.swift +++ b/Sources/Services/AWSCodeStarconnections/Sources/AWSCodeStarconnections/CodeStarconnectionsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeStarconnectionsClient: ClientRuntime.Client { +public class CodeStarconnectionsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeStarconnectionsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeStarconnectionsClient.CodeStarconnectionsClientConfiguration let serviceName = "CodeStar connections" diff --git a/Sources/Services/AWSCodeartifact/Sources/AWSCodeartifact/CodeartifactClient.swift b/Sources/Services/AWSCodeartifact/Sources/AWSCodeartifact/CodeartifactClient.swift index 4ff53f92007..eeee9966a40 100644 --- a/Sources/Services/AWSCodeartifact/Sources/AWSCodeartifact/CodeartifactClient.swift +++ b/Sources/Services/AWSCodeartifact/Sources/AWSCodeartifact/CodeartifactClient.swift @@ -34,7 +34,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodeartifactClient: ClientRuntime.Client { +public class CodeartifactClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodeartifactClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodeartifactClient.CodeartifactClientConfiguration let serviceName = "codeartifact" diff --git a/Sources/Services/AWSCodestarnotifications/Sources/AWSCodestarnotifications/CodestarnotificationsClient.swift b/Sources/Services/AWSCodestarnotifications/Sources/AWSCodestarnotifications/CodestarnotificationsClient.swift index 9e075ad71f2..4cbd9058f73 100644 --- a/Sources/Services/AWSCodestarnotifications/Sources/AWSCodestarnotifications/CodestarnotificationsClient.swift +++ b/Sources/Services/AWSCodestarnotifications/Sources/AWSCodestarnotifications/CodestarnotificationsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CodestarnotificationsClient: ClientRuntime.Client { +public class CodestarnotificationsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CodestarnotificationsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CodestarnotificationsClient.CodestarnotificationsClientConfiguration let serviceName = "codestar notifications" diff --git a/Sources/Services/AWSCognitoIdentity/Sources/AWSCognitoIdentity/CognitoIdentityClient.swift b/Sources/Services/AWSCognitoIdentity/Sources/AWSCognitoIdentity/CognitoIdentityClient.swift index 45904b3bde0..09d0634a238 100644 --- a/Sources/Services/AWSCognitoIdentity/Sources/AWSCognitoIdentity/CognitoIdentityClient.swift +++ b/Sources/Services/AWSCognitoIdentity/Sources/AWSCognitoIdentity/CognitoIdentityClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CognitoIdentityClient: ClientRuntime.Client { +public class CognitoIdentityClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CognitoIdentityClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CognitoIdentityClient.CognitoIdentityClientConfiguration let serviceName = "Cognito Identity" diff --git a/Sources/Services/AWSCognitoIdentityProvider/Sources/AWSCognitoIdentityProvider/CognitoIdentityProviderClient.swift b/Sources/Services/AWSCognitoIdentityProvider/Sources/AWSCognitoIdentityProvider/CognitoIdentityProviderClient.swift index 5f3d7baf980..374247abf75 100644 --- a/Sources/Services/AWSCognitoIdentityProvider/Sources/AWSCognitoIdentityProvider/CognitoIdentityProviderClient.swift +++ b/Sources/Services/AWSCognitoIdentityProvider/Sources/AWSCognitoIdentityProvider/CognitoIdentityProviderClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CognitoIdentityProviderClient: ClientRuntime.Client { +public class CognitoIdentityProviderClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CognitoIdentityProviderClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CognitoIdentityProviderClient.CognitoIdentityProviderClientConfiguration let serviceName = "Cognito Identity Provider" diff --git a/Sources/Services/AWSCognitoSync/Sources/AWSCognitoSync/CognitoSyncClient.swift b/Sources/Services/AWSCognitoSync/Sources/AWSCognitoSync/CognitoSyncClient.swift index 546d416050b..10fff666330 100644 --- a/Sources/Services/AWSCognitoSync/Sources/AWSCognitoSync/CognitoSyncClient.swift +++ b/Sources/Services/AWSCognitoSync/Sources/AWSCognitoSync/CognitoSyncClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CognitoSyncClient: ClientRuntime.Client { +public class CognitoSyncClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CognitoSyncClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CognitoSyncClient.CognitoSyncClientConfiguration let serviceName = "Cognito Sync" diff --git a/Sources/Services/AWSComprehend/Sources/AWSComprehend/ComprehendClient.swift b/Sources/Services/AWSComprehend/Sources/AWSComprehend/ComprehendClient.swift index 445fc70f61b..c0507953237 100644 --- a/Sources/Services/AWSComprehend/Sources/AWSComprehend/ComprehendClient.swift +++ b/Sources/Services/AWSComprehend/Sources/AWSComprehend/ComprehendClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ComprehendClient: ClientRuntime.Client { +public class ComprehendClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ComprehendClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ComprehendClient.ComprehendClientConfiguration let serviceName = "Comprehend" diff --git a/Sources/Services/AWSComprehendMedical/Sources/AWSComprehendMedical/ComprehendMedicalClient.swift b/Sources/Services/AWSComprehendMedical/Sources/AWSComprehendMedical/ComprehendMedicalClient.swift index 659742af82d..e021dbf10c5 100644 --- a/Sources/Services/AWSComprehendMedical/Sources/AWSComprehendMedical/ComprehendMedicalClient.swift +++ b/Sources/Services/AWSComprehendMedical/Sources/AWSComprehendMedical/ComprehendMedicalClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ComprehendMedicalClient: ClientRuntime.Client { +public class ComprehendMedicalClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ComprehendMedicalClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ComprehendMedicalClient.ComprehendMedicalClientConfiguration let serviceName = "ComprehendMedical" diff --git a/Sources/Services/AWSComputeOptimizer/Sources/AWSComputeOptimizer/ComputeOptimizerClient.swift b/Sources/Services/AWSComputeOptimizer/Sources/AWSComputeOptimizer/ComputeOptimizerClient.swift index 89623174224..77fc664af09 100644 --- a/Sources/Services/AWSComputeOptimizer/Sources/AWSComputeOptimizer/ComputeOptimizerClient.swift +++ b/Sources/Services/AWSComputeOptimizer/Sources/AWSComputeOptimizer/ComputeOptimizerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ComputeOptimizerClient: ClientRuntime.Client { +public class ComputeOptimizerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ComputeOptimizerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ComputeOptimizerClient.ComputeOptimizerClientConfiguration let serviceName = "Compute Optimizer" diff --git a/Sources/Services/AWSConfigService/Sources/AWSConfigService/ConfigClient.swift b/Sources/Services/AWSConfigService/Sources/AWSConfigService/ConfigClient.swift index 502b43a9198..e6a16e26e23 100644 --- a/Sources/Services/AWSConfigService/Sources/AWSConfigService/ConfigClient.swift +++ b/Sources/Services/AWSConfigService/Sources/AWSConfigService/ConfigClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConfigClient: ClientRuntime.Client { +public class ConfigClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConfigClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConfigClient.ConfigClientConfiguration let serviceName = "Config" diff --git a/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift b/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift index 8de64850834..529741fe380 100644 --- a/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift +++ b/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConnectClient: ClientRuntime.Client { +public class ConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConnectClient.ConnectClientConfiguration let serviceName = "Connect" @@ -669,14 +668,14 @@ extension ConnectClient { /// /// Associates a queued contact with an agent. Use cases Following are common uses cases for this API: /// - /// * Custom contact routing. You can build custom contact routing mechanisms beyond the default system routing in Amazon Connect. You can create tailored contact distribution logic that offers queued contacts directly to specific agents. + /// * Programmatically assign queued contacts to available users. /// - /// * Manual contact assignment. You can programmatically assign queued contacts to available users. This provides flexibility to contact centers that require manual oversight or specialized routing workflows outside of standard queue management. For information about how manual contact assignment works in the agent workspace, see the [Access the Worklist app in the Amazon Connect agent workspace](https://docs.aws.amazon.com/connect/latest/adminguide/worklist-app.html) in the Amazon Connect Administrator Guide. + /// * Leverage the IAM context key connect:PreferredUserArn to restrict contact association to specific preferred user. /// /// /// Important things to know /// - /// * Use this API chat/SMS, email, and task contacts. It does not support voice contacts. + /// * Use this API with chat, email, and task contacts. It does not support voice contacts. /// /// * Use it to associate contacts with users regardless of their current state, including custom states. Ensure your application logic accounts for user availability before making associations. /// @@ -684,6 +683,8 @@ extension ConnectClient { /// /// * It respects the IAM context key connect:PreferredUserArn to enforce authorization controls and prevent unauthorized contact associations. Verify that your IAM policies are properly configured to support your intended use cases. /// + /// * The service quota Queues per routing profile per instance applies to manually assigned queues, too. For more information about this quota, see [Amazon Connect quotas](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#connect-quotas) in the Amazon Connect Administrator Guide. + /// /// /// Endpoints: See [Amazon Connect endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/connect_region.html). /// @@ -828,6 +829,121 @@ extension ConnectClient { return try await op.execute(input: input) } + /// Performs the `AssociateEmailAddressAlias` operation on the `Connect` service. + /// + /// Associates an email address alias with an existing email address in an Amazon Connect instance. This creates a forwarding relationship where emails sent to the alias email address are automatically forwarded to the primary email address. Use cases Following are common uses cases for this API: + /// + /// * Unified customer support: Create multiple entry points (for example, support@example.com, help@example.com, customercare@example.com) that all forward to a single agent queue for streamlined management. + /// + /// * Department consolidation: Forward emails from legacy department addresses (for example, sales@example.com, info@example.com) to a centralized customer service email during organizational restructuring. + /// + /// * Brand management: Enable you to use familiar brand-specific email addresses that forward to the appropriate Amazon Connect instance email address. + /// + /// + /// Important things to know + /// + /// * Each email address can have a maximum of one alias. You cannot create multiple aliases for the same email address. + /// + /// * If the alias email address already receives direct emails, it continues to receive direct emails plus forwarded emails. + /// + /// * You cannot chain email aliases together (that is, create an alias of an alias). + /// + /// + /// AssociateEmailAddressAlias does not return the following information: + /// + /// * A confirmation of the alias relationship details (you must call [DescribeEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeEmailAddress.html) to verify). + /// + /// * The timestamp of when the association occurred. + /// + /// * The status of the forwarding configuration. + /// + /// + /// Endpoints: See [Amazon Connect endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/connect_region.html). Related operations + /// + /// * [DisassociateEmailAddressAlias](https://docs.aws.amazon.com/connect/latest/APIReference/API_DisassociateEmailAddressAlias.html): Removes the alias association between two email addresses in an Amazon Connect instance. + /// + /// * [DescribeEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeEmailAddress.html): View current alias configurations for an email address. + /// + /// * [SearchEmailAddresses](https://docs.aws.amazon.com/connect/latest/APIReference/API_SearchEmailAddresses.html): Find email addresses and their alias relationships across an instance. + /// + /// * [CreateEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateEmailAddress.html): Create new email addresses that can participate in alias relationships. + /// + /// * [DeleteEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteEmailAddress.html): Remove email addresses (automatically removes any alias relationships). + /// + /// * [UpdateEmailAddressMetadata](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateEmailAddressMetadata.html): Modify email address properties (does not affect alias relationships). + /// + /// - Parameter input: [no documentation found] (Type: `AssociateEmailAddressAliasInput`) + /// + /// - Returns: [no documentation found] (Type: `AssociateEmailAddressAliasOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. + /// - `IdempotencyException` : An entity with the same name already exists. + /// - `InternalServiceException` : Request processing failed because of an error or failure with the service. + /// - `InvalidParameterException` : One or more of the specified parameters are not valid. + /// - `InvalidRequestException` : The request is not valid. + /// - `ResourceConflictException` : A resource already has that name. + /// - `ResourceNotFoundException` : The specified resource was not found. + /// - `ThrottlingException` : The throttling limit has been exceeded. + public func associateEmailAddressAlias(input: AssociateEmailAddressAliasInput) async throws -> AssociateEmailAddressAliasOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "associateEmailAddressAlias") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "connect") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(AssociateEmailAddressAliasInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: AssociateEmailAddressAliasInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(AssociateEmailAddressAliasOutput.httpOutput(from:), AssociateEmailAddressAliasOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("Connect", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: ConnectClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Connect") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "AssociateEmailAddressAlias") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `AssociateFlow` operation on the `Connect` service. /// /// Associates a connect resource to a flow. @@ -6288,7 +6404,7 @@ extension ConnectClient { /// Performs the `DescribeAuthenticationProfile` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Describes the target authentication profile. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Describes the target authentication profile. /// /// - Parameter input: [no documentation found] (Type: `DescribeAuthenticationProfileInput`) /// @@ -6357,12 +6473,24 @@ extension ConnectClient { /// Performs the `DescribeContact` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. Describes the specified contact. + /// This API is in preview release for Amazon Connect and is subject to change. Describes the specified contact. Use cases Following are common uses cases for this API: + /// + /// * Retrieve contact information such as the caller's phone number and the specific number the caller dialed to integrate into custom monitoring or custom agent experience solutions. + /// + /// * Detect when a customer chat session disconnects due to a network issue on the agent's end. Use the DisconnectReason field in the [ContactTraceRecord](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html#ctr-ContactTraceRecord) to detect this event and then re-queue the chat for followup. + /// + /// * Identify after contact work (ACW) duration and call recordings information when a COMPLETED event is received by using the [contact event stream](https://docs.aws.amazon.com/connect/latest/adminguide/contact-events.html). + /// + /// + /// Important things to know /// /// * SystemEndpoint is not populated for contacts with initiation method of MONITOR, QUEUE_TRANSFER, or CALLBACK /// /// * Contact information remains available in Amazon Connect for 24 months from the InitiationTimestamp, and then it is deleted. Only contact information that is available in Amazon Connect is returned by this API. /// + /// + /// Endpoints: See [Amazon Connect endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/connect_region.html). + /// /// - Parameter input: [no documentation found] (Type: `DescribeContactInput`) /// /// - Returns: [no documentation found] (Type: `DescribeContactOutput`) @@ -8308,6 +8436,122 @@ extension ConnectClient { return try await op.execute(input: input) } + /// Performs the `DisassociateEmailAddressAlias` operation on the `Connect` service. + /// + /// Removes the alias association between two email addresses in an Amazon Connect instance. After disassociation, emails sent to the former alias email address are no longer forwarded to the primary email address. Both email addresses continue to exist independently and can receive emails directly. Use cases Following are common uses cases for this API: + /// + /// * Department separation: Remove alias relationships when splitting a consolidated support queue back into separate department-specific queues. + /// + /// * Email address retirement: Cleanly remove forwarding relationships before decommissioning old email addresses. + /// + /// * Organizational restructuring: Reconfigure email routing when business processes change and aliases are no longer needed. + /// + /// + /// Important things to know + /// + /// * Concurrent operations: This API uses distributed locking, so concurrent operations on the same email addresses may be temporarily blocked. + /// + /// * Emails sent to the former alias address are still delivered directly to that address if it exists. + /// + /// * You do not need to delete the email addresses after disassociation. Both addresses remain active independently. + /// + /// * After a successful disassociation, you can immediately create a new alias relationship with the same addresses. + /// + /// * 200 status means alias was successfully disassociated. + /// + /// + /// DisassociateEmailAddressAlias does not return the following information: + /// + /// * Details in the response about the email that was disassociated. The response returns an empty body. + /// + /// * The timestamp of when the disassociation occurred. + /// + /// + /// Endpoints: See [Amazon Connect endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/connect_region.html). Related operations + /// + /// * [AssociateEmailAddressAlias](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateEmailAddressAlias.html): Associates an email address alias with an existing email address in an Amazon Connect instance. + /// + /// * [DescribeEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeEmailAddress.html): View current alias configurations for an email address. + /// + /// * [SearchEmailAddresses](https://docs.aws.amazon.com/connect/latest/APIReference/API_SearchEmailAddresses.html): Find email addresses and their alias relationships across an instance. + /// + /// * [CreateEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_CreateEmailAddress.html): Create new email addresses that can participate in alias relationships. + /// + /// * [DeleteEmailAddress](https://docs.aws.amazon.com/connect/latest/APIReference/API_DeleteEmailAddress.html): Remove email addresses (automatically removes any alias relationships). + /// + /// * [UpdateEmailAddressMetadata](https://docs.aws.amazon.com/connect/latest/APIReference/API_UpdateEmailAddressMetadata.html): Modify email address properties (does not affect alias relationships). + /// + /// - Parameter input: [no documentation found] (Type: `DisassociateEmailAddressAliasInput`) + /// + /// - Returns: [no documentation found] (Type: `DisassociateEmailAddressAliasOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. + /// - `InternalServiceException` : Request processing failed because of an error or failure with the service. + /// - `InvalidParameterException` : One or more of the specified parameters are not valid. + /// - `InvalidRequestException` : The request is not valid. + /// - `ResourceConflictException` : A resource already has that name. + /// - `ResourceNotFoundException` : The specified resource was not found. + /// - `ThrottlingException` : The throttling limit has been exceeded. + public func disassociateEmailAddressAlias(input: DisassociateEmailAddressAliasInput) async throws -> DisassociateEmailAddressAliasOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "disassociateEmailAddressAlias") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "connect") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DisassociateEmailAddressAliasInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DisassociateEmailAddressAliasInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DisassociateEmailAddressAliasOutput.httpOutput(from:), DisassociateEmailAddressAliasOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("Connect", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: ConnectClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Connect") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DisassociateEmailAddressAlias") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DisassociateFlow` operation on the `Connect` service. /// /// Disassociates a connect resource from a flow. @@ -10064,7 +10308,7 @@ extension ConnectClient { /// Performs the `ImportPhoneNumber` operation on the `Connect` service. /// - /// Imports a claimed phone number from an external service, such as Amazon Web Services End User Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created. Call the [DescribePhoneNumber](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribePhoneNumber.html) API to verify the status of a previous ImportPhoneNumber operation. If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services Support ticket. + /// Imports a claimed phone number from an external service, such as Amazon Web Services End User Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created. Call the [DescribePhoneNumber](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribePhoneNumber.html) API to verify the status of a previous ImportPhoneNumber operation. If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web ServicesSupport ticket. /// /// - Parameter input: [no documentation found] (Type: `ImportPhoneNumberInput`) /// @@ -10488,7 +10732,7 @@ extension ConnectClient { /// Performs the `ListAuthenticationProfiles` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Provides summary information about the authentication profiles in a specified Amazon Connect instance. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Provides summary information about the authentication profiles in a specified Amazon Connect instance. /// /// - Parameter input: [no documentation found] (Type: `ListAuthenticationProfilesInput`) /// @@ -12396,7 +12640,7 @@ extension ConnectClient { /// /// Lists the manual assignment queues associated with a routing profile. Use cases Following are common uses cases for this API: /// - /// * This API returns list of queues where contacts can be manually assigned or picked. The user can additionally filter on queues, if they have access to those queues (otherwise a invalid request exception will be thrown). For information about how manual contact assignment works in the agent workspace, see the [Access the Worklist app in the Amazon Connect agent workspace](https://docs.aws.amazon.com/connect/latest/adminguide/worklist-app.html) in the Amazon Connect Administrator Guide. + /// * This API returns list of queues where contacts can be manually assigned or picked by an agent who has access to the Worklist app. The user can additionally filter on queues, if they have access to those queues (otherwise a invalid request exception will be thrown). For information about how manual contact assignment works in the agent workspace, see the [Access the Worklist app in the Amazon Connect agent workspace](https://docs.aws.amazon.com/connect/latest/adminguide/worklist-app.html) in the Amazon Connect Administrator Guide. /// /// /// Important things to know @@ -13886,7 +14130,7 @@ extension ConnectClient { /// Performs the `ReleasePhoneNumber` operation on the `Connect` service. /// - /// Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed. To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website. After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support. If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket. + /// Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed. To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website. After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web ServicesSupport. If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket. /// /// - Parameter input: [no documentation found] (Type: `ReleasePhoneNumberInput`) /// @@ -15718,7 +15962,7 @@ extension ConnectClient { /// * The [quota for concurrent active chats](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) is exceeded. Active chat throttling returns a LimitExceededException. /// /// - /// If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support. For more information about chat, see the following topics in the Amazon Connect Administrator Guide: + /// If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web ServicesSupport. For more information about chat, see the following topics in the Amazon Connect Administrator Guide: /// /// * [Concepts: Web and mobile messaging capabilities in Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/web-and-mobile-chat.html) /// @@ -16594,7 +16838,7 @@ extension ConnectClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `ContactNotFoundException` : The contact with the specified ID is not active or does not exist. + /// - `ContactNotFoundException` : The contact with the specified ID does not exist. /// - `InternalServiceException` : Request processing failed because of an error or failure with the service. /// - `InvalidParameterException` : One or more of the specified parameters are not valid. /// - `InvalidRequestException` : The request is not valid. @@ -17383,7 +17627,7 @@ extension ConnectClient { /// Performs the `UpdateAuthenticationProfile` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Updates the selected authentication profile. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Updates the selected authentication profile. /// /// - Parameter input: [no documentation found] (Type: `UpdateAuthenticationProfileInput`) /// diff --git a/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift b/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift index ea36db676f0..f0b9b9305ab 100644 --- a/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift +++ b/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift @@ -27,6 +27,7 @@ import protocol ClientRuntime.ModeledError @_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError @_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError import struct Smithy.URIQueryItem +@_spi(SmithyReadWrite) import struct SmithyReadWrite.ReadingClosureBox @_spi(SmithyReadWrite) import struct SmithyReadWrite.WritingClosureBox @_spi(SmithyTimestamps) import struct SmithyTimestamps.TimestampFormatter @@ -938,6 +939,87 @@ extension ConnectClientTypes { } } +extension ConnectClientTypes { + + public enum AllowedUserAction: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case call + case discard + case sdkUnknown(Swift.String) + + public static var allCases: [AllowedUserAction] { + return [ + .call, + .discard + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .call: return "CALL" + case .discard: return "DISCARD" + case let .sdkUnknown(s): return s + } + } + } +} + +extension ConnectClientTypes { + + /// Countdown timer configuration after the agent accepted the contact. + public struct PostAcceptTimeoutConfig: Swift.Sendable { + /// Duration in seconds for the countdown timer after the agent accepted the contact. + /// This member is required. + public var durationInSeconds: Swift.Int? + + public init( + durationInSeconds: Swift.Int? = nil + ) { + self.durationInSeconds = durationInSeconds + } + } +} + +extension ConnectClientTypes { + + /// Information about agent-first preview mode outbound strategy configuration. + public struct Preview: Swift.Sendable { + /// The actions the agent can perform after accepting the preview outbound contact. + /// This member is required. + public var allowedUserActions: [ConnectClientTypes.AllowedUserAction]? + /// Countdown timer configuration after the agent accepted the preview outbound contact. + /// This member is required. + public var postAcceptTimeoutConfig: ConnectClientTypes.PostAcceptTimeoutConfig? + + public init( + allowedUserActions: [ConnectClientTypes.AllowedUserAction]? = nil, + postAcceptTimeoutConfig: ConnectClientTypes.PostAcceptTimeoutConfig? = nil + ) { + self.allowedUserActions = allowedUserActions + self.postAcceptTimeoutConfig = postAcceptTimeoutConfig + } + } +} + +extension ConnectClientTypes { + + /// Information about agent-first outbound strategy configuration. + public struct AgentFirst: Swift.Sendable { + /// Information about preview configuration of agent first outbound strategy + public var preview: ConnectClientTypes.Preview? + + public init( + preview: ConnectClientTypes.Preview? = nil + ) { + self.preview = preview + } + } +} + extension ConnectClientTypes { /// Information about an agent hierarchy group. @@ -1171,6 +1253,8 @@ extension ConnectClientTypes { /// Information about the agent who accepted the contact. public struct AgentInfo: Swift.Sendable { + /// The timestamp when the contact was accepted by the agent. + public var acceptedByAgentTimestamp: Foundation.Date? /// The difference in time, in whole seconds, between AfterContactWorkStartTimestamp and AfterContactWorkEndTimestamp. public var afterContactWorkDuration: Swift.Int? /// The date and time when the agent ended After Contact Work for the contact, in UTC time. In cases when agent finishes doing AfterContactWork for chat contacts and switches their activity status to offline or equivalent without clearing the contact in CCP, discrepancies may be noticed for AfterContactWorkEndTimestamp. @@ -1191,10 +1275,13 @@ extension ConnectClientTypes { public var hierarchyGroups: ConnectClientTypes.HierarchyGroups? /// The identifier of the agent who accepted the contact. public var id: Swift.String? + /// The timestamp when the agent finished previewing the contact. + public var previewEndTimestamp: Foundation.Date? /// List of StateTransition for a supervisor. public var stateTransitions: [ConnectClientTypes.StateTransition]? public init( + acceptedByAgentTimestamp: Foundation.Date? = nil, afterContactWorkDuration: Swift.Int? = nil, afterContactWorkEndTimestamp: Foundation.Date? = nil, afterContactWorkStartTimestamp: Foundation.Date? = nil, @@ -1205,8 +1292,10 @@ extension ConnectClientTypes { deviceInfo: ConnectClientTypes.DeviceInfo? = nil, hierarchyGroups: ConnectClientTypes.HierarchyGroups? = nil, id: Swift.String? = nil, + previewEndTimestamp: Foundation.Date? = nil, stateTransitions: [ConnectClientTypes.StateTransition]? = nil ) { + self.acceptedByAgentTimestamp = acceptedByAgentTimestamp self.afterContactWorkDuration = afterContactWorkDuration self.afterContactWorkEndTimestamp = afterContactWorkEndTimestamp self.afterContactWorkStartTimestamp = afterContactWorkStartTimestamp @@ -1217,6 +1306,7 @@ extension ConnectClientTypes { self.deviceInfo = deviceInfo self.hierarchyGroups = hierarchyGroups self.id = id + self.previewEndTimestamp = previewEndTimestamp self.stateTransitions = stateTransitions } } @@ -1595,6 +1685,22 @@ extension ConnectClientTypes { } } +extension ConnectClientTypes { + + /// Configuration information of an email alias. + public struct AliasConfiguration: Swift.Sendable { + /// The email address ID. + /// This member is required. + public var emailAddressId: Swift.String? + + public init( + emailAddressId: Swift.String? = nil + ) { + self.emailAddressId = emailAddressId + } + } +} + extension ConnectClientTypes { /// Information about the capabilities enabled for participants of the contact. @@ -2103,6 +2209,60 @@ public struct AssociateDefaultVocabularyOutput: Swift.Sendable { public init() { } } +/// An entity with the same name already exists. +public struct IdempotencyException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "IdempotencyException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +public struct AssociateEmailAddressAliasInput: Swift.Sendable { + /// Configuration object that specifies which email address will serve as the alias. The specified email address must already exist in the Amazon Connect instance and cannot already be configured as an alias or have an alias of its own. + /// This member is required. + public var aliasConfiguration: ConnectClientTypes.AliasConfiguration? + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see [Making retries safe with idempotent APIs](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). + public var clientToken: Swift.String? + /// The identifier of the email address. + /// This member is required. + public var emailAddressId: Swift.String? + /// The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance. + /// This member is required. + public var instanceId: Swift.String? + + public init( + aliasConfiguration: ConnectClientTypes.AliasConfiguration? = nil, + clientToken: Swift.String? = nil, + emailAddressId: Swift.String? = nil, + instanceId: Swift.String? = nil + ) { + self.aliasConfiguration = aliasConfiguration + self.clientToken = clientToken + self.emailAddressId = emailAddressId + self.instanceId = instanceId + } +} + +public struct AssociateEmailAddressAliasOutput: Swift.Sendable { + + public init() { } +} + extension ConnectClientTypes { public enum FlowAssociationResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -3177,29 +3337,6 @@ public struct BatchGetFlowAssociationOutput: Swift.Sendable { } } -/// An entity with the same name already exists. -public struct IdempotencyException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "IdempotencyException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - extension ConnectClientTypes { /// Information associated with a campaign. @@ -3272,6 +3409,67 @@ extension ConnectClientTypes { } } +extension ConnectClientTypes { + + /// The config of the outbound strategy. + public struct OutboundStrategyConfig: Swift.Sendable { + /// The config of agent first outbound strategy. + public var agentFirst: ConnectClientTypes.AgentFirst? + + public init( + agentFirst: ConnectClientTypes.AgentFirst? = nil + ) { + self.agentFirst = agentFirst + } + } +} + +extension ConnectClientTypes { + + public enum OutboundStrategyType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case agentFirst + case sdkUnknown(Swift.String) + + public static var allCases: [OutboundStrategyType] { + return [ + .agentFirst + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .agentFirst: return "AGENT_FIRST" + case let .sdkUnknown(s): return s + } + } + } +} + +extension ConnectClientTypes { + + /// Information about the outbound strategy. + public struct OutboundStrategy: Swift.Sendable { + /// Config of the outbound strategy. + public var config: ConnectClientTypes.OutboundStrategyConfig? + /// Type of the outbound strategy. + /// This member is required. + public var type: ConnectClientTypes.OutboundStrategyType? + + public init( + config: ConnectClientTypes.OutboundStrategyConfig? = nil, + type: ConnectClientTypes.OutboundStrategyType? = nil + ) { + self.config = config + self.type = type + } + } +} + extension ConnectClientTypes { /// Request object with information to create a contact. @@ -3282,6 +3480,8 @@ extension ConnectClientTypes { public var campaign: ConnectClientTypes.Campaign? /// Endpoint of the customer for which contact will be initiated. public var customerEndpoint: ConnectClientTypes.Endpoint? + /// Information about the outbound strategy. + public var outboundStrategy: ConnectClientTypes.OutboundStrategy? /// The identifier of the queue associated with the Amazon Connect instance in which contacts that are created will be queued. public var queueId: Swift.String? /// Identifier to uniquely identify individual requests in the batch. @@ -3293,6 +3493,7 @@ extension ConnectClientTypes { attributes: [Swift.String: Swift.String]? = nil, campaign: ConnectClientTypes.Campaign? = nil, customerEndpoint: ConnectClientTypes.Endpoint? = nil, + outboundStrategy: ConnectClientTypes.OutboundStrategy? = nil, queueId: Swift.String? = nil, requestIdentifier: Swift.String? = nil, systemEndpoint: ConnectClientTypes.Endpoint? = nil @@ -3300,6 +3501,7 @@ extension ConnectClientTypes { self.attributes = attributes self.campaign = campaign self.customerEndpoint = customerEndpoint + self.outboundStrategy = outboundStrategy self.queueId = queueId self.requestIdentifier = requestIdentifier self.systemEndpoint = systemEndpoint @@ -3335,6 +3537,7 @@ extension ConnectClientTypes { case internalError case invalidAttributeKey case invalidCustomerEndpoint + case invalidOutboundStrategy case invalidQueue case invalidSystemEndpoint case missingCampaign @@ -3349,6 +3552,7 @@ extension ConnectClientTypes { .internalError, .invalidAttributeKey, .invalidCustomerEndpoint, + .invalidOutboundStrategy, .invalidQueue, .invalidSystemEndpoint, .missingCampaign, @@ -3369,6 +3573,7 @@ extension ConnectClientTypes { case .internalError: return "INTERNAL_ERROR" case .invalidAttributeKey: return "INVALID_ATTRIBUTE_KEY" case .invalidCustomerEndpoint: return "INVALID_CUSTOMER_ENDPOINT" + case .invalidOutboundStrategy: return "INVALID_OUTBOUND_STRATEGY" case .invalidQueue: return "INVALID_QUEUE" case .invalidSystemEndpoint: return "INVALID_SYSTEM_ENDPOINT" case .missingCampaign: return "MISSING_CAMPAIGN" @@ -8538,7 +8743,7 @@ public struct DescribeAuthenticationProfileInput: Swift.Sendable { extension ConnectClientTypes { - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Information about an authentication profile. An authentication profile is a resource that stores the authentication settings for users in your contact center. You use authentication profiles to set up IP address range restrictions and session timeouts. For more information, see [Set IP address restrictions or session timeouts](https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html). + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Information about an authentication profile. An authentication profile is a resource that stores the authentication settings for users in your contact center. You use authentication profiles to set up IP address range restrictions and session timeouts. For more information, see [Set IP address restrictions or session timeouts](https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html). public struct AuthenticationProfile: Swift.Sendable { /// A list of IP address range strings that are allowed to access the Amazon Connect instance. For more information about how to configure IP addresses, see [Configure IP address based access control](https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html#configure-ip-based-ac) in the Amazon Connect Administrator Guide. public var allowedIps: [Swift.String]? @@ -9302,6 +9507,25 @@ extension ConnectClientTypes { } } +extension ConnectClientTypes { + + /// Information about the task template used to create this contact. + public struct TaskTemplateInfoV2: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the task template used to create this contact. + public var arn: Swift.String? + /// The name of the task template used to create this contact. + public var name: Swift.String? + + public init( + arn: Swift.String? = nil, + name: Swift.String? = nil + ) { + self.arn = arn + self.name = name + } + } +} + extension ConnectClientTypes { /// Information about Amazon Connect Wisdom. @@ -9816,6 +10040,8 @@ public struct DescribeEmailAddressInput: Swift.Sendable { } public struct DescribeEmailAddressOutput: Swift.Sendable { + /// A list of alias configurations associated with this email address. Contains details about email addresses that forward to this primary email address. The list can contain at most one alias configuration per email address. + public var aliasConfigurations: [ConnectClientTypes.AliasConfiguration]? /// The email address creation timestamp in ISO 8601 Datetime. public var createTimestamp: Swift.String? /// The description of the email address. @@ -9834,6 +10060,7 @@ public struct DescribeEmailAddressOutput: Swift.Sendable { public var tags: [Swift.String: Swift.String]? public init( + aliasConfigurations: [ConnectClientTypes.AliasConfiguration]? = nil, createTimestamp: Swift.String? = nil, description: Swift.String? = nil, displayName: Swift.String? = nil, @@ -9843,6 +10070,7 @@ public struct DescribeEmailAddressOutput: Swift.Sendable { modifiedTimestamp: Swift.String? = nil, tags: [Swift.String: Swift.String]? = nil ) { + self.aliasConfigurations = aliasConfigurations self.createTimestamp = createTimestamp self.description = description self.displayName = displayName @@ -9856,7 +10084,7 @@ public struct DescribeEmailAddressOutput: Swift.Sendable { extension DescribeEmailAddressOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "DescribeEmailAddressOutput(createTimestamp: \(Swift.String(describing: createTimestamp)), emailAddressArn: \(Swift.String(describing: emailAddressArn)), emailAddressId: \(Swift.String(describing: emailAddressId)), modifiedTimestamp: \(Swift.String(describing: modifiedTimestamp)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\", displayName: \"CONTENT_REDACTED\", emailAddress: \"CONTENT_REDACTED\")"} + "DescribeEmailAddressOutput(aliasConfigurations: \(Swift.String(describing: aliasConfigurations)), createTimestamp: \(Swift.String(describing: createTimestamp)), emailAddressArn: \(Swift.String(describing: emailAddressArn)), emailAddressId: \(Swift.String(describing: emailAddressId)), modifiedTimestamp: \(Swift.String(describing: modifiedTimestamp)), tags: \(Swift.String(describing: tags)), description: \"CONTENT_REDACTED\", displayName: \"CONTENT_REDACTED\", emailAddress: \"CONTENT_REDACTED\")"} } public struct DescribeEvaluationFormInput: Swift.Sendable { @@ -12570,6 +12798,37 @@ public struct DisassociateBotInput: Swift.Sendable { } } +public struct DisassociateEmailAddressAliasInput: Swift.Sendable { + /// Configuration object that specifies which alias relationship to remove. The alias association must currently exist between the primary email address and the specified alias email address. + /// This member is required. + public var aliasConfiguration: ConnectClientTypes.AliasConfiguration? + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see [Making retries safe with idempotent APIs](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). + public var clientToken: Swift.String? + /// The identifier of the email address. + /// This member is required. + public var emailAddressId: Swift.String? + /// The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance. + /// This member is required. + public var instanceId: Swift.String? + + public init( + aliasConfiguration: ConnectClientTypes.AliasConfiguration? = nil, + clientToken: Swift.String? = nil, + emailAddressId: Swift.String? = nil, + instanceId: Swift.String? = nil + ) { + self.aliasConfiguration = aliasConfiguration + self.clientToken = clientToken + self.emailAddressId = emailAddressId + self.instanceId = instanceId + } +} + +public struct DisassociateEmailAddressAliasOutput: Swift.Sendable { + + public init() { } +} + public struct DisassociateFlowInput: Swift.Sendable { /// The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance. /// This member is required. @@ -15129,7 +15388,7 @@ public struct ListAuthenticationProfilesInput: Swift.Sendable { extension ConnectClientTypes { - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. A summary of a given authentication profile. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. A summary of a given authentication profile. public struct AuthenticationProfileSummary: Swift.Sendable { /// The Amazon Resource Name (ARN) of the authentication profile summary. public var arn: Swift.String? @@ -16983,7 +17242,7 @@ public struct ListQueuesOutput: Swift.Sendable { } public struct ListQuickConnectsInput: Swift.Sendable { - /// The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance. + /// The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance. Both Instance ID and Instance ARN are supported input formats. /// This member is required. public var instanceId: Swift.String? /// The maximum number of results to return per page. The default MaxResult size is 100. @@ -17778,7 +18037,7 @@ extension ConnectClientTypes { /// Contains summary information about a routing profile manual assignment queue. public struct RoutingProfileManualAssignmentQueueConfigSummary: Swift.Sendable { - /// The channels this queue supports. Valid Values: CHAT | TASK | EMAIL + /// The channels this queue supports. Valid Values: CHAT | TASK | EMAIL VOICE is not supported. The information shown below is incorrect. We're working to correct it. /// This member is required. public var channel: ConnectClientTypes.Channel? /// The Amazon Resource Name (ARN) of the queue. @@ -19448,7 +19707,7 @@ extension ConnectClientTypes { extension ConnectClientTypes { - /// The timestamp condition indicating which timestamp should be used and how it should be filtered. + /// The timestamp condition indicating which contact timestamp should be used and how it should be filtered. It is not an actual timestamp value. public struct SearchContactsTimestampCondition: Swift.Sendable { /// Condition of the timestamp on the contact. /// This member is required. @@ -19523,7 +19782,7 @@ extension ConnectClientTypes { extension ConnectClientTypes { - /// Time range that you additionally want to filter on. + /// Time range that you additionally want to filter on. This is different from the [SearchContactsTimeRange](https://docs.aws.amazon.com/connect/latest/APIReference/API_SearchContactsTimeRange.html) data type. public struct SearchContactsAdditionalTimeRange: Swift.Sendable { /// List of criteria of the time range to additionally filter on. /// This member is required. @@ -19989,6 +20248,8 @@ extension ConnectClientTypes { /// Contains information about an email address for a contact center. public struct EmailAddressMetadata: Swift.Sendable { + /// A list of alias configurations for this email address, showing which email addresses forward to this primary address. Each configuration contains the email address ID of an alias that forwards emails to this address. + public var aliasConfigurations: [ConnectClientTypes.AliasConfiguration]? /// The description of the email address. public var description: Swift.String? /// The display name of email address. @@ -20001,12 +20262,14 @@ extension ConnectClientTypes { public var emailAddressId: Swift.String? public init( + aliasConfigurations: [ConnectClientTypes.AliasConfiguration]? = nil, description: Swift.String? = nil, displayName: Swift.String? = nil, emailAddress: Swift.String? = nil, emailAddressArn: Swift.String? = nil, emailAddressId: Swift.String? = nil ) { + self.aliasConfigurations = aliasConfigurations self.description = description self.displayName = displayName self.emailAddress = emailAddress @@ -20018,7 +20281,7 @@ extension ConnectClientTypes { extension ConnectClientTypes.EmailAddressMetadata: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "EmailAddressMetadata(emailAddressArn: \(Swift.String(describing: emailAddressArn)), emailAddressId: \(Swift.String(describing: emailAddressId)), description: \"CONTENT_REDACTED\", displayName: \"CONTENT_REDACTED\", emailAddress: \"CONTENT_REDACTED\")"} + "EmailAddressMetadata(aliasConfigurations: \(Swift.String(describing: aliasConfigurations)), emailAddressArn: \(Swift.String(describing: emailAddressArn)), emailAddressId: \(Swift.String(describing: emailAddressId)), description: \"CONTENT_REDACTED\", displayName: \"CONTENT_REDACTED\", emailAddress: \"CONTENT_REDACTED\")"} } public struct SearchEmailAddressesOutput: Swift.Sendable { @@ -22195,6 +22458,8 @@ public struct StartOutboundVoiceContactInput: Swift.Sendable { public var instanceId: Swift.String? /// The name of a voice contact that is shown to an agent in the Contact Control Panel (CCP). public var name: Swift.String? + /// Information about the outbound strategy. + public var outboundStrategy: ConnectClientTypes.OutboundStrategy? /// The queue for the call. If you specify a queue, the phone displayed for caller ID is the phone number specified in the queue. If you do not specify a queue, the queue defined in the flow is used. If you do not specify a queue, you must specify a source phone number. public var queueId: Swift.String? /// A formatted URL that is shown to an agent in the Contact Control Panel (CCP). Contacts can have the following reference types at the time of creation: URL | NUMBER | STRING | DATE | EMAIL. ATTACHMENT is not a supported reference type during voice contact creation. @@ -22216,6 +22481,7 @@ public struct StartOutboundVoiceContactInput: Swift.Sendable { destinationPhoneNumber: Swift.String? = nil, instanceId: Swift.String? = nil, name: Swift.String? = nil, + outboundStrategy: ConnectClientTypes.OutboundStrategy? = nil, queueId: Swift.String? = nil, references: [Swift.String: ConnectClientTypes.Reference]? = nil, relatedContactId: Swift.String? = nil, @@ -22231,6 +22497,7 @@ public struct StartOutboundVoiceContactInput: Swift.Sendable { self.destinationPhoneNumber = destinationPhoneNumber self.instanceId = instanceId self.name = name + self.outboundStrategy = outboundStrategy self.queueId = queueId self.references = references self.relatedContactId = relatedContactId @@ -22241,7 +22508,7 @@ public struct StartOutboundVoiceContactInput: Swift.Sendable { extension StartOutboundVoiceContactInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "StartOutboundVoiceContactInput(answerMachineDetectionConfig: \(Swift.String(describing: answerMachineDetectionConfig)), attributes: \(Swift.String(describing: attributes)), campaignId: \(Swift.String(describing: campaignId)), clientToken: \(Swift.String(describing: clientToken)), contactFlowId: \(Swift.String(describing: contactFlowId)), destinationPhoneNumber: \(Swift.String(describing: destinationPhoneNumber)), instanceId: \(Swift.String(describing: instanceId)), queueId: \(Swift.String(describing: queueId)), references: \(Swift.String(describing: references)), relatedContactId: \(Swift.String(describing: relatedContactId)), sourcePhoneNumber: \(Swift.String(describing: sourcePhoneNumber)), trafficType: \(Swift.String(describing: trafficType)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "StartOutboundVoiceContactInput(answerMachineDetectionConfig: \(Swift.String(describing: answerMachineDetectionConfig)), attributes: \(Swift.String(describing: attributes)), campaignId: \(Swift.String(describing: campaignId)), clientToken: \(Swift.String(describing: clientToken)), contactFlowId: \(Swift.String(describing: contactFlowId)), destinationPhoneNumber: \(Swift.String(describing: destinationPhoneNumber)), instanceId: \(Swift.String(describing: instanceId)), outboundStrategy: \(Swift.String(describing: outboundStrategy)), queueId: \(Swift.String(describing: queueId)), references: \(Swift.String(describing: references)), relatedContactId: \(Swift.String(describing: relatedContactId)), sourcePhoneNumber: \(Swift.String(describing: sourcePhoneNumber)), trafficType: \(Swift.String(describing: trafficType)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct StartOutboundVoiceContactOutput: Swift.Sendable { @@ -22526,7 +22793,7 @@ public struct StartWebRTCContactOutput: Swift.Sendable { } } -/// The contact with the specified ID is not active or does not exist. +/// The contact with the specified ID does not exist. public struct ContactNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { public struct Properties: Swift.Sendable { @@ -22569,7 +22836,7 @@ public struct StopContactInput: Swift.Sendable { /// The ID of the contact. /// This member is required. public var contactId: Swift.String? - /// The reason a contact can be disconnected. Only Amazon Connect outbound campaigns can provide this field. + /// The reason a contact can be disconnected. Only Amazon Connect outbound campaigns can provide this field. For a list and description of all the possible disconnect reasons by channel (including outbound campaign voice contacts) see DisconnectReason under [ContactTraceRecord](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html#ctr-ContactTraceRecord) in the Amazon Connect Administrator Guide. public var disconnectReason: ConnectClientTypes.DisconnectReason? /// The identifier of the Amazon Connect instance. You can [find the instance ID](https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html) in the Amazon Resource Name (ARN) of the instance. /// This member is required. @@ -23410,7 +23677,7 @@ public struct UpdateHoursOfOperationOverrideInput: Swift.Sendable { } public struct UpdateInstanceAttributeInput: Swift.Sendable { - /// The type of attribute. Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web Services Support for allowlisting. + /// The type of attribute. Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web ServicesSupport for allowlisting. /// This member is required. public var attributeType: ConnectClientTypes.InstanceAttributeType? /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see [Making retries safe with idempotent APIs](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). @@ -25180,7 +25447,7 @@ extension ConnectClientTypes { public var listCondition: ConnectClientTypes.ListCondition? /// A list of conditions which would be applied together with an OR condition. public var orConditions: [ConnectClientTypes.UserSearchCriteria]? - /// A leaf node condition which can be used to specify a string condition. The currently supported values for FieldName are Username, FirstName, LastName, RoutingProfileId, SecurityProfileId, ResourceId. + /// A leaf node condition which can be used to specify a string condition. The currently supported values for FieldName are Username, FirstName, LastName, RoutingProfileId, SecurityProfileId, resourceId. public var stringCondition: ConnectClientTypes.StringCondition? public init( @@ -26284,7 +26551,7 @@ extension ConnectClientTypes { public var description: Swift.String? /// Information about the call disconnect experience. public var disconnectDetails: ConnectClientTypes.DisconnectDetails? - /// The disconnect reason for the contact. + /// The disconnect reason for the contact. For a list and description of all the possible disconnect reasons by channel, see DisconnectReason under [ContactTraceRecord](https://docs.aws.amazon.com/connect/latest/adminguide/ctr-data-model.html#ctr-ContactTraceRecord) in the Amazon Connect Administrator Guide. public var disconnectReason: Swift.String? /// The date and time that the customer endpoint disconnected from the current contact, in UTC time. In transfer scenarios, the DisconnectTimestamp of the previous contact indicates the date and time when that contact ended. public var disconnectTimestamp: Foundation.Date? @@ -26304,6 +26571,8 @@ extension ConnectClientTypes { public var lastUpdateTimestamp: Foundation.Date? /// The name of the contact. public var name: Swift.String? + /// Information about the outbound strategy. + public var outboundStrategy: ConnectClientTypes.OutboundStrategy? /// If this contact is not the first contact, this is the ID of the previous contact. public var previousContactId: Swift.String? /// Information about the quality of the participant's media connection. @@ -26328,6 +26597,8 @@ extension ConnectClientTypes { public var systemEndpoint: ConnectClientTypes.EndpointInfo? /// Tags associated with the contact. This contains both Amazon Web Services generated and user-defined tags. public var tags: [Swift.String: Swift.String]? + /// If this contact was created using a task template, this contains information about the task template. + public var taskTemplateInfo: ConnectClientTypes.TaskTemplateInfoV2? /// Total pause count for a contact. public var totalPauseCount: Swift.Int? /// Total pause duration for a contact in seconds. @@ -26364,6 +26635,7 @@ extension ConnectClientTypes { lastResumedTimestamp: Foundation.Date? = nil, lastUpdateTimestamp: Foundation.Date? = nil, name: Swift.String? = nil, + outboundStrategy: ConnectClientTypes.OutboundStrategy? = nil, previousContactId: Swift.String? = nil, qualityMetrics: ConnectClientTypes.QualityMetrics? = nil, queueInfo: ConnectClientTypes.QueueInfo? = nil, @@ -26376,6 +26648,7 @@ extension ConnectClientTypes { segmentAttributes: [Swift.String: ConnectClientTypes.SegmentAttributeValue]? = nil, systemEndpoint: ConnectClientTypes.EndpointInfo? = nil, tags: [Swift.String: Swift.String]? = nil, + taskTemplateInfo: ConnectClientTypes.TaskTemplateInfoV2? = nil, totalPauseCount: Swift.Int? = nil, totalPauseDurationInSeconds: Swift.Int? = nil, wisdomInfo: ConnectClientTypes.WisdomInfo? = nil @@ -26408,6 +26681,7 @@ extension ConnectClientTypes { self.lastResumedTimestamp = lastResumedTimestamp self.lastUpdateTimestamp = lastUpdateTimestamp self.name = name + self.outboundStrategy = outboundStrategy self.previousContactId = previousContactId self.qualityMetrics = qualityMetrics self.queueInfo = queueInfo @@ -26420,6 +26694,7 @@ extension ConnectClientTypes { self.segmentAttributes = segmentAttributes self.systemEndpoint = systemEndpoint self.tags = tags + self.taskTemplateInfo = taskTemplateInfo self.totalPauseCount = totalPauseCount self.totalPauseDurationInSeconds = totalPauseDurationInSeconds self.wisdomInfo = wisdomInfo @@ -26429,7 +26704,7 @@ extension ConnectClientTypes { extension ConnectClientTypes.Contact: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "Contact(additionalEmailRecipients: \(Swift.String(describing: additionalEmailRecipients)), agentInfo: \(Swift.String(describing: agentInfo)), answeringMachineDetectionStatus: \(Swift.String(describing: answeringMachineDetectionStatus)), arn: \(Swift.String(describing: arn)), attributes: \(Swift.String(describing: attributes)), campaign: \(Swift.String(describing: campaign)), channel: \(Swift.String(describing: channel)), chatMetrics: \(Swift.String(describing: chatMetrics)), connectedToSystemTimestamp: \(Swift.String(describing: connectedToSystemTimestamp)), contactAssociationId: \(Swift.String(describing: contactAssociationId)), contactDetails: \(Swift.String(describing: contactDetails)), contactEvaluations: \(Swift.String(describing: contactEvaluations)), customer: \(Swift.String(describing: customer)), customerEndpoint: \(Swift.String(describing: customerEndpoint)), customerId: \(Swift.String(describing: customerId)), customerVoiceActivity: \(Swift.String(describing: customerVoiceActivity)), disconnectDetails: \(Swift.String(describing: disconnectDetails)), disconnectReason: \(Swift.String(describing: disconnectReason)), disconnectTimestamp: \(Swift.String(describing: disconnectTimestamp)), id: \(Swift.String(describing: id)), initialContactId: \(Swift.String(describing: initialContactId)), initiationMethod: \(Swift.String(describing: initiationMethod)), initiationTimestamp: \(Swift.String(describing: initiationTimestamp)), lastPausedTimestamp: \(Swift.String(describing: lastPausedTimestamp)), lastResumedTimestamp: \(Swift.String(describing: lastResumedTimestamp)), lastUpdateTimestamp: \(Swift.String(describing: lastUpdateTimestamp)), previousContactId: \(Swift.String(describing: previousContactId)), qualityMetrics: \(Swift.String(describing: qualityMetrics)), queueInfo: \(Swift.String(describing: queueInfo)), queuePriority: \(Swift.String(describing: queuePriority)), queueTimeAdjustmentSeconds: \(Swift.String(describing: queueTimeAdjustmentSeconds)), recordings: \(Swift.String(describing: recordings)), relatedContactId: \(Swift.String(describing: relatedContactId)), routingCriteria: \(Swift.String(describing: routingCriteria)), scheduledTimestamp: \(Swift.String(describing: scheduledTimestamp)), segmentAttributes: \(Swift.String(describing: segmentAttributes)), systemEndpoint: \(Swift.String(describing: systemEndpoint)), tags: \(Swift.String(describing: tags)), totalPauseCount: \(Swift.String(describing: totalPauseCount)), totalPauseDurationInSeconds: \(Swift.String(describing: totalPauseDurationInSeconds)), wisdomInfo: \(Swift.String(describing: wisdomInfo)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "Contact(additionalEmailRecipients: \(Swift.String(describing: additionalEmailRecipients)), agentInfo: \(Swift.String(describing: agentInfo)), answeringMachineDetectionStatus: \(Swift.String(describing: answeringMachineDetectionStatus)), arn: \(Swift.String(describing: arn)), attributes: \(Swift.String(describing: attributes)), campaign: \(Swift.String(describing: campaign)), channel: \(Swift.String(describing: channel)), chatMetrics: \(Swift.String(describing: chatMetrics)), connectedToSystemTimestamp: \(Swift.String(describing: connectedToSystemTimestamp)), contactAssociationId: \(Swift.String(describing: contactAssociationId)), contactDetails: \(Swift.String(describing: contactDetails)), contactEvaluations: \(Swift.String(describing: contactEvaluations)), customer: \(Swift.String(describing: customer)), customerEndpoint: \(Swift.String(describing: customerEndpoint)), customerId: \(Swift.String(describing: customerId)), customerVoiceActivity: \(Swift.String(describing: customerVoiceActivity)), disconnectDetails: \(Swift.String(describing: disconnectDetails)), disconnectReason: \(Swift.String(describing: disconnectReason)), disconnectTimestamp: \(Swift.String(describing: disconnectTimestamp)), id: \(Swift.String(describing: id)), initialContactId: \(Swift.String(describing: initialContactId)), initiationMethod: \(Swift.String(describing: initiationMethod)), initiationTimestamp: \(Swift.String(describing: initiationTimestamp)), lastPausedTimestamp: \(Swift.String(describing: lastPausedTimestamp)), lastResumedTimestamp: \(Swift.String(describing: lastResumedTimestamp)), lastUpdateTimestamp: \(Swift.String(describing: lastUpdateTimestamp)), outboundStrategy: \(Swift.String(describing: outboundStrategy)), previousContactId: \(Swift.String(describing: previousContactId)), qualityMetrics: \(Swift.String(describing: qualityMetrics)), queueInfo: \(Swift.String(describing: queueInfo)), queuePriority: \(Swift.String(describing: queuePriority)), queueTimeAdjustmentSeconds: \(Swift.String(describing: queueTimeAdjustmentSeconds)), recordings: \(Swift.String(describing: recordings)), relatedContactId: \(Swift.String(describing: relatedContactId)), routingCriteria: \(Swift.String(describing: routingCriteria)), scheduledTimestamp: \(Swift.String(describing: scheduledTimestamp)), segmentAttributes: \(Swift.String(describing: segmentAttributes)), systemEndpoint: \(Swift.String(describing: systemEndpoint)), tags: \(Swift.String(describing: tags)), taskTemplateInfo: \(Swift.String(describing: taskTemplateInfo)), totalPauseCount: \(Swift.String(describing: totalPauseCount)), totalPauseDurationInSeconds: \(Swift.String(describing: totalPauseDurationInSeconds)), wisdomInfo: \(Swift.String(describing: wisdomInfo)), description: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } extension ConnectClientTypes { @@ -26604,6 +26879,19 @@ extension AssociateDefaultVocabularyInput { } } +extension AssociateEmailAddressAliasInput { + + static func urlPathProvider(_ value: AssociateEmailAddressAliasInput) -> Swift.String? { + guard let instanceId = value.instanceId else { + return nil + } + guard let emailAddressId = value.emailAddressId else { + return nil + } + return "/email-addresses/\(instanceId.urlPercentEncoding())/\(emailAddressId.urlPercentEncoding())/associate-alias" + } +} + extension AssociateFlowInput { static func urlPathProvider(_ value: AssociateFlowInput) -> Swift.String? { @@ -27942,6 +28230,19 @@ extension DisassociateBotInput { } } +extension DisassociateEmailAddressAliasInput { + + static func urlPathProvider(_ value: DisassociateEmailAddressAliasInput) -> Swift.String? { + guard let instanceId = value.instanceId else { + return nil + } + guard let emailAddressId = value.emailAddressId else { + return nil + } + return "/email-addresses/\(instanceId.urlPercentEncoding())/\(emailAddressId.urlPercentEncoding())/disassociate-alias" + } +} + extension DisassociateFlowInput { static func urlPathProvider(_ value: DisassociateFlowInput) -> Swift.String? { @@ -30899,6 +31200,15 @@ extension AssociateDefaultVocabularyInput { } } +extension AssociateEmailAddressAliasInput { + + static func write(value: AssociateEmailAddressAliasInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["AliasConfiguration"].write(value.aliasConfiguration, with: ConnectClientTypes.AliasConfiguration.write(value:to:)) + try writer["ClientToken"].write(value.clientToken) + } +} + extension AssociateFlowInput { static func write(value: AssociateFlowInput?, to writer: SmithyJSON.Writer) throws { @@ -31440,6 +31750,15 @@ extension DisassociateBotInput { } } +extension DisassociateEmailAddressAliasInput { + + static func write(value: DisassociateEmailAddressAliasInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["AliasConfiguration"].write(value.aliasConfiguration, with: ConnectClientTypes.AliasConfiguration.write(value:to:)) + try writer["ClientToken"].write(value.clientToken) + } +} + extension DisassociateQueueQuickConnectsInput { static func write(value: DisassociateQueueQuickConnectsInput?, to writer: SmithyJSON.Writer) throws { @@ -32020,6 +32339,7 @@ extension StartOutboundVoiceContactInput { try writer["DestinationPhoneNumber"].write(value.destinationPhoneNumber) try writer["InstanceId"].write(value.instanceId) try writer["Name"].write(value.name) + try writer["OutboundStrategy"].write(value.outboundStrategy, with: ConnectClientTypes.OutboundStrategy.write(value:to:)) try writer["QueueId"].write(value.queueId) try writer["References"].writeMap(value.references, valueWritingClosure: ConnectClientTypes.Reference.write(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) try writer["RelatedContactId"].write(value.relatedContactId) @@ -32699,6 +33019,13 @@ extension AssociateDefaultVocabularyOutput { } } +extension AssociateEmailAddressAliasOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> AssociateEmailAddressAliasOutput { + return AssociateEmailAddressAliasOutput() + } +} + extension AssociateFlowOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> AssociateFlowOutput { @@ -33521,6 +33848,7 @@ extension DescribeEmailAddressOutput { let responseReader = try SmithyJSON.Reader.from(data: data) let reader = responseReader var value = DescribeEmailAddressOutput() + value.aliasConfigurations = try reader["AliasConfigurations"].readListIfPresent(memberReadingClosure: ConnectClientTypes.AliasConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) value.createTimestamp = try reader["CreateTimestamp"].readIfPresent() value.description = try reader["Description"].readIfPresent() value.displayName = try reader["DisplayName"].readIfPresent() @@ -33795,6 +34123,13 @@ extension DisassociateBotOutput { } } +extension DisassociateEmailAddressAliasOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DisassociateEmailAddressAliasOutput { + return DisassociateEmailAddressAliasOutput() + } +} + extension DisassociateFlowOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DisassociateFlowOutput { @@ -35831,6 +36166,27 @@ enum AssociateDefaultVocabularyOutputError { } } +enum AssociateEmailAddressAliasOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "IdempotencyException": return try IdempotencyException.makeError(baseError: baseError) + case "InternalServiceException": return try InternalServiceException.makeError(baseError: baseError) + case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) + case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) + case "ResourceConflictException": return try ResourceConflictException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum AssociateFlowOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -37786,6 +38142,26 @@ enum DisassociateBotOutputError { } } +enum DisassociateEmailAddressAliasOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServiceException": return try InternalServiceException.makeError(baseError: baseError) + case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) + case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) + case "ResourceConflictException": return try ResourceConflictException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DisassociateFlowOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -41588,12 +41964,93 @@ extension ConnectClientTypes.Contact { value.recordings = try reader["Recordings"].readListIfPresent(memberReadingClosure: ConnectClientTypes.RecordingInfo.read(from:), memberNodeInfo: "member", isFlattened: false) value.disconnectReason = try reader["DisconnectReason"].readIfPresent() value.contactEvaluations = try reader["ContactEvaluations"].readMapIfPresent(valueReadingClosure: ConnectClientTypes.ContactEvaluation.read(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.taskTemplateInfo = try reader["TaskTemplateInfo"].readIfPresent(with: ConnectClientTypes.TaskTemplateInfoV2.read(from:)) value.contactDetails = try reader["ContactDetails"].readIfPresent(with: ConnectClientTypes.ContactDetails.read(from:)) + value.outboundStrategy = try reader["OutboundStrategy"].readIfPresent(with: ConnectClientTypes.OutboundStrategy.read(from:)) value.attributes = try reader["Attributes"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) return value } } +extension ConnectClientTypes.OutboundStrategy { + + static func write(value: ConnectClientTypes.OutboundStrategy?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["Config"].write(value.config, with: ConnectClientTypes.OutboundStrategyConfig.write(value:to:)) + try writer["Type"].write(value.type) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.OutboundStrategy { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.OutboundStrategy() + value.type = try reader["Type"].readIfPresent() ?? .sdkUnknown("") + value.config = try reader["Config"].readIfPresent(with: ConnectClientTypes.OutboundStrategyConfig.read(from:)) + return value + } +} + +extension ConnectClientTypes.OutboundStrategyConfig { + + static func write(value: ConnectClientTypes.OutboundStrategyConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["AgentFirst"].write(value.agentFirst, with: ConnectClientTypes.AgentFirst.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.OutboundStrategyConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.OutboundStrategyConfig() + value.agentFirst = try reader["AgentFirst"].readIfPresent(with: ConnectClientTypes.AgentFirst.read(from:)) + return value + } +} + +extension ConnectClientTypes.AgentFirst { + + static func write(value: ConnectClientTypes.AgentFirst?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["Preview"].write(value.preview, with: ConnectClientTypes.Preview.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.AgentFirst { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.AgentFirst() + value.preview = try reader["Preview"].readIfPresent(with: ConnectClientTypes.Preview.read(from:)) + return value + } +} + +extension ConnectClientTypes.Preview { + + static func write(value: ConnectClientTypes.Preview?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["AllowedUserActions"].writeList(value.allowedUserActions, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["PostAcceptTimeoutConfig"].write(value.postAcceptTimeoutConfig, with: ConnectClientTypes.PostAcceptTimeoutConfig.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.Preview { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.Preview() + value.postAcceptTimeoutConfig = try reader["PostAcceptTimeoutConfig"].readIfPresent(with: ConnectClientTypes.PostAcceptTimeoutConfig.read(from:)) + value.allowedUserActions = try reader["AllowedUserActions"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + +extension ConnectClientTypes.PostAcceptTimeoutConfig { + + static func write(value: ConnectClientTypes.PostAcceptTimeoutConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["DurationInSeconds"].write(value.durationInSeconds) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.PostAcceptTimeoutConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.PostAcceptTimeoutConfig() + value.durationInSeconds = try reader["DurationInSeconds"].readIfPresent() ?? 0 + return value + } +} + extension ConnectClientTypes.ContactDetails { static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.ContactDetails { @@ -41605,6 +42062,17 @@ extension ConnectClientTypes.ContactDetails { } } +extension ConnectClientTypes.TaskTemplateInfoV2 { + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.TaskTemplateInfoV2 { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.TaskTemplateInfoV2() + value.arn = try reader["Arn"].readIfPresent() + value.name = try reader["Name"].readIfPresent() + return value + } +} + extension ConnectClientTypes.ContactEvaluation { static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.ContactEvaluation { @@ -42006,6 +42474,8 @@ extension ConnectClientTypes.AgentInfo { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = ConnectClientTypes.AgentInfo() value.id = try reader["Id"].readIfPresent() + value.acceptedByAgentTimestamp = try reader["AcceptedByAgentTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.previewEndTimestamp = try reader["PreviewEndTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.connectedToAgentTimestamp = try reader["ConnectedToAgentTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.agentPauseDurationInSeconds = try reader["AgentPauseDurationInSeconds"].readIfPresent() value.hierarchyGroups = try reader["HierarchyGroups"].readIfPresent(with: ConnectClientTypes.HierarchyGroups.read(from:)) @@ -42529,6 +42999,21 @@ extension ConnectClientTypes.ContactFlowModule { } } +extension ConnectClientTypes.AliasConfiguration { + + static func write(value: ConnectClientTypes.AliasConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["EmailAddressId"].write(value.emailAddressId) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.AliasConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectClientTypes.AliasConfiguration() + value.emailAddressId = try reader["EmailAddressId"].readIfPresent() ?? "" + return value + } +} + extension ConnectClientTypes.EvaluationForm { static func read(from reader: SmithyJSON.Reader) throws -> ConnectClientTypes.EvaluationForm { @@ -45229,6 +45714,7 @@ extension ConnectClientTypes.EmailAddressMetadata { value.emailAddress = try reader["EmailAddress"].readIfPresent() value.description = try reader["Description"].readIfPresent() value.displayName = try reader["DisplayName"].readIfPresent() + value.aliasConfigurations = try reader["AliasConfigurations"].readListIfPresent(memberReadingClosure: ConnectClientTypes.AliasConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -45470,6 +45956,7 @@ extension ConnectClientTypes.ContactDataRequest { try writer["Attributes"].writeMap(value.attributes, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) try writer["Campaign"].write(value.campaign, with: ConnectClientTypes.Campaign.write(value:to:)) try writer["CustomerEndpoint"].write(value.customerEndpoint, with: ConnectClientTypes.Endpoint.write(value:to:)) + try writer["OutboundStrategy"].write(value.outboundStrategy, with: ConnectClientTypes.OutboundStrategy.write(value:to:)) try writer["QueueId"].write(value.queueId) try writer["RequestIdentifier"].write(value.requestIdentifier) try writer["SystemEndpoint"].write(value.systemEndpoint, with: ConnectClientTypes.Endpoint.write(value:to:)) diff --git a/Sources/Services/AWSConnectCampaigns/Sources/AWSConnectCampaigns/ConnectCampaignsClient.swift b/Sources/Services/AWSConnectCampaigns/Sources/AWSConnectCampaigns/ConnectCampaignsClient.swift index af8441ab9c2..43468747bd7 100644 --- a/Sources/Services/AWSConnectCampaigns/Sources/AWSConnectCampaigns/ConnectCampaignsClient.swift +++ b/Sources/Services/AWSConnectCampaigns/Sources/AWSConnectCampaigns/ConnectCampaignsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConnectCampaignsClient: ClientRuntime.Client { +public class ConnectCampaignsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConnectCampaignsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConnectCampaignsClient.ConnectCampaignsClientConfiguration let serviceName = "ConnectCampaigns" diff --git a/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/ConnectCampaignsV2Client.swift b/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/ConnectCampaignsV2Client.swift index 19988b982a2..f829098b91b 100644 --- a/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/ConnectCampaignsV2Client.swift +++ b/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/ConnectCampaignsV2Client.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConnectCampaignsV2Client: ClientRuntime.Client { +public class ConnectCampaignsV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConnectCampaignsV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConnectCampaignsV2Client.ConnectCampaignsV2ClientConfiguration let serviceName = "ConnectCampaignsV2" diff --git a/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/Models.swift b/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/Models.swift index 05083180f61..ea6e9e47e78 100644 --- a/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/Models.swift +++ b/Sources/Services/AWSConnectCampaignsV2/Sources/AWSConnectCampaignsV2/Models.swift @@ -171,6 +171,33 @@ public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntim } } +extension ConnectCampaignsV2ClientTypes { + + /// Actions that can performed on a contact by an agent + public enum AgentAction: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case discard + case sdkUnknown(Swift.String) + + public static var allCases: [AgentAction] { + return [ + .discard + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .discard: return "DISCARD" + case let .sdkUnknown(s): return s + } + } + } +} + extension ConnectCampaignsV2ClientTypes { /// Agentless config @@ -529,6 +556,47 @@ extension ConnectCampaignsV2ClientTypes { } } +extension ConnectCampaignsV2ClientTypes { + + /// Timeout Config for preview contacts. + public struct TimeoutConfig: Swift.Sendable { + /// Timeout duration for a preview contact in seconds. + /// This member is required. + public var durationInSeconds: Swift.Int? + + public init( + durationInSeconds: Swift.Int? = nil + ) { + self.durationInSeconds = durationInSeconds + } + } +} + +extension ConnectCampaignsV2ClientTypes { + + /// Preview config + public struct PreviewConfig: Swift.Sendable { + /// Actions that can be performed by agent during preview phase. + public var agentActions: [ConnectCampaignsV2ClientTypes.AgentAction]? + /// The bandwidth allocation of a queue resource. + /// This member is required. + public var bandwidthAllocation: Swift.Double? + /// Timeout Config for preview contacts. + /// This member is required. + public var timeoutConfig: ConnectCampaignsV2ClientTypes.TimeoutConfig? + + public init( + agentActions: [ConnectCampaignsV2ClientTypes.AgentAction]? = nil, + bandwidthAllocation: Swift.Double? = nil, + timeoutConfig: ConnectCampaignsV2ClientTypes.TimeoutConfig? = nil + ) { + self.agentActions = agentActions + self.bandwidthAllocation = bandwidthAllocation + self.timeoutConfig = timeoutConfig + } + } +} + extension ConnectCampaignsV2ClientTypes { /// Progressive config @@ -555,6 +623,8 @@ extension ConnectCampaignsV2ClientTypes { case predictive(ConnectCampaignsV2ClientTypes.PredictiveConfig) /// Agentless config case agentless(ConnectCampaignsV2ClientTypes.AgentlessConfig) + /// Preview config + case preview(ConnectCampaignsV2ClientTypes.PreviewConfig) case sdkUnknown(Swift.String) } } @@ -5131,6 +5201,8 @@ extension ConnectCampaignsV2ClientTypes.TelephonyOutboundMode { try writer["agentless"].write(agentless, with: ConnectCampaignsV2ClientTypes.AgentlessConfig.write(value:to:)) case let .predictive(predictive): try writer["predictive"].write(predictive, with: ConnectCampaignsV2ClientTypes.PredictiveConfig.write(value:to:)) + case let .preview(preview): + try writer["preview"].write(preview, with: ConnectCampaignsV2ClientTypes.PreviewConfig.write(value:to:)) case let .progressive(progressive): try writer["progressive"].write(progressive, with: ConnectCampaignsV2ClientTypes.ProgressiveConfig.write(value:to:)) case let .sdkUnknown(sdkUnknown): @@ -5148,12 +5220,48 @@ extension ConnectCampaignsV2ClientTypes.TelephonyOutboundMode { return .predictive(try reader["predictive"].read(with: ConnectCampaignsV2ClientTypes.PredictiveConfig.read(from:))) case "agentless": return .agentless(try reader["agentless"].read(with: ConnectCampaignsV2ClientTypes.AgentlessConfig.read(from:))) + case "preview": + return .preview(try reader["preview"].read(with: ConnectCampaignsV2ClientTypes.PreviewConfig.read(from:))) default: return .sdkUnknown(name ?? "") } } } +extension ConnectCampaignsV2ClientTypes.PreviewConfig { + + static func write(value: ConnectCampaignsV2ClientTypes.PreviewConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["agentActions"].writeList(value.agentActions, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["bandwidthAllocation"].write(value.bandwidthAllocation) + try writer["timeoutConfig"].write(value.timeoutConfig, with: ConnectCampaignsV2ClientTypes.TimeoutConfig.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectCampaignsV2ClientTypes.PreviewConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectCampaignsV2ClientTypes.PreviewConfig() + value.bandwidthAllocation = try reader["bandwidthAllocation"].readIfPresent() ?? 0.0 + value.timeoutConfig = try reader["timeoutConfig"].readIfPresent(with: ConnectCampaignsV2ClientTypes.TimeoutConfig.read(from:)) + value.agentActions = try reader["agentActions"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + +extension ConnectCampaignsV2ClientTypes.TimeoutConfig { + + static func write(value: ConnectCampaignsV2ClientTypes.TimeoutConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["durationInSeconds"].write(value.durationInSeconds) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectCampaignsV2ClientTypes.TimeoutConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectCampaignsV2ClientTypes.TimeoutConfig() + value.durationInSeconds = try reader["durationInSeconds"].readIfPresent() ?? 0 + return value + } +} + extension ConnectCampaignsV2ClientTypes.PredictiveConfig { static func write(value: ConnectCampaignsV2ClientTypes.PredictiveConfig?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/ConnectCasesClient.swift b/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/ConnectCasesClient.swift index 0d1eb963a23..affddb523f2 100644 --- a/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/ConnectCasesClient.swift +++ b/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/ConnectCasesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConnectCasesClient: ClientRuntime.Client { +public class ConnectCasesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConnectCasesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConnectCasesClient.ConnectCasesClientConfiguration let serviceName = "ConnectCases" @@ -970,7 +969,24 @@ extension ConnectCasesClient { /// Performs the `CreateRelatedItem` operation on the `ConnectCases` service. /// - /// Creates a related item (comments, tasks, and contacts) and associates it with a case. + /// Creates a related item (comments, tasks, and contacts) and associates it with a case. There's a quota for the number of fields allowed in a Custom type related item. See [Amazon Connect Cases quotas](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html#cases-quotas). Use cases Following are examples of related items that you may want to associate with a case: + /// + /// * Related contacts, such as calls, chats, emails tasks + /// + /// * Comments, for agent notes + /// + /// * SLAs, to capture target resolution goals + /// + /// * Cases, to capture related Amazon Connect Cases + /// + /// * Files, such as policy documentation or customer-provided attachments + /// + /// * Custom related items, which provide flexibility for you to define related items that such as bookings, orders, products, notices, and more + /// + /// + /// Important things to know + /// + /// * If you are associating a contact to a case by passing in Contact for a type, you must have [DescribeContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribeContact.html) permission on the ARN of the contact that you provide in content.contact.contactArn. /// /// * A Related Item is a resource that is associated with a case. It may or may not have an external identifier linking it to an external resource (for example, a contactArn). All Related Items have their own internal identifier, the relatedItemArn. Examples of related items include comments and contacts. /// @@ -978,6 +994,9 @@ extension ConnectCasesClient { /// /// * The type field is reserved for internal use only. /// + /// + /// Endpoints: See [Amazon Connect endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/connect_region.html). + /// /// - Parameter input: [no documentation found] (Type: `CreateRelatedItemInput`) /// /// - Returns: [no documentation found] (Type: `CreateRelatedItemOutput`) @@ -1356,9 +1375,9 @@ extension ConnectCasesClient { /// /// * Deleted fields are not included in the ListFields response. /// - /// * Calling CreateCase with a deleted field throws a ValidationException denoting which field IDs in the request have been deleted. + /// * Calling CreateCase with a deleted field throws a ValidationException denoting which field identifiers in the request have been deleted. /// - /// * Calling GetCase with a deleted field ID returns the deleted field's value if one exists. + /// * Calling GetCase with a deleted field identifier returns the deleted field's value if one exists. /// /// * Calling UpdateCase with a deleted field ID throws a ValidationException if the case does not already contain a value for the deleted field. Otherwise it succeeds, allowing you to update or remove (using emptyValue: {}) the field's value from the case. /// @@ -2746,7 +2765,7 @@ extension ConnectCasesClient { /// /// Important things to know /// - /// * This API returns case IDs, not complete case objects. To retrieve full case details, you must make additional calls to the [GetCase](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetCase.html) API for each returned case ID. + /// * This API returns case identifiers, not complete case objects. To retrieve full case details, you must make additional calls to the [GetCase](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_GetCase.html) API for each returned case ID. /// /// * This API searches across related items content, not case fields. Use the [SearchCases](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-cases_SearchCases.html) API to search within case field values. /// @@ -3194,6 +3213,7 @@ extension ConnectCasesClient { /// - `ConflictException` : The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details. /// - `InternalServerException` : We couldn't process your request because of an issue with the server. Try again later. /// - `ResourceNotFoundException` : We couldn't find the requested resource. Check that your resources exists and were created in the same Amazon Web Services Region as your request, and try your request again. + /// - `ServiceQuotaExceededException` : The service quota has been exceeded. For a list of service quotas, see [Amazon Connect Service Quotas](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) in the Amazon Connect Administrator Guide. /// - `ThrottlingException` : The rate has been exceeded for this API. Please try again after a few minutes. /// - `ValidationException` : The request isn't valid. Check the syntax and try again. public func updateCaseRule(input: UpdateCaseRuleInput) async throws -> UpdateCaseRuleOutput { @@ -3422,6 +3442,7 @@ extension ConnectCasesClient { /// - `ConflictException` : The requested operation would cause a conflict with the current state of a service resource associated with the request. Resolve the conflict before retrying this request. See the accompanying error message for details. /// - `InternalServerException` : We couldn't process your request because of an issue with the server. Try again later. /// - `ResourceNotFoundException` : We couldn't find the requested resource. Check that your resources exists and were created in the same Amazon Web Services Region as your request, and try your request again. + /// - `ServiceQuotaExceededException` : The service quota has been exceeded. For a list of service quotas, see [Amazon Connect Service Quotas](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) in the Amazon Connect Administrator Guide. /// - `ThrottlingException` : The rate has been exceeded for this API. Please try again after a few minutes. /// - `ValidationException` : The request isn't valid. Check the syntax and try again. public func updateTemplate(input: UpdateTemplateInput) async throws -> UpdateTemplateOutput { diff --git a/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/Models.swift b/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/Models.swift index b946a792220..5730b800d7a 100644 --- a/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/Models.swift +++ b/Sources/Services/AWSConnectCases/Sources/AWSConnectCases/Models.swift @@ -1456,7 +1456,7 @@ extension ConnectCasesClientTypes { } public struct BatchGetCaseRuleInput: Swift.Sendable { - /// List of case rule identifiers. + /// A list of case rule identifiers. /// This member is required. public var caseRules: [ConnectCasesClientTypes.CaseRuleIdentifier]? /// Unique identifier of a Cases domain. @@ -1472,6 +1472,51 @@ public struct BatchGetCaseRuleInput: Swift.Sendable { } } +extension ConnectCasesClientTypes { + + /// A mapping between a parent field option value and child field option values. + public struct ParentChildFieldOptionsMapping: Swift.Sendable { + /// A list of allowed values in the child field. + /// This member is required. + public var childFieldOptionValues: [Swift.String]? + /// The value in the parent field. + /// This member is required. + public var parentFieldOptionValue: Swift.String? + + public init( + childFieldOptionValues: [Swift.String]? = nil, + parentFieldOptionValue: Swift.String? = nil + ) { + self.childFieldOptionValues = childFieldOptionValues + self.parentFieldOptionValue = parentFieldOptionValue + } + } +} + +extension ConnectCasesClientTypes { + + /// Rules that control which options are available in a child field based on the selected value in a parent field. + public struct FieldOptionsCaseRule: Swift.Sendable { + /// The identifier of the child field whose options are controlled. + public var childFieldId: Swift.String? + /// A mapping between a parent field option value and child field option values. + /// This member is required. + public var parentChildFieldOptionsMappings: [ConnectCasesClientTypes.ParentChildFieldOptionsMapping]? + /// The identifier of the parent field that controls options. + public var parentFieldId: Swift.String? + + public init( + childFieldId: Swift.String? = nil, + parentChildFieldOptionsMappings: [ConnectCasesClientTypes.ParentChildFieldOptionsMapping]? = nil, + parentFieldId: Swift.String? = nil + ) { + self.childFieldId = childFieldId + self.parentChildFieldOptionsMappings = parentChildFieldOptionsMappings + self.parentFieldId = parentFieldId + } + } +} + extension ConnectCasesClientTypes { /// Represents the left hand operand in the condition. In the Amazon Connect admin website, case rules are known as case field conditions. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html). @@ -1545,6 +1590,27 @@ extension ConnectCasesClientTypes { } } +extension ConnectCasesClientTypes { + + /// A rule that controls field visibility based on conditions. Fields can be shown or hidden dynamically based on values in other fields. + public struct HiddenCaseRule: Swift.Sendable { + /// A list of conditions that determine field visibility. + /// This member is required. + public var conditions: [ConnectCasesClientTypes.BooleanCondition]? + /// Whether the field is hidden when no conditions match. + /// This member is required. + public var defaultValue: Swift.Bool? + + public init( + conditions: [ConnectCasesClientTypes.BooleanCondition]? = nil, + defaultValue: Swift.Bool? = nil + ) { + self.conditions = conditions + self.defaultValue = defaultValue + } + } +} + extension ConnectCasesClientTypes { /// Required rule type, used to indicate whether a field is required. In the Amazon Connect admin website, case rules are known as case field conditions. For more information about case field conditions, see [Add case field conditions to a case template](https://docs.aws.amazon.com/connect/latest/adminguide/case-field-conditions.html). @@ -1572,6 +1638,10 @@ extension ConnectCasesClientTypes { public enum CaseRuleDetails: Swift.Sendable { /// Required rule type, used to indicate whether a field is required. case `required`(ConnectCasesClientTypes.RequiredCaseRule) + /// Which options are available in a child field based on the selected value in a parent field. + case fieldoptions(ConnectCasesClientTypes.FieldOptionsCaseRule) + /// Whether a field is visible, based on values in other fields. + case hidden(ConnectCasesClientTypes.HiddenCaseRule) case sdkUnknown(Swift.String) } } @@ -1653,19 +1723,23 @@ extension ConnectCasesClientTypes { } public struct BatchGetCaseRuleOutput: Swift.Sendable { - /// List of detailed case rule information. + /// A list of detailed case rule information. /// This member is required. public var caseRules: [ConnectCasesClientTypes.GetCaseRuleResponse]? - /// List of case rule errors. + /// A list of case rule errors. /// This member is required. public var errors: [ConnectCasesClientTypes.CaseRuleError]? + /// A list of unprocessed case rule identifiers. + public var unprocessedCaseRules: [Swift.String]? public init( caseRules: [ConnectCasesClientTypes.GetCaseRuleResponse]? = nil, - errors: [ConnectCasesClientTypes.CaseRuleError]? = nil + errors: [ConnectCasesClientTypes.CaseRuleError]? = nil, + unprocessedCaseRules: [Swift.String]? = nil ) { self.caseRules = caseRules self.errors = errors + self.unprocessedCaseRules = unprocessedCaseRules } } @@ -1757,11 +1831,15 @@ public struct ListCaseRulesInput: Swift.Sendable { extension ConnectCasesClientTypes { public enum RuleType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case fieldOptions + case hidden case `required` case sdkUnknown(Swift.String) public static var allCases: [RuleType] { return [ + .fieldOptions, + .hidden, .required ] } @@ -1773,6 +1851,8 @@ extension ConnectCasesClientTypes { public var rawValue: Swift.String { switch self { + case .fieldOptions: return "FieldOptions" + case .hidden: return "Hidden" case .required: return "Required" case let .sdkUnknown(s): return s } @@ -3147,12 +3227,11 @@ extension ConnectCasesClientTypes { /// This member is required. public var caseRuleId: Swift.String? /// Unique identifier of a field. - /// This member is required. public var fieldId: Swift.String? public init( caseRuleId: Swift.String? = nil, - fieldId: Swift.String? = nil + fieldId: Swift.String? = "NULL" ) { self.caseRuleId = caseRuleId self.fieldId = fieldId @@ -4465,6 +4544,7 @@ extension BatchGetCaseRuleOutput { var value = BatchGetCaseRuleOutput() value.caseRules = try reader["caseRules"].readListIfPresent(memberReadingClosure: ConnectCasesClientTypes.GetCaseRuleResponse.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.errors = try reader["errors"].readListIfPresent(memberReadingClosure: ConnectCasesClientTypes.CaseRuleError.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.unprocessedCaseRules = try reader["unprocessedCaseRules"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -5645,6 +5725,7 @@ enum UpdateCaseRuleOutputError { case "ConflictException": return try ConflictException.makeError(baseError: baseError) case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) @@ -5703,6 +5784,7 @@ enum UpdateTemplateOutputError { case "ConflictException": return try ConflictException.makeError(baseError: baseError) case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) @@ -5830,6 +5912,10 @@ extension ConnectCasesClientTypes.CaseRuleDetails { static func write(value: ConnectCasesClientTypes.CaseRuleDetails?, to writer: SmithyJSON.Writer) throws { guard let value else { return } switch value { + case let .fieldoptions(fieldoptions): + try writer["fieldOptions"].write(fieldoptions, with: ConnectCasesClientTypes.FieldOptionsCaseRule.write(value:to:)) + case let .hidden(hidden): + try writer["hidden"].write(hidden, with: ConnectCasesClientTypes.HiddenCaseRule.write(value:to:)) case let .`required`(`required`): try writer["required"].write(`required`, with: ConnectCasesClientTypes.RequiredCaseRule.write(value:to:)) case let .sdkUnknown(sdkUnknown): @@ -5843,23 +5929,27 @@ extension ConnectCasesClientTypes.CaseRuleDetails { switch name { case "required": return .`required`(try reader["required"].read(with: ConnectCasesClientTypes.RequiredCaseRule.read(from:))) + case "fieldOptions": + return .fieldoptions(try reader["fieldOptions"].read(with: ConnectCasesClientTypes.FieldOptionsCaseRule.read(from:))) + case "hidden": + return .hidden(try reader["hidden"].read(with: ConnectCasesClientTypes.HiddenCaseRule.read(from:))) default: return .sdkUnknown(name ?? "") } } } -extension ConnectCasesClientTypes.RequiredCaseRule { +extension ConnectCasesClientTypes.HiddenCaseRule { - static func write(value: ConnectCasesClientTypes.RequiredCaseRule?, to writer: SmithyJSON.Writer) throws { + static func write(value: ConnectCasesClientTypes.HiddenCaseRule?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["conditions"].writeList(value.conditions, memberWritingClosure: ConnectCasesClientTypes.BooleanCondition.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["defaultValue"].write(value.defaultValue) } - static func read(from reader: SmithyJSON.Reader) throws -> ConnectCasesClientTypes.RequiredCaseRule { + static func read(from reader: SmithyJSON.Reader) throws -> ConnectCasesClientTypes.HiddenCaseRule { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = ConnectCasesClientTypes.RequiredCaseRule() + var value = ConnectCasesClientTypes.HiddenCaseRule() value.defaultValue = try reader["defaultValue"].readIfPresent() ?? false value.conditions = try reader["conditions"].readListIfPresent(memberReadingClosure: ConnectCasesClientTypes.BooleanCondition.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] return value @@ -5986,6 +6076,59 @@ extension ConnectCasesClientTypes.OperandOne { } } +extension ConnectCasesClientTypes.FieldOptionsCaseRule { + + static func write(value: ConnectCasesClientTypes.FieldOptionsCaseRule?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["childFieldId"].write(value.childFieldId) + try writer["parentChildFieldOptionsMappings"].writeList(value.parentChildFieldOptionsMappings, memberWritingClosure: ConnectCasesClientTypes.ParentChildFieldOptionsMapping.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["parentFieldId"].write(value.parentFieldId) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectCasesClientTypes.FieldOptionsCaseRule { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectCasesClientTypes.FieldOptionsCaseRule() + value.parentFieldId = try reader["parentFieldId"].readIfPresent() + value.childFieldId = try reader["childFieldId"].readIfPresent() + value.parentChildFieldOptionsMappings = try reader["parentChildFieldOptionsMappings"].readListIfPresent(memberReadingClosure: ConnectCasesClientTypes.ParentChildFieldOptionsMapping.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + +extension ConnectCasesClientTypes.ParentChildFieldOptionsMapping { + + static func write(value: ConnectCasesClientTypes.ParentChildFieldOptionsMapping?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["childFieldOptionValues"].writeList(value.childFieldOptionValues, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["parentFieldOptionValue"].write(value.parentFieldOptionValue) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectCasesClientTypes.ParentChildFieldOptionsMapping { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectCasesClientTypes.ParentChildFieldOptionsMapping() + value.parentFieldOptionValue = try reader["parentFieldOptionValue"].readIfPresent() ?? "" + value.childFieldOptionValues = try reader["childFieldOptionValues"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + +extension ConnectCasesClientTypes.RequiredCaseRule { + + static func write(value: ConnectCasesClientTypes.RequiredCaseRule?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["conditions"].writeList(value.conditions, memberWritingClosure: ConnectCasesClientTypes.BooleanCondition.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["defaultValue"].write(value.defaultValue) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ConnectCasesClientTypes.RequiredCaseRule { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ConnectCasesClientTypes.RequiredCaseRule() + value.defaultValue = try reader["defaultValue"].readIfPresent() ?? false + value.conditions = try reader["conditions"].readListIfPresent(memberReadingClosure: ConnectCasesClientTypes.BooleanCondition.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + extension ConnectCasesClientTypes.CaseRuleError { static func read(from reader: SmithyJSON.Reader) throws -> ConnectCasesClientTypes.CaseRuleError { @@ -6432,7 +6575,7 @@ extension ConnectCasesClientTypes.TemplateRule { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = ConnectCasesClientTypes.TemplateRule() value.caseRuleId = try reader["caseRuleId"].readIfPresent() ?? "" - value.fieldId = try reader["fieldId"].readIfPresent() ?? "" + value.fieldId = try reader["fieldId"].readIfPresent() ?? "NULL" return value } } diff --git a/Sources/Services/AWSConnectContactLens/Sources/AWSConnectContactLens/ConnectContactLensClient.swift b/Sources/Services/AWSConnectContactLens/Sources/AWSConnectContactLens/ConnectContactLensClient.swift index ddba9bd3bc9..beba2a34e06 100644 --- a/Sources/Services/AWSConnectContactLens/Sources/AWSConnectContactLens/ConnectContactLensClient.swift +++ b/Sources/Services/AWSConnectContactLens/Sources/AWSConnectContactLens/ConnectContactLensClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConnectContactLensClient: ClientRuntime.Client { +public class ConnectContactLensClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConnectContactLensClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConnectContactLensClient.ConnectContactLensClientConfiguration let serviceName = "Connect Contact Lens" diff --git a/Sources/Services/AWSConnectParticipant/Sources/AWSConnectParticipant/ConnectParticipantClient.swift b/Sources/Services/AWSConnectParticipant/Sources/AWSConnectParticipant/ConnectParticipantClient.swift index 37121bb0d58..a237d936add 100644 --- a/Sources/Services/AWSConnectParticipant/Sources/AWSConnectParticipant/ConnectParticipantClient.swift +++ b/Sources/Services/AWSConnectParticipant/Sources/AWSConnectParticipant/ConnectParticipantClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ConnectParticipantClient: ClientRuntime.Client { +public class ConnectParticipantClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ConnectParticipantClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ConnectParticipantClient.ConnectParticipantClientConfiguration let serviceName = "ConnectParticipant" diff --git a/Sources/Services/AWSControlCatalog/Sources/AWSControlCatalog/ControlCatalogClient.swift b/Sources/Services/AWSControlCatalog/Sources/AWSControlCatalog/ControlCatalogClient.swift index 54a5e3f3eeb..8a117b33b70 100644 --- a/Sources/Services/AWSControlCatalog/Sources/AWSControlCatalog/ControlCatalogClient.swift +++ b/Sources/Services/AWSControlCatalog/Sources/AWSControlCatalog/ControlCatalogClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ControlCatalogClient: ClientRuntime.Client { +public class ControlCatalogClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ControlCatalogClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ControlCatalogClient.ControlCatalogClientConfiguration let serviceName = "ControlCatalog" diff --git a/Sources/Services/AWSControlTower/Sources/AWSControlTower/ControlTowerClient.swift b/Sources/Services/AWSControlTower/Sources/AWSControlTower/ControlTowerClient.swift index 39beb1414c4..87edb70c285 100644 --- a/Sources/Services/AWSControlTower/Sources/AWSControlTower/ControlTowerClient.swift +++ b/Sources/Services/AWSControlTower/Sources/AWSControlTower/ControlTowerClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ControlTowerClient: ClientRuntime.Client { +public class ControlTowerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ControlTowerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ControlTowerClient.ControlTowerClientConfiguration let serviceName = "ControlTower" diff --git a/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/CostExplorerClient.swift b/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/CostExplorerClient.swift index 71d22757d92..23d512249b9 100644 --- a/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/CostExplorerClient.swift +++ b/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/CostExplorerClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CostExplorerClient: ClientRuntime.Client { +public class CostExplorerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CostExplorerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CostExplorerClient.CostExplorerClientConfiguration let serviceName = "Cost Explorer" diff --git a/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/Endpoints.swift b/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/Endpoints.swift index 6e630840969..7d2c238f05b 100644 --- a/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/Endpoints.swift +++ b/Sources/Services/AWSCostExplorer/Sources/AWSCostExplorer/Endpoints.swift @@ -59,7 +59,7 @@ public protocol EndpointResolver { typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"},\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://ce.us-east-1.api.aws\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-cn\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://ce.cn-northwest-1.api.amazonwebservices.com.cn\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"cn-northwest-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.us-iso-east-1.c2s.ic.gov\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-iso-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso-b\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.us-isob-east-1.sc2s.sgov.gov\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-isob-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso-e\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.eu-isoe-west-1.cloud.adc-e.uk\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"eu-isoe-west-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso-f\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.us-isof-south-1.csp.hci.ic.gov\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-isof-south-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-eusc\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://ce.eusc-de-east-1.api.amazonwebservices.eu\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"eusc-de-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}],\"type\":\"tree\"}]}" + private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"},\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://ce.us-east-1.api.aws\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-cn\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://ce.cn-northwest-1.api.amazonwebservices.com.cn\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"cn-northwest-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.us-iso-east-1.c2s.ic.gov\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-iso-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso-b\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.us-isob-east-1.sc2s.sgov.gov\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-isob-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso-e\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.eu-isoe-west-1.cloud.adc-e.uk\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"eu-isoe-west-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-iso-f\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.us-isof-south-1.csp.hci.ic.gov\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"us-isof-south-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-eusc\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://ce.eusc-de-east-1.api.amazonwebservices.eu\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"eusc-de-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-eusc\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://ce.eusc-de-east-1.api.amazonwebservices.eu\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"eusc-de-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce-fips.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://ce.{PartitionResult#implicitGlobalRegion}.{PartitionResult#dnsSuffix}\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingRegion\":\"{PartitionResult#implicitGlobalRegion}\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}],\"type\":\"tree\"}]}" init() throws { try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) diff --git a/Sources/Services/AWSCostExplorer/Tests/AWSCostExplorerTests/EndpointResolverTest.swift b/Sources/Services/AWSCostExplorer/Tests/AWSCostExplorerTests/EndpointResolverTest.swift index 139aa23dc3b..94e21560308 100644 --- a/Sources/Services/AWSCostExplorer/Tests/AWSCostExplorerTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSCostExplorer/Tests/AWSCostExplorerTests/EndpointResolverTest.swift @@ -293,11 +293,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -309,23 +309,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -336,23 +336,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.eusc-de-east-1.api.amazonwebservices.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -363,21 +363,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -390,21 +390,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -417,21 +417,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -444,21 +444,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -471,21 +471,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -498,21 +498,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -525,21 +525,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -552,22 +552,22 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -579,23 +579,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -606,23 +606,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -633,21 +633,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -660,13 +660,13 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://ce.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSCostOptimizationHub/Sources/AWSCostOptimizationHub/CostOptimizationHubClient.swift b/Sources/Services/AWSCostOptimizationHub/Sources/AWSCostOptimizationHub/CostOptimizationHubClient.swift index 586d8ba69fa..c3f594c9229 100644 --- a/Sources/Services/AWSCostOptimizationHub/Sources/AWSCostOptimizationHub/CostOptimizationHubClient.swift +++ b/Sources/Services/AWSCostOptimizationHub/Sources/AWSCostOptimizationHub/CostOptimizationHubClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CostOptimizationHubClient: ClientRuntime.Client { +public class CostOptimizationHubClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CostOptimizationHubClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CostOptimizationHubClient.CostOptimizationHubClientConfiguration let serviceName = "Cost Optimization Hub" diff --git a/Sources/Services/AWSCostandUsageReportService/Sources/AWSCostandUsageReportService/CostandUsageReportClient.swift b/Sources/Services/AWSCostandUsageReportService/Sources/AWSCostandUsageReportService/CostandUsageReportClient.swift index 47abff8e6a2..d12cccef150 100644 --- a/Sources/Services/AWSCostandUsageReportService/Sources/AWSCostandUsageReportService/CostandUsageReportClient.swift +++ b/Sources/Services/AWSCostandUsageReportService/Sources/AWSCostandUsageReportService/CostandUsageReportClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CostandUsageReportClient: ClientRuntime.Client { +public class CostandUsageReportClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CostandUsageReportClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CostandUsageReportClient.CostandUsageReportClientConfiguration let serviceName = "Cost and Usage Report" diff --git a/Sources/Services/AWSCustomerProfiles/Sources/AWSCustomerProfiles/CustomerProfilesClient.swift b/Sources/Services/AWSCustomerProfiles/Sources/AWSCustomerProfiles/CustomerProfilesClient.swift index bc9b36250b5..6649df8da54 100644 --- a/Sources/Services/AWSCustomerProfiles/Sources/AWSCustomerProfiles/CustomerProfilesClient.swift +++ b/Sources/Services/AWSCustomerProfiles/Sources/AWSCustomerProfiles/CustomerProfilesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class CustomerProfilesClient: ClientRuntime.Client { +public class CustomerProfilesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "CustomerProfilesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: CustomerProfilesClient.CustomerProfilesClientConfiguration let serviceName = "Customer Profiles" diff --git a/Sources/Services/AWSDAX/Sources/AWSDAX/DAXClient.swift b/Sources/Services/AWSDAX/Sources/AWSDAX/DAXClient.swift index 67e35bdb791..516ceaccd7b 100644 --- a/Sources/Services/AWSDAX/Sources/AWSDAX/DAXClient.swift +++ b/Sources/Services/AWSDAX/Sources/AWSDAX/DAXClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DAXClient: ClientRuntime.Client { +public class DAXClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DAXClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DAXClient.DAXClientConfiguration let serviceName = "DAX" diff --git a/Sources/Services/AWSDLM/Sources/AWSDLM/DLMClient.swift b/Sources/Services/AWSDLM/Sources/AWSDLM/DLMClient.swift index 49c4a4bf784..8c16463238d 100644 --- a/Sources/Services/AWSDLM/Sources/AWSDLM/DLMClient.swift +++ b/Sources/Services/AWSDLM/Sources/AWSDLM/DLMClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DLMClient: ClientRuntime.Client { +public class DLMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DLMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DLMClient.DLMClientConfiguration let serviceName = "DLM" diff --git a/Sources/Services/AWSDSQL/Sources/AWSDSQL/DSQLClient.swift b/Sources/Services/AWSDSQL/Sources/AWSDSQL/DSQLClient.swift index 46caefb6378..dc8c8ceb6ed 100644 --- a/Sources/Services/AWSDSQL/Sources/AWSDSQL/DSQLClient.swift +++ b/Sources/Services/AWSDSQL/Sources/AWSDSQL/DSQLClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DSQLClient: ClientRuntime.Client { +public class DSQLClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DSQLClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DSQLClient.DSQLClientConfiguration let serviceName = "DSQL" @@ -373,7 +372,7 @@ extension DSQLClient { extension DSQLClient { /// Performs the `CreateCluster` operation on the `DSQL` service. /// - /// The CreateCluster API allows you to create both single-region clusters and multi-Region clusters. With the addition of the multiRegionProperties parameter, you can create a cluster with witness Region support and establish peer relationships with clusters in other Regions during creation. Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters, as detailed in the Required permissions section below. Required permissions dsql:CreateCluster Required to create a cluster. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:TagResource Permission to add tags to a resource. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:PutMultiRegionProperties Permission to configure multi-region properties for a cluster. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:AddPeerCluster When specifying multiRegionProperties.clusters, permission to add peer clusters. Resources: + /// The CreateCluster API allows you to create both single-Region clusters and multi-Region clusters. With the addition of the multiRegionProperties parameter, you can create a cluster with witness Region support and establish peer relationships with clusters in other Regions during creation. Creating multi-Region clusters requires additional IAM permissions beyond those needed for single-Region clusters, as detailed in the Required permissions section below. Required permissions dsql:CreateCluster Required to create a cluster. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:TagResource Permission to add tags to a resource. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:PutMultiRegionProperties Permission to configure multi-Region properties for a cluster. Resources: arn:aws:dsql:region:account-id:cluster/* dsql:AddPeerCluster When specifying multiRegionProperties.clusters, permission to add peer clusters. Resources: /// /// * Local cluster: arn:aws:dsql:region:account-id:cluster/* /// @@ -526,6 +525,78 @@ extension DSQLClient { return try await op.execute(input: input) } + /// Performs the `DeleteClusterPolicy` operation on the `DSQL` service. + /// + /// Deletes the resource-based policy attached to a cluster. This removes all access permissions defined by the policy, reverting to default access controls. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteClusterPolicyInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteClusterPolicyOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `ConflictException` : The submitted action has conflicts. + /// - `InternalServerException` : The request processing has failed because of an unknown error, exception or failure. + /// - `ResourceNotFoundException` : The resource could not be found. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input failed to satisfy the constraints specified by an Amazon Web Services service. + public func deleteClusterPolicy(input: DeleteClusterPolicyInput) async throws -> DeleteClusterPolicyOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .delete) + .withServiceName(value: serviceName) + .withOperation(value: "deleteClusterPolicy") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "dsql") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteClusterPolicyInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(DeleteClusterPolicyInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteClusterPolicyOutput.httpOutput(from:), DeleteClusterPolicyOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("DSQL", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: DSQLClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DSQL") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteClusterPolicy") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetCluster` operation on the `DSQL` service. /// /// Retrieves information about a cluster. @@ -595,6 +666,75 @@ extension DSQLClient { return try await op.execute(input: input) } + /// Performs the `GetClusterPolicy` operation on the `DSQL` service. + /// + /// Retrieves the resource-based policy document attached to a cluster. This policy defines the access permissions and conditions for the cluster. + /// + /// - Parameter input: [no documentation found] (Type: `GetClusterPolicyInput`) + /// + /// - Returns: [no documentation found] (Type: `GetClusterPolicyOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `InternalServerException` : The request processing has failed because of an unknown error, exception or failure. + /// - `ResourceNotFoundException` : The resource could not be found. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input failed to satisfy the constraints specified by an Amazon Web Services service. + public func getClusterPolicy(input: GetClusterPolicyInput) async throws -> GetClusterPolicyOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getClusterPolicy") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "dsql") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetClusterPolicyInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetClusterPolicyOutput.httpOutput(from:), GetClusterPolicyOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("DSQL", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: DSQLClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DSQL") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetClusterPolicy") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetVpcEndpointServiceName` operation on the `DSQL` service. /// /// Retrieves the VPC endpoint service name. @@ -803,6 +943,80 @@ extension DSQLClient { return try await op.execute(input: input) } + /// Performs the `PutClusterPolicy` operation on the `DSQL` service. + /// + /// Attaches a resource-based policy to a cluster. This policy defines access permissions and conditions for the cluster, allowing you to control which principals can perform actions on the cluster. + /// + /// - Parameter input: [no documentation found] (Type: `PutClusterPolicyInput`) + /// + /// - Returns: [no documentation found] (Type: `PutClusterPolicyOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : You do not have sufficient access to perform this action. + /// - `ConflictException` : The submitted action has conflicts. + /// - `InternalServerException` : The request processing has failed because of an unknown error, exception or failure. + /// - `ResourceNotFoundException` : The resource could not be found. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The input failed to satisfy the constraints specified by an Amazon Web Services service. + public func putClusterPolicy(input: PutClusterPolicyInput) async throws -> PutClusterPolicyOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "putClusterPolicy") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "dsql") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(PutClusterPolicyInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: PutClusterPolicyInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(PutClusterPolicyOutput.httpOutput(from:), PutClusterPolicyOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("DSQL", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: DSQLClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "DSQL") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "PutClusterPolicy") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `TagResource` operation on the `DSQL` service. /// /// Tags a resource with a map of key and value pairs. @@ -948,7 +1162,7 @@ extension DSQLClient { /// Performs the `UpdateCluster` operation on the `DSQL` service. /// - /// The UpdateCluster API allows you to modify both single-Region and multi-Region cluster configurations. With the multiRegionProperties parameter, you can add or modify witness Region support and manage peer relationships with clusters in other Regions. Note that updating multi-region clusters requires additional IAM permissions beyond those needed for standard cluster updates, as detailed in the Permissions section. Required permissions dsql:UpdateCluster Permission to update a DSQL cluster. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:PutMultiRegionProperties Permission to configure multi-Region properties for a cluster. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:GetCluster Permission to retrieve cluster information. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:AddPeerCluster Permission to add peer clusters. Resources: + /// The UpdateCluster API allows you to modify both single-Region and multi-Region cluster configurations. With the multiRegionProperties parameter, you can add or modify witness Region support and manage peer relationships with clusters in other Regions. Note that updating multi-Region clusters requires additional IAM permissions beyond those needed for standard cluster updates, as detailed in the Permissions section. Required permissions dsql:UpdateCluster Permission to update a DSQL cluster. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:PutMultiRegionProperties Permission to configure multi-Region properties for a cluster. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:GetCluster Permission to retrieve cluster information. Resources: arn:aws:dsql:region:account-id:cluster/cluster-id dsql:AddPeerCluster Permission to add peer clusters. Resources: /// /// * Local cluster: arn:aws:dsql:region:account-id:cluster/cluster-id /// diff --git a/Sources/Services/AWSDSQL/Sources/AWSDSQL/Models.swift b/Sources/Services/AWSDSQL/Sources/AWSDSQL/Models.swift index 276cb547f6d..0ac42eea9c1 100644 --- a/Sources/Services/AWSDSQL/Sources/AWSDSQL/Models.swift +++ b/Sources/Services/AWSDSQL/Sources/AWSDSQL/Models.swift @@ -291,9 +291,9 @@ extension DSQLClientTypes { /// Defines the structure for multi-Region cluster configurations, containing the witness region and linked cluster settings. public struct MultiRegionProperties: Swift.Sendable { - /// The set of linked clusters that form the multi-Region cluster configuration. Each linked cluster represents a database instance in a different Region. + /// The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region. public var clusters: [Swift.String]? - /// The that serves as the witness region for a multi-Region cluster. The witness region helps maintain cluster consistency and quorum. + /// The Region that serves as the witness region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum. public var witnessRegion: Swift.String? public init( @@ -307,6 +307,8 @@ extension DSQLClientTypes { } public struct CreateClusterInput: Swift.Sendable { + /// An optional field that controls whether to bypass the lockout prevention check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution. + public var bypassPolicyLockoutSafetyCheck: Swift.Bool? /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully, the subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one. public var clientToken: Swift.String? /// If enabled, you can't delete your cluster. You must first disable this property before you can delete your cluster. @@ -315,20 +317,26 @@ public struct CreateClusterInput: Swift.Sendable { public var kmsEncryptionKey: Swift.String? /// The configuration settings when creating a multi-Region cluster, including the witness region and linked cluster properties. public var multiRegionProperties: DSQLClientTypes.MultiRegionProperties? + /// An optional resource-based policy document in JSON format that defines access permissions for the cluster. + public var policy: Swift.String? /// A map of key and value pairs to use to tag your cluster. public var tags: [Swift.String: Swift.String]? public init( + bypassPolicyLockoutSafetyCheck: Swift.Bool? = nil, clientToken: Swift.String? = nil, deletionProtectionEnabled: Swift.Bool? = nil, kmsEncryptionKey: Swift.String? = nil, multiRegionProperties: DSQLClientTypes.MultiRegionProperties? = nil, + policy: Swift.String? = nil, tags: [Swift.String: Swift.String]? = nil ) { + self.bypassPolicyLockoutSafetyCheck = bypassPolicyLockoutSafetyCheck self.clientToken = clientToken self.deletionProtectionEnabled = deletionProtectionEnabled self.kmsEncryptionKey = kmsEncryptionKey self.multiRegionProperties = multiRegionProperties + self.policy = policy self.tags = tags } } @@ -541,6 +549,38 @@ public struct DeleteClusterOutput: Swift.Sendable { } } +public struct DeleteClusterPolicyInput: Swift.Sendable { + /// Idempotency token so a request is only processed once. + public var clientToken: Swift.String? + /// The expected version of the policy to delete. This parameter ensures that you're deleting the correct version of the policy and helps prevent accidental deletions. + public var expectedPolicyVersion: Swift.String? + /// The ID of the cluster. + /// This member is required. + public var identifier: Swift.String? + + public init( + clientToken: Swift.String? = nil, + expectedPolicyVersion: Swift.String? = nil, + identifier: Swift.String? = nil + ) { + self.clientToken = clientToken + self.expectedPolicyVersion = expectedPolicyVersion + self.identifier = identifier + } +} + +public struct DeleteClusterPolicyOutput: Swift.Sendable { + /// The version of the policy that was deleted. + /// This member is required. + public var policyVersion: Swift.String? + + public init( + policyVersion: Swift.String? = nil + ) { + self.policyVersion = policyVersion + } +} + public struct GetClusterInput: Swift.Sendable { /// The ID of the cluster to retrieve. /// This member is required. @@ -598,6 +638,35 @@ public struct GetClusterOutput: Swift.Sendable { } } +public struct GetClusterPolicyInput: Swift.Sendable { + /// The ID of the cluster to retrieve the policy from. + /// This member is required. + public var identifier: Swift.String? + + public init( + identifier: Swift.String? = nil + ) { + self.identifier = identifier + } +} + +public struct GetClusterPolicyOutput: Swift.Sendable { + /// The resource-based policy document attached to the cluster, returned as a JSON string. + /// This member is required. + public var policy: Swift.String? + /// The version of the policy document. This version number is incremented each time the policy is updated. + /// This member is required. + public var policyVersion: Swift.String? + + public init( + policy: Swift.String? = nil, + policyVersion: Swift.String? = nil + ) { + self.policy = policy + self.policyVersion = policyVersion + } +} + /// The request processing has failed because of an unknown error, exception or failure. public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -739,6 +808,47 @@ public struct ListClustersOutput: Swift.Sendable { } } +public struct PutClusterPolicyInput: Swift.Sendable { + /// A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution. + public var bypassPolicyLockoutSafetyCheck: Swift.Bool? + /// Idempotency token so a request is only processed once. + public var clientToken: Swift.String? + /// The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts. + public var expectedPolicyVersion: Swift.String? + /// The ID of the cluster. + /// This member is required. + public var identifier: Swift.String? + /// The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions. + /// This member is required. + public var policy: Swift.String? + + public init( + bypassPolicyLockoutSafetyCheck: Swift.Bool? = nil, + clientToken: Swift.String? = nil, + expectedPolicyVersion: Swift.String? = nil, + identifier: Swift.String? = nil, + policy: Swift.String? = nil + ) { + self.bypassPolicyLockoutSafetyCheck = bypassPolicyLockoutSafetyCheck + self.clientToken = clientToken + self.expectedPolicyVersion = expectedPolicyVersion + self.identifier = identifier + self.policy = policy + } +} + +public struct PutClusterPolicyOutput: Swift.Sendable { + /// The version of the policy after it has been updated or created. + /// This member is required. + public var policyVersion: Swift.String? + + public init( + policyVersion: Swift.String? = nil + ) { + self.policyVersion = policyVersion + } +} + public struct UpdateClusterInput: Swift.Sendable { /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. Idempotency ensures that an API request completes only once. With an idempotent request, if the original request completes successfully. The subsequent retries with the same client token return the result from the original successful request and they have no additional effect. If you don't specify a client token, the Amazon Web Services SDK automatically generates one. public var clientToken: Swift.String? @@ -881,6 +991,32 @@ extension DeleteClusterInput { } } +extension DeleteClusterPolicyInput { + + static func urlPathProvider(_ value: DeleteClusterPolicyInput) -> Swift.String? { + guard let identifier = value.identifier else { + return nil + } + return "/cluster/\(identifier.urlPercentEncoding())/policy" + } +} + +extension DeleteClusterPolicyInput { + + static func queryItemProvider(_ value: DeleteClusterPolicyInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let clientToken = value.clientToken { + let clientTokenQueryItem = Smithy.URIQueryItem(name: "client-token".urlPercentEncoding(), value: Swift.String(clientToken).urlPercentEncoding()) + items.append(clientTokenQueryItem) + } + if let expectedPolicyVersion = value.expectedPolicyVersion { + let expectedPolicyVersionQueryItem = Smithy.URIQueryItem(name: "expected-policy-version".urlPercentEncoding(), value: Swift.String(expectedPolicyVersion).urlPercentEncoding()) + items.append(expectedPolicyVersionQueryItem) + } + return items + } +} + extension GetClusterInput { static func urlPathProvider(_ value: GetClusterInput) -> Swift.String? { @@ -891,6 +1027,16 @@ extension GetClusterInput { } } +extension GetClusterPolicyInput { + + static func urlPathProvider(_ value: GetClusterPolicyInput) -> Swift.String? { + guard let identifier = value.identifier else { + return nil + } + return "/cluster/\(identifier.urlPercentEncoding())/policy" + } +} + extension GetVpcEndpointServiceNameInput { static func urlPathProvider(_ value: GetVpcEndpointServiceNameInput) -> Swift.String? { @@ -934,6 +1080,16 @@ extension ListTagsForResourceInput { } } +extension PutClusterPolicyInput { + + static func urlPathProvider(_ value: PutClusterPolicyInput) -> Swift.String? { + guard let identifier = value.identifier else { + return nil + } + return "/cluster/\(identifier.urlPercentEncoding())/policy" + } +} + extension TagResourceInput { static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { @@ -984,14 +1140,27 @@ extension CreateClusterInput { static func write(value: CreateClusterInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["bypassPolicyLockoutSafetyCheck"].write(value.bypassPolicyLockoutSafetyCheck) try writer["clientToken"].write(value.clientToken) try writer["deletionProtectionEnabled"].write(value.deletionProtectionEnabled) try writer["kmsEncryptionKey"].write(value.kmsEncryptionKey) try writer["multiRegionProperties"].write(value.multiRegionProperties, with: DSQLClientTypes.MultiRegionProperties.write(value:to:)) + try writer["policy"].write(value.policy) try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) } } +extension PutClusterPolicyInput { + + static func write(value: PutClusterPolicyInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["bypassPolicyLockoutSafetyCheck"].write(value.bypassPolicyLockoutSafetyCheck) + try writer["clientToken"].write(value.clientToken) + try writer["expectedPolicyVersion"].write(value.expectedPolicyVersion) + try writer["policy"].write(value.policy) + } +} + extension TagResourceInput { static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { @@ -1044,6 +1213,18 @@ extension DeleteClusterOutput { } } +extension DeleteClusterPolicyOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteClusterPolicyOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DeleteClusterPolicyOutput() + value.policyVersion = try reader["policyVersion"].readIfPresent() ?? "" + return value + } +} + extension GetClusterOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetClusterOutput { @@ -1063,6 +1244,19 @@ extension GetClusterOutput { } } +extension GetClusterPolicyOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetClusterPolicyOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetClusterPolicyOutput() + value.policy = try reader["policy"].readIfPresent() ?? "" + value.policyVersion = try reader["policyVersion"].readIfPresent() ?? "" + return value + } +} + extension GetVpcEndpointServiceNameOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetVpcEndpointServiceNameOutput { @@ -1100,6 +1294,18 @@ extension ListTagsForResourceOutput { } } +extension PutClusterPolicyOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> PutClusterPolicyOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = PutClusterPolicyOutput() + value.policyVersion = try reader["policyVersion"].readIfPresent() ?? "" + return value + } +} + extension TagResourceOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { @@ -1172,6 +1378,23 @@ enum DeleteClusterOutputError { } } +enum DeleteClusterPolicyOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + if let error = try httpServiceError(baseError: baseError) { return error } + switch baseError.code { + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetClusterOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -1187,6 +1410,22 @@ enum GetClusterOutputError { } } +enum GetClusterPolicyOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + if let error = try httpServiceError(baseError: baseError) { return error } + switch baseError.code { + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetVpcEndpointServiceNameOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -1235,6 +1474,23 @@ enum ListTagsForResourceOutputError { } } +enum PutClusterPolicyOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + if let error = try httpServiceError(baseError: baseError) { return error } + switch baseError.code { + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum TagResourceOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { diff --git a/Sources/Services/AWSDataBrew/Sources/AWSDataBrew/DataBrewClient.swift b/Sources/Services/AWSDataBrew/Sources/AWSDataBrew/DataBrewClient.swift index 2b13a6f03a1..0bee806cdc3 100644 --- a/Sources/Services/AWSDataBrew/Sources/AWSDataBrew/DataBrewClient.swift +++ b/Sources/Services/AWSDataBrew/Sources/AWSDataBrew/DataBrewClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DataBrewClient: ClientRuntime.Client { +public class DataBrewClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DataBrewClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DataBrewClient.DataBrewClientConfiguration let serviceName = "DataBrew" diff --git a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift index 5007014de3b..0097d0ffad8 100644 --- a/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift +++ b/Sources/Services/AWSDataExchange/Sources/AWSDataExchange/DataExchangeClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DataExchangeClient: ClientRuntime.Client { +public class DataExchangeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DataExchangeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DataExchangeClient.DataExchangeClientConfiguration let serviceName = "DataExchange" diff --git a/Sources/Services/AWSDataPipeline/Sources/AWSDataPipeline/DataPipelineClient.swift b/Sources/Services/AWSDataPipeline/Sources/AWSDataPipeline/DataPipelineClient.swift index dc773906c4e..2e50274c846 100644 --- a/Sources/Services/AWSDataPipeline/Sources/AWSDataPipeline/DataPipelineClient.swift +++ b/Sources/Services/AWSDataPipeline/Sources/AWSDataPipeline/DataPipelineClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DataPipelineClient: ClientRuntime.Client { +public class DataPipelineClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DataPipelineClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DataPipelineClient.DataPipelineClientConfiguration let serviceName = "Data Pipeline" diff --git a/Sources/Services/AWSDataSync/Sources/AWSDataSync/DataSyncClient.swift b/Sources/Services/AWSDataSync/Sources/AWSDataSync/DataSyncClient.swift index 83d50e52266..bfe10fbe58b 100644 --- a/Sources/Services/AWSDataSync/Sources/AWSDataSync/DataSyncClient.swift +++ b/Sources/Services/AWSDataSync/Sources/AWSDataSync/DataSyncClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DataSyncClient: ClientRuntime.Client { +public class DataSyncClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DataSyncClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DataSyncClient.DataSyncClientConfiguration let serviceName = "DataSync" diff --git a/Sources/Services/AWSDataZone/Sources/AWSDataZone/DataZoneClient.swift b/Sources/Services/AWSDataZone/Sources/AWSDataZone/DataZoneClient.swift index 3ae39aae6b1..07728b7a615 100644 --- a/Sources/Services/AWSDataZone/Sources/AWSDataZone/DataZoneClient.swift +++ b/Sources/Services/AWSDataZone/Sources/AWSDataZone/DataZoneClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DataZoneClient: ClientRuntime.Client { +public class DataZoneClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DataZoneClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DataZoneClient.DataZoneClientConfiguration let serviceName = "DataZone" diff --git a/Sources/Services/AWSDataZone/Sources/AWSDataZone/Models.swift b/Sources/Services/AWSDataZone/Sources/AWSDataZone/Models.swift index 6748852c174..5289aaa6216 100644 --- a/Sources/Services/AWSDataZone/Sources/AWSDataZone/Models.swift +++ b/Sources/Services/AWSDataZone/Sources/AWSDataZone/Models.swift @@ -1704,6 +1704,78 @@ extension DataZoneClientTypes { } } +extension DataZoneClientTypes { + + /// The Amazon Q properties of the connection. + public struct AmazonQPropertiesInput: Swift.Sendable { + /// The authentication mode of the connection's Amazon Q properties. + public var authMode: Swift.String? + /// Specifies whether Amazon Q is enabled for the connection. + /// This member is required. + public var isEnabled: Swift.Bool? + /// The profile ARN of the connection's Amazon Q properties. + public var profileArn: Swift.String? + + public init( + authMode: Swift.String? = nil, + isEnabled: Swift.Bool? = nil, + profileArn: Swift.String? = nil + ) { + self.authMode = authMode + self.isEnabled = isEnabled + self.profileArn = profileArn + } + } +} + +extension DataZoneClientTypes { + + /// The Amazon Q properties of the connection. + public struct AmazonQPropertiesOutput: Swift.Sendable { + /// The authentication mode of the connection's Amazon Q properties. + public var authMode: Swift.String? + /// Specifies whether Amazon Q is enabled for the connection. + /// This member is required. + public var isEnabled: Swift.Bool? + /// The profile ARN of the connection's Amazon Q properties. + public var profileArn: Swift.String? + + public init( + authMode: Swift.String? = nil, + isEnabled: Swift.Bool? = nil, + profileArn: Swift.String? = nil + ) { + self.authMode = authMode + self.isEnabled = isEnabled + self.profileArn = profileArn + } + } +} + +extension DataZoneClientTypes { + + /// The Amazon Q properties of the connection. + public struct AmazonQPropertiesPatch: Swift.Sendable { + /// The authentication mode of the connection's Amazon Q properties. + public var authMode: Swift.String? + /// Specifies whether Amazon Q is enabled for the connection. + /// This member is required. + public var isEnabled: Swift.Bool? + /// The profile ARN of the connection's Amazon Q properties. + public var profileArn: Swift.String? + + public init( + authMode: Swift.String? = nil, + isEnabled: Swift.Bool? = nil, + profileArn: Swift.String? = nil + ) { + self.authMode = authMode + self.isEnabled = isEnabled + self.profileArn = profileArn + } + } +} + extension DataZoneClientTypes { public enum ListingStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -4415,6 +4487,25 @@ extension DataZoneClientTypes { } } +extension DataZoneClientTypes { + + /// The MLflow properties of a connection. + public struct MlflowPropertiesInput: Swift.Sendable { + /// The tracking server ARN as part of the MLflow properties of a connection. + public var trackingServerArn: Swift.String? + /// The name of the tracking server as part of the MLflow properties of a connection. + public var trackingServerName: Swift.String? + + public init( + trackingServerArn: Swift.String? = nil, + trackingServerName: Swift.String? = nil + ) { + self.trackingServerArn = trackingServerArn + self.trackingServerName = trackingServerName + } + } +} + extension DataZoneClientTypes { /// The username and password of a connection. @@ -4681,6 +4772,10 @@ extension DataZoneClientTypes { case sparkglueproperties(DataZoneClientTypes.SparkGluePropertiesInput) /// The Amazon S3 properties of a connection. case s3properties(DataZoneClientTypes.S3PropertiesInput) + /// The Amazon Q properties of the connection. + case amazonqproperties(DataZoneClientTypes.AmazonQPropertiesInput) + /// The MLflow properties of a connection. + case mlflowproperties(DataZoneClientTypes.MlflowPropertiesInput) case sdkUnknown(Swift.String) } } @@ -4823,6 +4918,25 @@ extension DataZoneClientTypes { } } +extension DataZoneClientTypes { + + /// The MLflow properties of a connection. + public struct MlflowPropertiesOutput: Swift.Sendable { + /// The tracking server ARN as part of the MLflow properties of a connection. + public var trackingServerArn: Swift.String? + /// The name of the tracking server as part of the MLflow properties of a connection. + public var trackingServerName: Swift.String? + + public init( + trackingServerArn: Swift.String? = nil, + trackingServerName: Swift.String? = nil + ) { + self.trackingServerArn = trackingServerArn + self.trackingServerName = trackingServerName + } + } +} + extension DataZoneClientTypes { /// The Amaon Redshift lineage sync configuration. @@ -5115,6 +5229,10 @@ extension DataZoneClientTypes { case sparkglueproperties(DataZoneClientTypes.SparkGluePropertiesOutput) /// The Amazon S3 properties of a connection. case s3properties(DataZoneClientTypes.S3PropertiesOutput) + /// The Amazon Q properties of the connection. + case amazonqproperties(DataZoneClientTypes.AmazonQPropertiesOutput) + /// The MLflow properties of a connection. + case mlflowproperties(DataZoneClientTypes.MlflowPropertiesOutput) case sdkUnknown(Swift.String) } } @@ -5172,6 +5290,25 @@ extension DataZoneClientTypes { } } +extension DataZoneClientTypes { + + /// The MLflow properties of a connection. + public struct MlflowPropertiesPatch: Swift.Sendable { + /// The tracking server ARN as part of the MLflow properties of a connection. + public var trackingServerArn: Swift.String? + /// The name of the tracking server as part of the MLflow properties of a connection. + public var trackingServerName: Swift.String? + + public init( + trackingServerArn: Swift.String? = nil, + trackingServerName: Swift.String? = nil + ) { + self.trackingServerArn = trackingServerArn + self.trackingServerName = trackingServerName + } + } +} + extension DataZoneClientTypes { /// Amazon Redshift properties patch. @@ -5291,13 +5428,47 @@ extension DataZoneClientTypes { case sparkemrproperties(DataZoneClientTypes.SparkEmrPropertiesPatch) /// The Amazon S3 properties of a connection properties patch. case s3properties(DataZoneClientTypes.S3PropertiesPatch) + /// The Amazon Q properties of the connection. + case amazonqproperties(DataZoneClientTypes.AmazonQPropertiesPatch) + /// The MLflow properties of a connection. + case mlflowproperties(DataZoneClientTypes.MlflowPropertiesPatch) case sdkUnknown(Swift.String) } } +extension DataZoneClientTypes { + + public enum ConnectionScope: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case domain + case project + case sdkUnknown(Swift.String) + + public static var allCases: [ConnectionScope] { + return [ + .domain, + .project + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .domain: return "DOMAIN" + case .project: return "PROJECT" + case let .sdkUnknown(s): return s + } + } + } +} + extension DataZoneClientTypes { public enum ConnectionType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case amazonQ case athena case bigquery case databricks @@ -5305,6 +5476,7 @@ extension DataZoneClientTypes { case dynamodb case hyperpod case iam + case mlflow case mysql case opensearch case oracle @@ -5322,6 +5494,7 @@ extension DataZoneClientTypes { public static var allCases: [ConnectionType] { return [ + .amazonQ, .athena, .bigquery, .databricks, @@ -5329,6 +5502,7 @@ extension DataZoneClientTypes { .dynamodb, .hyperpod, .iam, + .mlflow, .mysql, .opensearch, .oracle, @@ -5352,6 +5526,7 @@ extension DataZoneClientTypes { public var rawValue: Swift.String { switch self { + case .amazonQ: return "AMAZON_Q" case .athena: return "ATHENA" case .bigquery: return "BIGQUERY" case .databricks: return "DATABRICKS" @@ -5359,6 +5534,7 @@ extension DataZoneClientTypes { case .dynamodb: return "DYNAMODB" case .hyperpod: return "HYPERPOD" case .iam: return "IAM" + case .mlflow: return "MLFLOW" case .mysql: return "MYSQL" case .opensearch: return "OPENSEARCH" case .oracle: return "ORACLE" @@ -5511,6 +5687,8 @@ extension DataZoneClientTypes { public struct PhysicalEndpoint: Swift.Sendable { /// The location of a connection. public var awsLocation: DataZoneClientTypes.AwsLocation? + /// Specified whether trusted identity propagation for the connection is enabled. + public var enableTrustedIdentityPropagation: Swift.Bool? /// The Amazon Web Services Glue connection. public var glueConnection: DataZoneClientTypes.GlueConnection? /// The Amazon Web Services Glue connection name. @@ -5526,6 +5704,7 @@ extension DataZoneClientTypes { public init( awsLocation: DataZoneClientTypes.AwsLocation? = nil, + enableTrustedIdentityPropagation: Swift.Bool? = nil, glueConnection: DataZoneClientTypes.GlueConnection? = nil, glueConnectionName: Swift.String? = nil, host: Swift.String? = nil, @@ -5534,6 +5713,7 @@ extension DataZoneClientTypes { stage: Swift.String? = nil ) { self.awsLocation = awsLocation + self.enableTrustedIdentityPropagation = enableTrustedIdentityPropagation self.glueConnection = glueConnection self.glueConnectionName = glueConnectionName self.host = host @@ -5569,6 +5749,8 @@ extension DataZoneClientTypes { public var projectId: Swift.String? /// The connection props. public var props: DataZoneClientTypes.ConnectionPropertiesOutput? + /// The scope of the connection. + public var scope: DataZoneClientTypes.ConnectionScope? /// The connection type. /// This member is required. public var type: DataZoneClientTypes.ConnectionType? @@ -5582,6 +5764,7 @@ extension DataZoneClientTypes { physicalEndpoints: [DataZoneClientTypes.PhysicalEndpoint]? = nil, projectId: Swift.String? = nil, props: DataZoneClientTypes.ConnectionPropertiesOutput? = nil, + scope: DataZoneClientTypes.ConnectionScope? = nil, type: DataZoneClientTypes.ConnectionType? = nil ) { self.connectionId = connectionId @@ -5592,6 +5775,7 @@ extension DataZoneClientTypes { self.physicalEndpoints = physicalEndpoints self.projectId = projectId self.props = props + self.scope = scope self.type = type } } @@ -5701,37 +5885,44 @@ public struct CreateConnectionInput: Swift.Sendable { /// The ID of the domain where the connection is created. /// This member is required. public var domainIdentifier: Swift.String? + /// Specifies whether the trusted identity propagation is enabled. + public var enableTrustedIdentityPropagation: Swift.Bool? /// The ID of the environment where the connection is created. - /// This member is required. public var environmentIdentifier: Swift.String? /// The connection name. /// This member is required. public var name: Swift.String? /// The connection props. public var props: DataZoneClientTypes.ConnectionPropertiesInput? + /// The scope of the connection. + public var scope: DataZoneClientTypes.ConnectionScope? public init( awsLocation: DataZoneClientTypes.AwsLocation? = nil, clientToken: Swift.String? = nil, description: Swift.String? = nil, domainIdentifier: Swift.String? = nil, + enableTrustedIdentityPropagation: Swift.Bool? = nil, environmentIdentifier: Swift.String? = nil, name: Swift.String? = nil, - props: DataZoneClientTypes.ConnectionPropertiesInput? = nil + props: DataZoneClientTypes.ConnectionPropertiesInput? = nil, + scope: DataZoneClientTypes.ConnectionScope? = nil ) { self.awsLocation = awsLocation self.clientToken = clientToken self.description = description self.domainIdentifier = domainIdentifier + self.enableTrustedIdentityPropagation = enableTrustedIdentityPropagation self.environmentIdentifier = environmentIdentifier self.name = name self.props = props + self.scope = scope } } extension CreateConnectionInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateConnectionInput(awsLocation: \(Swift.String(describing: awsLocation)), clientToken: \(Swift.String(describing: clientToken)), domainIdentifier: \(Swift.String(describing: domainIdentifier)), environmentIdentifier: \(Swift.String(describing: environmentIdentifier)), name: \(Swift.String(describing: name)), props: \(Swift.String(describing: props)), description: \"CONTENT_REDACTED\")"} + "CreateConnectionInput(awsLocation: \(Swift.String(describing: awsLocation)), clientToken: \(Swift.String(describing: clientToken)), domainIdentifier: \(Swift.String(describing: domainIdentifier)), enableTrustedIdentityPropagation: \(Swift.String(describing: enableTrustedIdentityPropagation)), environmentIdentifier: \(Swift.String(describing: environmentIdentifier)), name: \(Swift.String(describing: name)), props: \(Swift.String(describing: props)), scope: \(Swift.String(describing: scope)), description: \"CONTENT_REDACTED\")"} } public struct CreateConnectionOutput: Swift.Sendable { @@ -5758,6 +5949,8 @@ public struct CreateConnectionOutput: Swift.Sendable { public var projectId: Swift.String? /// The connection props. public var props: DataZoneClientTypes.ConnectionPropertiesOutput? + /// The scope of the connection. + public var scope: DataZoneClientTypes.ConnectionScope? /// The connection type. /// This member is required. public var type: DataZoneClientTypes.ConnectionType? @@ -5772,6 +5965,7 @@ public struct CreateConnectionOutput: Swift.Sendable { physicalEndpoints: [DataZoneClientTypes.PhysicalEndpoint]? = nil, projectId: Swift.String? = nil, props: DataZoneClientTypes.ConnectionPropertiesOutput? = nil, + scope: DataZoneClientTypes.ConnectionScope? = nil, type: DataZoneClientTypes.ConnectionType? = nil ) { self.connectionId = connectionId @@ -5783,13 +5977,14 @@ public struct CreateConnectionOutput: Swift.Sendable { self.physicalEndpoints = physicalEndpoints self.projectId = projectId self.props = props + self.scope = scope self.type = type } } extension CreateConnectionOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateConnectionOutput(connectionId: \(Swift.String(describing: connectionId)), domainId: \(Swift.String(describing: domainId)), domainUnitId: \(Swift.String(describing: domainUnitId)), environmentId: \(Swift.String(describing: environmentId)), name: \(Swift.String(describing: name)), physicalEndpoints: \(Swift.String(describing: physicalEndpoints)), projectId: \(Swift.String(describing: projectId)), props: \(Swift.String(describing: props)), type: \(Swift.String(describing: type)), description: \"CONTENT_REDACTED\")"} + "CreateConnectionOutput(connectionId: \(Swift.String(describing: connectionId)), domainId: \(Swift.String(describing: domainId)), domainUnitId: \(Swift.String(describing: domainUnitId)), environmentId: \(Swift.String(describing: environmentId)), name: \(Swift.String(describing: name)), physicalEndpoints: \(Swift.String(describing: physicalEndpoints)), projectId: \(Swift.String(describing: projectId)), props: \(Swift.String(describing: props)), scope: \(Swift.String(describing: scope)), type: \(Swift.String(describing: type)), description: \"CONTENT_REDACTED\")"} } extension DataZoneClientTypes { @@ -13748,6 +13943,8 @@ public struct GetConnectionOutput: Swift.Sendable { public var projectId: Swift.String? /// Connection props. public var props: DataZoneClientTypes.ConnectionPropertiesOutput? + /// The scope of the connection. + public var scope: DataZoneClientTypes.ConnectionScope? /// The type of the connection. /// This member is required. public var type: DataZoneClientTypes.ConnectionType? @@ -13764,6 +13961,7 @@ public struct GetConnectionOutput: Swift.Sendable { physicalEndpoints: [DataZoneClientTypes.PhysicalEndpoint]? = nil, projectId: Swift.String? = nil, props: DataZoneClientTypes.ConnectionPropertiesOutput? = nil, + scope: DataZoneClientTypes.ConnectionScope? = nil, type: DataZoneClientTypes.ConnectionType? = nil ) { self.connectionCredentials = connectionCredentials @@ -13777,13 +13975,14 @@ public struct GetConnectionOutput: Swift.Sendable { self.physicalEndpoints = physicalEndpoints self.projectId = projectId self.props = props + self.scope = scope self.type = type } } extension GetConnectionOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetConnectionOutput(connectionId: \(Swift.String(describing: connectionId)), domainId: \(Swift.String(describing: domainId)), domainUnitId: \(Swift.String(describing: domainUnitId)), environmentId: \(Swift.String(describing: environmentId)), environmentUserRole: \(Swift.String(describing: environmentUserRole)), name: \(Swift.String(describing: name)), physicalEndpoints: \(Swift.String(describing: physicalEndpoints)), projectId: \(Swift.String(describing: projectId)), props: \(Swift.String(describing: props)), type: \(Swift.String(describing: type)), connectionCredentials: \"CONTENT_REDACTED\", description: \"CONTENT_REDACTED\")"} + "GetConnectionOutput(connectionId: \(Swift.String(describing: connectionId)), domainId: \(Swift.String(describing: domainId)), domainUnitId: \(Swift.String(describing: domainUnitId)), environmentId: \(Swift.String(describing: environmentId)), environmentUserRole: \(Swift.String(describing: environmentUserRole)), name: \(Swift.String(describing: name)), physicalEndpoints: \(Swift.String(describing: physicalEndpoints)), projectId: \(Swift.String(describing: projectId)), props: \(Swift.String(describing: props)), scope: \(Swift.String(describing: scope)), type: \(Swift.String(describing: type)), connectionCredentials: \"CONTENT_REDACTED\", description: \"CONTENT_REDACTED\")"} } public struct GetEnvironmentInput: Swift.Sendable { @@ -15973,8 +16172,9 @@ public struct ListConnectionsInput: Swift.Sendable { /// When the number of connections is greater than the default value for the MaxResults parameter, or if you explicitly specify a value for MaxResults that is less than the number of connections, the response includes a pagination token named NextToken. You can specify this NextToken value in a subsequent call to ListConnections to list the next set of connections. public var nextToken: Swift.String? /// The ID of the project where you want to list connections. - /// This member is required. public var projectIdentifier: Swift.String? + /// The scope of the connection. + public var scope: DataZoneClientTypes.ConnectionScope? /// Specifies how you want to sort the listed connections. public var sortBy: DataZoneClientTypes.SortFieldConnection? /// Specifies the sort order for the listed connections. @@ -15989,6 +16189,7 @@ public struct ListConnectionsInput: Swift.Sendable { name: Swift.String? = nil, nextToken: Swift.String? = nil, projectIdentifier: Swift.String? = nil, + scope: DataZoneClientTypes.ConnectionScope? = nil, sortBy: DataZoneClientTypes.SortFieldConnection? = nil, sortOrder: DataZoneClientTypes.SortOrder? = nil, type: DataZoneClientTypes.ConnectionType? = nil @@ -15999,6 +16200,7 @@ public struct ListConnectionsInput: Swift.Sendable { self.name = name self.nextToken = nextToken self.projectIdentifier = projectIdentifier + self.scope = scope self.sortBy = sortBy self.sortOrder = sortOrder self.type = type @@ -20820,6 +21022,8 @@ public struct UpdateConnectionOutput: Swift.Sendable { public var projectId: Swift.String? /// The connection props. public var props: DataZoneClientTypes.ConnectionPropertiesOutput? + /// The scope of the connection. + public var scope: DataZoneClientTypes.ConnectionScope? /// The connection type. /// This member is required. public var type: DataZoneClientTypes.ConnectionType? @@ -20834,6 +21038,7 @@ public struct UpdateConnectionOutput: Swift.Sendable { physicalEndpoints: [DataZoneClientTypes.PhysicalEndpoint]? = nil, projectId: Swift.String? = nil, props: DataZoneClientTypes.ConnectionPropertiesOutput? = nil, + scope: DataZoneClientTypes.ConnectionScope? = nil, type: DataZoneClientTypes.ConnectionType? = nil ) { self.connectionId = connectionId @@ -20845,13 +21050,14 @@ public struct UpdateConnectionOutput: Swift.Sendable { self.physicalEndpoints = physicalEndpoints self.projectId = projectId self.props = props + self.scope = scope self.type = type } } extension UpdateConnectionOutput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "UpdateConnectionOutput(connectionId: \(Swift.String(describing: connectionId)), domainId: \(Swift.String(describing: domainId)), domainUnitId: \(Swift.String(describing: domainUnitId)), environmentId: \(Swift.String(describing: environmentId)), name: \(Swift.String(describing: name)), physicalEndpoints: \(Swift.String(describing: physicalEndpoints)), projectId: \(Swift.String(describing: projectId)), props: \(Swift.String(describing: props)), type: \(Swift.String(describing: type)), description: \"CONTENT_REDACTED\")"} + "UpdateConnectionOutput(connectionId: \(Swift.String(describing: connectionId)), domainId: \(Swift.String(describing: domainId)), domainUnitId: \(Swift.String(describing: domainUnitId)), environmentId: \(Swift.String(describing: environmentId)), name: \(Swift.String(describing: name)), physicalEndpoints: \(Swift.String(describing: physicalEndpoints)), projectId: \(Swift.String(describing: projectId)), props: \(Swift.String(describing: props)), scope: \(Swift.String(describing: scope)), type: \(Swift.String(describing: type)), description: \"CONTENT_REDACTED\")"} } public struct UpdateEnvironmentInput: Swift.Sendable { @@ -23985,6 +24191,10 @@ extension ListConnectionsInput { let sortOrderQueryItem = Smithy.URIQueryItem(name: "sortOrder".urlPercentEncoding(), value: Swift.String(sortOrder.rawValue).urlPercentEncoding()) items.append(sortOrderQueryItem) } + if let scope = value.scope { + let scopeQueryItem = Smithy.URIQueryItem(name: "scope".urlPercentEncoding(), value: Swift.String(scope.rawValue).urlPercentEncoding()) + items.append(scopeQueryItem) + } if let name = value.name { let nameQueryItem = Smithy.URIQueryItem(name: "name".urlPercentEncoding(), value: Swift.String(name).urlPercentEncoding()) items.append(nameQueryItem) @@ -23993,12 +24203,10 @@ extension ListConnectionsInput { let sortByQueryItem = Smithy.URIQueryItem(name: "sortBy".urlPercentEncoding(), value: Swift.String(sortBy.rawValue).urlPercentEncoding()) items.append(sortByQueryItem) } - guard let projectIdentifier = value.projectIdentifier else { - let message = "Creating a URL Query Item failed. projectIdentifier is required and must not be nil." - throw Smithy.ClientError.unknownError(message) + if let projectIdentifier = value.projectIdentifier { + let projectIdentifierQueryItem = Smithy.URIQueryItem(name: "projectIdentifier".urlPercentEncoding(), value: Swift.String(projectIdentifier).urlPercentEncoding()) + items.append(projectIdentifierQueryItem) } - let projectIdentifierQueryItem = Smithy.URIQueryItem(name: "projectIdentifier".urlPercentEncoding(), value: Swift.String(projectIdentifier).urlPercentEncoding()) - items.append(projectIdentifierQueryItem) if let type = value.type { let typeQueryItem = Smithy.URIQueryItem(name: "type".urlPercentEncoding(), value: Swift.String(type.rawValue).urlPercentEncoding()) items.append(typeQueryItem) @@ -25751,9 +25959,11 @@ extension CreateConnectionInput { try writer["awsLocation"].write(value.awsLocation, with: DataZoneClientTypes.AwsLocation.write(value:to:)) try writer["clientToken"].write(value.clientToken) try writer["description"].write(value.description) + try writer["enableTrustedIdentityPropagation"].write(value.enableTrustedIdentityPropagation) try writer["environmentIdentifier"].write(value.environmentIdentifier) try writer["name"].write(value.name) try writer["props"].write(value.props, with: DataZoneClientTypes.ConnectionPropertiesInput.write(value:to:)) + try writer["scope"].write(value.scope) } } @@ -26697,6 +26907,7 @@ extension CreateConnectionOutput { value.physicalEndpoints = try reader["physicalEndpoints"].readListIfPresent(memberReadingClosure: DataZoneClientTypes.PhysicalEndpoint.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.projectId = try reader["projectId"].readIfPresent() value.props = try reader["props"].readIfPresent(with: DataZoneClientTypes.ConnectionPropertiesOutput.read(from:)) + value.scope = try reader["scope"].readIfPresent() value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") return value } @@ -27533,6 +27744,7 @@ extension GetConnectionOutput { value.physicalEndpoints = try reader["physicalEndpoints"].readListIfPresent(memberReadingClosure: DataZoneClientTypes.PhysicalEndpoint.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.projectId = try reader["projectId"].readIfPresent() value.props = try reader["props"].readIfPresent(with: DataZoneClientTypes.ConnectionPropertiesOutput.read(from:)) + value.scope = try reader["scope"].readIfPresent() value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") return value } @@ -28955,6 +29167,7 @@ extension UpdateConnectionOutput { value.physicalEndpoints = try reader["physicalEndpoints"].readListIfPresent(memberReadingClosure: DataZoneClientTypes.PhysicalEndpoint.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.projectId = try reader["projectId"].readIfPresent() value.props = try reader["props"].readIfPresent(with: DataZoneClientTypes.ConnectionPropertiesOutput.read(from:)) + value.scope = try reader["scope"].readIfPresent() value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") return value } @@ -33385,6 +33598,7 @@ extension DataZoneClientTypes.PhysicalEndpoint { value.awsLocation = try reader["awsLocation"].readIfPresent(with: DataZoneClientTypes.AwsLocation.read(from:)) value.glueConnectionName = try reader["glueConnectionName"].readIfPresent() value.glueConnection = try reader["glueConnection"].readIfPresent(with: DataZoneClientTypes.GlueConnection.read(from:)) + value.enableTrustedIdentityPropagation = try reader["enableTrustedIdentityPropagation"].readIfPresent() value.host = try reader["host"].readIfPresent() value.port = try reader["port"].readIfPresent() value.`protocol` = try reader["protocol"].readIfPresent() @@ -33576,12 +33790,39 @@ extension DataZoneClientTypes.ConnectionPropertiesOutput { return .sparkglueproperties(try reader["sparkGlueProperties"].read(with: DataZoneClientTypes.SparkGluePropertiesOutput.read(from:))) case "s3Properties": return .s3properties(try reader["s3Properties"].read(with: DataZoneClientTypes.S3PropertiesOutput.read(from:))) + case "amazonQProperties": + return .amazonqproperties(try reader["amazonQProperties"].read(with: DataZoneClientTypes.AmazonQPropertiesOutput.read(from:))) + case "mlflowProperties": + return .mlflowproperties(try reader["mlflowProperties"].read(with: DataZoneClientTypes.MlflowPropertiesOutput.read(from:))) default: return .sdkUnknown(name ?? "") } } } +extension DataZoneClientTypes.MlflowPropertiesOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> DataZoneClientTypes.MlflowPropertiesOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = DataZoneClientTypes.MlflowPropertiesOutput() + value.trackingServerName = try reader["trackingServerName"].readIfPresent() + value.trackingServerArn = try reader["trackingServerArn"].readIfPresent() + return value + } +} + +extension DataZoneClientTypes.AmazonQPropertiesOutput { + + static func read(from reader: SmithyJSON.Reader) throws -> DataZoneClientTypes.AmazonQPropertiesOutput { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = DataZoneClientTypes.AmazonQPropertiesOutput() + value.isEnabled = try reader["isEnabled"].readIfPresent() ?? false + value.profileArn = try reader["profileArn"].readIfPresent() + value.authMode = try reader["authMode"].readIfPresent() + return value + } +} + extension DataZoneClientTypes.S3PropertiesOutput { static func read(from reader: SmithyJSON.Reader) throws -> DataZoneClientTypes.S3PropertiesOutput { @@ -35167,6 +35408,7 @@ extension DataZoneClientTypes.ConnectionSummary { value.projectId = try reader["projectId"].readIfPresent() value.props = try reader["props"].readIfPresent(with: DataZoneClientTypes.ConnectionPropertiesOutput.read(from:)) value.type = try reader["type"].readIfPresent() ?? .sdkUnknown("") + value.scope = try reader["scope"].readIfPresent() return value } } @@ -36766,6 +37008,8 @@ extension DataZoneClientTypes.ConnectionPropertiesInput { static func write(value: DataZoneClientTypes.ConnectionPropertiesInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } switch value { + case let .amazonqproperties(amazonqproperties): + try writer["amazonQProperties"].write(amazonqproperties, with: DataZoneClientTypes.AmazonQPropertiesInput.write(value:to:)) case let .athenaproperties(athenaproperties): try writer["athenaProperties"].write(athenaproperties, with: DataZoneClientTypes.AthenaPropertiesInput.write(value:to:)) case let .glueproperties(glueproperties): @@ -36774,6 +37018,8 @@ extension DataZoneClientTypes.ConnectionPropertiesInput { try writer["hyperPodProperties"].write(hyperpodproperties, with: DataZoneClientTypes.HyperPodPropertiesInput.write(value:to:)) case let .iamproperties(iamproperties): try writer["iamProperties"].write(iamproperties, with: DataZoneClientTypes.IamPropertiesInput.write(value:to:)) + case let .mlflowproperties(mlflowproperties): + try writer["mlflowProperties"].write(mlflowproperties, with: DataZoneClientTypes.MlflowPropertiesInput.write(value:to:)) case let .redshiftproperties(redshiftproperties): try writer["redshiftProperties"].write(redshiftproperties, with: DataZoneClientTypes.RedshiftPropertiesInput.write(value:to:)) case let .s3properties(s3properties): @@ -36788,6 +37034,25 @@ extension DataZoneClientTypes.ConnectionPropertiesInput { } } +extension DataZoneClientTypes.MlflowPropertiesInput { + + static func write(value: DataZoneClientTypes.MlflowPropertiesInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["trackingServerArn"].write(value.trackingServerArn) + try writer["trackingServerName"].write(value.trackingServerName) + } +} + +extension DataZoneClientTypes.AmazonQPropertiesInput { + + static func write(value: DataZoneClientTypes.AmazonQPropertiesInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["authMode"].write(value.authMode) + try writer["isEnabled"].write(value.isEnabled) + try writer["profileArn"].write(value.profileArn) + } +} + extension DataZoneClientTypes.S3PropertiesInput { static func write(value: DataZoneClientTypes.S3PropertiesInput?, to writer: SmithyJSON.Writer) throws { @@ -37131,12 +37396,16 @@ extension DataZoneClientTypes.ConnectionPropertiesPatch { static func write(value: DataZoneClientTypes.ConnectionPropertiesPatch?, to writer: SmithyJSON.Writer) throws { guard let value else { return } switch value { + case let .amazonqproperties(amazonqproperties): + try writer["amazonQProperties"].write(amazonqproperties, with: DataZoneClientTypes.AmazonQPropertiesPatch.write(value:to:)) case let .athenaproperties(athenaproperties): try writer["athenaProperties"].write(athenaproperties, with: DataZoneClientTypes.AthenaPropertiesPatch.write(value:to:)) case let .glueproperties(glueproperties): try writer["glueProperties"].write(glueproperties, with: DataZoneClientTypes.GluePropertiesPatch.write(value:to:)) case let .iamproperties(iamproperties): try writer["iamProperties"].write(iamproperties, with: DataZoneClientTypes.IamPropertiesPatch.write(value:to:)) + case let .mlflowproperties(mlflowproperties): + try writer["mlflowProperties"].write(mlflowproperties, with: DataZoneClientTypes.MlflowPropertiesPatch.write(value:to:)) case let .redshiftproperties(redshiftproperties): try writer["redshiftProperties"].write(redshiftproperties, with: DataZoneClientTypes.RedshiftPropertiesPatch.write(value:to:)) case let .s3properties(s3properties): @@ -37149,6 +37418,25 @@ extension DataZoneClientTypes.ConnectionPropertiesPatch { } } +extension DataZoneClientTypes.MlflowPropertiesPatch { + + static func write(value: DataZoneClientTypes.MlflowPropertiesPatch?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["trackingServerArn"].write(value.trackingServerArn) + try writer["trackingServerName"].write(value.trackingServerName) + } +} + +extension DataZoneClientTypes.AmazonQPropertiesPatch { + + static func write(value: DataZoneClientTypes.AmazonQPropertiesPatch?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["authMode"].write(value.authMode) + try writer["isEnabled"].write(value.isEnabled) + try writer["profileArn"].write(value.profileArn) + } +} + extension DataZoneClientTypes.S3PropertiesPatch { static func write(value: DataZoneClientTypes.S3PropertiesPatch?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSDataZone/Sources/AWSDataZone/Paginators.swift b/Sources/Services/AWSDataZone/Sources/AWSDataZone/Paginators.swift index 71123dccbc0..3220eafcd6d 100644 --- a/Sources/Services/AWSDataZone/Sources/AWSDataZone/Paginators.swift +++ b/Sources/Services/AWSDataZone/Sources/AWSDataZone/Paginators.swift @@ -165,6 +165,7 @@ extension ListConnectionsInput: ClientRuntime.PaginateToken { name: self.name, nextToken: token, projectIdentifier: self.projectIdentifier, + scope: self.scope, sortBy: self.sortBy, sortOrder: self.sortOrder, type: self.type diff --git a/Sources/Services/AWSDatabaseMigrationService/Sources/AWSDatabaseMigrationService/DatabaseMigrationClient.swift b/Sources/Services/AWSDatabaseMigrationService/Sources/AWSDatabaseMigrationService/DatabaseMigrationClient.swift index 91b523f3400..a3169de9b61 100644 --- a/Sources/Services/AWSDatabaseMigrationService/Sources/AWSDatabaseMigrationService/DatabaseMigrationClient.swift +++ b/Sources/Services/AWSDatabaseMigrationService/Sources/AWSDatabaseMigrationService/DatabaseMigrationClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DatabaseMigrationClient: ClientRuntime.Client { +public class DatabaseMigrationClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DatabaseMigrationClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DatabaseMigrationClient.DatabaseMigrationClientConfiguration let serviceName = "Database Migration" diff --git a/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift b/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift index 397911cda0b..acd509e7235 100644 --- a/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift +++ b/Sources/Services/AWSDeadline/Sources/AWSDeadline/DeadlineClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DeadlineClient: ClientRuntime.Client { +public class DeadlineClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DeadlineClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DeadlineClient.DeadlineClientConfiguration let serviceName = "deadline" diff --git a/Sources/Services/AWSDetective/Sources/AWSDetective/DetectiveClient.swift b/Sources/Services/AWSDetective/Sources/AWSDetective/DetectiveClient.swift index 96d537e728f..f0713396367 100644 --- a/Sources/Services/AWSDetective/Sources/AWSDetective/DetectiveClient.swift +++ b/Sources/Services/AWSDetective/Sources/AWSDetective/DetectiveClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DetectiveClient: ClientRuntime.Client { +public class DetectiveClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DetectiveClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DetectiveClient.DetectiveClientConfiguration let serviceName = "Detective" diff --git a/Sources/Services/AWSDetective/Tests/AWSDetectiveTests/EndpointResolverTest.swift b/Sources/Services/AWSDetective/Tests/AWSDetectiveTests/EndpointResolverTest.swift index 7ab3fa5a46a..8905aec7b50 100644 --- a/Sources/Services/AWSDetective/Tests/AWSDetectiveTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSDetective/Tests/AWSDetectiveTests/EndpointResolverTest.swift @@ -237,11 +237,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -252,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://detective-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -272,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -292,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://detective.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -312,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -332,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -352,15 +352,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -372,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -392,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -412,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -432,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -452,17 +452,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://detective-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -472,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -492,15 +492,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://detective.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -512,7 +512,7 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.detective.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSDevOpsGuru/Sources/AWSDevOpsGuru/DevOpsGuruClient.swift b/Sources/Services/AWSDevOpsGuru/Sources/AWSDevOpsGuru/DevOpsGuruClient.swift index ad25618832f..b9f4c186fa6 100644 --- a/Sources/Services/AWSDevOpsGuru/Sources/AWSDevOpsGuru/DevOpsGuruClient.swift +++ b/Sources/Services/AWSDevOpsGuru/Sources/AWSDevOpsGuru/DevOpsGuruClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DevOpsGuruClient: ClientRuntime.Client { +public class DevOpsGuruClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DevOpsGuruClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DevOpsGuruClient.DevOpsGuruClientConfiguration let serviceName = "DevOps Guru" diff --git a/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/DeviceFarmClient.swift b/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/DeviceFarmClient.swift index 09cf4e04aef..0dd8b0b3d2d 100644 --- a/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/DeviceFarmClient.swift +++ b/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/DeviceFarmClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DeviceFarmClient: ClientRuntime.Client { +public class DeviceFarmClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DeviceFarmClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DeviceFarmClient.DeviceFarmClientConfiguration let serviceName = "Device Farm" diff --git a/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/Models.swift b/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/Models.swift index d934f74464f..1e2388824bc 100644 --- a/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/Models.swift +++ b/Sources/Services/AWSDeviceFarm/Sources/AWSDeviceFarm/Models.swift @@ -1153,6 +1153,8 @@ extension DeviceFarmClientTypes { /// Configuration settings for a remote access session, including billing method. public struct CreateRemoteAccessSessionConfiguration: Swift.Sendable { + /// A list of upload ARNs for app packages to be installed onto your device. (Maximum 3) + public var auxiliaryApps: [Swift.String]? /// The billing method for the remote access session. public var billingMethod: DeviceFarmClientTypes.BillingMethod? /// The device proxy to be configured on the device for the remote access session. @@ -1161,10 +1163,12 @@ extension DeviceFarmClientTypes { public var vpceConfigurationArns: [Swift.String]? public init( + auxiliaryApps: [Swift.String]? = nil, billingMethod: DeviceFarmClientTypes.BillingMethod? = nil, deviceProxy: DeviceFarmClientTypes.DeviceProxy? = nil, vpceConfigurationArns: [Swift.String]? = nil ) { + self.auxiliaryApps = auxiliaryApps self.billingMethod = billingMethod self.deviceProxy = deviceProxy self.vpceConfigurationArns = vpceConfigurationArns @@ -1206,6 +1210,8 @@ extension DeviceFarmClientTypes { /// Creates and submits a request to start a remote access session. public struct CreateRemoteAccessSessionInput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the app to create the remote access session. + public var appArn: Swift.String? /// Unique identifier for the client. If you want access to multiple devices on the same client, you should pass the same clientId value in each call to CreateRemoteAccessSession. This identifier is required only if remoteDebugEnabled is set to true. Remote debugging is [no longer supported](https://docs.aws.amazon.com/devicefarm/latest/developerguide/history.html). public var clientId: Swift.String? /// The configuration information for the remote access session request. @@ -1240,6 +1246,7 @@ public struct CreateRemoteAccessSessionInput: Swift.Sendable { public var sshPublicKey: Swift.String? public init( + appArn: Swift.String? = nil, clientId: Swift.String? = nil, configuration: DeviceFarmClientTypes.CreateRemoteAccessSessionConfiguration? = nil, deviceArn: Swift.String? = nil, @@ -1253,6 +1260,7 @@ public struct CreateRemoteAccessSessionInput: Swift.Sendable { skipAppResign: Swift.Bool? = nil, sshPublicKey: Swift.String? = nil ) { + self.appArn = appArn self.clientId = clientId self.configuration = configuration self.deviceArn = deviceArn @@ -1645,6 +1653,8 @@ extension DeviceFarmClientTypes { /// Represents information about the remote access session. public struct RemoteAccessSession: Swift.Sendable { + /// The ARN for the app to be installed onto your device. + public var appUpload: Swift.String? /// The Amazon Resource Name (ARN) of the remote access session. public var arn: Swift.String? /// The billing method of the remote access session. Possible values include METERED or UNMETERED. For more information about metered devices, see [AWS Device Farm terminology](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html#welcome-terminology). @@ -1731,6 +1741,7 @@ extension DeviceFarmClientTypes { public var vpcConfig: DeviceFarmClientTypes.VpcConfig? public init( + appUpload: Swift.String? = nil, arn: Swift.String? = nil, billingMethod: DeviceFarmClientTypes.BillingMethod? = nil, clientId: Swift.String? = nil, @@ -1755,6 +1766,7 @@ extension DeviceFarmClientTypes { stopped: Foundation.Date? = nil, vpcConfig: DeviceFarmClientTypes.VpcConfig? = nil ) { + self.appUpload = appUpload self.arn = arn self.billingMethod = billingMethod self.clientId = clientId @@ -7197,6 +7209,7 @@ extension CreateRemoteAccessSessionInput { static func write(value: CreateRemoteAccessSessionInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["appArn"].write(value.appArn) try writer["clientId"].write(value.clientId) try writer["configuration"].write(value.configuration, with: DeviceFarmClientTypes.CreateRemoteAccessSessionConfiguration.write(value:to:)) try writer["deviceArn"].write(value.deviceArn) @@ -10376,6 +10389,7 @@ extension DeviceFarmClientTypes.RemoteAccessSession { value.skipAppResign = try reader["skipAppResign"].readIfPresent() value.vpcConfig = try reader["vpcConfig"].readIfPresent(with: DeviceFarmClientTypes.VpcConfig.read(from:)) value.deviceProxy = try reader["deviceProxy"].readIfPresent(with: DeviceFarmClientTypes.DeviceProxy.read(from:)) + value.appUpload = try reader["appUpload"].readIfPresent() return value } } @@ -11004,6 +11018,7 @@ extension DeviceFarmClientTypes.CreateRemoteAccessSessionConfiguration { static func write(value: DeviceFarmClientTypes.CreateRemoteAccessSessionConfiguration?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["auxiliaryApps"].writeList(value.auxiliaryApps, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["billingMethod"].write(value.billingMethod) try writer["deviceProxy"].write(value.deviceProxy, with: DeviceFarmClientTypes.DeviceProxy.write(value:to:)) try writer["vpceConfigurationArns"].writeList(value.vpceConfigurationArns, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) diff --git a/Sources/Services/AWSDirectConnect/Sources/AWSDirectConnect/DirectConnectClient.swift b/Sources/Services/AWSDirectConnect/Sources/AWSDirectConnect/DirectConnectClient.swift index 038484b1363..791f56aef28 100644 --- a/Sources/Services/AWSDirectConnect/Sources/AWSDirectConnect/DirectConnectClient.swift +++ b/Sources/Services/AWSDirectConnect/Sources/AWSDirectConnect/DirectConnectClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DirectConnectClient: ClientRuntime.Client { +public class DirectConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DirectConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DirectConnectClient.DirectConnectClientConfiguration let serviceName = "Direct Connect" diff --git a/Sources/Services/AWSDirectoryService/Sources/AWSDirectoryService/DirectoryClient.swift b/Sources/Services/AWSDirectoryService/Sources/AWSDirectoryService/DirectoryClient.swift index c03809eea98..b02348d1d1e 100644 --- a/Sources/Services/AWSDirectoryService/Sources/AWSDirectoryService/DirectoryClient.swift +++ b/Sources/Services/AWSDirectoryService/Sources/AWSDirectoryService/DirectoryClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DirectoryClient: ClientRuntime.Client { +public class DirectoryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DirectoryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DirectoryClient.DirectoryClientConfiguration let serviceName = "Directory" diff --git a/Sources/Services/AWSDirectoryServiceData/Sources/AWSDirectoryServiceData/DirectoryServiceDataClient.swift b/Sources/Services/AWSDirectoryServiceData/Sources/AWSDirectoryServiceData/DirectoryServiceDataClient.swift index f8f56cc668b..5987fcbf5dd 100644 --- a/Sources/Services/AWSDirectoryServiceData/Sources/AWSDirectoryServiceData/DirectoryServiceDataClient.swift +++ b/Sources/Services/AWSDirectoryServiceData/Sources/AWSDirectoryServiceData/DirectoryServiceDataClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DirectoryServiceDataClient: ClientRuntime.Client { +public class DirectoryServiceDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DirectoryServiceDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DirectoryServiceDataClient.DirectoryServiceDataClientConfiguration let serviceName = "Directory Service Data" diff --git a/Sources/Services/AWSDocDB/Sources/AWSDocDB/DocDBClient.swift b/Sources/Services/AWSDocDB/Sources/AWSDocDB/DocDBClient.swift index 996582e2b2c..ece5886e242 100644 --- a/Sources/Services/AWSDocDB/Sources/AWSDocDB/DocDBClient.swift +++ b/Sources/Services/AWSDocDB/Sources/AWSDocDB/DocDBClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DocDBClient: ClientRuntime.Client { +public class DocDBClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DocDBClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DocDBClient.DocDBClientConfiguration let serviceName = "DocDB" @@ -748,6 +747,7 @@ extension DocDBClient { /// - `InvalidSubnet` : The requested subnet is not valid, or multiple subnets were requested that are not all in a common virtual private cloud (VPC). /// - `InvalidVPCNetworkStateFault` : The subnet group doesn't cover all Availability Zones after it is created because of changes that were made. /// - `KMSKeyNotAccessibleFault` : An error occurred when accessing an KMS key. + /// - `NetworkTypeNotSupported` : The network type is not supported by either DBSubnetGroup or the DB engine version. /// - `StorageQuotaExceededFault` : The request would cause you to exceed the allowed amount of storage available across all instances. public func createDBCluster(input: CreateDBClusterInput) async throws -> CreateDBClusterOutput { let context = Smithy.ContextBuilder() @@ -1176,7 +1176,7 @@ extension DocDBClient { /// Performs the `CreateGlobalCluster` operation on the `DocDB` service. /// - /// Creates an Amazon DocumentDB global cluster that can span multiple multiple Amazon Web Services Regions. The global cluster contains one primary cluster with read-write capability, and up-to give read-only secondary clusters. Global clusters uses storage-based fast replication across regions with latencies less than one second, using dedicated infrastructure with no impact to your workload’s performance. You can create a global cluster that is initially empty, and then add a primary and a secondary to it. Or you can specify an existing cluster during the create operation, and this cluster becomes the primary of the global cluster. This action only applies to Amazon DocumentDB clusters. + /// Creates an Amazon DocumentDB global cluster that can span multiple multiple Amazon Web Services Regions. The global cluster contains one primary cluster with read-write capability, and up-to 10 read-only secondary clusters. Global clusters uses storage-based fast replication across regions with latencies less than one second, using dedicated infrastructure with no impact to your workload’s performance. You can create a global cluster that is initially empty, and then add a primary and a secondary to it. Or you can specify an existing cluster during the create operation, and this cluster becomes the primary of the global cluster. This action only applies to Amazon DocumentDB clusters. /// /// - Parameter input: Represents the input to [CreateGlobalCluster]. (Type: `CreateGlobalClusterInput`) /// @@ -3030,6 +3030,7 @@ extension DocDBClient { /// - `InvalidDBSubnetGroupStateFault` : The subnet group can't be deleted because it's in use. /// - `InvalidSubnet` : The requested subnet is not valid, or multiple subnets were requested that are not all in a common virtual private cloud (VPC). /// - `InvalidVPCNetworkStateFault` : The subnet group doesn't cover all Availability Zones after it is created because of changes that were made. + /// - `NetworkTypeNotSupported` : The network type is not supported by either DBSubnetGroup or the DB engine version. /// - `StorageQuotaExceededFault` : The request would cause you to exceed the allowed amount of storage available across all instances. public func modifyDBCluster(input: ModifyDBClusterInput) async throws -> ModifyDBClusterOutput { let context = Smithy.ContextBuilder() @@ -3891,6 +3892,7 @@ extension DocDBClient { /// - `InvalidSubnet` : The requested subnet is not valid, or multiple subnets were requested that are not all in a common virtual private cloud (VPC). /// - `InvalidVPCNetworkStateFault` : The subnet group doesn't cover all Availability Zones after it is created because of changes that were made. /// - `KMSKeyNotAccessibleFault` : An error occurred when accessing an KMS key. + /// - `NetworkTypeNotSupported` : The network type is not supported by either DBSubnetGroup or the DB engine version. /// - `StorageQuotaExceededFault` : The request would cause you to exceed the allowed amount of storage available across all instances. public func restoreDBClusterFromSnapshot(input: RestoreDBClusterFromSnapshotInput) async throws -> RestoreDBClusterFromSnapshotOutput { let context = Smithy.ContextBuilder() @@ -3973,6 +3975,7 @@ extension DocDBClient { /// - `InvalidSubnet` : The requested subnet is not valid, or multiple subnets were requested that are not all in a common virtual private cloud (VPC). /// - `InvalidVPCNetworkStateFault` : The subnet group doesn't cover all Availability Zones after it is created because of changes that were made. /// - `KMSKeyNotAccessibleFault` : An error occurred when accessing an KMS key. + /// - `NetworkTypeNotSupported` : The network type is not supported by either DBSubnetGroup or the DB engine version. /// - `StorageQuotaExceededFault` : The request would cause you to exceed the allowed amount of storage available across all instances. public func restoreDBClusterToPointInTime(input: RestoreDBClusterToPointInTimeInput) async throws -> RestoreDBClusterToPointInTimeOutput { let context = Smithy.ContextBuilder() diff --git a/Sources/Services/AWSDocDB/Sources/AWSDocDB/Models.swift b/Sources/Services/AWSDocDB/Sources/AWSDocDB/Models.swift index e00e00587db..33a758247a0 100644 --- a/Sources/Services/AWSDocDB/Sources/AWSDocDB/Models.swift +++ b/Sources/Services/AWSDocDB/Sources/AWSDocDB/Models.swift @@ -731,11 +731,11 @@ public struct CopyDBClusterSnapshotInput: Swift.Sendable { public var preSignedUrl: Swift.String? /// The identifier of the cluster snapshot to copy. This parameter is not case sensitive. Constraints: /// - /// * Must specify a valid system snapshot in the available state. + /// * Must specify a valid cluster snapshot in the available state. /// - /// * If the source snapshot is in the same Amazon Web Services Region as the copy, specify a valid snapshot identifier. + /// * If the source cluster snapshot is in the same Amazon Web Services Region as the copy, specify a valid snapshot identifier. /// - /// * If the source snapshot is in a different Amazon Web Services Region than the copy, specify a valid cluster snapshot ARN. + /// * If the source cluster snapshot is in a different Amazon Web Services Region or owned by another Amazon Web Services account, specify the snapshot ARN. /// /// /// Example: my-cluster-snapshot1 @@ -1120,6 +1120,29 @@ public struct InvalidVPCNetworkStateFault: ClientRuntime.ModeledError, AWSClient } } +/// The network type is not supported by either DBSubnetGroup or the DB engine version. +public struct NetworkTypeNotSupported: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "NetworkTypeNotSupported" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + /// The request would cause you to exceed the allowed amount of storage available across all instances. public struct StorageQuotaExceededFault: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -1218,6 +1241,8 @@ public struct CreateDBClusterInput: Swift.Sendable { /// /// * Cannot be a reserved word for the chosen database engine. public var masterUsername: Swift.String? + /// The network type of the cluster. The network type is determined by the DBSubnetGroup specified for the cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL). For more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide. Valid Values: IPV4 | DUAL + public var networkType: Swift.String? /// The port number on which the instances in the cluster accept connections. public var port: Swift.Int? /// Not currently supported. @@ -1238,7 +1263,7 @@ public struct CreateDBClusterInput: Swift.Sendable { public var serverlessV2ScalingConfiguration: DocDBClientTypes.ServerlessV2ScalingConfiguration? /// Specifies whether the cluster is encrypted. public var storageEncrypted: Swift.Bool? - /// The storage type to associate with the DB cluster. For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the Amazon DocumentDB Developer Guide. Valid values for storage type - standard | iopt1 Default value is standard When you create a DocumentDB DB cluster with the storage type set to iopt1, the storage type is returned in the response. The storage type isn't returned when you set it to standard. + /// The storage type to associate with the DB cluster. For information on storage types for Amazon DocumentDB clusters, see Cluster storage configurations in the Amazon DocumentDB Developer Guide. Valid values for storage type - standard | iopt1 Default value is standard When you create an Amazon DocumentDB cluster with the storage type set to iopt1, the storage type is returned in the response. The storage type isn't returned when you set it to standard. public var storageType: Swift.String? /// The tags to be assigned to the cluster. public var tags: [DocDBClientTypes.Tag]? @@ -1261,6 +1286,7 @@ public struct CreateDBClusterInput: Swift.Sendable { masterUserPassword: Swift.String? = nil, masterUserSecretKmsKeyId: Swift.String? = nil, masterUsername: Swift.String? = nil, + networkType: Swift.String? = nil, port: Swift.Int? = nil, preSignedUrl: Swift.String? = nil, preferredBackupWindow: Swift.String? = nil, @@ -1286,6 +1312,7 @@ public struct CreateDBClusterInput: Swift.Sendable { self.masterUserPassword = masterUserPassword self.masterUserSecretKmsKeyId = masterUserSecretKmsKeyId self.masterUsername = masterUsername + self.networkType = networkType self.port = port self.preSignedUrl = preSignedUrl self.preferredBackupWindow = preferredBackupWindow @@ -1459,6 +1486,8 @@ extension DocDBClientTypes { public var engineVersion: Swift.String? /// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone. public var hostedZoneId: Swift.String? + /// The next time you can modify the Amazon DocumentDB cluster to use the iopt1 storage type. + public var ioOptimizedNextAllowedModificationTime: Foundation.Date? /// If StorageEncrypted is true, the KMS key identifier for the encrypted cluster. public var kmsKeyId: Swift.String? /// Specifies the latest time to which a database can be restored with point-in-time restore. @@ -1469,6 +1498,8 @@ extension DocDBClientTypes { public var masterUsername: Swift.String? /// Specifies whether the cluster has instances in multiple Availability Zones. public var multiAZ: Swift.Bool? + /// The network type of the cluster. The network type is determined by the DBSubnetGroup specified for the cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL). For more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide. Valid Values: IPV4 | DUAL + public var networkType: Swift.String? /// Specifies the progress of the operation as a percentage. public var percentProgress: Swift.String? /// Specifies the port that the database engine is listening on. @@ -1513,11 +1544,13 @@ extension DocDBClientTypes { engine: Swift.String? = nil, engineVersion: Swift.String? = nil, hostedZoneId: Swift.String? = nil, + ioOptimizedNextAllowedModificationTime: Foundation.Date? = nil, kmsKeyId: Swift.String? = nil, latestRestorableTime: Foundation.Date? = nil, masterUserSecret: DocDBClientTypes.ClusterMasterUserSecret? = nil, masterUsername: Swift.String? = nil, multiAZ: Swift.Bool? = nil, + networkType: Swift.String? = nil, percentProgress: Swift.String? = nil, port: Swift.Int? = nil, preferredBackupWindow: Swift.String? = nil, @@ -1549,11 +1582,13 @@ extension DocDBClientTypes { self.engine = engine self.engineVersion = engineVersion self.hostedZoneId = hostedZoneId + self.ioOptimizedNextAllowedModificationTime = ioOptimizedNextAllowedModificationTime self.kmsKeyId = kmsKeyId self.latestRestorableTime = latestRestorableTime self.masterUserSecret = masterUserSecret self.masterUsername = masterUsername self.multiAZ = multiAZ + self.networkType = networkType self.percentProgress = percentProgress self.port = port self.preferredBackupWindow = preferredBackupWindow @@ -1953,6 +1988,8 @@ extension DocDBClientTypes { public var subnetGroupStatus: Swift.String? /// Detailed information about one or more subnets within a subnet group. public var subnets: [DocDBClientTypes.Subnet]? + /// The network type of the DB subnet group. Valid Values: IPV4 | DUAL A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL). + public var supportedNetworkTypes: [Swift.String]? /// Provides the virtual private cloud (VPC) ID of the subnet group. public var vpcId: Swift.String? @@ -1962,6 +1999,7 @@ extension DocDBClientTypes { dbSubnetGroupName: Swift.String? = nil, subnetGroupStatus: Swift.String? = nil, subnets: [DocDBClientTypes.Subnet]? = nil, + supportedNetworkTypes: [Swift.String]? = nil, vpcId: Swift.String? = nil ) { self.dbSubnetGroupArn = dbSubnetGroupArn @@ -1969,6 +2007,7 @@ extension DocDBClientTypes { self.dbSubnetGroupName = dbSubnetGroupName self.subnetGroupStatus = subnetGroupStatus self.subnets = subnets + self.supportedNetworkTypes = supportedNetworkTypes self.vpcId = vpcId } } @@ -2639,6 +2678,100 @@ public struct CreateGlobalClusterInput: Swift.Sendable { } } +extension DocDBClientTypes { + + public enum FailoverStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case cancelling + case failingOver + case pending + case sdkUnknown(Swift.String) + + public static var allCases: [FailoverStatus] { + return [ + .cancelling, + .failingOver, + .pending + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .cancelling: return "cancelling" + case .failingOver: return "failing-over" + case .pending: return "pending" + case let .sdkUnknown(s): return s + } + } + } +} + +extension DocDBClientTypes { + + /// Contains the state of scheduled or in-process operations on an Amazon DocumentDB global cluster. This data type is empty unless a switchover or failover operation is scheduled or is in progress on the global cluster. + public struct FailoverState: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the Amazon DocumentDB cluster that is currently being demoted, and which is associated with this state. + public var fromDbClusterArn: Swift.String? + /// Indicates whether the operation is a global switchover or a global failover. If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover. + public var isDataLossAllowed: Swift.Bool? + /// The current status of the global cluster. Possible values are as follows: + /// + /// * pending – The service received a request to switch over or fail over the global cluster. The global cluster's primary cluster and the specified secondary cluster are being verified before the operation starts. + /// + /// * failing-over – The chosen secondary cluster is being promoted to become the new primary cluster to fail over the global cluster. + /// + /// * cancelling – The request to switch over or fail over the global cluster was cancelled and the primary cluster and the selected secondary cluster are returning to their previous states. + public var status: DocDBClientTypes.FailoverStatus? + /// The Amazon Resource Name (ARN) of the Amazon DocumentDB cluster that is currently being promoted, and which is associated with this state. + public var toDbClusterArn: Swift.String? + + public init( + fromDbClusterArn: Swift.String? = nil, + isDataLossAllowed: Swift.Bool? = nil, + status: DocDBClientTypes.FailoverStatus? = nil, + toDbClusterArn: Swift.String? = nil + ) { + self.fromDbClusterArn = fromDbClusterArn + self.isDataLossAllowed = isDataLossAllowed + self.status = status + self.toDbClusterArn = toDbClusterArn + } + } +} + +extension DocDBClientTypes { + + public enum GlobalClusterMemberSynchronizationStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case connected + case pendingResync + case sdkUnknown(Swift.String) + + public static var allCases: [GlobalClusterMemberSynchronizationStatus] { + return [ + .connected, + .pendingResync + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .connected: return "connected" + case .pendingResync: return "pending-resync" + case let .sdkUnknown(s): return s + } + } + } +} + extension DocDBClientTypes { /// A data structure with information about any primary and secondary clusters associated with an Amazon DocumentDB global clusters. @@ -2649,15 +2782,19 @@ extension DocDBClientTypes { public var isWriter: Swift.Bool? /// The Amazon Resource Name (ARN) for each read-only secondary cluster associated with the Amazon DocumentDB global cluster. public var readers: [Swift.String]? + /// The status of synchronization of each Amazon DocumentDB cluster in the global cluster. + public var synchronizationStatus: DocDBClientTypes.GlobalClusterMemberSynchronizationStatus? public init( dbClusterArn: Swift.String? = nil, isWriter: Swift.Bool? = nil, - readers: [Swift.String]? = nil + readers: [Swift.String]? = nil, + synchronizationStatus: DocDBClientTypes.GlobalClusterMemberSynchronizationStatus? = nil ) { self.dbClusterArn = dbClusterArn self.isWriter = isWriter self.readers = readers + self.synchronizationStatus = synchronizationStatus } } } @@ -2674,6 +2811,8 @@ extension DocDBClientTypes { public var engine: Swift.String? /// Indicates the database engine version. public var engineVersion: Swift.String? + /// A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster. This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster. + public var failoverState: DocDBClientTypes.FailoverState? /// The Amazon Resource Name (ARN) for the global cluster. public var globalClusterArn: Swift.String? /// Contains a user-supplied global cluster identifier. This identifier is the unique key that identifies a global cluster. @@ -2686,29 +2825,35 @@ extension DocDBClientTypes { public var status: Swift.String? /// The storage encryption setting for the global cluster. public var storageEncrypted: Swift.Bool? + /// A list of global cluster tags. + public var tagList: [DocDBClientTypes.Tag]? public init( databaseName: Swift.String? = nil, deletionProtection: Swift.Bool? = nil, engine: Swift.String? = nil, engineVersion: Swift.String? = nil, + failoverState: DocDBClientTypes.FailoverState? = nil, globalClusterArn: Swift.String? = nil, globalClusterIdentifier: Swift.String? = nil, globalClusterMembers: [DocDBClientTypes.GlobalClusterMember]? = nil, globalClusterResourceId: Swift.String? = nil, status: Swift.String? = nil, - storageEncrypted: Swift.Bool? = nil + storageEncrypted: Swift.Bool? = nil, + tagList: [DocDBClientTypes.Tag]? = nil ) { self.databaseName = databaseName self.deletionProtection = deletionProtection self.engine = engine self.engineVersion = engineVersion + self.failoverState = failoverState self.globalClusterArn = globalClusterArn self.globalClusterIdentifier = globalClusterIdentifier self.globalClusterMembers = globalClusterMembers self.globalClusterResourceId = globalClusterResourceId self.status = status self.storageEncrypted = storageEncrypted + self.tagList = tagList } } } @@ -3231,7 +3376,17 @@ extension DocDBClientTypes { public var minimumEngineVersion: Swift.String? /// Specifies the name of the parameter. public var parameterName: Swift.String? - /// Specifies the value of the parameter. + /// Specifies the value of the parameter. Must be one or more of the cluster parameter's AllowedValues in CSV format: Valid values are: + /// + /// * enabled: The cluster accepts secure connections using TLS version 1.0 through 1.3. + /// + /// * disabled: The cluster does not accept secure connections using TLS. + /// + /// * fips-140-3: The cluster only accepts secure connections per the requirements of the Federal Information Processing Standards (FIPS) publication 140-3. Only supported starting with Amazon DocumentDB 5.0 (engine version 3.0.3727) clusters in these regions: ca-central-1, us-west-2, us-east-1, us-east-2, us-gov-east-1, us-gov-west-1. + /// + /// * tls1.2+: The cluster accepts secure connections using TLS version 1.2 and above. Only supported starting with Amazon DocumentDB 4.0 (engine version 2.0.10980) and Amazon DocumentDB 5.0 (engine version 3.0.11051). + /// + /// * tls1.3+: The cluster accepts secure connections using TLS version 1.3 and above. Only supported starting with Amazon DocumentDB 4.0 (engine version 2.0.10980) and Amazon DocumentDB 5.0 (engine version 3.0.11051). public var parameterValue: Swift.String? /// Indicates the source of the parameter value. public var source: Swift.String? @@ -4338,7 +4493,22 @@ extension DocDBClientTypes { /// Represents the input to [ModifyDBCluster]. public struct ModifyDBClusterInput: Swift.Sendable { - /// A value that indicates whether major version upgrades are allowed. Constraints: You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the DB cluster's current version. + /// A value that indicates whether major version upgrades are allowed. Constraints: + /// + /// * You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the cluster's current version. + /// + /// * Since some parameters are version specific, changing them requires executing a new ModifyDBCluster API call after the in-place MVU completes. + /// + /// + /// Performing an MVU directly impacts the following parameters: + /// + /// * MasterUserPassword + /// + /// * NewDBClusterIdentifier + /// + /// * VpcSecurityGroupIds + /// + /// * Port public var allowMajorVersionUpgrade: Swift.Bool? /// A value that specifies whether the changes in this request and any pending changes are asynchronously applied as soon as possible, regardless of the PreferredMaintenanceWindow setting for the cluster. If this parameter is set to false, changes to the cluster are applied during the next maintenance window. The ApplyImmediately parameter affects only the NewDBClusterIdentifier and MasterUserPassword values. If you set this parameter value to false, the changes to the NewDBClusterIdentifier and MasterUserPassword values are applied during the next maintenance window. All other changes are applied immediately, regardless of the value of the ApplyImmediately parameter. Default: false public var applyImmediately: Swift.Bool? @@ -4372,6 +4542,8 @@ public struct ModifyDBClusterInput: Swift.Sendable { /// /// The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN. There is a default KMS key for your Amazon Web Services account. Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region. public var masterUserSecretKmsKeyId: Swift.String? + /// The network type of the cluster. The network type is determined by the DBSubnetGroup specified for the cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL). For more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide. Valid Values: IPV4 | DUAL + public var networkType: Swift.String? /// The new cluster identifier for the cluster when renaming a cluster. This value is stored as a lowercase string. Constraints: /// /// * Must contain from 1 to 63 letters, numbers, or hyphens. @@ -4418,6 +4590,7 @@ public struct ModifyDBClusterInput: Swift.Sendable { manageMasterUserPassword: Swift.Bool? = nil, masterUserPassword: Swift.String? = nil, masterUserSecretKmsKeyId: Swift.String? = nil, + networkType: Swift.String? = nil, newDBClusterIdentifier: Swift.String? = nil, port: Swift.Int? = nil, preferredBackupWindow: Swift.String? = nil, @@ -4438,6 +4611,7 @@ public struct ModifyDBClusterInput: Swift.Sendable { self.manageMasterUserPassword = manageMasterUserPassword self.masterUserPassword = masterUserPassword self.masterUserSecretKmsKeyId = masterUserSecretKmsKeyId + self.networkType = networkType self.newDBClusterIdentifier = newDBClusterIdentifier self.port = port self.preferredBackupWindow = preferredBackupWindow @@ -5048,6 +5222,8 @@ public struct RestoreDBClusterFromSnapshotInput: Swift.Sendable { /// /// * If the snapshot or the cluster snapshot in SnapshotIdentifier is not encrypted, then the restored DB cluster is not encrypted. public var kmsKeyId: Swift.String? + /// The network type of the cluster. The network type is determined by the DBSubnetGroup specified for the cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL). For more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide. Valid Values: IPV4 | DUAL + public var networkType: Swift.String? /// The port number on which the new cluster accepts connections. Constraints: Must be a value from 1150 to 65535. Default: The same port as the original cluster. public var port: Swift.Int? /// Contains the scaling configuration of an Amazon DocumentDB Serverless cluster. @@ -5074,6 +5250,7 @@ public struct RestoreDBClusterFromSnapshotInput: Swift.Sendable { engine: Swift.String? = nil, engineVersion: Swift.String? = nil, kmsKeyId: Swift.String? = nil, + networkType: Swift.String? = nil, port: Swift.Int? = nil, serverlessV2ScalingConfiguration: DocDBClientTypes.ServerlessV2ScalingConfiguration? = nil, snapshotIdentifier: Swift.String? = nil, @@ -5090,6 +5267,7 @@ public struct RestoreDBClusterFromSnapshotInput: Swift.Sendable { self.engine = engine self.engineVersion = engineVersion self.kmsKeyId = kmsKeyId + self.networkType = networkType self.port = port self.serverlessV2ScalingConfiguration = serverlessV2ScalingConfiguration self.snapshotIdentifier = snapshotIdentifier @@ -5136,6 +5314,8 @@ public struct RestoreDBClusterToPointInTimeInput: Swift.Sendable { /// /// If DBClusterIdentifier refers to a cluster that is not encrypted, then the restore request is rejected. public var kmsKeyId: Swift.String? + /// The network type of the cluster. The network type is determined by the DBSubnetGroup specified for the cluster. A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL). For more information, see [DocumentDB clusters in a VPC](https://docs.aws.amazon.com/documentdb/latest/developerguide/vpc-clusters.html) in the Amazon DocumentDB Developer Guide. Valid Values: IPV4 | DUAL + public var networkType: Swift.String? /// The port number on which the new cluster accepts connections. Constraints: Must be a value from 1150 to 65535. Default: The default port for the engine. public var port: Swift.Int? /// The date and time to restore the cluster to. Valid values: A time in Universal Coordinated Time (UTC) format. Constraints: @@ -5182,6 +5362,7 @@ public struct RestoreDBClusterToPointInTimeInput: Swift.Sendable { deletionProtection: Swift.Bool? = nil, enableCloudwatchLogsExports: [Swift.String]? = nil, kmsKeyId: Swift.String? = nil, + networkType: Swift.String? = nil, port: Swift.Int? = nil, restoreToTime: Foundation.Date? = nil, restoreType: Swift.String? = nil, @@ -5197,6 +5378,7 @@ public struct RestoreDBClusterToPointInTimeInput: Swift.Sendable { self.deletionProtection = deletionProtection self.enableCloudwatchLogsExports = enableCloudwatchLogsExports self.kmsKeyId = kmsKeyId + self.networkType = networkType self.port = port self.restoreToTime = restoreToTime self.restoreType = restoreType @@ -5774,6 +5956,7 @@ extension CreateDBClusterInput { try writer["MasterUserPassword"].write(value.masterUserPassword) try writer["MasterUserSecretKmsKeyId"].write(value.masterUserSecretKmsKeyId) try writer["MasterUsername"].write(value.masterUsername) + try writer["NetworkType"].write(value.networkType) try writer["Port"].write(value.port) try writer["PreSignedUrl"].write(value.preSignedUrl) try writer["PreferredBackupWindow"].write(value.preferredBackupWindow) @@ -6224,6 +6407,7 @@ extension ModifyDBClusterInput { try writer["ManageMasterUserPassword"].write(value.manageMasterUserPassword) try writer["MasterUserPassword"].write(value.masterUserPassword) try writer["MasterUserSecretKmsKeyId"].write(value.masterUserSecretKmsKeyId) + try writer["NetworkType"].write(value.networkType) try writer["NewDBClusterIdentifier"].write(value.newDBClusterIdentifier) try writer["Port"].write(value.port) try writer["PreferredBackupWindow"].write(value.preferredBackupWindow) @@ -6389,6 +6573,7 @@ extension RestoreDBClusterFromSnapshotInput { try writer["Engine"].write(value.engine) try writer["EngineVersion"].write(value.engineVersion) try writer["KmsKeyId"].write(value.kmsKeyId) + try writer["NetworkType"].write(value.networkType) try writer["Port"].write(value.port) try writer["ServerlessV2ScalingConfiguration"].write(value.serverlessV2ScalingConfiguration, with: DocDBClientTypes.ServerlessV2ScalingConfiguration.write(value:to:)) try writer["SnapshotIdentifier"].write(value.snapshotIdentifier) @@ -6409,6 +6594,7 @@ extension RestoreDBClusterToPointInTimeInput { try writer["DeletionProtection"].write(value.deletionProtection) try writer["EnableCloudwatchLogsExports"].writeList(value.enableCloudwatchLogsExports, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["KmsKeyId"].write(value.kmsKeyId) + try writer["NetworkType"].write(value.networkType) try writer["Port"].write(value.port) try writer["RestoreToTime"].writeTimestamp(value.restoreToTime, format: SmithyTimestamps.TimestampFormat.dateTime) try writer["RestoreType"].write(value.restoreType) @@ -7213,6 +7399,7 @@ enum CreateDBClusterOutputError { case "InvalidSubnet": return try InvalidSubnet.makeError(baseError: baseError) case "InvalidVPCNetworkStateFault": return try InvalidVPCNetworkStateFault.makeError(baseError: baseError) case "KMSKeyNotAccessibleFault": return try KMSKeyNotAccessibleFault.makeError(baseError: baseError) + case "NetworkTypeNotSupported": return try NetworkTypeNotSupported.makeError(baseError: baseError) case "StorageQuotaExceeded": return try StorageQuotaExceededFault.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -7733,6 +7920,7 @@ enum ModifyDBClusterOutputError { case "InvalidDBSubnetGroupStateFault": return try InvalidDBSubnetGroupStateFault.makeError(baseError: baseError) case "InvalidSubnet": return try InvalidSubnet.makeError(baseError: baseError) case "InvalidVPCNetworkStateFault": return try InvalidVPCNetworkStateFault.makeError(baseError: baseError) + case "NetworkTypeNotSupported": return try NetworkTypeNotSupported.makeError(baseError: baseError) case "StorageQuotaExceeded": return try StorageQuotaExceededFault.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -7946,6 +8134,7 @@ enum RestoreDBClusterFromSnapshotOutputError { case "InvalidSubnet": return try InvalidSubnet.makeError(baseError: baseError) case "InvalidVPCNetworkStateFault": return try InvalidVPCNetworkStateFault.makeError(baseError: baseError) case "KMSKeyNotAccessibleFault": return try KMSKeyNotAccessibleFault.makeError(baseError: baseError) + case "NetworkTypeNotSupported": return try NetworkTypeNotSupported.makeError(baseError: baseError) case "StorageQuotaExceeded": return try StorageQuotaExceededFault.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -7974,6 +8163,7 @@ enum RestoreDBClusterToPointInTimeOutputError { case "InvalidSubnet": return try InvalidSubnet.makeError(baseError: baseError) case "InvalidVPCNetworkStateFault": return try InvalidVPCNetworkStateFault.makeError(baseError: baseError) case "KMSKeyNotAccessibleFault": return try KMSKeyNotAccessibleFault.makeError(baseError: baseError) + case "NetworkTypeNotSupported": return try NetworkTypeNotSupported.makeError(baseError: baseError) case "StorageQuotaExceeded": return try StorageQuotaExceededFault.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -8380,6 +8570,19 @@ extension InvalidVPCNetworkStateFault { } } +extension NetworkTypeNotSupported { + + static func makeError(baseError: AWSClientRuntime.AWSQueryError) throws -> NetworkTypeNotSupported { + let reader = baseError.errorBodyReader + var value = NetworkTypeNotSupported() + value.properties.message = try reader["message"].readIfPresent() + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension StorageQuotaExceededFault { static func makeError(baseError: AWSClientRuntime.AWSQueryError) throws -> StorageQuotaExceededFault { @@ -8892,9 +9095,11 @@ extension DocDBClientTypes.DBCluster { value.clusterCreateTime = try reader["ClusterCreateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) value.enabledCloudwatchLogsExports = try reader["EnabledCloudwatchLogsExports"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.deletionProtection = try reader["DeletionProtection"].readIfPresent() + value.ioOptimizedNextAllowedModificationTime = try reader["IOOptimizedNextAllowedModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) value.storageType = try reader["StorageType"].readIfPresent() value.serverlessV2ScalingConfiguration = try reader["ServerlessV2ScalingConfiguration"].readIfPresent(with: DocDBClientTypes.ServerlessV2ScalingConfigurationInfo.read(from:)) value.masterUserSecret = try reader["MasterUserSecret"].readIfPresent(with: DocDBClientTypes.ClusterMasterUserSecret.read(from:)) + value.networkType = try reader["NetworkType"].readIfPresent() return value } } @@ -9065,6 +9270,7 @@ extension DocDBClientTypes.DBSubnetGroup { value.subnetGroupStatus = try reader["SubnetGroupStatus"].readIfPresent() value.subnets = try reader["Subnets"].readListIfPresent(memberReadingClosure: DocDBClientTypes.Subnet.read(from:), memberNodeInfo: "Subnet", isFlattened: false) value.dbSubnetGroupArn = try reader["DBSubnetGroupArn"].readIfPresent() + value.supportedNetworkTypes = try reader["SupportedNetworkTypes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -9118,6 +9324,38 @@ extension DocDBClientTypes.GlobalCluster { value.storageEncrypted = try reader["StorageEncrypted"].readIfPresent() value.deletionProtection = try reader["DeletionProtection"].readIfPresent() value.globalClusterMembers = try reader["GlobalClusterMembers"].readListIfPresent(memberReadingClosure: DocDBClientTypes.GlobalClusterMember.read(from:), memberNodeInfo: "GlobalClusterMember", isFlattened: false) + value.failoverState = try reader["FailoverState"].readIfPresent(with: DocDBClientTypes.FailoverState.read(from:)) + value.tagList = try reader["TagList"].readListIfPresent(memberReadingClosure: DocDBClientTypes.Tag.read(from:), memberNodeInfo: "Tag", isFlattened: false) + return value + } +} + +extension DocDBClientTypes.Tag { + + static func write(value: DocDBClientTypes.Tag?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Key"].write(value.key) + try writer["Value"].write(value.value) + } + + static func read(from reader: SmithyXML.Reader) throws -> DocDBClientTypes.Tag { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = DocDBClientTypes.Tag() + value.key = try reader["Key"].readIfPresent() + value.value = try reader["Value"].readIfPresent() + return value + } +} + +extension DocDBClientTypes.FailoverState { + + static func read(from reader: SmithyXML.Reader) throws -> DocDBClientTypes.FailoverState { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = DocDBClientTypes.FailoverState() + value.status = try reader["Status"].readIfPresent() + value.fromDbClusterArn = try reader["FromDbClusterArn"].readIfPresent() + value.toDbClusterArn = try reader["ToDbClusterArn"].readIfPresent() + value.isDataLossAllowed = try reader["IsDataLossAllowed"].readIfPresent() return value } } @@ -9130,6 +9368,7 @@ extension DocDBClientTypes.GlobalClusterMember { value.dbClusterArn = try reader["DBClusterArn"].readIfPresent() value.readers = try reader["Readers"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.isWriter = try reader["IsWriter"].readIfPresent() + value.synchronizationStatus = try reader["SynchronizationStatus"].readIfPresent() return value } } @@ -9303,23 +9542,6 @@ extension DocDBClientTypes.OrderableDBInstanceOption { } } -extension DocDBClientTypes.Tag { - - static func write(value: DocDBClientTypes.Tag?, to writer: SmithyFormURL.Writer) throws { - guard let value else { return } - try writer["Key"].write(value.key) - try writer["Value"].write(value.value) - } - - static func read(from reader: SmithyXML.Reader) throws -> DocDBClientTypes.Tag { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = DocDBClientTypes.Tag() - value.key = try reader["Key"].readIfPresent() - value.value = try reader["Value"].readIfPresent() - return value - } -} - extension DocDBClientTypes.ServerlessV2ScalingConfiguration { static func write(value: DocDBClientTypes.ServerlessV2ScalingConfiguration?, to writer: SmithyFormURL.Writer) throws { diff --git a/Sources/Services/AWSDocDBElastic/Sources/AWSDocDBElastic/DocDBElasticClient.swift b/Sources/Services/AWSDocDBElastic/Sources/AWSDocDBElastic/DocDBElasticClient.swift index df67be1c914..a7866541698 100644 --- a/Sources/Services/AWSDocDBElastic/Sources/AWSDocDBElastic/DocDBElasticClient.swift +++ b/Sources/Services/AWSDocDBElastic/Sources/AWSDocDBElastic/DocDBElasticClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DocDBElasticClient: ClientRuntime.Client { +public class DocDBElasticClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DocDBElasticClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DocDBElasticClient.DocDBElasticClientConfiguration let serviceName = "DocDB Elastic" diff --git a/Sources/Services/AWSDrs/Sources/AWSDrs/DrsClient.swift b/Sources/Services/AWSDrs/Sources/AWSDrs/DrsClient.swift index 453c157192b..cf7518b852c 100644 --- a/Sources/Services/AWSDrs/Sources/AWSDrs/DrsClient.swift +++ b/Sources/Services/AWSDrs/Sources/AWSDrs/DrsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DrsClient: ClientRuntime.Client { +public class DrsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DrsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DrsClient.DrsClientConfiguration let serviceName = "drs" diff --git a/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/DynamoDBClient.swift b/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/DynamoDBClient.swift index 966c46ad07c..e4608f9a0cd 100644 --- a/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/DynamoDBClient.swift +++ b/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/DynamoDBClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DynamoDBClient: ClientRuntime.Client { +public class DynamoDBClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DynamoDBClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DynamoDBClient.DynamoDBClientConfiguration let serviceName = "DynamoDB" @@ -393,7 +392,7 @@ extension DynamoDBClient { /// /// __Possible Exceptions:__ /// - `InternalServerError` : An error occurred on the server side. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. public func batchExecuteStatement(input: BatchExecuteStatementInput) async throws -> BatchExecuteStatementOutput { let context = Smithy.ContextBuilder() @@ -467,7 +466,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `InvalidEndpointException` : [no documentation found] /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. public func batchGetItem(input: BatchGetItemInput) async throws -> BatchGetItemOutput { @@ -563,7 +562,7 @@ extension DynamoDBClient { /// - `ItemCollectionSizeLimitExceededException` : An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. /// - `ReplicatedWriteConflictException` : The request was rejected because one or more items in the request are being modified by a request in another Region. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. public func batchWriteItem(input: BatchWriteItemInput) async throws -> BatchWriteItemOutput { @@ -983,7 +982,7 @@ extension DynamoDBClient { /// - `ItemCollectionSizeLimitExceededException` : An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. /// - `ReplicatedWriteConflictException` : The request was rejected because one or more items in the request are being modified by a request in another Region. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionConflictException` : Operation was rejected because there is an ongoing transaction for the item. @@ -2340,7 +2339,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `ItemCollectionSizeLimitExceededException` : An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionConflictException` : Operation was rejected because there is an ongoing transaction for the item. @@ -2416,7 +2415,7 @@ extension DynamoDBClient { /// - `IdempotentParameterMismatchException` : DynamoDB rejected the request because you retried a request with a different payload but with an idempotent token that was already used. /// - `InternalServerError` : An error occurred on the server side. /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionCanceledException` : The entire transaction request was canceled. DynamoDB cancels a TransactWriteItems request under the following circumstances: @@ -2717,7 +2716,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `InvalidEndpointException` : [no documentation found] /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. public func getItem(input: GetItemInput) async throws -> GetItemOutput { @@ -3459,7 +3458,7 @@ extension DynamoDBClient { /// - `ItemCollectionSizeLimitExceededException` : An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. /// - `ReplicatedWriteConflictException` : The request was rejected because one or more items in the request are being modified by a request in another Region. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionConflictException` : Operation was rejected because there is an ongoing transaction for the item. @@ -3619,7 +3618,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `InvalidEndpointException` : [no documentation found] /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. public func query(input: QueryInput) async throws -> QueryOutput { @@ -3884,7 +3883,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `InvalidEndpointException` : [no documentation found] /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. public func scan(input: ScanInput) async throws -> ScanOutput { @@ -4057,7 +4056,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `InvalidEndpointException` : [no documentation found] /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionCanceledException` : The entire transaction request was canceled. DynamoDB cancels a TransactWriteItems request under the following circumstances: @@ -4286,7 +4285,7 @@ extension DynamoDBClient { /// - `InternalServerError` : An error occurred on the server side. /// - `InvalidEndpointException` : [no documentation found] /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionCanceledException` : The entire transaction request was canceled. DynamoDB cancels a TransactWriteItems request under the following circumstances: @@ -4921,7 +4920,7 @@ extension DynamoDBClient { /// - `ItemCollectionSizeLimitExceededException` : An item collection is too large. This exception is only returned for tables that have one or more local secondary indexes. /// - `ProvisionedThroughputExceededException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. The Amazon Web Services SDKs for DynamoDB automatically retry requests that receive this exception. Your request is eventually successful, unless your retry queue is too large to finish. Reduce the frequency of requests and use exponential backoff. For more information, go to [Error Retries and Exponential Backoff](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Programming.Errors.html#Programming.Errors.RetryAndBackoff) in the Amazon DynamoDB Developer Guide. /// - `ReplicatedWriteConflictException` : The request was rejected because one or more items in the request are being modified by a request in another Region. - /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. + /// - `RequestLimitExceeded` : Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. /// - `ResourceNotFoundException` : The operation tried to access a nonexistent table or index. The resource might not be specified correctly, or its status might not be ACTIVE. /// - `ThrottlingException` : The request was denied due to request throttling. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. /// - `TransactionConflictException` : Operation was rejected because there is an ongoing transaction for the item. diff --git a/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Endpoints.swift b/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Endpoints.swift index 584df133d76..c5baf1a16ec 100644 --- a/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Endpoints.swift +++ b/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Endpoints.swift @@ -79,7 +79,7 @@ public protocol EndpointResolver { typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"},\"AccountId\":{\"builtIn\":\"AWS::Auth::AccountId\",\"required\":false,\"documentation\":\"The AWS AccountId used for the request.\",\"type\":\"string\"},\"AccountIdEndpointMode\":{\"builtIn\":\"AWS::Auth::AccountIdEndpointMode\",\"required\":false,\"documentation\":\"The AccountId Endpoint Mode.\",\"type\":\"string\"},\"ResourceArn\":{\"required\":false,\"documentation\":\"ResourceArn containing arn of resource\",\"type\":\"string\"},\"ResourceArnList\":{\"required\":false,\"documentation\":\"ResourceArnList containing list of resource arns\",\"type\":\"stringArray\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]},{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"Endpoint\"},\"https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}\"]}],\"error\":\"Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":\"{Endpoint}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":\"{Endpoint}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"Region\"},\"local\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and local endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and local endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":\"http://localhost:8000\",\"properties\":{\"authSchemes\":[{\"signingRegion\":\"us-east-1\",\"name\":\"sigv4\",\"signingName\":\"dynamodb\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-us-gov\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArn\"}]},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"ResourceArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArnList\"}]},{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ResourceArnList\"},\"[0]\"],\"assign\":\"FirstArn\"},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"FirstArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountId\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"isValidHostLabel\",\"argv\":[{\"ref\":\"AccountId\"},false]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://{AccountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Credentials-sourced account ID parameter is invalid\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]}],\"rules\":[{\"conditions\":[],\"error\":\"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArn\"}]},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"ResourceArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArnList\"}]},{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ResourceArnList\"},\"[0]\"],\"assign\":\"FirstArn\"},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"FirstArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountId\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"isValidHostLabel\",\"argv\":[{\"ref\":\"AccountId\"},false]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Credentials-sourced account ID parameter is invalid\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]}],\"rules\":[{\"conditions\":[],\"error\":\"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" + private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"},\"AccountId\":{\"builtIn\":\"AWS::Auth::AccountId\",\"required\":false,\"documentation\":\"The AWS AccountId used for the request.\",\"type\":\"string\"},\"AccountIdEndpointMode\":{\"builtIn\":\"AWS::Auth::AccountIdEndpointMode\",\"required\":false,\"documentation\":\"The AccountId Endpoint Mode.\",\"type\":\"string\"},\"ResourceArn\":{\"required\":false,\"documentation\":\"ResourceArn containing arn of resource\",\"type\":\"string\"},\"ResourceArnList\":{\"required\":false,\"documentation\":\"ResourceArnList containing list of resource arns\",\"type\":\"stringArray\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]},{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"Endpoint\"},\"https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}\"]}],\"error\":\"Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":\"{Endpoint}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":\"{Endpoint}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"Region\"},\"local\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and local endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and local endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":\"http://localhost:8000\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingName\":\"dynamodb\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-us-gov\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArn\"}]},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"ResourceArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"metricValues\":[\"O\"]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArnList\"}]},{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ResourceArnList\"},\"[0]\"],\"assign\":\"FirstArn\"},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"FirstArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"metricValues\":[\"O\"]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountId\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"isValidHostLabel\",\"argv\":[{\"ref\":\"AccountId\"},false]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://{AccountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{\"metricValues\":[\"O\"]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Credentials-sourced account ID parameter is invalid\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]}],\"rules\":[{\"conditions\":[],\"error\":\"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArn\"}]},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"ResourceArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{\"metricValues\":[\"O\"]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"ResourceArnList\"}]},{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ResourceArnList\"},\"[0]\"],\"assign\":\"FirstArn\"},{\"fn\":\"aws.parseArn\",\"argv\":[{\"ref\":\"FirstArn\"}],\"assign\":\"ParsedArn\"},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"service\"]},\"dynamodb\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},false]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"region\"]},\"{Region}\"]},{\"fn\":\"isValidHostLabel\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"ParsedArn\"},\"accountId\"]},false]}],\"endpoint\":{\"url\":\"https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{\"metricValues\":[\"O\"]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"disabled\"]}]},{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]},{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountId\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"isValidHostLabel\",\"argv\":[{\"ref\":\"AccountId\"},false]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{\"metricValues\":[\"O\"]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Credentials-sourced account ID parameter is invalid\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"}]},{\"fn\":\"stringEquals\",\"argv\":[{\"ref\":\"AccountIdEndpointMode\"},\"required\"]}],\"rules\":[{\"conditions\":[{\"fn\":\"not\",\"argv\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]}],\"rules\":[{\"conditions\":[],\"error\":\"AccountIdEndpointMode is required but no AccountID was provided or able to be loaded\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required but account endpoints are not supported in this partition\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: AccountIdEndpointMode is required and FIPS is enabled, but FIPS account endpoints are not supported\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://dynamodb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" init() throws { try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) diff --git a/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Models.swift b/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Models.swift index e0846c594b1..46ab3ab8107 100644 --- a/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Models.swift +++ b/Sources/Services/AWSDynamoDB/Sources/AWSDynamoDB/Models.swift @@ -1250,7 +1250,7 @@ extension DynamoDBClientTypes { } } -/// Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web Services Support](https://aws.amazon.com/support) to request a quota increase. +/// Throughput exceeds the current throughput quota for your account. For detailed information about why the request was throttled and the ARN of the impacted resource, find the [ThrottlingReason](https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_ThrottlingReason.html) field in the returned exception. Contact [Amazon Web ServicesSupport](https://aws.amazon.com/support) to request a quota increase. public struct RequestLimitExceeded: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { public struct Properties: Swift.Sendable { diff --git a/Sources/Services/AWSDynamoDB/Tests/AWSDynamoDBTests/EndpointResolverTest.swift b/Sources/Services/AWSDynamoDB/Tests/AWSDynamoDBTests/EndpointResolverTest.swift index 7dbdefa9991..5bd25c03a5b 100644 --- a/Sources/Services/AWSDynamoDB/Tests/AWSDynamoDBTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSDynamoDB/Tests/AWSDynamoDBTests/EndpointResolverTest.swift @@ -4848,7 +4848,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.api.aws", headers: headers, properties: properties) @@ -4870,7 +4874,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -4895,7 +4903,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -4921,7 +4933,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -4947,7 +4963,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -4973,7 +4993,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -4999,7 +5023,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5025,7 +5053,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5112,7 +5144,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.api.aws", headers: headers, properties: properties) @@ -5134,7 +5170,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5272,7 +5312,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.api.aws", headers: headers, properties: properties) @@ -5296,7 +5340,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5321,7 +5369,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5406,7 +5458,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.api.aws", headers: headers, properties: properties) @@ -5428,7 +5484,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5453,7 +5513,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5479,7 +5543,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5505,7 +5573,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5531,7 +5603,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5557,7 +5633,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5583,7 +5663,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://111111111111.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5668,7 +5752,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.api.aws", headers: headers, properties: properties) @@ -5690,7 +5778,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5823,7 +5915,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.api.aws", headers: headers, properties: properties) @@ -5847,7 +5943,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://333333333333.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -5872,7 +5972,11 @@ class EndpointResolverTest: XCTestCase { let actual = try resolver.resolve(params: endpointParams) let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] + [ + "metricValues": [ + "O" + ] + ] let headers = SmithyHTTPAPI.Headers() let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://222222222222.ddb.us-east-1.amazonaws.com", headers: headers, properties: properties) @@ -8681,8 +8785,26 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// {Endpoint=https://dynamodb.us-west-2.api.aws, Region=us-west-2} + /// {Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1} func testResolve364() throws { + let endpointParams = EndpointParams( + endpoint: "https://dynamodb.eu-west-1.api.aws", + region: "eu-west-1" + ) + let resolver = try DefaultEndpointResolver() + + XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in + switch error { + case ClientRuntime.EndpointError.unresolved(let message): + XCTAssertEqual("Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html", message) + default: + XCTFail() + } + } + } + + /// {Endpoint=https://dynamodb.us-west-2.api.aws, Region=us-west-2} + func testResolve365() throws { let endpointParams = EndpointParams( endpoint: "https://dynamodb.us-west-2.api.aws", region: "us-west-2" @@ -8700,7 +8822,7 @@ class EndpointResolverTest: XCTestCase { } /// {Endpoint=https://dynamodb.cn-north-1.api.amazonwebservices.com.cn, Region=cn-north-1} - func testResolve365() throws { + func testResolve366() throws { let endpointParams = EndpointParams( endpoint: "https://dynamodb.cn-north-1.api.amazonwebservices.com.cn", region: "cn-north-1" @@ -8718,7 +8840,7 @@ class EndpointResolverTest: XCTestCase { } /// {Endpoint=https://dynamodb.us-gov-east-1.api.aws, Region=us-gov-east-1} - func testResolve366() throws { + func testResolve367() throws { let endpointParams = EndpointParams( endpoint: "https://dynamodb.us-gov-east-1.api.aws", region: "us-gov-east-1" @@ -8736,7 +8858,7 @@ class EndpointResolverTest: XCTestCase { } /// {Endpoint=https://dynamodb.us-east-1.api.aws, Region=us-east-1} - func testResolve367() throws { + func testResolve368() throws { let endpointParams = EndpointParams( endpoint: "https://dynamodb.us-east-1.api.aws", region: "us-east-1" @@ -8754,7 +8876,7 @@ class EndpointResolverTest: XCTestCase { } /// {Endpoint=https://111111111111.ddb.us-east-1.api.aws, Region=us-east-1} - func testResolve368() throws { + func testResolve369() throws { let endpointParams = EndpointParams( endpoint: "https://111111111111.ddb.us-east-1.api.aws", region: "us-east-1" @@ -8773,7 +8895,7 @@ class EndpointResolverTest: XCTestCase { } /// {Endpoint=https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws, Region=us-east-1} - func testResolve369() throws { + func testResolve370() throws { let endpointParams = EndpointParams( endpoint: "https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws", region: "us-east-1" @@ -8791,22 +8913,4 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// {Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1} - func testResolve370() throws { - let endpointParams = EndpointParams( - endpoint: "https://dynamodb.eu-west-1.api.aws", - region: "eu-west-1" - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html", message) - default: - XCTFail() - } - } - } - } diff --git a/Sources/Services/AWSDynamoDBStreams/Sources/AWSDynamoDBStreams/DynamoDBStreamsClient.swift b/Sources/Services/AWSDynamoDBStreams/Sources/AWSDynamoDBStreams/DynamoDBStreamsClient.swift index 85e89ba2a56..001b365ba71 100644 --- a/Sources/Services/AWSDynamoDBStreams/Sources/AWSDynamoDBStreams/DynamoDBStreamsClient.swift +++ b/Sources/Services/AWSDynamoDBStreams/Sources/AWSDynamoDBStreams/DynamoDBStreamsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class DynamoDBStreamsClient: ClientRuntime.Client { +public class DynamoDBStreamsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "DynamoDBStreamsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: DynamoDBStreamsClient.DynamoDBStreamsClientConfiguration let serviceName = "DynamoDB Streams" diff --git a/Sources/Services/AWSDynamoDBStreams/Tests/AWSDynamoDBStreamsTests/EndpointResolverTest.swift b/Sources/Services/AWSDynamoDBStreams/Tests/AWSDynamoDBStreamsTests/EndpointResolverTest.swift index 9a71f23ad9e..10135539803 100644 --- a/Sources/Services/AWSDynamoDBStreams/Tests/AWSDynamoDBStreamsTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSDynamoDBStreams/Tests/AWSDynamoDBStreamsTests/EndpointResolverTest.swift @@ -237,11 +237,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -252,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams-dynamodb-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -272,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -292,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams-dynamodb.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -312,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -332,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -352,15 +352,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -372,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -392,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -412,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -432,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -452,17 +452,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams-dynamodb-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -472,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -492,15 +492,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams-dynamodb.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -512,7 +512,7 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://streams.dynamodb.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSEBS/Sources/AWSEBS/EBSClient.swift b/Sources/Services/AWSEBS/Sources/AWSEBS/EBSClient.swift index 18f71139f8d..259134085a5 100644 --- a/Sources/Services/AWSEBS/Sources/AWSEBS/EBSClient.swift +++ b/Sources/Services/AWSEBS/Sources/AWSEBS/EBSClient.swift @@ -34,7 +34,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -71,9 +71,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EBSClient: ClientRuntime.Client { +public class EBSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EBSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EBSClient.EBSClientConfiguration let serviceName = "EBS" diff --git a/Sources/Services/AWSEC2/Sources/AWSEC2/EC2Client.swift b/Sources/Services/AWSEC2/Sources/AWSEC2/EC2Client.swift index 5593d2b014d..9ba9ac711ee 100644 --- a/Sources/Services/AWSEC2/Sources/AWSEC2/EC2Client.swift +++ b/Sources/Services/AWSEC2/Sources/AWSEC2/EC2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EC2Client: ClientRuntime.Client { +public class EC2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "EC2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EC2Client.EC2ClientConfiguration let serviceName = "EC2" @@ -939,7 +938,18 @@ extension EC2Client { /// Performs the `AllocateAddress` operation on the `EC2` service. /// - /// Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account. You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own IP addresses (BYOIP). For more information, see [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) in the Amazon EC2 User Guide. If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation. For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the Amazon EC2 User Guide. You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance). + /// Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address pool and can be allocated to a different Amazon Web Services account. You can allocate an Elastic IP address from one of the following address pools: + /// + /// * Amazon's pool of IPv4 addresses + /// + /// * Public IPv4 address range that you own and bring to your Amazon Web Services account using [Bring Your Own IP Addresses (BYOIP)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html) + /// + /// * An IPv4 IPAM pool with an Amazon-provided or BYOIP public IPv4 address range + /// + /// * IPv4 addresses from your on-premises network made available for use with an Outpost using a [customer-owned IP address pool](https://docs.aws.amazon.com/outposts/latest/userguide/routing.html#ip-addressing) (CoIP pool) + /// + /// + /// For more information, see [Elastic IP Addresses](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/elastic-ip-addresses-eip.html) in the Amazon EC2 User Guide. If you release an Elastic IP address, you might be able to recover it. You cannot recover an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify it in this operation. You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance). /// /// - Parameter input: [no documentation found] (Type: `AllocateAddressInput`) /// @@ -3814,7 +3824,7 @@ extension EC2Client { /// Performs the `CancelSpotFleetRequests` operation on the `EC2` service. /// - /// Cancels the specified Spot Fleet requests. After you cancel a Spot Fleet request, the Spot Fleet launches no new instances. You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually. Restrictions + /// Cancels the specified Spot Fleet requests. After you cancel a Spot Fleet request, the Spot Fleet launches no new instances. You must also specify whether a canceled Spot Fleet request should terminate its instances. If you choose to terminate the instances, the Spot Fleet request enters the cancelled_terminating state. Otherwise, the Spot Fleet request enters the cancelled_running state and the instances continue to run until they are interrupted or you terminate them manually. Terminating an instance is permanent and irreversible. After you terminate an instance, you can no longer connect to it, and it can't be recovered. All attached Amazon EBS volumes that are configured to be deleted on termination are also permanently deleted and can't be recovered. All data stored on instance store volumes is permanently lost. For more information, see [ How instance termination works](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-ec2-instance-termination-works.html). Before you terminate an instance, ensure that you have backed up all data that you need to retain after the termination to persistent storage. Restrictions /// /// * You can delete up to 100 fleets in a single request. If you exceed the specified number, no fleets are deleted. /// @@ -4250,6 +4260,134 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `CopyVolumes` operation on the `EC2` service. + /// + /// Creates a crash-consistent, point-in-time copy of an existing Amazon EBS volume within the same Availability Zone. The volume copy can be attached to an Amazon EC2 instance once it reaches the available state. For more information, see [Copy an Amazon EBS volume](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-copying-volume.html). + /// + /// - Parameter input: [no documentation found] (Type: `CopyVolumesInput`) + /// + /// - Returns: [no documentation found] (Type: `CopyVolumesOutput`) + public func copyVolumes(input: CopyVolumesInput) async throws -> CopyVolumesOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "copyVolumes") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CopyVolumesInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CopyVolumesOutput.httpOutput(from:), CopyVolumesOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CopyVolumesInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CopyVolumes") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `CreateCapacityManagerDataExport` operation on the `EC2` service. + /// + /// Creates a new data export configuration for EC2 Capacity Manager. This allows you to automatically export capacity usage data to an S3 bucket on a scheduled basis. The exported data includes metrics for On-Demand, Spot, and Capacity Reservations usage across your organization. + /// + /// - Parameter input: [no documentation found] (Type: `CreateCapacityManagerDataExportInput`) + /// + /// - Returns: [no documentation found] (Type: `CreateCapacityManagerDataExportOutput`) + public func createCapacityManagerDataExport(input: CreateCapacityManagerDataExportInput) async throws -> CreateCapacityManagerDataExportOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createCapacityManagerDataExport") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateCapacityManagerDataExportInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateCapacityManagerDataExportOutput.httpOutput(from:), CreateCapacityManagerDataExportOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateCapacityManagerDataExportInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateCapacityManagerDataExport") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CreateCapacityReservation` operation on the `EC2` service. /// /// Creates a new Capacity Reservation with the specified attributes. Capacity Reservations enable you to reserve capacity for your Amazon EC2 instances in a specific Availability Zone for any duration. You can create a Capacity Reservation at any time, and you can choose when it starts. You can create a Capacity Reservation for immediate use or you can request a Capacity Reservation for a future date. For more information, see [ Reserve compute capacity with On-Demand Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-capacity-reservations.html) in the Amazon EC2 User Guide. Your request to create a Capacity Reservation could fail if: @@ -5930,6 +6068,134 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `CreateIpamPrefixListResolver` operation on the `EC2` service. + /// + /// Creates an IPAM prefix list resolver. An IPAM prefix list resolver is a component that manages the synchronization between IPAM's CIDR selection rules and customer-managed prefix lists. It automates connectivity configurations by selecting CIDRs from IPAM's database based on your business logic and synchronizing them with prefix lists used in resources such as VPC route tables and security groups. For more information about IPAM prefix list resolver, see [Automate prefix list updates with IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/automate-prefix-list-updates.html) in the Amazon VPC IPAM User Guide. + /// + /// - Parameter input: [no documentation found] (Type: `CreateIpamPrefixListResolverInput`) + /// + /// - Returns: [no documentation found] (Type: `CreateIpamPrefixListResolverOutput`) + public func createIpamPrefixListResolver(input: CreateIpamPrefixListResolverInput) async throws -> CreateIpamPrefixListResolverOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createIpamPrefixListResolver") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateIpamPrefixListResolverInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateIpamPrefixListResolverOutput.httpOutput(from:), CreateIpamPrefixListResolverOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateIpamPrefixListResolverInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateIpamPrefixListResolver") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `CreateIpamPrefixListResolverTarget` operation on the `EC2` service. + /// + /// Creates an IPAM prefix list resolver target. An IPAM prefix list resolver target is an association between a specific customer-managed prefix list and an IPAM prefix list resolver. The target enables the resolver to synchronize CIDRs selected by its rules into the specified prefix list, which can then be referenced in Amazon Web Services resources. For more information about IPAM prefix list resolver, see [Automate prefix list updates with IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/automate-prefix-list-updates.html) in the Amazon VPC IPAM User Guide. + /// + /// - Parameter input: [no documentation found] (Type: `CreateIpamPrefixListResolverTargetInput`) + /// + /// - Returns: [no documentation found] (Type: `CreateIpamPrefixListResolverTargetOutput`) + public func createIpamPrefixListResolverTarget(input: CreateIpamPrefixListResolverTargetInput) async throws -> CreateIpamPrefixListResolverTargetOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createIpamPrefixListResolverTarget") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateIpamPrefixListResolverTargetInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateIpamPrefixListResolverTargetOutput.httpOutput(from:), CreateIpamPrefixListResolverTargetOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateIpamPrefixListResolverTargetInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateIpamPrefixListResolverTarget") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `CreateIpamResourceDiscovery` operation on the `EC2` service. /// /// Creates an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account. @@ -9663,7 +9929,7 @@ extension EC2Client { /// Performs the `CreateVpc` operation on the `EC2` service. /// - /// Creates a VPC with the specified CIDR blocks. For more information, see [IP addressing for your VPCs and subnets](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html) in the Amazon VPC User Guide. You can optionally request an IPv6 CIDR block for the VPC. You can request an Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR block from an IPv6 address pool that you provisioned through bring your own IP addresses ([BYOIP](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-byoip.html)). By default, each instance that you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see [DHCP option sets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) in the Amazon VPC User Guide. You can specify the instance tenancy value for the VPC when you create it. You can't change this value for the VPC after you create it. For more information, see [Dedicated Instances](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/dedicated-instance.html) in the Amazon EC2 User Guide. + /// Creates a VPC with the specified CIDR blocks. A VPC must have an associated IPv4 CIDR block. You can choose an IPv4 CIDR block or an IPAM-allocated IPv4 CIDR block. You can optionally associate an IPv6 CIDR block with a VPC. You can choose an IPv6 CIDR block, an Amazon-provided IPv6 CIDR block, an IPAM-allocated IPv6 CIDR block, or an IPv6 CIDR block that you brought to Amazon Web Services. For more information, see [IP addressing for your VPCs and subnets](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-ip-addressing.html) in the Amazon VPC User Guide. By default, each instance that you launch in the VPC has the default DHCP options, which include only a default DNS server that we provide (AmazonProvidedDNS). For more information, see [DHCP option sets](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_DHCP_Options.html) in the Amazon VPC User Guide. You can specify DNS options and tenancy for a VPC when you create it. You can't change the tenancy of a VPC after you create it. For more information, see [VPC configuration options](https://docs.aws.amazon.com/vpc/latest/userguide/create-vpc-options.html) in the Amazon VPC User Guide. /// /// - Parameter input: [no documentation found] (Type: `CreateVpcInput`) /// @@ -10235,6 +10501,69 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `DeleteCapacityManagerDataExport` operation on the `EC2` service. + /// + /// Deletes an existing Capacity Manager data export configuration. This stops future scheduled exports but does not delete previously exported files from S3. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteCapacityManagerDataExportInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteCapacityManagerDataExportOutput`) + public func deleteCapacityManagerDataExport(input: DeleteCapacityManagerDataExportInput) async throws -> DeleteCapacityManagerDataExportOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "deleteCapacityManagerDataExport") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteCapacityManagerDataExportInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteCapacityManagerDataExportOutput.httpOutput(from:), DeleteCapacityManagerDataExportOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteCapacityManagerDataExportInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteCapacityManagerDataExport") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DeleteCarrierGateway` operation on the `EC2` service. /// /// Deletes a carrier gateway. If you do not delete the route that contains the carrier gateway as the Target, the route is a blackhole route. For information about how to delete a route, see [DeleteRoute](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeleteRoute.html). @@ -10741,7 +11070,7 @@ extension EC2Client { /// Performs the `DeleteFleets` operation on the `EC2` service. /// - /// Deletes the specified EC2 Fleet request. After you delete an EC2 Fleet request, it launches no new instances. You must also specify whether a deleted EC2 Fleet request should terminate its instances. If you choose to terminate the instances, the EC2 Fleet request enters the deleted_terminating state. Otherwise, it enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually. A deleted instant fleet with running instances is not supported. When you delete an instant fleet, Amazon EC2 automatically terminates all its instances. For fleets with more than 1000 instances, the deletion request might fail. If your fleet has more than 1000 instances, first terminate most of the instances manually, leaving 1000 or fewer. Then delete the fleet, and the remaining instances will be terminated automatically. Restrictions + /// Deletes the specified EC2 Fleet request. After you delete an EC2 Fleet request, it launches no new instances. You must also specify whether a deleted EC2 Fleet request should terminate its instances. If you choose to terminate the instances, the EC2 Fleet request enters the deleted_terminating state. Otherwise, it enters the deleted_running state, and the instances continue to run until they are interrupted or you terminate them manually. A deleted instant fleet with running instances is not supported. When you delete an instant fleet, Amazon EC2 automatically terminates all its instances. For fleets with more than 1000 instances, the deletion request might fail. If your fleet has more than 1000 instances, first terminate most of the instances manually, leaving 1000 or fewer. Then delete the fleet, and the remaining instances will be terminated automatically. Terminating an instance is permanent and irreversible. After you terminate an instance, you can no longer connect to it, and it can't be recovered. All attached Amazon EBS volumes that are configured to be deleted on termination are also permanently deleted and can't be recovered. All data stored on instance store volumes is permanently lost. For more information, see [ How instance termination works](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-ec2-instance-termination-works.html). Before you terminate an instance, ensure that you have backed up all data that you need to retain after the termination to persistent storage. Restrictions /// /// * You can delete up to 25 fleets of type instant in a single request. /// @@ -11380,6 +11709,132 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `DeleteIpamPrefixListResolver` operation on the `EC2` service. + /// + /// Deletes an IPAM prefix list resolver. Before deleting a resolver, you must first delete all resolver targets associated with it. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteIpamPrefixListResolverInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteIpamPrefixListResolverOutput`) + public func deleteIpamPrefixListResolver(input: DeleteIpamPrefixListResolverInput) async throws -> DeleteIpamPrefixListResolverOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "deleteIpamPrefixListResolver") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteIpamPrefixListResolverInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteIpamPrefixListResolverOutput.httpOutput(from:), DeleteIpamPrefixListResolverOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteIpamPrefixListResolverInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteIpamPrefixListResolver") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `DeleteIpamPrefixListResolverTarget` operation on the `EC2` service. + /// + /// Deletes an IPAM prefix list resolver target. This removes the association between the resolver and the managed prefix list, stopping automatic CIDR synchronization. For more information about IPAM prefix list resolver, see [Automate prefix list updates with IPAM](https://docs.aws.amazon.com/vpc/latest/ipam/automate-prefix-list-updates.html) in the Amazon VPC IPAM User Guide. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteIpamPrefixListResolverTargetInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteIpamPrefixListResolverTargetOutput`) + public func deleteIpamPrefixListResolverTarget(input: DeleteIpamPrefixListResolverTargetInput) async throws -> DeleteIpamPrefixListResolverTargetOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "deleteIpamPrefixListResolverTarget") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteIpamPrefixListResolverTargetInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteIpamPrefixListResolverTargetOutput.httpOutput(from:), DeleteIpamPrefixListResolverTargetOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteIpamPrefixListResolverTargetInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteIpamPrefixListResolverTarget") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DeleteIpamResourceDiscovery` operation on the `EC2` service. /// /// Deletes an IPAM resource discovery. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account. @@ -16841,6 +17296,69 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `DescribeCapacityManagerDataExports` operation on the `EC2` service. + /// + /// Describes one or more Capacity Manager data export configurations. Returns information about export settings, delivery status, and recent export activity. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeCapacityManagerDataExportsInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeCapacityManagerDataExportsOutput`) + public func describeCapacityManagerDataExports(input: DescribeCapacityManagerDataExportsInput) async throws -> DescribeCapacityManagerDataExportsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "describeCapacityManagerDataExports") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeCapacityManagerDataExportsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeCapacityManagerDataExportsOutput.httpOutput(from:), DescribeCapacityManagerDataExportsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeCapacityManagerDataExportsInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeCapacityManagerDataExports") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DescribeCapacityReservationBillingRequests` operation on the `EC2` service. /// /// Describes a request to assign the billing of the unused capacity of a Capacity Reservation. For more information, see [ Billing assignment for shared Amazon EC2 Capacity Reservations](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/transfer-billing.html). @@ -16967,6 +17485,69 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `DescribeCapacityReservationTopology` operation on the `EC2` service. + /// + /// Describes a tree-based hierarchy that represents the physical host placement of your pending or active Capacity Reservations within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your capacity within the Amazon Web Services network before it is launched and use this information to allocate capacity together to support your tightly coupled workloads. Capacity Reservation topology is supported for specific instance types only. For more information, see [Prerequisites for Amazon EC2 instance topology](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology-prerequisites.html) in the Amazon EC2 User Guide. The Amazon EC2 API follows an eventual consistency model due to the distributed nature of the system supporting it. As a result, when you call the DescribeCapacityReservationTopology API command immediately after launching instances, the response might return a null value for capacityBlockId because the data might not have fully propagated across all subsystems. For more information, see [Eventual consistency in the Amazon EC2 API](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html) in the Amazon EC2 Developer Guide. For more information, see [Amazon EC2 topology](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology.html) in the Amazon EC2 User Guide. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeCapacityReservationTopologyInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeCapacityReservationTopologyOutput`) + public func describeCapacityReservationTopology(input: DescribeCapacityReservationTopologyInput) async throws -> DescribeCapacityReservationTopologyOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "describeCapacityReservationTopology") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeCapacityReservationTopologyInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeCapacityReservationTopologyOutput.httpOutput(from:), DescribeCapacityReservationTopologyOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeCapacityReservationTopologyInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeCapacityReservationTopology") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DescribeCapacityReservations` operation on the `EC2` service. /// /// Describes one or more of your Capacity Reservations. The results describe only the Capacity Reservations in the Amazon Web Services Region that you're currently using. @@ -19813,7 +20394,7 @@ extension EC2Client { /// Performs the `DescribeInstanceTopology` operation on the `EC2` service. /// - /// Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads. Instance topology is supported for specific instance types only. For more information, see [ Prerequisites for Amazon EC2 instance topology](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology-prerequisites.html) in the Amazon EC2 User Guide. The Amazon EC2 API follows an eventual consistency model due to the distributed nature of the system supporting it. As a result, when you call the DescribeInstanceTopology API command immediately after launching instances, the response might return a null value for capacityBlockId because the data might not have fully propagated across all subsystems. For more information, see [Eventual consistency in the Amazon EC2 API](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html) in the Amazon EC2 Developer Guide. For more information, see [Amazon EC2 instance topology](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology.html) in the Amazon EC2 User Guide. + /// Describes a tree-based hierarchy that represents the physical host placement of your EC2 instances within an Availability Zone or Local Zone. You can use this information to determine the relative proximity of your EC2 instances within the Amazon Web Services network to support your tightly coupled workloads. Instance topology is supported for specific instance types only. For more information, see [Prerequisites for Amazon EC2 instance topology](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology-prerequisites.html) in the Amazon EC2 User Guide. The Amazon EC2 API follows an eventual consistency model due to the distributed nature of the system supporting it. As a result, when you call the DescribeInstanceTopology API command immediately after launching instances, the response might return a null value for capacityBlockId because the data might not have fully propagated across all subsystems. For more information, see [Eventual consistency in the Amazon EC2 API](https://docs.aws.amazon.com/ec2/latest/devguide/eventual-consistency.html) in the Amazon EC2 Developer Guide. For more information, see [Amazon EC2 topology](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-topology.html) in the Amazon EC2 User Guide. /// /// - Parameter input: [no documentation found] (Type: `DescribeInstanceTopologyInput`) /// @@ -20315,6 +20896,132 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `DescribeIpamPrefixListResolverTargets` operation on the `EC2` service. + /// + /// Describes one or more IPAM prefix list resolver Targets. Use this operation to view the configuration and status of resolver targets. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeIpamPrefixListResolverTargetsInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeIpamPrefixListResolverTargetsOutput`) + public func describeIpamPrefixListResolverTargets(input: DescribeIpamPrefixListResolverTargetsInput) async throws -> DescribeIpamPrefixListResolverTargetsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "describeIpamPrefixListResolverTargets") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeIpamPrefixListResolverTargetsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeIpamPrefixListResolverTargetsOutput.httpOutput(from:), DescribeIpamPrefixListResolverTargetsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeIpamPrefixListResolverTargetsInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeIpamPrefixListResolverTargets") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `DescribeIpamPrefixListResolvers` operation on the `EC2` service. + /// + /// Describes one or more IPAM prefix list resolvers. Use this operation to view the configuration, status, and properties of your resolvers. + /// + /// - Parameter input: [no documentation found] (Type: `DescribeIpamPrefixListResolversInput`) + /// + /// - Returns: [no documentation found] (Type: `DescribeIpamPrefixListResolversOutput`) + public func describeIpamPrefixListResolvers(input: DescribeIpamPrefixListResolversInput) async throws -> DescribeIpamPrefixListResolversOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "describeIpamPrefixListResolvers") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeIpamPrefixListResolversInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeIpamPrefixListResolversOutput.httpOutput(from:), DescribeIpamPrefixListResolversOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeIpamPrefixListResolversInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeIpamPrefixListResolvers") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DescribeIpamResourceDiscoveries` operation on the `EC2` service. /// /// Describes IPAM resource discoveries. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account. @@ -27399,6 +28106,70 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `DisableCapacityManager` operation on the `EC2` service. + /// + /// Disables EC2 Capacity Manager for your account. This stops data ingestion and removes access to capacity analytics and optimization recommendations. Previously collected data is retained but no new data will be processed. + /// + /// - Parameter input: [no documentation found] (Type: `DisableCapacityManagerInput`) + /// + /// - Returns: [no documentation found] (Type: `DisableCapacityManagerOutput`) + public func disableCapacityManager(input: DisableCapacityManagerInput) async throws -> DisableCapacityManagerOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "disableCapacityManager") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DisableCapacityManagerInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DisableCapacityManagerOutput.httpOutput(from:), DisableCapacityManagerOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DisableCapacityManagerInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DisableCapacityManager") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DisableEbsEncryptionByDefault` operation on the `EC2` service. /// /// Disables EBS encryption by default for your account in the current Region. After you disable encryption by default, you can still create encrypted volumes by enabling encryption when you create each volume. Disabling encryption by default does not change the encryption status of your existing volumes. For more information, see [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) in the Amazon EBS User Guide. @@ -29698,6 +30469,70 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `EnableCapacityManager` operation on the `EC2` service. + /// + /// Enables EC2 Capacity Manager for your account. This starts data ingestion for your EC2 capacity usage across On-Demand, Spot, and Capacity Reservations. Initial data processing may take several hours to complete. + /// + /// - Parameter input: [no documentation found] (Type: `EnableCapacityManagerInput`) + /// + /// - Returns: [no documentation found] (Type: `EnableCapacityManagerOutput`) + public func enableCapacityManager(input: EnableCapacityManagerInput) async throws -> EnableCapacityManagerOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "enableCapacityManager") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(EnableCapacityManagerInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(EnableCapacityManagerOutput.httpOutput(from:), EnableCapacityManagerOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: EnableCapacityManagerInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "EnableCapacityManager") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `EnableEbsEncryptionByDefault` operation on the `EC2` service. /// /// Enables EBS encryption by default for your account in the current Region. After you enable encryption by default, the EBS volumes that you create are always encrypted, either using the default KMS key or the KMS key that you specified when you created each volume. For more information, see [Amazon EBS encryption](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) in the Amazon EBS User Guide. Enabling encryption by default has no effect on the encryption status of your existing volumes. After you enable encryption by default, you can no longer launch instances using instance types that do not support encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances). @@ -31400,6 +32235,195 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `GetCapacityManagerAttributes` operation on the `EC2` service. + /// + /// Retrieves the current configuration and status of EC2 Capacity Manager for your account, including enablement status, Organizations access settings, and data ingestion status. + /// + /// - Parameter input: [no documentation found] (Type: `GetCapacityManagerAttributesInput`) + /// + /// - Returns: [no documentation found] (Type: `GetCapacityManagerAttributesOutput`) + public func getCapacityManagerAttributes(input: GetCapacityManagerAttributesInput) async throws -> GetCapacityManagerAttributesOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getCapacityManagerAttributes") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetCapacityManagerAttributesInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetCapacityManagerAttributesOutput.httpOutput(from:), GetCapacityManagerAttributesOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetCapacityManagerAttributesInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetCapacityManagerAttributes") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `GetCapacityManagerMetricData` operation on the `EC2` service. + /// + /// Retrieves capacity usage metrics for your EC2 resources. Returns time-series data for metrics like unused capacity, utilization rates, and costs across On-Demand, Spot, and Capacity Reservations. Data can be grouped and filtered by various dimensions such as region, account, and instance family. + /// + /// - Parameter input: [no documentation found] (Type: `GetCapacityManagerMetricDataInput`) + /// + /// - Returns: [no documentation found] (Type: `GetCapacityManagerMetricDataOutput`) + public func getCapacityManagerMetricData(input: GetCapacityManagerMetricDataInput) async throws -> GetCapacityManagerMetricDataOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getCapacityManagerMetricData") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetCapacityManagerMetricDataInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetCapacityManagerMetricDataOutput.httpOutput(from:), GetCapacityManagerMetricDataOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetCapacityManagerMetricDataInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetCapacityManagerMetricData") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `GetCapacityManagerMetricDimensions` operation on the `EC2` service. + /// + /// Retrieves the available dimension values for capacity metrics within a specified time range. This is useful for discovering what accounts, regions, instance families, and other dimensions have data available for filtering and grouping. + /// + /// - Parameter input: [no documentation found] (Type: `GetCapacityManagerMetricDimensionsInput`) + /// + /// - Returns: [no documentation found] (Type: `GetCapacityManagerMetricDimensionsOutput`) + public func getCapacityManagerMetricDimensions(input: GetCapacityManagerMetricDimensionsInput) async throws -> GetCapacityManagerMetricDimensionsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getCapacityManagerMetricDimensions") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetCapacityManagerMetricDimensionsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetCapacityManagerMetricDimensionsOutput.httpOutput(from:), GetCapacityManagerMetricDimensionsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetCapacityManagerMetricDimensionsInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetCapacityManagerMetricDimensions") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetCapacityReservationUsage` operation on the `EC2` service. /// /// Gets usage information about a Capacity Reservation. If the Capacity Reservation is shared, it shows usage information for the Capacity Reservation owner and each Amazon Web Services account that is currently using the shared capacity. If the Capacity Reservation is not shared, it shows only the Capacity Reservation owner's usage. @@ -32797,6 +33821,207 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `GetIpamPrefixListResolverRules` operation on the `EC2` service. + /// + /// Retrieves the CIDR selection rules for an IPAM prefix list resolver. Use this operation to view the business logic that determines which CIDRs are selected for synchronization with prefix lists. + /// + /// - Parameter input: [no documentation found] (Type: `GetIpamPrefixListResolverRulesInput`) + /// + /// - Returns: [no documentation found] (Type: `GetIpamPrefixListResolverRulesOutput`) + public func getIpamPrefixListResolverRules(input: GetIpamPrefixListResolverRulesInput) async throws -> GetIpamPrefixListResolverRulesOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getIpamPrefixListResolverRules") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetIpamPrefixListResolverRulesInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetIpamPrefixListResolverRulesOutput.httpOutput(from:), GetIpamPrefixListResolverRulesOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetIpamPrefixListResolverRulesInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetIpamPrefixListResolverRules") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `GetIpamPrefixListResolverVersionEntries` operation on the `EC2` service. + /// + /// Retrieves the CIDR entries for a specific version of an IPAM prefix list resolver. This shows the actual CIDRs that were selected and synchronized at a particular point in time. + /// + /// - Parameter input: [no documentation found] (Type: `GetIpamPrefixListResolverVersionEntriesInput`) + /// + /// - Returns: [no documentation found] (Type: `GetIpamPrefixListResolverVersionEntriesOutput`) + public func getIpamPrefixListResolverVersionEntries(input: GetIpamPrefixListResolverVersionEntriesInput) async throws -> GetIpamPrefixListResolverVersionEntriesOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getIpamPrefixListResolverVersionEntries") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetIpamPrefixListResolverVersionEntriesInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetIpamPrefixListResolverVersionEntriesOutput.httpOutput(from:), GetIpamPrefixListResolverVersionEntriesOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetIpamPrefixListResolverVersionEntriesInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetIpamPrefixListResolverVersionEntries") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `GetIpamPrefixListResolverVersions` operation on the `EC2` service. + /// + /// Retrieves version information for an IPAM prefix list resolver. Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes. Version example: Initial State (Version 1) Production environment: + /// + /// * vpc-prod-web (10.1.0.0/16) - tagged env=prod + /// + /// * vpc-prod-db (10.2.0.0/16) - tagged env=prod + /// + /// + /// Resolver rule: Include all VPCs tagged env=prod Version 1 CIDRs: 10.1.0.0/16, 10.2.0.0/16 Infrastructure Change (Version 2) New VPC added: + /// + /// * vpc-prod-api (10.3.0.0/16) - tagged env=prod + /// + /// + /// IPAM automatically detects the change and creates a new version. Version 2 CIDRs: 10.1.0.0/16, 10.2.0.0/16, 10.3.0.0/16 + /// + /// - Parameter input: [no documentation found] (Type: `GetIpamPrefixListResolverVersionsInput`) + /// + /// - Returns: [no documentation found] (Type: `GetIpamPrefixListResolverVersionsOutput`) + public func getIpamPrefixListResolverVersions(input: GetIpamPrefixListResolverVersionsInput) async throws -> GetIpamPrefixListResolverVersionsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getIpamPrefixListResolverVersions") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetIpamPrefixListResolverVersionsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetIpamPrefixListResolverVersionsOutput.httpOutput(from:), GetIpamPrefixListResolverVersionsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetIpamPrefixListResolverVersionsInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetIpamPrefixListResolverVersions") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetIpamResourceCidrs` operation on the `EC2` service. /// /// Returns resource CIDRs managed by IPAM in a given scope. If an IPAM is associated with more than one resource discovery, the resource CIDRs across all of the resource discoveries is returned. A resource discovery is an IPAM component that enables IPAM to manage and monitor resources that belong to the owning account. @@ -36937,6 +38162,133 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `ModifyIpamPrefixListResolver` operation on the `EC2` service. + /// + /// Modifies an IPAM prefix list resolver. You can update the description and CIDR selection rules. Changes to rules will trigger re-evaluation and potential updates to associated prefix lists. + /// + /// - Parameter input: [no documentation found] (Type: `ModifyIpamPrefixListResolverInput`) + /// + /// - Returns: [no documentation found] (Type: `ModifyIpamPrefixListResolverOutput`) + public func modifyIpamPrefixListResolver(input: ModifyIpamPrefixListResolverInput) async throws -> ModifyIpamPrefixListResolverOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "modifyIpamPrefixListResolver") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ModifyIpamPrefixListResolverInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ModifyIpamPrefixListResolverOutput.httpOutput(from:), ModifyIpamPrefixListResolverOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ModifyIpamPrefixListResolverInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ModifyIpamPrefixListResolver") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `ModifyIpamPrefixListResolverTarget` operation on the `EC2` service. + /// + /// Modifies an IPAM prefix list resolver target. You can update version tracking settings and the desired version of the target prefix list. + /// + /// - Parameter input: [no documentation found] (Type: `ModifyIpamPrefixListResolverTargetInput`) + /// + /// - Returns: [no documentation found] (Type: `ModifyIpamPrefixListResolverTargetOutput`) + public func modifyIpamPrefixListResolverTarget(input: ModifyIpamPrefixListResolverTargetInput) async throws -> ModifyIpamPrefixListResolverTargetOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "modifyIpamPrefixListResolverTarget") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ModifyIpamPrefixListResolverTargetInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ModifyIpamPrefixListResolverTargetOutput.httpOutput(from:), ModifyIpamPrefixListResolverTargetOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ModifyIpamPrefixListResolverTargetInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ModifyIpamPrefixListResolverTarget") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ModifyIpamResourceCidr` operation on the `EC2` service. /// /// Modify a resource CIDR. You can use this action to transfer resource CIDRs between scopes and ignore resource CIDRs that you do not want to manage. If set to false, the resource will not be tracked for overlap, it cannot be auto-imported into a pool, and it will be removed from any pool it has an allocation in. For more information, see [Move resource CIDRs between scopes](https://docs.aws.amazon.com/vpc/latest/ipam/move-resource-ipam.html) and [Change the monitoring state of resource CIDRs](https://docs.aws.amazon.com/vpc/latest/ipam/change-monitoring-state-ipam.html) in the Amazon VPC IPAM User Guide. @@ -44014,7 +45366,7 @@ extension EC2Client { /// Performs the `TerminateInstances` operation on the `EC2` service. /// - /// Shuts down the specified instances. This operation is [idempotent](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html); if you terminate an instance more than once, each call succeeds. If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated. If you terminate multiple instances across multiple Availability Zones, and one or more of the specified instances are enabled for termination protection, the request fails with the following results: + /// Terminates (deletes) the specified instances. This operation is [idempotent](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html); if you terminate an instance more than once, each call succeeds. Terminating an instance is permanent and irreversible. After you terminate an instance, you can no longer connect to it, and it can't be recovered. All attached Amazon EBS volumes that are configured to be deleted on termination are also permanently deleted and can't be recovered. All data stored on instance store volumes is permanently lost. For more information, see [ How instance termination works](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/how-ec2-instance-termination-works.html). Before you terminate an instance, ensure that you have backed up all data that you need to retain after the termination to persistent storage. If you specify multiple instances and the request fails (for example, because of a single incorrect instance ID), none of the instances are terminated. If you terminate multiple instances across multiple Availability Zones, and one or more of the specified instances are enabled for termination protection, the request fails with the following results: /// /// * The specified instances that are in the same Availability Zone as the protected instance are not terminated. /// @@ -44415,6 +45767,70 @@ extension EC2Client { return try await op.execute(input: input) } + /// Performs the `UpdateCapacityManagerOrganizationsAccess` operation on the `EC2` service. + /// + /// Updates the Organizations access setting for EC2 Capacity Manager. This controls whether Capacity Manager can aggregate data from all accounts in your Amazon Web Services Organization or only from the current account. + /// + /// - Parameter input: [no documentation found] (Type: `UpdateCapacityManagerOrganizationsAccessInput`) + /// + /// - Returns: [no documentation found] (Type: `UpdateCapacityManagerOrganizationsAccessOutput`) + public func updateCapacityManagerOrganizationsAccess(input: UpdateCapacityManagerOrganizationsAccessInput) async throws -> UpdateCapacityManagerOrganizationsAccessOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "updateCapacityManagerOrganizationsAccess") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "ec2") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateCapacityManagerOrganizationsAccessInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateCapacityManagerOrganizationsAccessOutput.httpOutput(from:), UpdateCapacityManagerOrganizationsAccessOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("EC2", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateCapacityManagerOrganizationsAccessInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-www-form-urlencoded")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: EC2Client.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "EC2") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateCapacityManagerOrganizationsAccess") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `UpdateSecurityGroupRuleDescriptionsEgress` operation on the `EC2` service. /// /// Updates the description of an egress (outbound) security group rule. You can replace an existing description, or add a description to a rule that did not have one previously. You can remove a description for a security group rule by omitting the description parameter in the request. diff --git a/Sources/Services/AWSEC2/Sources/AWSEC2/Models.swift b/Sources/Services/AWSEC2/Sources/AWSEC2/Models.swift index 3af6b6a66a9..c929568fa19 100644 --- a/Sources/Services/AWSEC2/Sources/AWSEC2/Models.swift +++ b/Sources/Services/AWSEC2/Sources/AWSEC2/Models.swift @@ -498,6 +498,7 @@ extension EC2ClientTypes { public enum ResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case capacityBlock + case capacityManagerDataExport case capacityReservation case capacityReservationFleet case carrierGateway @@ -526,6 +527,8 @@ extension EC2ClientTypes { case ipam case ipamExternalResourceVerificationToken case ipamPool + case ipamPrefixListResolver + case ipamPrefixListResolverTarget case ipamResourceDiscovery case ipamResourceDiscoveryAssociation case ipamScope @@ -599,6 +602,7 @@ extension EC2ClientTypes { public static var allCases: [ResourceType] { return [ .capacityBlock, + .capacityManagerDataExport, .capacityReservation, .capacityReservationFleet, .carrierGateway, @@ -627,6 +631,8 @@ extension EC2ClientTypes { .ipam, .ipamExternalResourceVerificationToken, .ipamPool, + .ipamPrefixListResolver, + .ipamPrefixListResolverTarget, .ipamResourceDiscovery, .ipamResourceDiscoveryAssociation, .ipamScope, @@ -706,6 +712,7 @@ extension EC2ClientTypes { public var rawValue: Swift.String { switch self { case .capacityBlock: return "capacity-block" + case .capacityManagerDataExport: return "capacity-manager-data-export" case .capacityReservation: return "capacity-reservation" case .capacityReservationFleet: return "capacity-reservation-fleet" case .carrierGateway: return "carrier-gateway" @@ -734,6 +741,8 @@ extension EC2ClientTypes { case .ipam: return "ipam" case .ipamExternalResourceVerificationToken: return "ipam-external-resource-verification-token" case .ipamPool: return "ipam-pool" + case .ipamPrefixListResolver: return "ipam-prefix-list-resolver" + case .ipamPrefixListResolverTarget: return "ipam-prefix-list-resolver-target" case .ipamResourceDiscovery: return "ipam-resource-discovery" case .ipamResourceDiscoveryAssociation: return "ipam-resource-discovery-association" case .ipamScope: return "ipam-scope" @@ -3952,7 +3961,7 @@ public struct AllocateAddressInput: Swift.Sendable { public struct AllocateAddressOutput: Swift.Sendable { /// The ID that represents the allocation of the Elastic IP address. public var allocationId: Swift.String? - /// The carrier IP address. This option is only available for network interfaces that reside in a subnet in a Wavelength Zone. + /// The carrier IP address. Available only for network interfaces that reside in a subnet in a Wavelength Zone. public var carrierIp: Swift.String? /// The customer-owned IP address. public var customerOwnedIp: Swift.String? @@ -3962,9 +3971,9 @@ public struct AllocateAddressOutput: Swift.Sendable { public var domain: EC2ClientTypes.DomainType? /// The set of Availability Zones, Local Zones, or Wavelength Zones from which Amazon Web Services advertises IP addresses. public var networkBorderGroup: Swift.String? - /// The Elastic IP address. + /// The Amazon-owned IP address. Not available when using an address pool that you own. public var publicIp: Swift.String? - /// The ID of an address pool. + /// The ID of an address pool that you own. public var publicIpv4Pool: Swift.String? public init( @@ -5597,9 +5606,9 @@ extension EC2ClientTypes { /// /// * disassociate-failed - Resource discovery disassociation has failed. /// - /// * isolate-in-progress - Amazon Web Services account that created the resource discovery association has been removed and the resource discovery associatation is being isolated. + /// * isolate-in-progress - Amazon Web Services account that created the resource discovery association has been removed and the resource discovery association is being isolated. /// - /// * isolate-complete - Resource discovery isolation is complete.. + /// * isolate-complete - Resource discovery isolation is complete. /// /// * restore-in-progress - Resource discovery is being restored. public var state: EC2ClientTypes.IpamResourceDiscoveryAssociationState? @@ -9116,6 +9125,460 @@ public struct CopySnapshotOutput: Swift.Sendable { } } +extension EC2ClientTypes { + + public enum VolumeType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case gp2 + case gp3 + case io1 + case io2 + case sc1 + case st1 + case standard + case sdkUnknown(Swift.String) + + public static var allCases: [VolumeType] { + return [ + .gp2, + .gp3, + .io1, + .io2, + .sc1, + .st1, + .standard + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .gp2: return "gp2" + case .gp3: return "gp3" + case .io1: return "io1" + case .io2: return "io2" + case .sc1: return "sc1" + case .st1: return "st1" + case .standard: return "standard" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct CopyVolumesInput: Swift.Sendable { + /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [ Ensure Idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). + public var clientToken: Swift.String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The number of I/O operations per second (IOPS) to provision for the volume copy. Required for io1 and io2 volumes. Optional for gp3 volumes. Omit for all other volume types. Full provisioned IOPS performance can be achieved only once the volume copy is fully initialized. Valid ranges: + /// + /// * gp3: 3,000 (default) - 80,000 IOPS + /// + /// * io1: 100 - 64,000 IOPS + /// + /// * io2: 100 - 256,000 IOPS + /// + /// + /// [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS. + public var iops: Swift.Int? + /// Indicates whether to enable Amazon EBS Multi-Attach for the volume copy. If you enable Multi-Attach, you can attach the volume to up to 16 Nitro instances in the same Availability Zone simultaneously. Supported with io1 and io2 volumes only. For more information, see [ Amazon EBS Multi-Attach](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-multi.html). + public var multiAttachEnabled: Swift.Bool? + /// The size of the volume copy, in GiBs. The size must be equal to or greater than the size of the source volume. If not specified, the size defaults to the size of the source volume. Maximum supported sizes: + /// + /// * gp2: 16,384 GiB + /// + /// * gp3: 65,536 GiB + /// + /// * io1: 16,384 GiB + /// + /// * io2: 65,536 GiB + /// + /// * st1 and sc1: 16,384 GiB + /// + /// * standard: 1024 GiB + public var size: Swift.Int? + /// The ID of the source EBS volume to copy. + /// This member is required. + public var sourceVolumeId: Swift.String? + /// The tags to apply to the volume copy during creation. + public var tagSpecifications: [EC2ClientTypes.TagSpecification]? + /// The throughput to provision for the volume copy, in MiB/s. Supported for gp3 volumes only. Omit for all other volume types. Full provisioned throughput performance can be achieved only once the volume copy is fully initialized. Valid Range: 125 - 2000 MiB/s + public var throughput: Swift.Int? + /// The volume type for the volume copy. If not specified, the volume type defaults to gp2. + public var volumeType: EC2ClientTypes.VolumeType? + + public init( + clientToken: Swift.String? = nil, + dryRun: Swift.Bool? = nil, + iops: Swift.Int? = nil, + multiAttachEnabled: Swift.Bool? = nil, + size: Swift.Int? = nil, + sourceVolumeId: Swift.String? = nil, + tagSpecifications: [EC2ClientTypes.TagSpecification]? = nil, + throughput: Swift.Int? = nil, + volumeType: EC2ClientTypes.VolumeType? = nil + ) { + self.clientToken = clientToken + self.dryRun = dryRun + self.iops = iops + self.multiAttachEnabled = multiAttachEnabled + self.size = size + self.sourceVolumeId = sourceVolumeId + self.tagSpecifications = tagSpecifications + self.throughput = throughput + self.volumeType = volumeType + } +} + +extension EC2ClientTypes { + + /// Describes volume attachment details. + public struct VolumeAttachment: Swift.Sendable { + /// The ARN of the Amazon Web Services-managed resource to which the volume is attached. + public var associatedResource: Swift.String? + /// The time stamp when the attachment initiated. + public var attachTime: Foundation.Date? + /// Indicates whether the EBS volume is deleted on instance termination. + public var deleteOnTermination: Swift.Bool? + /// The device name. If the volume is attached to an Amazon Web Services-managed resource, this parameter returns null. + public var device: Swift.String? + /// The ID of the instance. If the volume is attached to an Amazon Web Services-managed resource, this parameter returns null. + public var instanceId: Swift.String? + /// The service principal of the Amazon Web Services service that owns the underlying resource to which the volume is attached. This parameter is returned only for volumes that are attached to Amazon Web Services-managed resources. + public var instanceOwningService: Swift.String? + /// The attachment state of the volume. + public var state: EC2ClientTypes.VolumeAttachmentState? + /// The ID of the volume. + public var volumeId: Swift.String? + + public init( + associatedResource: Swift.String? = nil, + attachTime: Foundation.Date? = nil, + deleteOnTermination: Swift.Bool? = nil, + device: Swift.String? = nil, + instanceId: Swift.String? = nil, + instanceOwningService: Swift.String? = nil, + state: EC2ClientTypes.VolumeAttachmentState? = nil, + volumeId: Swift.String? = nil + ) { + self.associatedResource = associatedResource + self.attachTime = attachTime + self.deleteOnTermination = deleteOnTermination + self.device = device + self.instanceId = instanceId + self.instanceOwningService = instanceOwningService + self.state = state + self.volumeId = volumeId + } + } +} + +extension EC2ClientTypes { + + /// Describes whether the resource is managed by a service provider and, if so, describes the service provider that manages it. + public struct OperatorResponse: Swift.Sendable { + /// If true, the resource is managed by a service provider. + public var managed: Swift.Bool? + /// If managed is true, then the principal is returned. The principal is the service provider that manages the resource. + public var principal: Swift.String? + + public init( + managed: Swift.Bool? = nil, + principal: Swift.String? = nil + ) { + self.managed = managed + self.principal = principal + } + } +} + +extension EC2ClientTypes { + + public enum SSEType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case `none` + case sseEbs + case sseKms + case sdkUnknown(Swift.String) + + public static var allCases: [SSEType] { + return [ + .none, + .sseEbs, + .sseKms + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .none: return "none" + case .sseEbs: return "sse-ebs" + case .sseKms: return "sse-kms" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum VolumeState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case available + case creating + case deleted + case deleting + case error + case inUse + case sdkUnknown(Swift.String) + + public static var allCases: [VolumeState] { + return [ + .available, + .creating, + .deleted, + .deleting, + .error, + .inUse + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .available: return "available" + case .creating: return "creating" + case .deleted: return "deleted" + case .deleting: return "deleting" + case .error: return "error" + case .inUse: return "in-use" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Describes a volume. + public struct Volume: Swift.Sendable { + /// This parameter is not returned by CreateVolume. Information about the volume attachments. + public var attachments: [EC2ClientTypes.VolumeAttachment]? + /// The Availability Zone for the volume. + public var availabilityZone: Swift.String? + /// The ID of the Availability Zone for the volume. + public var availabilityZoneId: Swift.String? + /// The time stamp when volume creation was initiated. + public var createTime: Foundation.Date? + /// Indicates whether the volume is encrypted. + public var encrypted: Swift.Bool? + /// This parameter is not returned by CreateVolume. Indicates whether the volume was created using fast snapshot restore. + public var fastRestored: Swift.Bool? + /// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. + public var iops: Swift.Int? + /// The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the volume. + public var kmsKeyId: Swift.String? + /// Indicates whether Amazon EBS Multi-Attach is enabled. + public var multiAttachEnabled: Swift.Bool? + /// The service provider that manages the volume. + public var `operator`: EC2ClientTypes.OperatorResponse? + /// The Amazon Resource Name (ARN) of the Outpost. + public var outpostArn: Swift.String? + /// The size of the volume, in GiBs. + public var size: Swift.Int? + /// The snapshot from which the volume was created, if applicable. + public var snapshotId: Swift.String? + /// The ID of the source volume from which the volume copy was created. Only for volume copies. + public var sourceVolumeId: Swift.String? + /// This parameter is not returned by CreateVolume. Reserved for future use. + public var sseType: EC2ClientTypes.SSEType? + /// The volume state. + public var state: EC2ClientTypes.VolumeState? + /// Any tags assigned to the volume. + public var tags: [EC2ClientTypes.Tag]? + /// The throughput that the volume supports, in MiB/s. + public var throughput: Swift.Int? + /// The ID of the volume. + public var volumeId: Swift.String? + /// The Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate) specified for the volume during creation, in MiB/s. If no volume initialization rate was specified, the value is null. + public var volumeInitializationRate: Swift.Int? + /// The volume type. + public var volumeType: EC2ClientTypes.VolumeType? + + public init( + attachments: [EC2ClientTypes.VolumeAttachment]? = nil, + availabilityZone: Swift.String? = nil, + availabilityZoneId: Swift.String? = nil, + createTime: Foundation.Date? = nil, + encrypted: Swift.Bool? = nil, + fastRestored: Swift.Bool? = nil, + iops: Swift.Int? = nil, + kmsKeyId: Swift.String? = nil, + multiAttachEnabled: Swift.Bool? = nil, + `operator`: EC2ClientTypes.OperatorResponse? = nil, + outpostArn: Swift.String? = nil, + size: Swift.Int? = nil, + snapshotId: Swift.String? = nil, + sourceVolumeId: Swift.String? = nil, + sseType: EC2ClientTypes.SSEType? = nil, + state: EC2ClientTypes.VolumeState? = nil, + tags: [EC2ClientTypes.Tag]? = nil, + throughput: Swift.Int? = nil, + volumeId: Swift.String? = nil, + volumeInitializationRate: Swift.Int? = nil, + volumeType: EC2ClientTypes.VolumeType? = nil + ) { + self.attachments = attachments + self.availabilityZone = availabilityZone + self.availabilityZoneId = availabilityZoneId + self.createTime = createTime + self.encrypted = encrypted + self.fastRestored = fastRestored + self.iops = iops + self.kmsKeyId = kmsKeyId + self.multiAttachEnabled = multiAttachEnabled + self.`operator` = `operator` + self.outpostArn = outpostArn + self.size = size + self.snapshotId = snapshotId + self.sourceVolumeId = sourceVolumeId + self.sseType = sseType + self.state = state + self.tags = tags + self.throughput = throughput + self.volumeId = volumeId + self.volumeInitializationRate = volumeInitializationRate + self.volumeType = volumeType + } + } +} + +public struct CopyVolumesOutput: Swift.Sendable { + /// Information about the volume copy. + public var volumes: [EC2ClientTypes.Volume]? + + public init( + volumes: [EC2ClientTypes.Volume]? = nil + ) { + self.volumes = volumes + } +} + +extension EC2ClientTypes { + + public enum OutputFormat: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case csv + case parquet + case sdkUnknown(Swift.String) + + public static var allCases: [OutputFormat] { + return [ + .csv, + .parquet + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .csv: return "csv" + case .parquet: return "parquet" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum Schedule: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case hourly + case sdkUnknown(Swift.String) + + public static var allCases: [Schedule] { + return [ + .hourly + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .hourly: return "hourly" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct CreateCapacityManagerDataExportInput: Swift.Sendable { + /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency. + public var clientToken: Swift.String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The file format for the exported data. Parquet format is recommended for large datasets and better compression. + /// This member is required. + public var outputFormat: EC2ClientTypes.OutputFormat? + /// The name of the S3 bucket where the capacity data export files will be delivered. The bucket must exist and you must have write permissions to it. + /// This member is required. + public var s3BucketName: Swift.String? + /// The S3 key prefix for the exported data files. This allows you to organize exports in a specific folder structure within your bucket. If not specified, files are placed at the bucket root. + public var s3BucketPrefix: Swift.String? + /// The frequency at which data exports are generated. + /// This member is required. + public var schedule: EC2ClientTypes.Schedule? + /// The tags to apply to the data export configuration. You can tag the export for organization and cost tracking purposes. + public var tagSpecifications: [EC2ClientTypes.TagSpecification]? + + public init( + clientToken: Swift.String? = nil, + dryRun: Swift.Bool? = nil, + outputFormat: EC2ClientTypes.OutputFormat? = nil, + s3BucketName: Swift.String? = nil, + s3BucketPrefix: Swift.String? = nil, + schedule: EC2ClientTypes.Schedule? = nil, + tagSpecifications: [EC2ClientTypes.TagSpecification]? = nil + ) { + self.clientToken = clientToken + self.dryRun = dryRun + self.outputFormat = outputFormat + self.s3BucketName = s3BucketName + self.s3BucketPrefix = s3BucketPrefix + self.schedule = schedule + self.tagSpecifications = tagSpecifications + } +} + +public struct CreateCapacityManagerDataExportOutput: Swift.Sendable { + /// The unique identifier for the created data export configuration. Use this ID to reference the export in other API calls. + public var capacityManagerDataExportId: Swift.String? + + public init( + capacityManagerDataExportId: Swift.String? = nil + ) { + self.capacityManagerDataExportId = capacityManagerDataExportId + } +} + extension EC2ClientTypes { public enum CapacityReservationDeliveryPreference: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -9542,7 +10005,7 @@ extension EC2ClientTypes { public struct CapacityReservation: Swift.Sendable { /// The Availability Zone in which the capacity is reserved. public var availabilityZone: Swift.String? - /// The Availability Zone ID of the Capacity Reservation. + /// The ID of the Availability Zone in which the capacity is reserved. public var availabilityZoneId: Swift.String? /// The remaining capacity. Indicates the number of instances that can be launched in the Capacity Reservation. public var availableInstanceCount: Swift.Int? @@ -9558,13 +10021,13 @@ extension EC2ClientTypes { public var capacityReservationId: Swift.String? /// Information about your commitment for a future-dated Capacity Reservation. public var commitmentInfo: EC2ClientTypes.CapacityReservationCommitmentInfo? - /// The date and time at which the Capacity Reservation was created. + /// The date and time the Capacity Reservation was created. public var createDate: Foundation.Date? /// The delivery method for a future-dated Capacity Reservation. incremental indicates that the requested capacity is delivered in addition to any running instances and reserved capacity that you have in your account at the requested date and time. public var deliveryPreference: EC2ClientTypes.CapacityReservationDeliveryPreference? /// Indicates whether the Capacity Reservation supports EBS-optimized instances. This optimization provides dedicated throughput to Amazon EBS and an optimized configuration stack to provide optimal I/O performance. This optimization isn't available with all instance types. Additional usage charges apply when using an EBS- optimized instance. public var ebsOptimized: Swift.Bool? - /// The date and time at which the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time. + /// The date and time the Capacity Reservation expires. When a Capacity Reservation expires, the reserved capacity is released and you can no longer launch instances into it. The Capacity Reservation's state changes to expired when it reaches its end date and time. public var endDate: Foundation.Date? /// Indicates the way in which the Capacity Reservation ends. A Capacity Reservation can have one of the following end types: /// @@ -9592,7 +10055,7 @@ extension EC2ClientTypes { public var placementGroupArn: Swift.String? /// The type of Capacity Reservation. public var reservationType: EC2ClientTypes.CapacityReservationType? - /// The date and time at which the Capacity Reservation was started. + /// The date and time the Capacity Reservation was started. public var startDate: Foundation.Date? /// The current state of the Capacity Reservation. A Capacity Reservation can be in one of the following states: /// @@ -10000,6 +10463,26 @@ extension EC2ClientTypes { case c8gnMetal24xl case c8gnMetal48xl case c8gnXlarge + case c8i12xlarge + case c8i16xlarge + case c8i24xlarge + case c8i2xlarge + case c8i32xlarge + case c8i48xlarge + case c8i4xlarge + case c8i8xlarge + case c8i96xlarge + case c8iFlex12xlarge + case c8iFlex16xlarge + case c8iFlex2xlarge + case c8iFlex4xlarge + case c8iFlex8xlarge + case c8iFlexLarge + case c8iFlexXlarge + case c8iLarge + case c8iMetal48xl + case c8iMetal96xl + case c8iXlarge case cc14xlarge case cc28xlarge case cg14xlarge @@ -10387,6 +10870,18 @@ extension EC2ClientTypes { case m7iMetal24xl case m7iMetal48xl case m7iXlarge + case m8a12xlarge + case m8a16xlarge + case m8a24xlarge + case m8a2xlarge + case m8a48xlarge + case m8a4xlarge + case m8a8xlarge + case m8aLarge + case m8aMedium + case m8aMetal24xl + case m8aMetal48xl + case m8aXlarge case m8g12xlarge case m8g16xlarge case m8g24xlarge @@ -10657,6 +11152,16 @@ extension EC2ClientTypes { case r8gMetal24xl case r8gMetal48xl case r8gXlarge + case r8gb12xlarge + case r8gb16xlarge + case r8gb24xlarge + case r8gb2xlarge + case r8gb4xlarge + case r8gb8xlarge + case r8gbLarge + case r8gbMedium + case r8gbMetal24xl + case r8gbXlarge case r8gd12xlarge case r8gd16xlarge case r8gd24xlarge @@ -11034,6 +11539,26 @@ extension EC2ClientTypes { .c8gnMetal24xl, .c8gnMetal48xl, .c8gnXlarge, + .c8i12xlarge, + .c8i16xlarge, + .c8i24xlarge, + .c8i2xlarge, + .c8i32xlarge, + .c8i48xlarge, + .c8i4xlarge, + .c8i8xlarge, + .c8i96xlarge, + .c8iFlex12xlarge, + .c8iFlex16xlarge, + .c8iFlex2xlarge, + .c8iFlex4xlarge, + .c8iFlex8xlarge, + .c8iFlexLarge, + .c8iFlexXlarge, + .c8iLarge, + .c8iMetal48xl, + .c8iMetal96xl, + .c8iXlarge, .cc14xlarge, .cc28xlarge, .cg14xlarge, @@ -11421,6 +11946,18 @@ extension EC2ClientTypes { .m7iMetal24xl, .m7iMetal48xl, .m7iXlarge, + .m8a12xlarge, + .m8a16xlarge, + .m8a24xlarge, + .m8a2xlarge, + .m8a48xlarge, + .m8a4xlarge, + .m8a8xlarge, + .m8aLarge, + .m8aMedium, + .m8aMetal24xl, + .m8aMetal48xl, + .m8aXlarge, .m8g12xlarge, .m8g16xlarge, .m8g24xlarge, @@ -11691,6 +12228,16 @@ extension EC2ClientTypes { .r8gMetal24xl, .r8gMetal48xl, .r8gXlarge, + .r8gb12xlarge, + .r8gb16xlarge, + .r8gb24xlarge, + .r8gb2xlarge, + .r8gb4xlarge, + .r8gb8xlarge, + .r8gbLarge, + .r8gbMedium, + .r8gbMetal24xl, + .r8gbXlarge, .r8gd12xlarge, .r8gd16xlarge, .r8gd24xlarge, @@ -12074,6 +12621,26 @@ extension EC2ClientTypes { case .c8gnMetal24xl: return "c8gn.metal-24xl" case .c8gnMetal48xl: return "c8gn.metal-48xl" case .c8gnXlarge: return "c8gn.xlarge" + case .c8i12xlarge: return "c8i.12xlarge" + case .c8i16xlarge: return "c8i.16xlarge" + case .c8i24xlarge: return "c8i.24xlarge" + case .c8i2xlarge: return "c8i.2xlarge" + case .c8i32xlarge: return "c8i.32xlarge" + case .c8i48xlarge: return "c8i.48xlarge" + case .c8i4xlarge: return "c8i.4xlarge" + case .c8i8xlarge: return "c8i.8xlarge" + case .c8i96xlarge: return "c8i.96xlarge" + case .c8iFlex12xlarge: return "c8i-flex.12xlarge" + case .c8iFlex16xlarge: return "c8i-flex.16xlarge" + case .c8iFlex2xlarge: return "c8i-flex.2xlarge" + case .c8iFlex4xlarge: return "c8i-flex.4xlarge" + case .c8iFlex8xlarge: return "c8i-flex.8xlarge" + case .c8iFlexLarge: return "c8i-flex.large" + case .c8iFlexXlarge: return "c8i-flex.xlarge" + case .c8iLarge: return "c8i.large" + case .c8iMetal48xl: return "c8i.metal-48xl" + case .c8iMetal96xl: return "c8i.metal-96xl" + case .c8iXlarge: return "c8i.xlarge" case .cc14xlarge: return "cc1.4xlarge" case .cc28xlarge: return "cc2.8xlarge" case .cg14xlarge: return "cg1.4xlarge" @@ -12461,6 +13028,18 @@ extension EC2ClientTypes { case .m7iMetal24xl: return "m7i.metal-24xl" case .m7iMetal48xl: return "m7i.metal-48xl" case .m7iXlarge: return "m7i.xlarge" + case .m8a12xlarge: return "m8a.12xlarge" + case .m8a16xlarge: return "m8a.16xlarge" + case .m8a24xlarge: return "m8a.24xlarge" + case .m8a2xlarge: return "m8a.2xlarge" + case .m8a48xlarge: return "m8a.48xlarge" + case .m8a4xlarge: return "m8a.4xlarge" + case .m8a8xlarge: return "m8a.8xlarge" + case .m8aLarge: return "m8a.large" + case .m8aMedium: return "m8a.medium" + case .m8aMetal24xl: return "m8a.metal-24xl" + case .m8aMetal48xl: return "m8a.metal-48xl" + case .m8aXlarge: return "m8a.xlarge" case .m8g12xlarge: return "m8g.12xlarge" case .m8g16xlarge: return "m8g.16xlarge" case .m8g24xlarge: return "m8g.24xlarge" @@ -12731,6 +13310,16 @@ extension EC2ClientTypes { case .r8gMetal24xl: return "r8g.metal-24xl" case .r8gMetal48xl: return "r8g.metal-48xl" case .r8gXlarge: return "r8g.xlarge" + case .r8gb12xlarge: return "r8gb.12xlarge" + case .r8gb16xlarge: return "r8gb.16xlarge" + case .r8gb24xlarge: return "r8gb.24xlarge" + case .r8gb2xlarge: return "r8gb.2xlarge" + case .r8gb4xlarge: return "r8gb.4xlarge" + case .r8gb8xlarge: return "r8gb.8xlarge" + case .r8gbLarge: return "r8gb.large" + case .r8gbMedium: return "r8gb.medium" + case .r8gbMetal24xl: return "r8gb.metal-24xl" + case .r8gbXlarge: return "r8gb.xlarge" case .r8gd12xlarge: return "r8gd.12xlarge" case .r8gd16xlarge: return "r8gd.16xlarge" case .r8gd24xlarge: return "r8gd.24xlarge" @@ -14438,22 +15027,31 @@ extension EC2ClientTypes { public struct VpcEncryptionControlExclusions: Swift.Sendable { public var egressOnlyInternetGateway: EC2ClientTypes.VpcEncryptionControlExclusion? + public var elasticFileSystem: EC2ClientTypes.VpcEncryptionControlExclusion? public var internetGateway: EC2ClientTypes.VpcEncryptionControlExclusion? + public var lambda: EC2ClientTypes.VpcEncryptionControlExclusion? public var natGateway: EC2ClientTypes.VpcEncryptionControlExclusion? public var virtualPrivateGateway: EC2ClientTypes.VpcEncryptionControlExclusion? + public var vpcLattice: EC2ClientTypes.VpcEncryptionControlExclusion? public var vpcPeering: EC2ClientTypes.VpcEncryptionControlExclusion? public init( egressOnlyInternetGateway: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, + elasticFileSystem: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, internetGateway: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, + lambda: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, natGateway: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, virtualPrivateGateway: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, + vpcLattice: EC2ClientTypes.VpcEncryptionControlExclusion? = nil, vpcPeering: EC2ClientTypes.VpcEncryptionControlExclusion? = nil ) { self.egressOnlyInternetGateway = egressOnlyInternetGateway + self.elasticFileSystem = elasticFileSystem self.internetGateway = internetGateway + self.lambda = lambda self.natGateway = natGateway self.virtualPrivateGateway = virtualPrivateGateway + self.vpcLattice = vpcLattice self.vpcPeering = vpcPeering } } @@ -15155,50 +15753,6 @@ extension EC2ClientTypes { } } -extension EC2ClientTypes { - - public enum VolumeType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case gp2 - case gp3 - case io1 - case io2 - case sc1 - case st1 - case standard - case sdkUnknown(Swift.String) - - public static var allCases: [VolumeType] { - return [ - .gp2, - .gp3, - .io1, - .io2, - .sc1, - .st1, - .standard - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .gp2: return "gp2" - case .gp3: return "gp3" - case .io1: return "io1" - case .io2: return "io2" - case .sc1: return "sc1" - case .st1: return "st1" - case .standard: return "standard" - case let .sdkUnknown(s): return s - } - } - } -} - extension EC2ClientTypes { /// Describes a block device for an EBS volume. @@ -17635,14 +18189,14 @@ extension EC2ClientTypes { public var snapshotId: Swift.String? /// The throughput that the volume supports, in MiB/s. This parameter is valid only for gp3 volumes. Valid Range: Minimum value of 125. Maximum value of 2,000. public var throughput: Swift.Int? - /// Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as volume initialization. Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation. This parameter is supported only for volumes created from snapshots. Omit this parameter if: + /// Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as volume initialization. Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation. For more information, see [Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the Amazon EC2 User Guide. This parameter is supported only for volumes created from snapshots. Omit this parameter if: /// /// * You want to create the volume using fast snapshot restore. You must specify a snapshot that is enabled for fast snapshot restore. In this case, the volume is fully initialized at creation. If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, the volume will be initialized at the specified rate instead of fast snapshot restore. /// /// * You want to create a volume that is initialized at the default rate. /// /// - /// For more information, see [ Initialize Amazon EBS volumes](https://docs.aws.amazon.com/ebs/latest/userguide/initalize-volume.html) in the Amazon EC2 User Guide. This parameter is not supported when using [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html). Valid range: 100 - 300 MiB/s + /// This parameter is not supported when using [CreateImage](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateImage.html) and [DescribeImages](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImages.html). Valid range: 100 - 300 MiB/s public var volumeInitializationRate: Swift.Int? /// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported sizes for each volume type: /// @@ -18082,7 +18636,7 @@ extension EC2ClientTypes { extension EC2ClientTypes { - /// The EC2 Instance Connect Endpoint. + /// Describes an EC2 Instance Connect Endpoint. public struct Ec2InstanceConnectEndpoint: Swift.Sendable { /// The Availability Zone of the EC2 Instance Connect Endpoint. public var availabilityZone: Swift.String? @@ -18102,14 +18656,14 @@ extension EC2ClientTypes { public var networkInterfaceIds: [Swift.String]? /// The ID of the Amazon Web Services account that created the EC2 Instance Connect Endpoint. public var ownerId: Swift.String? - /// Indicates whether your client's IP address is preserved as the source. The value is true or false. + /// Indicates whether your client's IP address is preserved as the source when you connect to a resource. The following are the possible values. /// - /// * If true, your client's IP address is used when you connect to a resource. + /// * true - Use the IP address of the client. Your instance must have an IPv4 address. /// - /// * If false, the elastic network interface IP address is used when you connect to a resource. + /// * false - Use the IP address of the network interface. /// /// - /// Default: true + /// Default: false public var preserveClientIp: Swift.Bool? /// The public DNS names of the endpoint. public var publicDnsNames: EC2ClientTypes.InstanceConnectEndpointPublicDnsNames? @@ -19495,6 +20049,672 @@ public struct CreateIpamPoolOutput: Swift.Sendable { } } +extension EC2ClientTypes { + + public enum IpamPrefixListResolverRuleConditionOperation: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case equals + case notEquals + case subnetOf + case sdkUnknown(Swift.String) + + public static var allCases: [IpamPrefixListResolverRuleConditionOperation] { + return [ + .equals, + .notEquals, + .subnetOf + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .equals: return "equals" + case .notEquals: return "not-equals" + case .subnetOf: return "subnet-of" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Describes a condition used when creating or modifying resolver rules. CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules. There are three rule types: + /// + /// * Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions). + /// + /// * IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool). + /// + /// * Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope. + /// + /// + /// Condition availability by resource type: + /// + /// * Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions. + /// + /// * Condition available for the IPAM pool CIDR resource type: + /// + /// * Property: + /// + /// * IPAM Pool ID + /// + /// * CIDR (like 10.24.34.0/23) + /// + /// + /// + /// + /// * Operation: Equals/Not equals + /// + /// * Value: The value on which to match the condition + /// + /// + /// + /// + /// * Conditions for the Scope resource CIDR resource type: + /// + /// * Property: + /// + /// * Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0) + /// + /// * Resource type (like VPC or Subnet) + /// + /// * Resource owner (like 111122223333) + /// + /// * Resource region (like us-east-1) + /// + /// * Resource tag (like key: name, value: dev-vpc-1) + /// + /// * CIDR (like 10.24.34.0/23) + /// + /// + /// + /// + /// * Operation: Equals/Not equals + /// + /// * Value: The value on which to match the condition + /// + /// + /// + /// + /// * When setting conditions for a rule, one or more conditions is required. + public struct IpamPrefixListResolverRuleConditionRequest: Swift.Sendable { + /// A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range. + public var cidr: Swift.String? + /// The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool. + public var ipamPoolId: Swift.String? + /// The operation to perform when evaluating this condition. + /// This member is required. + public var operation: EC2ClientTypes.IpamPrefixListResolverRuleConditionOperation? + /// The ID of the Amazon Web Services resource to match against. This condition selects CIDRs associated with the specified resource. + public var resourceId: Swift.String? + /// The Amazon Web Services account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account. + public var resourceOwner: Swift.String? + /// The Amazon Web Services Region where the resources are located. This condition selects CIDRs from resources in the specified Region. + public var resourceRegion: Swift.String? + /// A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag. + public var resourceTag: EC2ClientTypes.RequestIpamResourceTag? + + public init( + cidr: Swift.String? = nil, + ipamPoolId: Swift.String? = nil, + operation: EC2ClientTypes.IpamPrefixListResolverRuleConditionOperation? = nil, + resourceId: Swift.String? = nil, + resourceOwner: Swift.String? = nil, + resourceRegion: Swift.String? = nil, + resourceTag: EC2ClientTypes.RequestIpamResourceTag? = nil + ) { + self.cidr = cidr + self.ipamPoolId = ipamPoolId + self.operation = operation + self.resourceId = resourceId + self.resourceOwner = resourceOwner + self.resourceRegion = resourceRegion + self.resourceTag = resourceTag + } + } +} + +extension EC2ClientTypes { + + public enum IpamResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case eip + case eni + case ipv6Pool + case publicIpv4Pool + case subnet + case vpc + case sdkUnknown(Swift.String) + + public static var allCases: [IpamResourceType] { + return [ + .eip, + .eni, + .ipv6Pool, + .publicIpv4Pool, + .subnet, + .vpc + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .eip: return "eip" + case .eni: return "eni" + case .ipv6Pool: return "ipv6-pool" + case .publicIpv4Pool: return "public-ipv4-pool" + case .subnet: return "subnet" + case .vpc: return "vpc" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum IpamPrefixListResolverRuleType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case ipamPoolCidr + case ipamResourceCidr + case staticCidr + case sdkUnknown(Swift.String) + + public static var allCases: [IpamPrefixListResolverRuleType] { + return [ + .ipamPoolCidr, + .ipamResourceCidr, + .staticCidr + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .ipamPoolCidr: return "ipam-pool-cidr" + case .ipamResourceCidr: return "ipam-resource-cidr" + case .staticCidr: return "static-cidr" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Describes a CIDR selection rule to include in a request. This is used when creating or modifying resolver rules. CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules. There are three rule types: + /// + /// * Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions). + /// + /// * IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool). + /// + /// * Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope. + /// + /// + /// Condition availability by resource type: + /// + /// * Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions. + /// + /// * Condition available for the IPAM pool CIDR resource type: + /// + /// * Property: + /// + /// * IPAM Pool ID + /// + /// * CIDR (like 10.24.34.0/23) + /// + /// + /// + /// + /// * Operation: Equals/Not equals + /// + /// * Value: The value on which to match the condition + /// + /// + /// + /// + /// * Conditions for the Scope resource CIDR resource type: + /// + /// * Property: + /// + /// * Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0) + /// + /// * Resource type (like VPC or Subnet) + /// + /// * Resource owner (like 111122223333) + /// + /// * Resource region (like us-east-1) + /// + /// * Resource tag (like key: name, value: dev-vpc-1) + /// + /// * CIDR (like 10.24.34.0/23) + /// + /// + /// + /// + /// * Operation: Equals/Not equals + /// + /// * Value: The value on which to match the condition + /// + /// + /// + /// + /// * When setting conditions for a rule, one or more conditions is required. + public struct IpamPrefixListResolverRuleRequest: Swift.Sendable { + /// The conditions that determine which CIDRs are selected by this rule. Conditions specify criteria such as resource type, tags, account IDs, and Regions. + public var conditions: [EC2ClientTypes.IpamPrefixListResolverRuleConditionRequest]? + /// The ID of the IPAM scope from which to select CIDRs. This determines whether to select from public or private IP address space. + public var ipamScopeId: Swift.String? + /// For rules of type ipam-resource-cidr, this is the resource type. + public var resourceType: EC2ClientTypes.IpamResourceType? + /// The type of CIDR selection rule. Valid values include include for selecting CIDRs that match the conditions, and exclude for excluding CIDRs that match the conditions. + /// This member is required. + public var ruleType: EC2ClientTypes.IpamPrefixListResolverRuleType? + /// A fixed list of CIDRs that do not change (like a manual list replicated across Regions). + public var staticCidr: Swift.String? + + public init( + conditions: [EC2ClientTypes.IpamPrefixListResolverRuleConditionRequest]? = nil, + ipamScopeId: Swift.String? = nil, + resourceType: EC2ClientTypes.IpamResourceType? = nil, + ruleType: EC2ClientTypes.IpamPrefixListResolverRuleType? = nil, + staticCidr: Swift.String? = nil + ) { + self.conditions = conditions + self.ipamScopeId = ipamScopeId + self.resourceType = resourceType + self.ruleType = ruleType + self.staticCidr = staticCidr + } + } +} + +public struct CreateIpamPrefixListResolverInput: Swift.Sendable { + /// The address family for the IPAM prefix list resolver. Valid values are ipv4 and ipv6. You must create separate resolvers for IPv4 and IPv6 CIDRs as they cannot be mixed in the same resolver. + /// This member is required. + public var addressFamily: EC2ClientTypes.AddressFamily? + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). + public var clientToken: Swift.String? + /// A description for the IPAM prefix list resolver to help you identify its purpose and configuration. + public var description: Swift.String? + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM that will serve as the source of the IP address database for CIDR selection. The IPAM must be in the Advanced tier to use this feature. + /// This member is required. + public var ipamId: Swift.String? + /// The CIDR selection rules for the resolver. CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules. + public var rules: [EC2ClientTypes.IpamPrefixListResolverRuleRequest]? + /// The tags to apply to the IPAM prefix list resolver during creation. Tags help you organize and manage your Amazon Web Services resources. + public var tagSpecifications: [EC2ClientTypes.TagSpecification]? + + public init( + addressFamily: EC2ClientTypes.AddressFamily? = nil, + clientToken: Swift.String? = nil, + description: Swift.String? = nil, + dryRun: Swift.Bool? = nil, + ipamId: Swift.String? = nil, + rules: [EC2ClientTypes.IpamPrefixListResolverRuleRequest]? = nil, + tagSpecifications: [EC2ClientTypes.TagSpecification]? = nil + ) { + self.addressFamily = addressFamily + self.clientToken = clientToken + self.description = description + self.dryRun = dryRun + self.ipamId = ipamId + self.rules = rules + self.tagSpecifications = tagSpecifications + } +} + +extension EC2ClientTypes { + + public enum IpamPrefixListResolverVersionCreationStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case failure + case pending + case success + case sdkUnknown(Swift.String) + + public static var allCases: [IpamPrefixListResolverVersionCreationStatus] { + return [ + .failure, + .pending, + .success + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .failure: return "failure" + case .pending: return "pending" + case .success: return "success" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum IpamPrefixListResolverState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case createComplete + case createFailed + case createInProgress + case deleteComplete + case deleteFailed + case deleteInProgress + case isolateComplete + case isolateInProgress + case modifyComplete + case modifyFailed + case modifyInProgress + case restoreInProgress + case sdkUnknown(Swift.String) + + public static var allCases: [IpamPrefixListResolverState] { + return [ + .createComplete, + .createFailed, + .createInProgress, + .deleteComplete, + .deleteFailed, + .deleteInProgress, + .isolateComplete, + .isolateInProgress, + .modifyComplete, + .modifyFailed, + .modifyInProgress, + .restoreInProgress + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .createComplete: return "create-complete" + case .createFailed: return "create-failed" + case .createInProgress: return "create-in-progress" + case .deleteComplete: return "delete-complete" + case .deleteFailed: return "delete-failed" + case .deleteInProgress: return "delete-in-progress" + case .isolateComplete: return "isolate-complete" + case .isolateInProgress: return "isolate-in-progress" + case .modifyComplete: return "modify-complete" + case .modifyFailed: return "modify-failed" + case .modifyInProgress: return "modify-in-progress" + case .restoreInProgress: return "restore-in-progress" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Describes an IPAM prefix list resolver. An IPAM prefix list resolver is a component that manages the synchronization between IPAM's CIDR selection rules and customer-managed prefix lists. It automates connectivity configurations by selecting CIDRs from IPAM's database based on your business logic and synchronizing them with prefix lists used in resources such as VPC route tables and security groups. + public struct IpamPrefixListResolver: Swift.Sendable { + /// The address family (IPv4 or IPv6) for the IPAM prefix list resolver. + public var addressFamily: EC2ClientTypes.AddressFamily? + /// The description of the IPAM prefix list resolver. + public var description: Swift.String? + /// The Amazon Resource Name (ARN) of the IPAM associated with this resolver. + public var ipamArn: Swift.String? + /// The Amazon Resource Name (ARN) of the IPAM prefix list resolver. + public var ipamPrefixListResolverArn: Swift.String? + /// The ID of the IPAM prefix list resolver. + public var ipamPrefixListResolverId: Swift.String? + /// The Amazon Web Services Region where the associated IPAM is located. + public var ipamRegion: Swift.String? + /// The status for the last time a version was created. Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes. + public var lastVersionCreationStatus: EC2ClientTypes.IpamPrefixListResolverVersionCreationStatus? + /// The status message for the last time a version was created. Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes. + public var lastVersionCreationStatusMessage: Swift.String? + /// The ID of the Amazon Web Services account that owns the IPAM prefix list resolver. + public var ownerId: Swift.String? + /// The current state of the IPAM prefix list resolver. Valid values include create-in-progress, create-complete, create-failed, modify-in-progress, modify-complete, modify-failed, delete-in-progress, delete-complete, and delete-failed. + public var state: EC2ClientTypes.IpamPrefixListResolverState? + /// The tags assigned to the IPAM prefix list resolver. + public var tags: [EC2ClientTypes.Tag]? + + public init( + addressFamily: EC2ClientTypes.AddressFamily? = nil, + description: Swift.String? = nil, + ipamArn: Swift.String? = nil, + ipamPrefixListResolverArn: Swift.String? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + ipamRegion: Swift.String? = nil, + lastVersionCreationStatus: EC2ClientTypes.IpamPrefixListResolverVersionCreationStatus? = nil, + lastVersionCreationStatusMessage: Swift.String? = nil, + ownerId: Swift.String? = nil, + state: EC2ClientTypes.IpamPrefixListResolverState? = nil, + tags: [EC2ClientTypes.Tag]? = nil + ) { + self.addressFamily = addressFamily + self.description = description + self.ipamArn = ipamArn + self.ipamPrefixListResolverArn = ipamPrefixListResolverArn + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.ipamRegion = ipamRegion + self.lastVersionCreationStatus = lastVersionCreationStatus + self.lastVersionCreationStatusMessage = lastVersionCreationStatusMessage + self.ownerId = ownerId + self.state = state + self.tags = tags + } + } +} + +public struct CreateIpamPrefixListResolverOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolver that was created. + public var ipamPrefixListResolver: EC2ClientTypes.IpamPrefixListResolver? + + public init( + ipamPrefixListResolver: EC2ClientTypes.IpamPrefixListResolver? = nil + ) { + self.ipamPrefixListResolver = ipamPrefixListResolver + } +} + +public struct CreateIpamPrefixListResolverTargetInput: Swift.Sendable { + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). + public var clientToken: Swift.String? + /// The specific version of the prefix list to target. If not specified, the resolver will target the latest version. + public var desiredVersion: Swift.Int? + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM prefix list resolver that will manage the synchronization of CIDRs to the target prefix list. + /// This member is required. + public var ipamPrefixListResolverId: Swift.String? + /// The ID of the managed prefix list that will be synchronized with CIDRs selected by the IPAM prefix list resolver. This prefix list becomes an IPAM managed prefix list. An IPAM-managed prefix list is a customer-managed prefix list that has been associated with an IPAM prefix list resolver target. When a prefix list becomes IPAM managed, its CIDRs are automatically synchronized based on the IPAM prefix list resolver's CIDR selection rules, and direct CIDR modifications are restricted. + /// This member is required. + public var prefixListId: Swift.String? + /// The Amazon Web Services Region where the prefix list is located. This is required when referencing a prefix list in a different Region. + /// This member is required. + public var prefixListRegion: Swift.String? + /// The tags to apply to the IPAM prefix list resolver target during creation. Tags help you organize and manage your Amazon Web Services resources. + public var tagSpecifications: [EC2ClientTypes.TagSpecification]? + /// Indicates whether the resolver target should automatically track the latest version of the prefix list. When enabled, the target will always synchronize with the most current version of the prefix list. Choose this for automatic updates when you want your prefix lists to stay current with infrastructure changes without manual intervention. + /// This member is required. + public var trackLatestVersion: Swift.Bool? + + public init( + clientToken: Swift.String? = nil, + desiredVersion: Swift.Int? = nil, + dryRun: Swift.Bool? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + prefixListId: Swift.String? = nil, + prefixListRegion: Swift.String? = nil, + tagSpecifications: [EC2ClientTypes.TagSpecification]? = nil, + trackLatestVersion: Swift.Bool? = nil + ) { + self.clientToken = clientToken + self.desiredVersion = desiredVersion + self.dryRun = dryRun + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.prefixListId = prefixListId + self.prefixListRegion = prefixListRegion + self.tagSpecifications = tagSpecifications + self.trackLatestVersion = trackLatestVersion + } +} + +extension EC2ClientTypes { + + public enum IpamPrefixListResolverTargetState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case createComplete + case createFailed + case createInProgress + case deleteComplete + case deleteFailed + case deleteInProgress + case isolateComplete + case isolateInProgress + case modifyComplete + case modifyFailed + case modifyInProgress + case restoreInProgress + case syncComplete + case syncFailed + case syncInProgress + case sdkUnknown(Swift.String) + + public static var allCases: [IpamPrefixListResolverTargetState] { + return [ + .createComplete, + .createFailed, + .createInProgress, + .deleteComplete, + .deleteFailed, + .deleteInProgress, + .isolateComplete, + .isolateInProgress, + .modifyComplete, + .modifyFailed, + .modifyInProgress, + .restoreInProgress, + .syncComplete, + .syncFailed, + .syncInProgress + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .createComplete: return "create-complete" + case .createFailed: return "create-failed" + case .createInProgress: return "create-in-progress" + case .deleteComplete: return "delete-complete" + case .deleteFailed: return "delete-failed" + case .deleteInProgress: return "delete-in-progress" + case .isolateComplete: return "isolate-complete" + case .isolateInProgress: return "isolate-in-progress" + case .modifyComplete: return "modify-complete" + case .modifyFailed: return "modify-failed" + case .modifyInProgress: return "modify-in-progress" + case .restoreInProgress: return "restore-in-progress" + case .syncComplete: return "sync-complete" + case .syncFailed: return "sync-failed" + case .syncInProgress: return "sync-in-progress" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Describes an IPAM prefix list resolver target. An IPAM prefix list resolver target is an association between a specific customer-managed prefix list and an IPAM prefix list resolver. The target enables the resolver to synchronize CIDRs selected by its rules into the specified prefix list, which can then be referenced in Amazon Web Services resources. + public struct IpamPrefixListResolverTarget: Swift.Sendable { + /// The desired version of the prefix list that this target should synchronize with. + public var desiredVersion: Swift.Int? + /// The ID of the IPAM prefix list resolver associated with this target. + public var ipamPrefixListResolverId: Swift.String? + /// The Amazon Resource Name (ARN) of the IPAM prefix list resolver target. + public var ipamPrefixListResolverTargetArn: Swift.String? + /// The ID of the IPAM prefix list resolver target. + public var ipamPrefixListResolverTargetId: Swift.String? + /// The version of the prefix list that was last successfully synchronized by this target. + public var lastSyncedVersion: Swift.Int? + /// The ID of the Amazon Web Services account that owns the IPAM prefix list resolver target. + public var ownerId: Swift.String? + /// The ID of the managed prefix list associated with this target. + public var prefixListId: Swift.String? + /// The Amazon Web Services Region where the prefix list associated with this target is located. + public var prefixListRegion: Swift.String? + /// The current state of the IPAM prefix list resolver target. Valid values include create-in-progress, create-complete, create-failed, modify-in-progress, modify-complete, modify-failed, delete-in-progress, delete-complete, and delete-failed. + public var state: EC2ClientTypes.IpamPrefixListResolverTargetState? + /// A message describing the current state of the IPAM prefix list resolver target, including any error information. + public var stateMessage: Swift.String? + /// The tags assigned to the IPAM prefix list resolver target. + public var tags: [EC2ClientTypes.Tag]? + /// Indicates whether this target automatically tracks the latest version of the prefix list. + public var trackLatestVersion: Swift.Bool? + + public init( + desiredVersion: Swift.Int? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + ipamPrefixListResolverTargetArn: Swift.String? = nil, + ipamPrefixListResolverTargetId: Swift.String? = nil, + lastSyncedVersion: Swift.Int? = nil, + ownerId: Swift.String? = nil, + prefixListId: Swift.String? = nil, + prefixListRegion: Swift.String? = nil, + state: EC2ClientTypes.IpamPrefixListResolverTargetState? = nil, + stateMessage: Swift.String? = nil, + tags: [EC2ClientTypes.Tag]? = nil, + trackLatestVersion: Swift.Bool? = nil + ) { + self.desiredVersion = desiredVersion + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.ipamPrefixListResolverTargetArn = ipamPrefixListResolverTargetArn + self.ipamPrefixListResolverTargetId = ipamPrefixListResolverTargetId + self.lastSyncedVersion = lastSyncedVersion + self.ownerId = ownerId + self.prefixListId = prefixListId + self.prefixListRegion = prefixListRegion + self.state = state + self.stateMessage = stateMessage + self.tags = tags + self.trackLatestVersion = trackLatestVersion + } + } +} + +public struct CreateIpamPrefixListResolverTargetOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolver target that was created. + public var ipamPrefixListResolverTarget: EC2ClientTypes.IpamPrefixListResolverTarget? + + public init( + ipamPrefixListResolverTarget: EC2ClientTypes.IpamPrefixListResolverTarget? = nil + ) { + self.ipamPrefixListResolverTarget = ipamPrefixListResolverTarget + } +} + public struct CreateIpamResourceDiscoveryInput: Swift.Sendable { /// A client token for the IPAM resource discovery. public var clientToken: Swift.String? @@ -21245,25 +22465,6 @@ public struct CreateLaunchTemplateInput: Swift.Sendable { } } -extension EC2ClientTypes { - - /// Describes whether the resource is managed by a service provider and, if so, describes the service provider that manages it. - public struct OperatorResponse: Swift.Sendable { - /// If true, the resource is managed by a service provider. - public var managed: Swift.Bool? - /// If managed is true, then the principal is returned. The principal is the service provider that manages the resource. - public var principal: Swift.String? - - public init( - managed: Swift.Bool? = nil, - principal: Swift.String? = nil - ) { - self.managed = managed - self.principal = principal - } - } -} - extension EC2ClientTypes { /// Describes a launch template. @@ -23310,6 +24511,10 @@ extension EC2ClientTypes { public struct ManagedPrefixList: Swift.Sendable { /// The IP address version. public var addressFamily: Swift.String? + /// Indicates whether synchronization with an IPAM prefix list resolver is enabled for this managed prefix list. When enabled, the prefix list CIDRs are automatically updated based on the resolver's CIDR selection rules. + public var ipamPrefixListResolverSyncEnabled: Swift.Bool? + /// The ID of the IPAM prefix list resolver target associated with this managed prefix list. When set, this prefix list becomes an IPAM managed prefix list. An IPAM-managed prefix list is a customer-managed prefix list that has been associated with an IPAM prefix list resolver target. When a prefix list becomes IPAM managed, its CIDRs are automatically synchronized based on the IPAM prefix list resolver's CIDR selection rules, and direct CIDR modifications are restricted. + public var ipamPrefixListResolverTargetId: Swift.String? /// The maximum number of entries for the prefix list. public var maxEntries: Swift.Int? /// The ID of the owner of the prefix list. @@ -23331,6 +24536,8 @@ extension EC2ClientTypes { public init( addressFamily: Swift.String? = nil, + ipamPrefixListResolverSyncEnabled: Swift.Bool? = nil, + ipamPrefixListResolverTargetId: Swift.String? = nil, maxEntries: Swift.Int? = nil, ownerId: Swift.String? = nil, prefixListArn: Swift.String? = nil, @@ -23342,6 +24549,8 @@ extension EC2ClientTypes { version: Swift.Int? = nil ) { self.addressFamily = addressFamily + self.ipamPrefixListResolverSyncEnabled = ipamPrefixListResolverSyncEnabled + self.ipamPrefixListResolverTargetId = ipamPrefixListResolverTargetId self.maxEntries = maxEntries self.ownerId = ownerId self.prefixListArn = prefixListArn @@ -24677,6 +25886,8 @@ extension EC2ClientTypes { public var attachment: EC2ClientTypes.NetworkInterfaceAttachment? /// The Availability Zone. public var availabilityZone: Swift.String? + /// The ID of the Availability Zone. + public var availabilityZoneId: Swift.String? /// A security group connection tracking configuration that enables you to set the timeout for connection tracking on an Elastic network interface. For more information, see [Connection tracking timeouts](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/security-group-connection-tracking.html#connection-tracking-timeouts) in the Amazon EC2 User Guide. public var connectionTrackingConfiguration: EC2ClientTypes.ConnectionTrackingConfiguration? /// Indicates whether a network interface with an IPv6 address is unreachable from the public internet. If the value is true, inbound traffic from the internet is dropped and you cannot assign an elastic IP address to the network interface. The network interface is reachable from peered VPCs and resources connected through a transit gateway, including on-premises networks. @@ -24737,6 +25948,7 @@ extension EC2ClientTypes { association: EC2ClientTypes.NetworkInterfaceAssociation? = nil, attachment: EC2ClientTypes.NetworkInterfaceAttachment? = nil, availabilityZone: Swift.String? = nil, + availabilityZoneId: Swift.String? = nil, connectionTrackingConfiguration: EC2ClientTypes.ConnectionTrackingConfiguration? = nil, denyAllIgwTraffic: Swift.Bool? = nil, description: Swift.String? = nil, @@ -24769,6 +25981,7 @@ extension EC2ClientTypes { self.association = association self.attachment = attachment self.availabilityZone = availabilityZone + self.availabilityZoneId = availabilityZoneId self.connectionTrackingConfiguration = connectionTrackingConfiguration self.denyAllIgwTraffic = denyAllIgwTraffic self.description = description @@ -26594,38 +27807,6 @@ public struct CreateSnapshotInput: Swift.Sendable { } } -extension EC2ClientTypes { - - public enum SSEType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case `none` - case sseEbs - case sseKms - case sdkUnknown(Swift.String) - - public static var allCases: [SSEType] { - return [ - .none, - .sseEbs, - .sseKms - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .none: return "none" - case .sseEbs: return "sse-ebs" - case .sseKms: return "sse-kms" - case let .sdkUnknown(s): return s - } - } - } -} - extension EC2ClientTypes { public enum SnapshotState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -30684,16 +31865,16 @@ public struct CreateVolumeInput: Swift.Sendable { public var dryRun: Swift.Bool? /// Indicates whether the volume should be encrypted. The effect of setting the encryption state to true depends on the volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. For more information, see [Encryption by default](https://docs.aws.amazon.com/ebs/latest/userguide/work-with-ebs-encr.html#encryption-by-default) in the Amazon EBS User Guide. Encrypted Amazon EBS volumes must be attached to instances that support Amazon EBS encryption. For more information, see [Supported instance types](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption-requirements.html#ebs-encryption_supported_instances). public var encrypted: Swift.Bool? - /// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. The following are the supported values for each volume type: + /// The number of I/O operations per second (IOPS) to provision for the volume. Required for io1 and io2 volumes. Optional for gp3 volumes. Omit for all other volume types. Valid ranges: /// - /// * gp3: 3,000 - 80,000 IOPS + /// * gp3: 3,000 (default) - 80,000 IOPS /// /// * io1: 100 - 64,000 IOPS /// /// * io2: 100 - 256,000 IOPS /// /// - /// For io2 volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html). On other instances, you can achieve performance up to 32,000 IOPS. This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS. This parameter is not supported for gp2, st1, sc1, or standard volumes. + /// [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS. public var iops: Swift.Int? /// The identifier of the KMS key to use for Amazon EBS encryption. If this parameter is not specified, your KMS key for Amazon EBS is used. If KmsKeyId is specified, the encrypted state must be true. You can specify the KMS key using any of the following: /// @@ -30714,7 +31895,7 @@ public struct CreateVolumeInput: Swift.Sendable { public var `operator`: EC2ClientTypes.OperatorRequest? /// The Amazon Resource Name (ARN) of the Outpost on which to create the volume. If you intend to use a volume with an instance running on an outpost, then you must create the volume on the same outpost as the instance. You can't use a volume created in an Amazon Web Services Region with an instance on an Amazon Web Services outpost, or the other way around. public var outpostArn: Swift.String? - /// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size. You can specify a volume size that is equal to or larger than the snapshot size. The following are the supported volumes sizes for each volume type: + /// The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size. If you specify a snapshot, the default is the snapshot size, and you can specify a volume size that is equal to or larger than the snapshot size. Valid sizes: /// /// * gp2: 1 - 16,384 GiB /// @@ -30732,7 +31913,7 @@ public struct CreateVolumeInput: Swift.Sendable { public var snapshotId: Swift.String? /// The tags to apply to the volume during creation. public var tagSpecifications: [EC2ClientTypes.TagSpecification]? - /// The throughput to provision for a volume, with a maximum of 2,000 MiB/s. This parameter is valid only for gp3 volumes. Valid Range: Minimum value of 125. Maximum value of 2,000. + /// The throughput to provision for the volume, in MiB/s. Supported for gp3 volumes only. Omit for all other volume types. Valid Range: 125 - 2000 MiB/s public var throughput: Swift.Int? /// Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot blocks from Amazon S3 to the volume. This is also known as volume initialization. Specifying a volume initialization rate ensures that the volume is initialized at a predictable and consistent rate after creation. This parameter is supported only for volumes created from snapshots. Omit this parameter if: /// @@ -30796,90 +31977,6 @@ public struct CreateVolumeInput: Swift.Sendable { } } -extension EC2ClientTypes { - - /// Describes volume attachment details. - public struct VolumeAttachment: Swift.Sendable { - /// The ARN of the Amazon Web Services-managed resource to which the volume is attached. - public var associatedResource: Swift.String? - /// The time stamp when the attachment initiated. - public var attachTime: Foundation.Date? - /// Indicates whether the EBS volume is deleted on instance termination. - public var deleteOnTermination: Swift.Bool? - /// The device name. If the volume is attached to an Amazon Web Services-managed resource, this parameter returns null. - public var device: Swift.String? - /// The ID of the instance. If the volume is attached to an Amazon Web Services-managed resource, this parameter returns null. - public var instanceId: Swift.String? - /// The service principal of the Amazon Web Services service that owns the underlying resource to which the volume is attached. This parameter is returned only for volumes that are attached to Amazon Web Services-managed resources. - public var instanceOwningService: Swift.String? - /// The attachment state of the volume. - public var state: EC2ClientTypes.VolumeAttachmentState? - /// The ID of the volume. - public var volumeId: Swift.String? - - public init( - associatedResource: Swift.String? = nil, - attachTime: Foundation.Date? = nil, - deleteOnTermination: Swift.Bool? = nil, - device: Swift.String? = nil, - instanceId: Swift.String? = nil, - instanceOwningService: Swift.String? = nil, - state: EC2ClientTypes.VolumeAttachmentState? = nil, - volumeId: Swift.String? = nil - ) { - self.associatedResource = associatedResource - self.attachTime = attachTime - self.deleteOnTermination = deleteOnTermination - self.device = device - self.instanceId = instanceId - self.instanceOwningService = instanceOwningService - self.state = state - self.volumeId = volumeId - } - } -} - -extension EC2ClientTypes { - - public enum VolumeState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case available - case creating - case deleted - case deleting - case error - case inUse - case sdkUnknown(Swift.String) - - public static var allCases: [VolumeState] { - return [ - .available, - .creating, - .deleted, - .deleting, - .error, - .inUse - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .available: return "available" - case .creating: return "creating" - case .deleted: return "deleted" - case .deleting: return "deleting" - case .error: return "error" - case .inUse: return "in-use" - case let .sdkUnknown(s): return s - } - } - } -} - /// Describes a volume. public struct CreateVolumeOutput: Swift.Sendable { /// This parameter is not returned by CreateVolume. Information about the volume attachments. @@ -30908,6 +32005,8 @@ public struct CreateVolumeOutput: Swift.Sendable { public var size: Swift.Int? /// The snapshot from which the volume was created, if applicable. public var snapshotId: Swift.String? + /// The ID of the source volume from which the volume copy was created. Only for volume copies. + public var sourceVolumeId: Swift.String? /// This parameter is not returned by CreateVolume. Reserved for future use. public var sseType: EC2ClientTypes.SSEType? /// The volume state. @@ -30937,6 +32036,7 @@ public struct CreateVolumeOutput: Swift.Sendable { outpostArn: Swift.String? = nil, size: Swift.Int? = nil, snapshotId: Swift.String? = nil, + sourceVolumeId: Swift.String? = nil, sseType: EC2ClientTypes.SSEType? = nil, state: EC2ClientTypes.VolumeState? = nil, tags: [EC2ClientTypes.Tag]? = nil, @@ -30958,6 +32058,7 @@ public struct CreateVolumeOutput: Swift.Sendable { self.outpostArn = outpostArn self.size = size self.snapshotId = snapshotId + self.sourceVolumeId = sourceVolumeId self.sseType = sseType self.state = state self.tags = tags @@ -33262,6 +34363,33 @@ public struct CreateVpnGatewayOutput: Swift.Sendable { } } +public struct DeleteCapacityManagerDataExportInput: Swift.Sendable { + /// The unique identifier of the data export configuration to delete. + /// This member is required. + public var capacityManagerDataExportId: Swift.String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + + public init( + capacityManagerDataExportId: Swift.String? = nil, + dryRun: Swift.Bool? = nil + ) { + self.capacityManagerDataExportId = capacityManagerDataExportId + self.dryRun = dryRun + } +} + +public struct DeleteCapacityManagerDataExportOutput: Swift.Sendable { + /// The unique identifier of the deleted data export configuration. + public var capacityManagerDataExportId: Swift.String? + + public init( + capacityManagerDataExportId: Swift.String? = nil + ) { + self.capacityManagerDataExportId = capacityManagerDataExportId + } +} + public struct DeleteCarrierGatewayInput: Swift.Sendable { /// The ID of the carrier gateway. /// This member is required. @@ -33920,6 +35048,60 @@ public struct DeleteIpamPoolOutput: Swift.Sendable { } } +public struct DeleteIpamPrefixListResolverInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM prefix list resolver to delete. + /// This member is required. + public var ipamPrefixListResolverId: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + ipamPrefixListResolverId: Swift.String? = nil + ) { + self.dryRun = dryRun + self.ipamPrefixListResolverId = ipamPrefixListResolverId + } +} + +public struct DeleteIpamPrefixListResolverOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolver that was deleted. + public var ipamPrefixListResolver: EC2ClientTypes.IpamPrefixListResolver? + + public init( + ipamPrefixListResolver: EC2ClientTypes.IpamPrefixListResolver? = nil + ) { + self.ipamPrefixListResolver = ipamPrefixListResolver + } +} + +public struct DeleteIpamPrefixListResolverTargetInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM prefix list resolver target to delete. + /// This member is required. + public var ipamPrefixListResolverTargetId: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + ipamPrefixListResolverTargetId: Swift.String? = nil + ) { + self.dryRun = dryRun + self.ipamPrefixListResolverTargetId = ipamPrefixListResolverTargetId + } +} + +public struct DeleteIpamPrefixListResolverTargetOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolver target that was deleted. + public var ipamPrefixListResolverTarget: EC2ClientTypes.IpamPrefixListResolverTarget? + + public init( + ipamPrefixListResolverTarget: EC2ClientTypes.IpamPrefixListResolverTarget? = nil + ) { + self.ipamPrefixListResolverTarget = ipamPrefixListResolverTarget + } +} + public struct DeleteIpamResourceDiscoveryInput: Swift.Sendable { /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public var dryRun: Swift.Bool? @@ -34601,7 +35783,7 @@ public struct DeleteNetworkInterfacePermissionInput: Swift.Sendable { /// Contains the output for DeleteNetworkInterfacePermission. public struct DeleteNetworkInterfacePermissionOutput: Swift.Sendable { - /// Returns true if the request succeeds, otherwise returns an error. + /// Is true if the request succeeds and an error otherwise. public var `return`: Swift.Bool? public init( @@ -37760,6 +38942,138 @@ public struct DescribeCapacityBlockStatusOutput: Swift.Sendable { } } +public struct DescribeCapacityManagerDataExportsInput: Swift.Sendable { + /// The IDs of the data export configurations to describe. If not specified, all export configurations are returned. + public var capacityManagerDataExportIds: [Swift.String]? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// One or more filters to narrow the results. Supported filters include export status, creation date, and S3 bucket name. + public var filters: [EC2ClientTypes.Filter]? + /// The maximum number of results to return in a single call. If not specified, up to 1000 results are returned. + public var maxResults: Swift.Int? + /// The token for the next page of results. Use this value in a subsequent call to retrieve additional results. + public var nextToken: Swift.String? + + public init( + capacityManagerDataExportIds: [Swift.String]? = nil, + dryRun: Swift.Bool? = nil, + filters: [EC2ClientTypes.Filter]? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.capacityManagerDataExportIds = capacityManagerDataExportIds + self.dryRun = dryRun + self.filters = filters + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension EC2ClientTypes { + + public enum CapacityManagerDataExportStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case delivered + case failed + case inProgress + case pending + case sdkUnknown(Swift.String) + + public static var allCases: [CapacityManagerDataExportStatus] { + return [ + .delivered, + .failed, + .inProgress, + .pending + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .delivered: return "delivered" + case .failed: return "failed" + case .inProgress: return "in-progress" + case .pending: return "pending" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Contains information about a Capacity Manager data export configuration, including export settings, delivery status, and recent export activity. + public struct CapacityManagerDataExportResponse: Swift.Sendable { + /// The unique identifier for the data export configuration. + public var capacityManagerDataExportId: Swift.String? + /// The timestamp when the data export configuration was created. + public var createTime: Foundation.Date? + /// The S3 URI of the most recently delivered export file. + public var latestDeliveryS3LocationUri: Swift.String? + /// The status of the most recent export delivery. + public var latestDeliveryStatus: EC2ClientTypes.CapacityManagerDataExportStatus? + /// A message describing the status of the most recent export delivery, including any error details if the delivery failed. + public var latestDeliveryStatusMessage: Swift.String? + /// The timestamp when the most recent export was delivered to S3. + public var latestDeliveryTime: Foundation.Date? + /// The file format of the exported data. + public var outputFormat: EC2ClientTypes.OutputFormat? + /// The name of the S3 bucket where export files are delivered. + public var s3BucketName: Swift.String? + /// The S3 key prefix used for organizing export files within the bucket. + public var s3BucketPrefix: Swift.String? + /// The frequency at which data exports are generated. + public var schedule: EC2ClientTypes.Schedule? + /// The tags associated with the data export configuration. + public var tags: [EC2ClientTypes.Tag]? + + public init( + capacityManagerDataExportId: Swift.String? = nil, + createTime: Foundation.Date? = nil, + latestDeliveryS3LocationUri: Swift.String? = nil, + latestDeliveryStatus: EC2ClientTypes.CapacityManagerDataExportStatus? = nil, + latestDeliveryStatusMessage: Swift.String? = nil, + latestDeliveryTime: Foundation.Date? = nil, + outputFormat: EC2ClientTypes.OutputFormat? = nil, + s3BucketName: Swift.String? = nil, + s3BucketPrefix: Swift.String? = nil, + schedule: EC2ClientTypes.Schedule? = nil, + tags: [EC2ClientTypes.Tag]? = nil + ) { + self.capacityManagerDataExportId = capacityManagerDataExportId + self.createTime = createTime + self.latestDeliveryS3LocationUri = latestDeliveryS3LocationUri + self.latestDeliveryStatus = latestDeliveryStatus + self.latestDeliveryStatusMessage = latestDeliveryStatusMessage + self.latestDeliveryTime = latestDeliveryTime + self.outputFormat = outputFormat + self.s3BucketName = s3BucketName + self.s3BucketPrefix = s3BucketPrefix + self.schedule = schedule + self.tags = tags + } + } +} + +public struct DescribeCapacityManagerDataExportsOutput: Swift.Sendable { + /// Information about the data export configurations, including export settings, delivery status, and recent activity. + public var capacityManagerDataExports: [EC2ClientTypes.CapacityManagerDataExportResponse]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + capacityManagerDataExports: [EC2ClientTypes.CapacityManagerDataExportResponse]? = nil, + nextToken: Swift.String? = nil + ) { + self.capacityManagerDataExports = capacityManagerDataExports + self.nextToken = nextToken + } +} + extension EC2ClientTypes { public enum CallerRole: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -38184,6 +39498,99 @@ public struct DescribeCapacityReservationsOutput: Swift.Sendable { } } +public struct DescribeCapacityReservationTopologyInput: Swift.Sendable { + /// The Capacity Reservation IDs. Default: Describes all your Capacity Reservations. Constraints: Maximum 100 explicitly specified Capacity Reservation IDs. + public var capacityReservationIds: [Swift.String]? + /// Checks whether you have the required permissions for the operation, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The filters. + /// + /// * availability-zone - The name of the Availability Zone (for example, us-west-2a) or Local Zone (for example, us-west-2-lax-1b) that the Capacity Reservation is in. + /// + /// * instance-type - The instance type (for example, p4d.24xlarge) or instance family (for example, p4d*). You can use the * wildcard to match zero or more characters, or the ? wildcard to match zero or one character. + public var filters: [EC2ClientTypes.Filter]? + /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). You can't specify this parameter and the Capacity Reservation IDs parameter in the same request. Default: 10 + public var maxResults: Swift.Int? + /// The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request. + public var nextToken: Swift.String? + + public init( + capacityReservationIds: [Swift.String]? = nil, + dryRun: Swift.Bool? = nil, + filters: [EC2ClientTypes.Filter]? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.capacityReservationIds = capacityReservationIds + self.dryRun = dryRun + self.filters = filters + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension EC2ClientTypes { + + /// Information about the Capacity Reservation topology. + public struct CapacityReservationTopology: Swift.Sendable { + /// The name of the Availability Zone or Local Zone that the Capacity Reservation is in. + public var availabilityZone: Swift.String? + /// The ID of the Availability Zone or Local Zone that the Capacity Reservation is in. + public var availabilityZoneId: Swift.String? + /// The ID of the Capacity Block. This parameter is only supported for UltraServer instances and identifies instances within the UltraServer domain. + public var capacityBlockId: Swift.String? + /// The ID of the Capacity Reservation. + public var capacityReservationId: Swift.String? + /// The name of the placement group that the Capacity Reservation is in. + public var groupName: Swift.String? + /// The instance type. + public var instanceType: Swift.String? + /// The network nodes. The nodes are hashed based on your account. Capacity Reservations from different accounts running under the same server will return a different hashed list of strings. The value is null or empty if: + /// + /// * The instance type is not supported. + /// + /// * The Capacity Reservation is in a state other than active or pending. + public var networkNodes: [Swift.String]? + /// The current state of the Capacity Reservation. For the list of possible states, see [DescribeCapacityReservations](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeCapacityReservations.html). + public var state: Swift.String? + + public init( + availabilityZone: Swift.String? = nil, + availabilityZoneId: Swift.String? = nil, + capacityBlockId: Swift.String? = nil, + capacityReservationId: Swift.String? = nil, + groupName: Swift.String? = nil, + instanceType: Swift.String? = nil, + networkNodes: [Swift.String]? = nil, + state: Swift.String? = nil + ) { + self.availabilityZone = availabilityZone + self.availabilityZoneId = availabilityZoneId + self.capacityBlockId = capacityBlockId + self.capacityReservationId = capacityReservationId + self.groupName = groupName + self.instanceType = instanceType + self.networkNodes = networkNodes + self.state = state + } + } +} + +public struct DescribeCapacityReservationTopologyOutput: Swift.Sendable { + /// Information about the topology of each Capacity Reservation. + public var capacityReservations: [EC2ClientTypes.CapacityReservationTopology]? + /// The token to include in another request to get the next page of items. This value is null when there are no more items to return. + public var nextToken: Swift.String? + + public init( + capacityReservations: [EC2ClientTypes.CapacityReservationTopology]? = nil, + nextToken: Swift.String? = nil + ) { + self.capacityReservations = capacityReservations + self.nextToken = nextToken + } +} + public struct DescribeCarrierGatewaysInput: Swift.Sendable { /// One or more carrier gateway IDs. public var carrierGatewayIds: [Swift.String]? @@ -41788,17 +43195,31 @@ extension EC2ClientTypes { public enum ReservationState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case active + case cancelled + case delayed + case expired + case failed case paymentFailed case paymentPending + case pending case retired + case scheduled + case unsupported case sdkUnknown(Swift.String) public static var allCases: [ReservationState] { return [ .active, + .cancelled, + .delayed, + .expired, + .failed, .paymentFailed, .paymentPending, - .retired + .pending, + .retired, + .scheduled, + .unsupported ] } @@ -41810,9 +43231,16 @@ extension EC2ClientTypes { public var rawValue: Swift.String { switch self { case .active: return "active" + case .cancelled: return "cancelled" + case .delayed: return "delayed" + case .expired: return "expired" + case .failed: return "failed" case .paymentFailed: return "payment-failed" case .paymentPending: return "payment-pending" + case .pending: return "pending" case .retired: return "retired" + case .scheduled: return "scheduled" + case .unsupported: return "unsupported" case let .sdkUnknown(s): return s } } @@ -43284,6 +44712,10 @@ public struct DescribeImageUsageReportsInput: Swift.Sendable { /// * creation-time - The time when the report was created, in the ISO 8601 format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example, 2025-11-29T11:04:43.305Z. You can use a wildcard (*), for example, 2025-11-29T*, which matches an entire day. /// /// * state - The state of the report (available | pending | error). + /// + /// * tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. + /// + /// * tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. public var filters: [EC2ClientTypes.Filter]? /// The IDs of the images for filtering the reports. If specified, only reports containing these images are returned. public var imageIds: [Swift.String]? @@ -46304,7 +47736,7 @@ extension EC2ClientTypes { public struct InstanceTopology: Swift.Sendable { /// The name of the Availability Zone or Local Zone that the instance is in. public var availabilityZone: Swift.String? - /// The ID of the Capacity Block. This parameter is only supported for Ultraserver instances and identifies instances within the Ultraserver domain. + /// The ID of the Capacity Block. This parameter is only supported for UltraServer instances and identifies instances within the UltraServer domain. public var capacityBlockId: Swift.String? /// The name of the placement group that the instance is in. public var groupName: Swift.String? @@ -46312,7 +47744,11 @@ extension EC2ClientTypes { public var instanceId: Swift.String? /// The instance type. public var instanceType: Swift.String? - /// The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same server will return a different hashed list of strings. + /// The network nodes. The nodes are hashed based on your account. Instances from different accounts running under the same server will return a different hashed list of strings. The value is null or empty if: + /// + /// * The instance type is not supported. + /// + /// * The instance is in a state other than running. public var networkNodes: [Swift.String]? /// The ID of the Availability Zone or Local Zone that the instance is in. public var zoneId: Swift.String? @@ -48255,6 +49691,94 @@ public struct DescribeIpamPoolsOutput: Swift.Sendable { } } +public struct DescribeIpamPrefixListResolversInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// One or more filters to limit the results. + public var filters: [EC2ClientTypes.Filter]? + /// The IDs of the IPAM prefix list resolvers to describe. If not specified, all resolvers in your account are described. + public var ipamPrefixListResolverIds: [Swift.String]? + /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + public var maxResults: Swift.Int? + /// The token for the next page of results. + public var nextToken: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + filters: [EC2ClientTypes.Filter]? = nil, + ipamPrefixListResolverIds: [Swift.String]? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.dryRun = dryRun + self.filters = filters + self.ipamPrefixListResolverIds = ipamPrefixListResolverIds + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +public struct DescribeIpamPrefixListResolversOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolvers. + public var ipamPrefixListResolvers: [EC2ClientTypes.IpamPrefixListResolver]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + ipamPrefixListResolvers: [EC2ClientTypes.IpamPrefixListResolver]? = nil, + nextToken: Swift.String? = nil + ) { + self.ipamPrefixListResolvers = ipamPrefixListResolvers + self.nextToken = nextToken + } +} + +public struct DescribeIpamPrefixListResolverTargetsInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// One or more filters to limit the results. + public var filters: [EC2ClientTypes.Filter]? + /// The ID of the IPAM prefix list resolver to filter targets by. Only targets associated with this resolver will be returned. + public var ipamPrefixListResolverId: Swift.String? + /// The IDs of the IPAM prefix list resolver Targets to describe. If not specified, all targets in your account are described. + public var ipamPrefixListResolverTargetIds: [Swift.String]? + /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + public var maxResults: Swift.Int? + /// The token for the next page of results. + public var nextToken: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + filters: [EC2ClientTypes.Filter]? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + ipamPrefixListResolverTargetIds: [Swift.String]? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.dryRun = dryRun + self.filters = filters + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.ipamPrefixListResolverTargetIds = ipamPrefixListResolverTargetIds + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +public struct DescribeIpamPrefixListResolverTargetsOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolver Targets. + public var ipamPrefixListResolverTargets: [EC2ClientTypes.IpamPrefixListResolverTarget]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + ipamPrefixListResolverTargets: [EC2ClientTypes.IpamPrefixListResolverTarget]? = nil, + nextToken: Swift.String? = nil + ) { + self.ipamPrefixListResolverTargets = ipamPrefixListResolverTargets + self.nextToken = nextToken + } +} + public struct DescribeIpamResourceDiscoveriesInput: Swift.Sendable { /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public var dryRun: Swift.Bool? @@ -50226,6 +51750,8 @@ public struct DescribeNetworkInterfacesInput: Swift.Sendable { /// /// * availability-zone - The Availability Zone of the network interface. /// + /// * availability-zone-id - The ID of the Availability Zone of the network interface. + /// /// * description - The description of the network interface. /// /// * group-id - The ID of a security group associated with the network interface. @@ -52411,15 +53937,11 @@ public struct DescribeSecurityGroupVpcAssociationsInput: Swift.Sendable { /// /// * group-owner-id: The group owner ID. /// - /// * vpc-id: The ID of the associated VPC. - /// - /// * vpc-owner-id: The account ID of the VPC owner. - /// /// * state: The state of the association. /// - /// * tag:: The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value. For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value. + /// * vpc-id: The ID of the associated VPC. /// - /// * tag-key: The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value. + /// * vpc-owner-id: The account ID of the VPC owner. public var filters: [EC2ClientTypes.Filter]? /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). public var maxResults: Swift.Int? @@ -56201,97 +57723,6 @@ public struct DescribeVolumesInput: Swift.Sendable { } } -extension EC2ClientTypes { - - /// Describes a volume. - public struct Volume: Swift.Sendable { - /// This parameter is not returned by CreateVolume. Information about the volume attachments. - public var attachments: [EC2ClientTypes.VolumeAttachment]? - /// The Availability Zone for the volume. - public var availabilityZone: Swift.String? - /// The ID of the Availability Zone for the volume. - public var availabilityZoneId: Swift.String? - /// The time stamp when volume creation was initiated. - public var createTime: Foundation.Date? - /// Indicates whether the volume is encrypted. - public var encrypted: Swift.Bool? - /// This parameter is not returned by CreateVolume. Indicates whether the volume was created using fast snapshot restore. - public var fastRestored: Swift.Bool? - /// The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline performance of the volume and the rate at which the volume accumulates I/O credits for bursting. - public var iops: Swift.Int? - /// The Amazon Resource Name (ARN) of the KMS key that was used to protect the volume encryption key for the volume. - public var kmsKeyId: Swift.String? - /// Indicates whether Amazon EBS Multi-Attach is enabled. - public var multiAttachEnabled: Swift.Bool? - /// The service provider that manages the volume. - public var `operator`: EC2ClientTypes.OperatorResponse? - /// The Amazon Resource Name (ARN) of the Outpost. - public var outpostArn: Swift.String? - /// The size of the volume, in GiBs. - public var size: Swift.Int? - /// The snapshot from which the volume was created, if applicable. - public var snapshotId: Swift.String? - /// This parameter is not returned by CreateVolume. Reserved for future use. - public var sseType: EC2ClientTypes.SSEType? - /// The volume state. - public var state: EC2ClientTypes.VolumeState? - /// Any tags assigned to the volume. - public var tags: [EC2ClientTypes.Tag]? - /// The throughput that the volume supports, in MiB/s. - public var throughput: Swift.Int? - /// The ID of the volume. - public var volumeId: Swift.String? - /// The Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate) specified for the volume during creation, in MiB/s. If no volume initialization rate was specified, the value is null. - public var volumeInitializationRate: Swift.Int? - /// The volume type. - public var volumeType: EC2ClientTypes.VolumeType? - - public init( - attachments: [EC2ClientTypes.VolumeAttachment]? = nil, - availabilityZone: Swift.String? = nil, - availabilityZoneId: Swift.String? = nil, - createTime: Foundation.Date? = nil, - encrypted: Swift.Bool? = nil, - fastRestored: Swift.Bool? = nil, - iops: Swift.Int? = nil, - kmsKeyId: Swift.String? = nil, - multiAttachEnabled: Swift.Bool? = nil, - `operator`: EC2ClientTypes.OperatorResponse? = nil, - outpostArn: Swift.String? = nil, - size: Swift.Int? = nil, - snapshotId: Swift.String? = nil, - sseType: EC2ClientTypes.SSEType? = nil, - state: EC2ClientTypes.VolumeState? = nil, - tags: [EC2ClientTypes.Tag]? = nil, - throughput: Swift.Int? = nil, - volumeId: Swift.String? = nil, - volumeInitializationRate: Swift.Int? = nil, - volumeType: EC2ClientTypes.VolumeType? = nil - ) { - self.attachments = attachments - self.availabilityZone = availabilityZone - self.availabilityZoneId = availabilityZoneId - self.createTime = createTime - self.encrypted = encrypted - self.fastRestored = fastRestored - self.iops = iops - self.kmsKeyId = kmsKeyId - self.multiAttachEnabled = multiAttachEnabled - self.`operator` = `operator` - self.outpostArn = outpostArn - self.size = size - self.snapshotId = snapshotId - self.sseType = sseType - self.state = state - self.tags = tags - self.throughput = throughput - self.volumeId = volumeId - self.volumeInitializationRate = volumeInitializationRate - self.volumeType = volumeType - } - } -} - public struct DescribeVolumesOutput: Swift.Sendable { /// The token to include in another request to get the next page of items. This value is null when there are no more items to return. public var nextToken: Swift.String? @@ -56618,12 +58049,14 @@ extension EC2ClientTypes { public enum InitializationType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case `default` case provisionedRate + case volumeCopy case sdkUnknown(Swift.String) public static var allCases: [InitializationType] { return [ .default, - .provisionedRate + .provisionedRate, + .volumeCopy ] } @@ -56636,6 +58069,7 @@ extension EC2ClientTypes { switch self { case .default: return "default" case .provisionedRate: return "provisioned-rate" + case .volumeCopy: return "volume-copy" case let .sdkUnknown(s): return s } } @@ -56653,6 +58087,8 @@ extension EC2ClientTypes { /// * default - Volume initialized using the default volume initialization rate or fast snapshot restore. /// /// * provisioned-rate - Volume initialized using an Amazon EBS Provisioned Rate for Volume Initialization. + /// + /// * volume-copy - Volume copy initialized at the rate for volume copies. public var initializationType: EC2ClientTypes.InitializationType? /// The current volume initialization progress as a percentage (0-100). Returns 100 when volume initialization has completed. public var progress: Swift.Int? @@ -58417,6 +59853,65 @@ public struct DisableAwsNetworkPerformanceMetricSubscriptionOutput: Swift.Sendab } } +public struct DisableCapacityManagerInput: Swift.Sendable { + /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + public var clientToken: Swift.String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + + public init( + clientToken: Swift.String? = nil, + dryRun: Swift.Bool? = nil + ) { + self.clientToken = clientToken + self.dryRun = dryRun + } +} + +extension EC2ClientTypes { + + public enum CapacityManagerStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case disabled + case enabled + case sdkUnknown(Swift.String) + + public static var allCases: [CapacityManagerStatus] { + return [ + .disabled, + .enabled + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .disabled: return "disabled" + case .enabled: return "enabled" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct DisableCapacityManagerOutput: Swift.Sendable { + /// The current status of Capacity Manager after the disable operation. + public var capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? + /// Indicates whether Organizations access is enabled. This will be false after disabling Capacity Manager. + public var organizationsAccess: Swift.Bool? + + public init( + capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? = nil, + organizationsAccess: Swift.Bool? = nil + ) { + self.capacityManagerStatus = capacityManagerStatus + self.organizationsAccess = organizationsAccess + } +} + public struct DisableEbsEncryptionByDefaultInput: Swift.Sendable { /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public var dryRun: Swift.Bool? @@ -59676,7 +61171,7 @@ public struct DisassociateTrunkInterfaceInput: Swift.Sendable { public struct DisassociateTrunkInterfaceOutput: Swift.Sendable { /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). public var clientToken: Swift.String? - /// Returns true if the request succeeds; otherwise, it returns an error. + /// Is true if the request succeeds and an error otherwise. public var `return`: Swift.Bool? public init( @@ -59816,6 +61311,40 @@ public struct EnableAwsNetworkPerformanceMetricSubscriptionOutput: Swift.Sendabl } } +public struct EnableCapacityManagerInput: Swift.Sendable { + /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + public var clientToken: Swift.String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// Specifies whether to enable cross-account access for Amazon Web Services Organizations. When enabled, Capacity Manager can aggregate data from all accounts in your organization. Default is false. + public var organizationsAccess: Swift.Bool? + + public init( + clientToken: Swift.String? = nil, + dryRun: Swift.Bool? = nil, + organizationsAccess: Swift.Bool? = nil + ) { + self.clientToken = clientToken + self.dryRun = dryRun + self.organizationsAccess = organizationsAccess + } +} + +public struct EnableCapacityManagerOutput: Swift.Sendable { + /// The current status of Capacity Manager after the enable operation. + public var capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? + /// Indicates whether Organizations access is enabled for cross-account data aggregation. + public var organizationsAccess: Swift.Bool? + + public init( + capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? = nil, + organizationsAccess: Swift.Bool? = nil + ) { + self.capacityManagerStatus = capacityManagerStatus + self.organizationsAccess = organizationsAccess + } +} + public struct EnableEbsEncryptionByDefaultInput: Swift.Sendable { /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public var dryRun: Swift.Bool? @@ -61327,6 +62856,779 @@ public struct GetAwsNetworkPerformanceDataOutput: Swift.Sendable { } } +public struct GetCapacityManagerAttributesInput: Swift.Sendable { + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + + public init( + dryRun: Swift.Bool? = nil + ) { + self.dryRun = dryRun + } +} + +extension EC2ClientTypes { + + public enum IngestionStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case ingestionComplete + case ingestionFailed + case initialIngestionInProgress + case sdkUnknown(Swift.String) + + public static var allCases: [IngestionStatus] { + return [ + .ingestionComplete, + .ingestionFailed, + .initialIngestionInProgress + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .ingestionComplete: return "ingestion-complete" + case .ingestionFailed: return "ingestion-failed" + case .initialIngestionInProgress: return "initial-ingestion-in-progress" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct GetCapacityManagerAttributesOutput: Swift.Sendable { + /// The current status of Capacity Manager. + public var capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? + /// The number of active data export configurations for this account. This count includes all data exports regardless of their current delivery status. + public var dataExportCount: Swift.Int? + /// The timestamp of the earliest data point available in Capacity Manager, in milliseconds since epoch. This indicates how far back historical data is available for queries. + public var earliestDatapointTimestamp: Foundation.Date? + /// The current data ingestion status. Initial ingestion may take several hours after enabling Capacity Manager. + public var ingestionStatus: EC2ClientTypes.IngestionStatus? + /// A descriptive message providing additional details about the current ingestion status. This may include error information if ingestion has failed or progress details during initial setup. + public var ingestionStatusMessage: Swift.String? + /// The timestamp of the most recent data point ingested by Capacity Manager, in milliseconds since epoch. This indicates how current your capacity data is. + public var latestDatapointTimestamp: Foundation.Date? + /// Indicates whether Organizations access is enabled for cross-account data aggregation. + public var organizationsAccess: Swift.Bool? + + public init( + capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? = nil, + dataExportCount: Swift.Int? = nil, + earliestDatapointTimestamp: Foundation.Date? = nil, + ingestionStatus: EC2ClientTypes.IngestionStatus? = nil, + ingestionStatusMessage: Swift.String? = nil, + latestDatapointTimestamp: Foundation.Date? = nil, + organizationsAccess: Swift.Bool? = nil + ) { + self.capacityManagerStatus = capacityManagerStatus + self.dataExportCount = dataExportCount + self.earliestDatapointTimestamp = earliestDatapointTimestamp + self.ingestionStatus = ingestionStatus + self.ingestionStatusMessage = ingestionStatusMessage + self.latestDatapointTimestamp = latestDatapointTimestamp + self.organizationsAccess = organizationsAccess + } +} + +extension EC2ClientTypes { + + public enum Comparison: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case equals + case `in` + case sdkUnknown(Swift.String) + + public static var allCases: [Comparison] { + return [ + .equals, + .in + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .equals: return "equals" + case .in: return "in" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum FilterByDimension: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case accountId + case availabilityZoneId + case instanceFamily + case instancePlatform + case instanceType + case reservationArn + case reservationCreateTimestamp + case reservationEndDateType + case reservationEndTimestamp + case reservationId + case reservationInstanceMatchCriteria + case reservationStartTimestamp + case reservationState + case reservationType + case reservationUnusedFinancialOwner + case resourceRegion + case tenancy + case sdkUnknown(Swift.String) + + public static var allCases: [FilterByDimension] { + return [ + .accountId, + .availabilityZoneId, + .instanceFamily, + .instancePlatform, + .instanceType, + .reservationArn, + .reservationCreateTimestamp, + .reservationEndDateType, + .reservationEndTimestamp, + .reservationId, + .reservationInstanceMatchCriteria, + .reservationStartTimestamp, + .reservationState, + .reservationType, + .reservationUnusedFinancialOwner, + .resourceRegion, + .tenancy + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .accountId: return "account-id" + case .availabilityZoneId: return "availability-zone-id" + case .instanceFamily: return "instance-family" + case .instancePlatform: return "instance-platform" + case .instanceType: return "instance-type" + case .reservationArn: return "reservation-arn" + case .reservationCreateTimestamp: return "reservation-create-timestamp" + case .reservationEndDateType: return "reservation-end-date-type" + case .reservationEndTimestamp: return "reservation-end-timestamp" + case .reservationId: return "reservation-id" + case .reservationInstanceMatchCriteria: return "reservation-instance-match-criteria" + case .reservationStartTimestamp: return "reservation-start-timestamp" + case .reservationState: return "reservation-state" + case .reservationType: return "reservation-type" + case .reservationUnusedFinancialOwner: return "reservation-unused-financial-owner" + case .resourceRegion: return "resource-region" + case .tenancy: return "tenancy" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Specifies a condition for filtering capacity data based on dimension values. Used to create precise filters for metric queries and dimension lookups. + public struct DimensionCondition: Swift.Sendable { + /// The comparison operator to use for the filter. + public var comparison: EC2ClientTypes.Comparison? + /// The name of the dimension to filter by. + public var dimension: EC2ClientTypes.FilterByDimension? + /// The list of values to match against the specified dimension. For 'equals' comparison, only the first value is used. For 'in' comparison, any matching value will satisfy the condition. + public var values: [Swift.String]? + + public init( + comparison: EC2ClientTypes.Comparison? = nil, + dimension: EC2ClientTypes.FilterByDimension? = nil, + values: [Swift.String]? = nil + ) { + self.comparison = comparison + self.dimension = dimension + self.values = values + } + } +} + +extension EC2ClientTypes { + + /// Represents a filter condition for Capacity Manager queries. Contains dimension-based filtering criteria used to narrow down metric data and dimension results. + public struct CapacityManagerCondition: Swift.Sendable { + /// The dimension-based condition that specifies how to filter the data based on dimension values. + public var dimensionCondition: EC2ClientTypes.DimensionCondition? + + public init( + dimensionCondition: EC2ClientTypes.DimensionCondition? = nil + ) { + self.dimensionCondition = dimensionCondition + } + } +} + +extension EC2ClientTypes { + + public enum GroupBy: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case accountId + case availabilityZoneId + case instanceFamily + case instancePlatform + case instanceType + case reservationArn + case reservationCreateTimestamp + case reservationEndDateType + case reservationEndTimestamp + case reservationId + case reservationInstanceMatchCriteria + case reservationStartTimestamp + case reservationState + case reservationType + case reservationUnusedFinancialOwner + case resourceRegion + case tenancy + case sdkUnknown(Swift.String) + + public static var allCases: [GroupBy] { + return [ + .accountId, + .availabilityZoneId, + .instanceFamily, + .instancePlatform, + .instanceType, + .reservationArn, + .reservationCreateTimestamp, + .reservationEndDateType, + .reservationEndTimestamp, + .reservationId, + .reservationInstanceMatchCriteria, + .reservationStartTimestamp, + .reservationState, + .reservationType, + .reservationUnusedFinancialOwner, + .resourceRegion, + .tenancy + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .accountId: return "account-id" + case .availabilityZoneId: return "availability-zone-id" + case .instanceFamily: return "instance-family" + case .instancePlatform: return "instance-platform" + case .instanceType: return "instance-type" + case .reservationArn: return "reservation-arn" + case .reservationCreateTimestamp: return "reservation-create-timestamp" + case .reservationEndDateType: return "reservation-end-date-type" + case .reservationEndTimestamp: return "reservation-end-timestamp" + case .reservationId: return "reservation-id" + case .reservationInstanceMatchCriteria: return "reservation-instance-match-criteria" + case .reservationStartTimestamp: return "reservation-start-timestamp" + case .reservationState: return "reservation-state" + case .reservationType: return "reservation-type" + case .reservationUnusedFinancialOwner: return "reservation-unused-financial-owner" + case .resourceRegion: return "resource-region" + case .tenancy: return "tenancy" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum Metric: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case reservationAvgCommittedSizeInst + case reservationAvgCommittedSizeVcpu + case reservationAvgFutureSizeInst + case reservationAvgFutureSizeVcpu + case reservationAvgUtilizationInst + case reservationAvgUtilizationVcpu + case reservationMaxCommittedSizeInst + case reservationMaxCommittedSizeVcpu + case reservationMaxFutureSizeInst + case reservationMaxFutureSizeVcpu + case reservationMaxSizeInst + case reservationMaxSizeVcpu + case reservationMaxUnusedSizeInst + case reservationMaxUnusedSizeVcpu + case reservationMaxUtilization + case reservationMinCommittedSizeInst + case reservationMinCommittedSizeVcpu + case reservationMinFutureSizeInst + case reservationMinFutureSizeVcpu + case reservationMinSizeInst + case reservationMinSizeVcpu + case reservationMinUnusedSizeInst + case reservationMinUnusedSizeVcpu + case reservationMinUtilization + case reservationTotalCapacityHrsInst + case reservationTotalCapacityHrsVcpu + case reservationTotalCount + case reservationTotalEstimatedCost + case reservationUnusedTotalCapacityHrsInst + case reservationUnusedTotalCapacityHrsVcpu + case reservationUnusedTotalEstimatedCost + case reservedTotalEstimatedCost + case reservedTotalUsageHrsInst + case reservedTotalUsageHrsVcpu + case spotAvgRunTimeBeforeInterruptionInst + case spotMaxRunTimeBeforeInterruptionInst + case spotMinRunTimeBeforeInterruptionInst + case spotTotalEstimatedCost + case spotTotalUsageHrsInst + case spotTotalUsageHrsVcpu + case unreservedTotalEstimatedCost + case unreservedTotalUsageHrsInst + case unreservedTotalUsageHrsVcpu + case sdkUnknown(Swift.String) + + public static var allCases: [Metric] { + return [ + .reservationAvgCommittedSizeInst, + .reservationAvgCommittedSizeVcpu, + .reservationAvgFutureSizeInst, + .reservationAvgFutureSizeVcpu, + .reservationAvgUtilizationInst, + .reservationAvgUtilizationVcpu, + .reservationMaxCommittedSizeInst, + .reservationMaxCommittedSizeVcpu, + .reservationMaxFutureSizeInst, + .reservationMaxFutureSizeVcpu, + .reservationMaxSizeInst, + .reservationMaxSizeVcpu, + .reservationMaxUnusedSizeInst, + .reservationMaxUnusedSizeVcpu, + .reservationMaxUtilization, + .reservationMinCommittedSizeInst, + .reservationMinCommittedSizeVcpu, + .reservationMinFutureSizeInst, + .reservationMinFutureSizeVcpu, + .reservationMinSizeInst, + .reservationMinSizeVcpu, + .reservationMinUnusedSizeInst, + .reservationMinUnusedSizeVcpu, + .reservationMinUtilization, + .reservationTotalCapacityHrsInst, + .reservationTotalCapacityHrsVcpu, + .reservationTotalCount, + .reservationTotalEstimatedCost, + .reservationUnusedTotalCapacityHrsInst, + .reservationUnusedTotalCapacityHrsVcpu, + .reservationUnusedTotalEstimatedCost, + .reservedTotalEstimatedCost, + .reservedTotalUsageHrsInst, + .reservedTotalUsageHrsVcpu, + .spotAvgRunTimeBeforeInterruptionInst, + .spotMaxRunTimeBeforeInterruptionInst, + .spotMinRunTimeBeforeInterruptionInst, + .spotTotalEstimatedCost, + .spotTotalUsageHrsInst, + .spotTotalUsageHrsVcpu, + .unreservedTotalEstimatedCost, + .unreservedTotalUsageHrsInst, + .unreservedTotalUsageHrsVcpu + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .reservationAvgCommittedSizeInst: return "reservation-avg-committed-size-inst" + case .reservationAvgCommittedSizeVcpu: return "reservation-avg-committed-size-vcpu" + case .reservationAvgFutureSizeInst: return "reservation-avg-future-size-inst" + case .reservationAvgFutureSizeVcpu: return "reservation-avg-future-size-vcpu" + case .reservationAvgUtilizationInst: return "reservation-avg-utilization-inst" + case .reservationAvgUtilizationVcpu: return "reservation-avg-utilization-vcpu" + case .reservationMaxCommittedSizeInst: return "reservation-max-committed-size-inst" + case .reservationMaxCommittedSizeVcpu: return "reservation-max-committed-size-vcpu" + case .reservationMaxFutureSizeInst: return "reservation-max-future-size-inst" + case .reservationMaxFutureSizeVcpu: return "reservation-max-future-size-vcpu" + case .reservationMaxSizeInst: return "reservation-max-size-inst" + case .reservationMaxSizeVcpu: return "reservation-max-size-vcpu" + case .reservationMaxUnusedSizeInst: return "reservation-max-unused-size-inst" + case .reservationMaxUnusedSizeVcpu: return "reservation-max-unused-size-vcpu" + case .reservationMaxUtilization: return "reservation-max-utilization" + case .reservationMinCommittedSizeInst: return "reservation-min-committed-size-inst" + case .reservationMinCommittedSizeVcpu: return "reservation-min-committed-size-vcpu" + case .reservationMinFutureSizeInst: return "reservation-min-future-size-inst" + case .reservationMinFutureSizeVcpu: return "reservation-min-future-size-vcpu" + case .reservationMinSizeInst: return "reservation-min-size-inst" + case .reservationMinSizeVcpu: return "reservation-min-size-vcpu" + case .reservationMinUnusedSizeInst: return "reservation-min-unused-size-inst" + case .reservationMinUnusedSizeVcpu: return "reservation-min-unused-size-vcpu" + case .reservationMinUtilization: return "reservation-min-utilization" + case .reservationTotalCapacityHrsInst: return "reservation-total-capacity-hrs-inst" + case .reservationTotalCapacityHrsVcpu: return "reservation-total-capacity-hrs-vcpu" + case .reservationTotalCount: return "reservation-total-count" + case .reservationTotalEstimatedCost: return "reservation-total-estimated-cost" + case .reservationUnusedTotalCapacityHrsInst: return "reservation-unused-total-capacity-hrs-inst" + case .reservationUnusedTotalCapacityHrsVcpu: return "reservation-unused-total-capacity-hrs-vcpu" + case .reservationUnusedTotalEstimatedCost: return "reservation-unused-total-estimated-cost" + case .reservedTotalEstimatedCost: return "reserved-total-estimated-cost" + case .reservedTotalUsageHrsInst: return "reserved-total-usage-hrs-inst" + case .reservedTotalUsageHrsVcpu: return "reserved-total-usage-hrs-vcpu" + case .spotAvgRunTimeBeforeInterruptionInst: return "spot-avg-run-time-before-interruption-inst" + case .spotMaxRunTimeBeforeInterruptionInst: return "spot-max-run-time-before-interruption-inst" + case .spotMinRunTimeBeforeInterruptionInst: return "spot-min-run-time-before-interruption-inst" + case .spotTotalEstimatedCost: return "spot-total-estimated-cost" + case .spotTotalUsageHrsInst: return "spot-total-usage-hrs-inst" + case .spotTotalUsageHrsVcpu: return "spot-total-usage-hrs-vcpu" + case .unreservedTotalEstimatedCost: return "unreserved-total-estimated-cost" + case .unreservedTotalUsageHrsInst: return "unreserved-total-usage-hrs-inst" + case .unreservedTotalUsageHrsVcpu: return "unreserved-total-usage-hrs-vcpu" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct GetCapacityManagerMetricDataInput: Swift.Sendable { + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The end time for the metric data query, in ISO 8601 format. If the end time is beyond the latest ingested data, it will be automatically adjusted to the latest available data point. + /// This member is required. + public var endTime: Foundation.Date? + /// Conditions to filter the metric data. Each filter specifies a dimension, comparison operator ('equals', 'in'), and values to match against. + public var filterBy: [EC2ClientTypes.CapacityManagerCondition]? + /// The dimensions by which to group the metric data. This determines how the data is aggregated and returned. + public var groupBy: [EC2ClientTypes.GroupBy]? + /// The maximum number of data points to return. Valid range is 1 to 100,000. Use with NextToken for pagination of large result sets. + public var maxResults: Swift.Int? + /// The names of the metrics to retrieve. Maximum of 10 metrics per request. + /// This member is required. + public var metricNames: [EC2ClientTypes.Metric]? + /// The token for the next page of results. Use this value in a subsequent call to retrieve additional data points. + public var nextToken: Swift.String? + /// The granularity, in seconds, of the returned data points. + /// This member is required. + public var period: Swift.Int? + /// The start time for the metric data query, in ISO 8601 format. The time range (end time - start time) must be a multiple of the specified period. + /// This member is required. + public var startTime: Foundation.Date? + + public init( + dryRun: Swift.Bool? = nil, + endTime: Foundation.Date? = nil, + filterBy: [EC2ClientTypes.CapacityManagerCondition]? = nil, + groupBy: [EC2ClientTypes.GroupBy]? = nil, + maxResults: Swift.Int? = nil, + metricNames: [EC2ClientTypes.Metric]? = nil, + nextToken: Swift.String? = nil, + period: Swift.Int? = nil, + startTime: Foundation.Date? = nil + ) { + self.dryRun = dryRun + self.endTime = endTime + self.filterBy = filterBy + self.groupBy = groupBy + self.maxResults = maxResults + self.metricNames = metricNames + self.nextToken = nextToken + self.period = period + self.startTime = startTime + } +} + +extension EC2ClientTypes { + + public enum ReservationEndDateType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case limited + case unlimited + case sdkUnknown(Swift.String) + + public static var allCases: [ReservationEndDateType] { + return [ + .limited, + .unlimited + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .limited: return "limited" + case .unlimited: return "unlimited" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum ReservationType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case capacityBlock + case odcr + case sdkUnknown(Swift.String) + + public static var allCases: [ReservationType] { + return [ + .capacityBlock, + .odcr + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .capacityBlock: return "capacity-block" + case .odcr: return "odcr" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + public enum CapacityTenancy: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case dedicated + case `default` + case sdkUnknown(Swift.String) + + public static var allCases: [CapacityTenancy] { + return [ + .dedicated, + .default + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .dedicated: return "dedicated" + case .default: return "default" + case let .sdkUnknown(s): return s + } + } + } +} + +extension EC2ClientTypes { + + /// Represents dimension values for capacity metrics, including resource identifiers, geographic information, and reservation details used for grouping and filtering capacity data. + public struct CapacityManagerDimension: Swift.Sendable { + /// The Amazon Web Services account ID that owns the capacity resource. + public var accountId: Swift.String? + /// The unique identifier of the Availability Zone where the capacity resource is located. + public var availabilityZoneId: Swift.String? + /// The EC2 instance family of the capacity resource. + public var instanceFamily: Swift.String? + /// The platform or operating system of the instance. + public var instancePlatform: Swift.String? + /// The specific EC2 instance type of the capacity resource. + public var instanceType: Swift.String? + /// The Amazon Resource Name (ARN) of the capacity reservation. This provides a unique identifier that can be used across Amazon Web Services services to reference the specific reservation. + public var reservationArn: Swift.String? + /// The timestamp when the capacity reservation was originally created, in milliseconds since epoch. This differs from the start timestamp as reservations can be created before they become active. + public var reservationCreateTimestamp: Foundation.Date? + /// The type of end date for the capacity reservation. This indicates whether the reservation has a fixed end date, is open-ended, or follows a specific termination pattern. + public var reservationEndDateType: EC2ClientTypes.ReservationEndDateType? + /// The timestamp when the capacity reservation expires and is no longer available, in milliseconds since epoch. After this time, the reservation will not provide any capacity. + public var reservationEndTimestamp: Foundation.Date? + /// The unique identifier of the capacity reservation. + public var reservationId: Swift.String? + /// The instance matching criteria for the capacity reservation, determining how instances are matched to the reservation. + public var reservationInstanceMatchCriteria: Swift.String? + /// The timestamp when the capacity reservation becomes active and available for use, in milliseconds since epoch. This is when the reservation begins providing capacity. + public var reservationStartTimestamp: Foundation.Date? + /// The current state of the capacity reservation. + public var reservationState: EC2ClientTypes.ReservationState? + /// The type of capacity reservation. + public var reservationType: EC2ClientTypes.ReservationType? + /// The Amazon Web Services account ID that is financially responsible for unused capacity reservation costs. + public var reservationUnusedFinancialOwner: Swift.String? + /// The Amazon Web Services Region where the capacity resource is located. + public var resourceRegion: Swift.String? + /// The tenancy of the EC2 instances associated with this capacity dimension. Valid values are 'default' for shared tenancy, 'dedicated' for dedicated instances, or 'host' for dedicated hosts. + public var tenancy: EC2ClientTypes.CapacityTenancy? + + public init( + accountId: Swift.String? = nil, + availabilityZoneId: Swift.String? = nil, + instanceFamily: Swift.String? = nil, + instancePlatform: Swift.String? = nil, + instanceType: Swift.String? = nil, + reservationArn: Swift.String? = nil, + reservationCreateTimestamp: Foundation.Date? = nil, + reservationEndDateType: EC2ClientTypes.ReservationEndDateType? = nil, + reservationEndTimestamp: Foundation.Date? = nil, + reservationId: Swift.String? = nil, + reservationInstanceMatchCriteria: Swift.String? = nil, + reservationStartTimestamp: Foundation.Date? = nil, + reservationState: EC2ClientTypes.ReservationState? = nil, + reservationType: EC2ClientTypes.ReservationType? = nil, + reservationUnusedFinancialOwner: Swift.String? = nil, + resourceRegion: Swift.String? = nil, + tenancy: EC2ClientTypes.CapacityTenancy? = nil + ) { + self.accountId = accountId + self.availabilityZoneId = availabilityZoneId + self.instanceFamily = instanceFamily + self.instancePlatform = instancePlatform + self.instanceType = instanceType + self.reservationArn = reservationArn + self.reservationCreateTimestamp = reservationCreateTimestamp + self.reservationEndDateType = reservationEndDateType + self.reservationEndTimestamp = reservationEndTimestamp + self.reservationId = reservationId + self.reservationInstanceMatchCriteria = reservationInstanceMatchCriteria + self.reservationStartTimestamp = reservationStartTimestamp + self.reservationState = reservationState + self.reservationType = reservationType + self.reservationUnusedFinancialOwner = reservationUnusedFinancialOwner + self.resourceRegion = resourceRegion + self.tenancy = tenancy + } + } +} + +extension EC2ClientTypes { + + /// Represents a single metric value with its associated statistic, such as the sum or average of unused capacity hours. + public struct MetricValue: Swift.Sendable { + /// The name of the metric. + public var metric: EC2ClientTypes.Metric? + /// The numerical value of the metric for the specified statistic and time period. + public var value: Swift.Double? + + public init( + metric: EC2ClientTypes.Metric? = nil, + value: Swift.Double? = nil + ) { + self.metric = metric + self.value = value + } + } +} + +extension EC2ClientTypes { + + /// Contains a single data point from a capacity metrics query, including the dimension values, timestamp, and metric values for that specific combination. + public struct MetricDataResult: Swift.Sendable { + /// The dimension values that identify this specific data point, such as account ID, region, and instance family. + public var dimension: EC2ClientTypes.CapacityManagerDimension? + /// The metric values and statistics for this data point, containing the actual capacity usage numbers. + public var metricValues: [EC2ClientTypes.MetricValue]? + /// The timestamp for this data point, indicating when the capacity usage occurred. + public var timestamp: Foundation.Date? + + public init( + dimension: EC2ClientTypes.CapacityManagerDimension? = nil, + metricValues: [EC2ClientTypes.MetricValue]? = nil, + timestamp: Foundation.Date? = nil + ) { + self.dimension = dimension + self.metricValues = metricValues + self.timestamp = timestamp + } + } +} + +public struct GetCapacityManagerMetricDataOutput: Swift.Sendable { + /// The metric data points returned by the query. Each result contains dimension values, timestamp, and metric values with their associated statistics. + public var metricDataResults: [EC2ClientTypes.MetricDataResult]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + metricDataResults: [EC2ClientTypes.MetricDataResult]? = nil, + nextToken: Swift.String? = nil + ) { + self.metricDataResults = metricDataResults + self.nextToken = nextToken + } +} + +public struct GetCapacityManagerMetricDimensionsInput: Swift.Sendable { + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The end time for the dimension query, in ISO 8601 format. Only dimensions with data in this time range will be returned. + /// This member is required. + public var endTime: Foundation.Date? + /// Conditions to filter which dimension values are returned. Each filter specifies a dimension, comparison operator, and values to match against. + public var filterBy: [EC2ClientTypes.CapacityManagerCondition]? + /// The dimensions to group by when retrieving available dimension values. This determines which dimension combinations are returned. Required parameter. + /// This member is required. + public var groupBy: [EC2ClientTypes.GroupBy]? + /// The maximum number of dimension combinations to return. Valid range is 1 to 1000. Use with NextToken for pagination. + public var maxResults: Swift.Int? + /// The metric names to use as an additional filter when retrieving dimensions. Only dimensions that have data for these metrics will be returned. Required parameter with maximum size of 1 for v1. + /// This member is required. + public var metricNames: [EC2ClientTypes.Metric]? + /// The token for the next page of results. Use this value in a subsequent call to retrieve additional dimension values. + public var nextToken: Swift.String? + /// The start time for the dimension query, in ISO 8601 format. Only dimensions with data in this time range will be returned. + /// This member is required. + public var startTime: Foundation.Date? + + public init( + dryRun: Swift.Bool? = nil, + endTime: Foundation.Date? = nil, + filterBy: [EC2ClientTypes.CapacityManagerCondition]? = nil, + groupBy: [EC2ClientTypes.GroupBy]? = nil, + maxResults: Swift.Int? = nil, + metricNames: [EC2ClientTypes.Metric]? = nil, + nextToken: Swift.String? = nil, + startTime: Foundation.Date? = nil + ) { + self.dryRun = dryRun + self.endTime = endTime + self.filterBy = filterBy + self.groupBy = groupBy + self.maxResults = maxResults + self.metricNames = metricNames + self.nextToken = nextToken + self.startTime = startTime + } +} + +public struct GetCapacityManagerMetricDimensionsOutput: Swift.Sendable { + /// The available dimension combinations that have data within the specified time range and filters. + public var metricDimensionResults: [EC2ClientTypes.CapacityManagerDimension]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + metricDimensionResults: [EC2ClientTypes.CapacityManagerDimension]? = nil, + nextToken: Swift.String? = nil + ) { + self.metricDimensionResults = metricDimensionResults + self.nextToken = nextToken + } +} + public struct GetCapacityReservationUsageInput: Swift.Sendable { /// The ID of the Capacity Reservation. /// This member is required. @@ -63173,47 +65475,6 @@ extension EC2ClientTypes { } } -extension EC2ClientTypes { - - public enum IpamResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case eip - case eni - case ipv6Pool - case publicIpv4Pool - case subnet - case vpc - case sdkUnknown(Swift.String) - - public static var allCases: [IpamResourceType] { - return [ - .eip, - .eni, - .ipv6Pool, - .publicIpv4Pool, - .subnet, - .vpc - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .eip: return "eip" - case .eni: return "eni" - case .ipv6Pool: return "ipv6-pool" - case .publicIpv4Pool: return "public-ipv4-pool" - case .subnet: return "subnet" - case .vpc: return "vpc" - case let .sdkUnknown(s): return s - } - } - } -} - extension EC2ClientTypes { /// An IPAM discovered resource CIDR. A discovered resource is a resource CIDR monitored under a resource discovery. The following resources can be discovered: VPCs, Public IPv4 pools, VPC subnets, and Elastic IP addresses. The discovered resource CIDR is the IP address range in CIDR notation that is associated with the resource. @@ -63392,6 +65653,309 @@ public struct GetIpamPoolCidrsOutput: Swift.Sendable { } } +public struct GetIpamPrefixListResolverRulesInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// One or more filters to limit the results. + public var filters: [EC2ClientTypes.Filter]? + /// The ID of the IPAM prefix list resolver whose rules you want to retrieve. + /// This member is required. + public var ipamPrefixListResolverId: Swift.String? + /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + public var maxResults: Swift.Int? + /// The token for the next page of results. + public var nextToken: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + filters: [EC2ClientTypes.Filter]? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.dryRun = dryRun + self.filters = filters + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension EC2ClientTypes { + + /// Describes a condition within a CIDR selection rule. Conditions define the criteria for selecting CIDRs from IPAM's database based on resource attributes. CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules. There are three rule types: + /// + /// * Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions). + /// + /// * IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool). + /// + /// * Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope. + /// + /// + /// Condition availability by resource type: + /// + /// * Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions. + /// + /// * Condition available for the IPAM pool CIDR resource type: + /// + /// * Property: + /// + /// * IPAM Pool ID + /// + /// * CIDR (like 10.24.34.0/23) + /// + /// + /// + /// + /// * Operation: Equals/Not equals + /// + /// * Value: The value on which to match the condition + /// + /// + /// + /// + /// * Conditions for the Scope resource CIDR resource type: + /// + /// * Property: + /// + /// * Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0) + /// + /// * Resource type (like VPC or Subnet) + /// + /// * Resource owner (like 111122223333) + /// + /// * Resource region (like us-east-1) + /// + /// * Resource tag (like key: name, value: dev-vpc-1) + /// + /// * CIDR (like 10.24.34.0/23) + /// + /// + /// + /// + /// * Operation: Equals/Not equals + /// + /// * Value: The value on which to match the condition + /// + /// + /// + /// + /// * When setting conditions for a rule, one or more conditions is required. + public struct IpamPrefixListResolverRuleCondition: Swift.Sendable { + /// A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range. + public var cidr: Swift.String? + /// The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool. + public var ipamPoolId: Swift.String? + /// The operation to perform when evaluating this condition. Valid values include equals, not-equals, contains, and not-contains. + public var operation: EC2ClientTypes.IpamPrefixListResolverRuleConditionOperation? + /// The ID of the Amazon Web Services resource to match against. This condition selects CIDRs associated with the specified resource. + public var resourceId: Swift.String? + /// The Amazon Web Services account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account. + public var resourceOwner: Swift.String? + /// The Amazon Web Services Region where the resources are located. This condition selects CIDRs from resources in the specified Region. + public var resourceRegion: Swift.String? + /// A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag. + public var resourceTag: EC2ClientTypes.IpamResourceTag? + + public init( + cidr: Swift.String? = nil, + ipamPoolId: Swift.String? = nil, + operation: EC2ClientTypes.IpamPrefixListResolverRuleConditionOperation? = nil, + resourceId: Swift.String? = nil, + resourceOwner: Swift.String? = nil, + resourceRegion: Swift.String? = nil, + resourceTag: EC2ClientTypes.IpamResourceTag? = nil + ) { + self.cidr = cidr + self.ipamPoolId = ipamPoolId + self.operation = operation + self.resourceId = resourceId + self.resourceOwner = resourceOwner + self.resourceRegion = resourceRegion + self.resourceTag = resourceTag + } + } +} + +extension EC2ClientTypes { + + /// Describes a CIDR selection rule. CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules. + public struct IpamPrefixListResolverRule: Swift.Sendable { + /// The conditions that determine which CIDRs are selected by this rule. Conditions specify criteria such as resource type, tags, account IDs, and Regions. + public var conditions: [EC2ClientTypes.IpamPrefixListResolverRuleCondition]? + /// The ID of the IPAM scope from which to select CIDRs. This determines whether to select from public or private IP address space. + public var ipamScopeId: Swift.String? + /// For rules of type ipam-resource-cidr, this is the resource type. + public var resourceType: EC2ClientTypes.IpamResourceType? + /// The type of CIDR selection rule. Valid values include include for selecting CIDRs that match the conditions, and exclude for excluding CIDRs that match the conditions. + public var ruleType: EC2ClientTypes.IpamPrefixListResolverRuleType? + /// A fixed list of CIDRs that do not change (like a manual list replicated across Regions). + public var staticCidr: Swift.String? + + public init( + conditions: [EC2ClientTypes.IpamPrefixListResolverRuleCondition]? = nil, + ipamScopeId: Swift.String? = nil, + resourceType: EC2ClientTypes.IpamResourceType? = nil, + ruleType: EC2ClientTypes.IpamPrefixListResolverRuleType? = nil, + staticCidr: Swift.String? = nil + ) { + self.conditions = conditions + self.ipamScopeId = ipamScopeId + self.resourceType = resourceType + self.ruleType = ruleType + self.staticCidr = staticCidr + } + } +} + +public struct GetIpamPrefixListResolverRulesOutput: Swift.Sendable { + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + /// The CIDR selection rules for the IPAM prefix list resolver. + public var rules: [EC2ClientTypes.IpamPrefixListResolverRule]? + + public init( + nextToken: Swift.String? = nil, + rules: [EC2ClientTypes.IpamPrefixListResolverRule]? = nil + ) { + self.nextToken = nextToken + self.rules = rules + } +} + +public struct GetIpamPrefixListResolverVersionEntriesInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM prefix list resolver whose version entries you want to retrieve. + /// This member is required. + public var ipamPrefixListResolverId: Swift.String? + /// The version number of the resolver for which to retrieve CIDR entries. If not specified, the latest version is used. + /// This member is required. + public var ipamPrefixListResolverVersion: Swift.Int? + /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + public var maxResults: Swift.Int? + /// The token for the next page of results. + public var nextToken: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + ipamPrefixListResolverVersion: Swift.Int? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.dryRun = dryRun + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.ipamPrefixListResolverVersion = ipamPrefixListResolverVersion + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension EC2ClientTypes { + + /// Describes a CIDR entry in a specific version of an IPAM prefix list resolver. This represents a CIDR that was selected and synchronized at a particular point in time. + public struct IpamPrefixListResolverVersionEntry: Swift.Sendable { + /// The CIDR block that was selected and synchronized in this resolver version. + public var cidr: Swift.String? + + public init( + cidr: Swift.String? = nil + ) { + self.cidr = cidr + } + } +} + +public struct GetIpamPrefixListResolverVersionEntriesOutput: Swift.Sendable { + /// The CIDR entries for the specified resolver version. + public var entries: [EC2ClientTypes.IpamPrefixListResolverVersionEntry]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + entries: [EC2ClientTypes.IpamPrefixListResolverVersionEntry]? = nil, + nextToken: Swift.String? = nil + ) { + self.entries = entries + self.nextToken = nextToken + } +} + +public struct GetIpamPrefixListResolverVersionsInput: Swift.Sendable { + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// One or more filters to limit the results. + public var filters: [EC2ClientTypes.Filter]? + /// The ID of the IPAM prefix list resolver whose versions you want to retrieve. + /// This member is required. + public var ipamPrefixListResolverId: Swift.String? + /// Specific version numbers to retrieve. If not specified, all versions are returned. + public var ipamPrefixListResolverVersions: [Swift.Int]? + /// The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see [Pagination](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + public var maxResults: Swift.Int? + /// The token for the next page of results. + public var nextToken: Swift.String? + + public init( + dryRun: Swift.Bool? = nil, + filters: [EC2ClientTypes.Filter]? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + ipamPrefixListResolverVersions: [Swift.Int]? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.dryRun = dryRun + self.filters = filters + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.ipamPrefixListResolverVersions = ipamPrefixListResolverVersions + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension EC2ClientTypes { + + /// Describes a version of an IPAM prefix list resolver. Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes. Version example: Initial State (Version 1) Production environment: + /// + /// * vpc-prod-web (10.1.0.0/16) - tagged env=prod + /// + /// * vpc-prod-db (10.2.0.0/16) - tagged env=prod + /// + /// + /// Resolver rule: Include all VPCs tagged env=prod Version 1 CIDRs: 10.1.0.0/16, 10.2.0.0/16 Infrastructure Change (Version 2) New VPC added: + /// + /// * vpc-prod-api (10.3.0.0/16) - tagged env=prod + /// + /// + /// IPAM automatically detects the change and creates a new version. Version 2 CIDRs: 10.1.0.0/16, 10.2.0.0/16, 10.3.0.0/16 + public struct IpamPrefixListResolverVersion: Swift.Sendable { + /// The version number of the IPAM prefix list resolver. Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list changes due to infrastructure changes. + public var version: Swift.Int? + + public init( + version: Swift.Int? = nil + ) { + self.version = version + } + } +} + +public struct GetIpamPrefixListResolverVersionsOutput: Swift.Sendable { + /// Information about the IPAM prefix list resolver versions. + public var ipamPrefixListResolverVersions: [EC2ClientTypes.IpamPrefixListResolverVersion]? + /// The token to use to retrieve the next page of results. This value is null when there are no more results to return. + public var nextToken: Swift.String? + + public init( + ipamPrefixListResolverVersions: [EC2ClientTypes.IpamPrefixListResolverVersion]? = nil, + nextToken: Swift.String? = nil + ) { + self.ipamPrefixListResolverVersions = ipamPrefixListResolverVersions + self.nextToken = nextToken + } +} + public struct GetIpamResourceCidrsInput: Swift.Sendable { /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public var dryRun: Swift.Bool? @@ -67180,14 +69744,11 @@ public struct ModifyInstanceConnectEndpointInput: Swift.Sendable { public var instanceConnectEndpointId: Swift.String? /// The new IP address type for the EC2 Instance Connect Endpoint. PreserveClientIp is only supported on IPv4 EC2 Instance Connect Endpoints. To use PreserveClientIp, the value for IpAddressType must be ipv4. public var ipAddressType: EC2ClientTypes.IpAddressType? - /// Indicates whether the client IP address is preserved as the source. The following are the possible values. - /// - /// * true - Use the client IP address as the source. - /// - /// * false - Use the network interface IP address as the source. + /// Indicates whether the client IP address is preserved as the source when you connect to a resource. The following are the possible values. /// + /// * true - Use the IP address of the client. Your instance must have an IPv4 address. /// - /// PreserveClientIp=true is only supported on IPv4 EC2 Instance Connect Endpoints. If modifying PreserveClientIp to true, either the endpoint's existing IpAddressType must be ipv4, or if modifying IpAddressType in the same request, the new value must be ipv4. Default: false + /// * false - Use the IP address of the network interface. public var preserveClientIp: Swift.Bool? /// Changes the security groups for the EC2 Instance Connect Endpoint. The new set of groups you specify replaces the current set. You must specify at least one group, even if it's just the default security group in the VPC. You must specify the ID of the security group, not the name. public var securityGroupIds: [Swift.String]? @@ -67208,7 +69769,7 @@ public struct ModifyInstanceConnectEndpointInput: Swift.Sendable { } public struct ModifyInstanceConnectEndpointOutput: Swift.Sendable { - /// The return value of the request. Returns true if the specified product code is owned by the requester and associated with the specified instance. + /// Is true if the request succeeds and an error otherwise. public var `return`: Swift.Bool? public init( @@ -68005,6 +70566,80 @@ public struct ModifyIpamPoolOutput: Swift.Sendable { } } +public struct ModifyIpamPrefixListResolverInput: Swift.Sendable { + /// A new description for the IPAM prefix list resolver. + public var description: Swift.String? + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM prefix list resolver to modify. + /// This member is required. + public var ipamPrefixListResolverId: Swift.String? + /// The updated CIDR selection rules for the resolver. These rules replace the existing rules entirely. + public var rules: [EC2ClientTypes.IpamPrefixListResolverRuleRequest]? + + public init( + description: Swift.String? = nil, + dryRun: Swift.Bool? = nil, + ipamPrefixListResolverId: Swift.String? = nil, + rules: [EC2ClientTypes.IpamPrefixListResolverRuleRequest]? = nil + ) { + self.description = description + self.dryRun = dryRun + self.ipamPrefixListResolverId = ipamPrefixListResolverId + self.rules = rules + } +} + +public struct ModifyIpamPrefixListResolverOutput: Swift.Sendable { + /// Information about the modified IPAM prefix list resolver. + public var ipamPrefixListResolver: EC2ClientTypes.IpamPrefixListResolver? + + public init( + ipamPrefixListResolver: EC2ClientTypes.IpamPrefixListResolver? = nil + ) { + self.ipamPrefixListResolver = ipamPrefixListResolver + } +} + +public struct ModifyIpamPrefixListResolverTargetInput: Swift.Sendable { + /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/ec2/latest/devguide/ec2-api-idempotency.html). + public var clientToken: Swift.String? + /// The desired version of the prefix list to target. This allows you to pin the target to a specific version. + public var desiredVersion: Swift.Int? + /// A check for whether you have the required permissions for the action without actually making the request and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// The ID of the IPAM prefix list resolver target to modify. + /// This member is required. + public var ipamPrefixListResolverTargetId: Swift.String? + /// Indicates whether the resolver target should automatically track the latest version of the prefix list. When enabled, the target will always synchronize with the most current version. Choose this for automatic updates when you want your prefix lists to stay current with infrastructure changes without manual intervention. + public var trackLatestVersion: Swift.Bool? + + public init( + clientToken: Swift.String? = nil, + desiredVersion: Swift.Int? = nil, + dryRun: Swift.Bool? = nil, + ipamPrefixListResolverTargetId: Swift.String? = nil, + trackLatestVersion: Swift.Bool? = nil + ) { + self.clientToken = clientToken + self.desiredVersion = desiredVersion + self.dryRun = dryRun + self.ipamPrefixListResolverTargetId = ipamPrefixListResolverTargetId + self.trackLatestVersion = trackLatestVersion + } +} + +public struct ModifyIpamPrefixListResolverTargetOutput: Swift.Sendable { + /// Information about the modified IPAM prefix list resolver target. + public var ipamPrefixListResolverTarget: EC2ClientTypes.IpamPrefixListResolverTarget? + + public init( + ipamPrefixListResolverTarget: EC2ClientTypes.IpamPrefixListResolverTarget? = nil + ) { + self.ipamPrefixListResolverTarget = ipamPrefixListResolverTarget + } +} + public struct ModifyIpamResourceCidrInput: Swift.Sendable { /// The ID of the current scope that the resource CIDR is in. /// This member is required. @@ -68276,6 +70911,8 @@ public struct ModifyManagedPrefixListInput: Swift.Sendable { public var currentVersion: Swift.Int? /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. public var dryRun: Swift.Bool? + /// Indicates whether synchronization with an IPAM prefix list resolver should be enabled for this managed prefix list. When enabled, the prefix list CIDRs are automatically updated based on the associated resolver's CIDR selection rules. + public var ipamPrefixListResolverSyncEnabled: Swift.Bool? /// The maximum number of entries for the prefix list. You cannot modify the entries of a prefix list and modify the size of a prefix list at the same time. If any of the resources that reference the prefix list cannot support the new maximum size, the modify operation fails. Check the state message for the IDs of the first ten resources that do not support the new maximum size. public var maxEntries: Swift.Int? /// The ID of the prefix list. @@ -68290,6 +70927,7 @@ public struct ModifyManagedPrefixListInput: Swift.Sendable { addEntries: [EC2ClientTypes.AddPrefixListEntry]? = nil, currentVersion: Swift.Int? = nil, dryRun: Swift.Bool? = nil, + ipamPrefixListResolverSyncEnabled: Swift.Bool? = nil, maxEntries: Swift.Int? = nil, prefixListId: Swift.String? = nil, prefixListName: Swift.String? = nil, @@ -68298,6 +70936,7 @@ public struct ModifyManagedPrefixListInput: Swift.Sendable { self.addEntries = addEntries self.currentVersion = currentVersion self.dryRun = dryRun + self.ipamPrefixListResolverSyncEnabled = ipamPrefixListResolverSyncEnabled self.maxEntries = maxEntries self.prefixListId = prefixListId self.prefixListName = prefixListName @@ -69981,7 +72620,7 @@ public struct ModifyVolumeInput: Swift.Sendable { /// * io2: 100 - 256,000 IOPS /// /// - /// For io2 volumes, you can achieve up to 256,000 IOPS on [instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html). On other instances, you can achieve performance up to 32,000 IOPS. Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000. + /// [Instances built on the Nitro System](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) can support up to 256,000 IOPS. Other instances can support up to 32,000 IOPS. Default: The existing value is retained if you keep the same volume type. If you change the volume type to io1, io2, or gp3, the default is 3,000. public var iops: Swift.Int? /// Specifies whether to enable Amazon EBS Multi-Attach. If you enable Multi-Attach, you can attach the volume to up to 16 [ Nitro-based instances](https://docs.aws.amazon.com/ec2/latest/instancetypes/ec2-nitro-instances.html) in the same Availability Zone. This parameter is supported with io1 and io2 volumes only. For more information, see [ Amazon EBS Multi-Attach](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-multi.html) in the Amazon EBS User Guide. public var multiAttachEnabled: Swift.Bool? @@ -75079,6 +77718,41 @@ public struct UnmonitorInstancesOutput: Swift.Sendable { } } +public struct UpdateCapacityManagerOrganizationsAccessInput: Swift.Sendable { + /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. + public var clientToken: Swift.String? + /// Checks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation. + public var dryRun: Swift.Bool? + /// Specifies whether to enable or disable cross-account access for Amazon Web Services Organizations. When enabled, Capacity Manager aggregates data from all accounts in your organization. + /// This member is required. + public var organizationsAccess: Swift.Bool? + + public init( + clientToken: Swift.String? = nil, + dryRun: Swift.Bool? = nil, + organizationsAccess: Swift.Bool? = nil + ) { + self.clientToken = clientToken + self.dryRun = dryRun + self.organizationsAccess = organizationsAccess + } +} + +public struct UpdateCapacityManagerOrganizationsAccessOutput: Swift.Sendable { + /// The current status of Capacity Manager after the update operation. + public var capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? + /// The updated Organizations access setting indicating whether cross-account data aggregation is enabled. + public var organizationsAccess: Swift.Bool? + + public init( + capacityManagerStatus: EC2ClientTypes.CapacityManagerStatus? = nil, + organizationsAccess: Swift.Bool? = nil + ) { + self.capacityManagerStatus = capacityManagerStatus + self.organizationsAccess = organizationsAccess + } +} + extension EC2ClientTypes { /// Describes the description of a security group rule. You can use this when you want to update the security group rule description for either an inbound or outbound rule. @@ -75621,6 +78295,20 @@ extension CopySnapshotInput { } } +extension CopyVolumesInput { + + static func urlPathProvider(_ value: CopyVolumesInput) -> Swift.String? { + return "/" + } +} + +extension CreateCapacityManagerDataExportInput { + + static func urlPathProvider(_ value: CreateCapacityManagerDataExportInput) -> Swift.String? { + return "/" + } +} + extension CreateCapacityReservationInput { static func urlPathProvider(_ value: CreateCapacityReservationInput) -> Swift.String? { @@ -75803,6 +78491,20 @@ extension CreateIpamPoolInput { } } +extension CreateIpamPrefixListResolverInput { + + static func urlPathProvider(_ value: CreateIpamPrefixListResolverInput) -> Swift.String? { + return "/" + } +} + +extension CreateIpamPrefixListResolverTargetInput { + + static func urlPathProvider(_ value: CreateIpamPrefixListResolverTargetInput) -> Swift.String? { + return "/" + } +} + extension CreateIpamResourceDiscoveryInput { static func urlPathProvider(_ value: CreateIpamResourceDiscoveryInput) -> Swift.String? { @@ -76272,6 +78974,13 @@ extension CreateVpnGatewayInput { } } +extension DeleteCapacityManagerDataExportInput { + + static func urlPathProvider(_ value: DeleteCapacityManagerDataExportInput) -> Swift.String? { + return "/" + } +} + extension DeleteCarrierGatewayInput { static func urlPathProvider(_ value: DeleteCarrierGatewayInput) -> Swift.String? { @@ -76398,6 +79107,20 @@ extension DeleteIpamPoolInput { } } +extension DeleteIpamPrefixListResolverInput { + + static func urlPathProvider(_ value: DeleteIpamPrefixListResolverInput) -> Swift.String? { + return "/" + } +} + +extension DeleteIpamPrefixListResolverTargetInput { + + static func urlPathProvider(_ value: DeleteIpamPrefixListResolverTargetInput) -> Swift.String? { + return "/" + } +} + extension DeleteIpamResourceDiscoveryInput { static func urlPathProvider(_ value: DeleteIpamResourceDiscoveryInput) -> Swift.String? { @@ -77000,6 +79723,13 @@ extension DescribeCapacityBlockStatusInput { } } +extension DescribeCapacityManagerDataExportsInput { + + static func urlPathProvider(_ value: DescribeCapacityManagerDataExportsInput) -> Swift.String? { + return "/" + } +} + extension DescribeCapacityReservationBillingRequestsInput { static func urlPathProvider(_ value: DescribeCapacityReservationBillingRequestsInput) -> Swift.String? { @@ -77021,6 +79751,13 @@ extension DescribeCapacityReservationsInput { } } +extension DescribeCapacityReservationTopologyInput { + + static func urlPathProvider(_ value: DescribeCapacityReservationTopologyInput) -> Swift.String? { + return "/" + } +} + extension DescribeCarrierGatewaysInput { static func urlPathProvider(_ value: DescribeCarrierGatewaysInput) -> Swift.String? { @@ -77385,6 +80122,20 @@ extension DescribeIpamPoolsInput { } } +extension DescribeIpamPrefixListResolversInput { + + static func urlPathProvider(_ value: DescribeIpamPrefixListResolversInput) -> Swift.String? { + return "/" + } +} + +extension DescribeIpamPrefixListResolverTargetsInput { + + static func urlPathProvider(_ value: DescribeIpamPrefixListResolverTargetsInput) -> Swift.String? { + return "/" + } +} + extension DescribeIpamResourceDiscoveriesInput { static func urlPathProvider(_ value: DescribeIpamResourceDiscoveriesInput) -> Swift.String? { @@ -78169,6 +80920,13 @@ extension DisableAwsNetworkPerformanceMetricSubscriptionInput { } } +extension DisableCapacityManagerInput { + + static func urlPathProvider(_ value: DisableCapacityManagerInput) -> Swift.String? { + return "/" + } +} + extension DisableEbsEncryptionByDefaultInput { static func urlPathProvider(_ value: DisableEbsEncryptionByDefaultInput) -> Swift.String? { @@ -78421,6 +81179,13 @@ extension EnableAwsNetworkPerformanceMetricSubscriptionInput { } } +extension EnableCapacityManagerInput { + + static func urlPathProvider(_ value: EnableCapacityManagerInput) -> Swift.String? { + return "/" + } +} + extension EnableEbsEncryptionByDefaultInput { static func urlPathProvider(_ value: EnableEbsEncryptionByDefaultInput) -> Swift.String? { @@ -78610,6 +81375,27 @@ extension GetAwsNetworkPerformanceDataInput { } } +extension GetCapacityManagerAttributesInput { + + static func urlPathProvider(_ value: GetCapacityManagerAttributesInput) -> Swift.String? { + return "/" + } +} + +extension GetCapacityManagerMetricDataInput { + + static func urlPathProvider(_ value: GetCapacityManagerMetricDataInput) -> Swift.String? { + return "/" + } +} + +extension GetCapacityManagerMetricDimensionsInput { + + static func urlPathProvider(_ value: GetCapacityManagerMetricDimensionsInput) -> Swift.String? { + return "/" + } +} + extension GetCapacityReservationUsageInput { static func urlPathProvider(_ value: GetCapacityReservationUsageInput) -> Swift.String? { @@ -78764,6 +81550,27 @@ extension GetIpamPoolCidrsInput { } } +extension GetIpamPrefixListResolverRulesInput { + + static func urlPathProvider(_ value: GetIpamPrefixListResolverRulesInput) -> Swift.String? { + return "/" + } +} + +extension GetIpamPrefixListResolverVersionEntriesInput { + + static func urlPathProvider(_ value: GetIpamPrefixListResolverVersionEntriesInput) -> Swift.String? { + return "/" + } +} + +extension GetIpamPrefixListResolverVersionsInput { + + static func urlPathProvider(_ value: GetIpamPrefixListResolverVersionsInput) -> Swift.String? { + return "/" + } +} + extension GetIpamResourceCidrsInput { static func urlPathProvider(_ value: GetIpamResourceCidrsInput) -> Swift.String? { @@ -79219,6 +82026,20 @@ extension ModifyIpamPoolInput { } } +extension ModifyIpamPrefixListResolverInput { + + static func urlPathProvider(_ value: ModifyIpamPrefixListResolverInput) -> Swift.String? { + return "/" + } +} + +extension ModifyIpamPrefixListResolverTargetInput { + + static func urlPathProvider(_ value: ModifyIpamPrefixListResolverTargetInput) -> Swift.String? { + return "/" + } +} + extension ModifyIpamResourceCidrInput { static func urlPathProvider(_ value: ModifyIpamResourceCidrInput) -> Swift.String? { @@ -80038,6 +82859,13 @@ extension UnmonitorInstancesInput { } } +extension UpdateCapacityManagerOrganizationsAccessInput { + + static func urlPathProvider(_ value: UpdateCapacityManagerOrganizationsAccessInput) -> Swift.String? { + return "/" + } +} + extension UpdateSecurityGroupRuleDescriptionsEgressInput { static func urlPathProvider(_ value: UpdateSecurityGroupRuleDescriptionsEgressInput) -> Swift.String? { @@ -80924,6 +83752,44 @@ extension CopySnapshotInput { } } +extension CopyVolumesInput { + + static func write(value: CopyVolumesInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DryRun"].write(value.dryRun) + try writer["Iops"].write(value.iops) + try writer["MultiAttachEnabled"].write(value.multiAttachEnabled) + try writer["Size"].write(value.size) + try writer["SourceVolumeId"].write(value.sourceVolumeId) + if !(value.tagSpecifications?.isEmpty ?? true) { + try writer["TagSpecification"].writeList(value.tagSpecifications, memberWritingClosure: EC2ClientTypes.TagSpecification.write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["Throughput"].write(value.throughput) + try writer["VolumeType"].write(value.volumeType) + try writer["Action"].write("CopyVolumes") + try writer["Version"].write("2016-11-15") + } +} + +extension CreateCapacityManagerDataExportInput { + + static func write(value: CreateCapacityManagerDataExportInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DryRun"].write(value.dryRun) + try writer["OutputFormat"].write(value.outputFormat) + try writer["S3BucketName"].write(value.s3BucketName) + try writer["S3BucketPrefix"].write(value.s3BucketPrefix) + try writer["Schedule"].write(value.schedule) + if !(value.tagSpecifications?.isEmpty ?? true) { + try writer["TagSpecification"].writeList(value.tagSpecifications, memberWritingClosure: EC2ClientTypes.TagSpecification.write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["Action"].write("CreateCapacityManagerDataExport") + try writer["Version"].write("2016-11-15") + } +} + extension CreateCapacityReservationInput { static func write(value: CreateCapacityReservationInput?, to writer: SmithyFormURL.Writer) throws { @@ -81424,6 +84290,45 @@ extension CreateIpamPoolInput { } } +extension CreateIpamPrefixListResolverInput { + + static func write(value: CreateIpamPrefixListResolverInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["AddressFamily"].write(value.addressFamily) + try writer["ClientToken"].write(value.clientToken) + try writer["Description"].write(value.description) + try writer["DryRun"].write(value.dryRun) + try writer["IpamId"].write(value.ipamId) + if !(value.rules?.isEmpty ?? true) { + try writer["Rule"].writeList(value.rules, memberWritingClosure: EC2ClientTypes.IpamPrefixListResolverRuleRequest.write(value:to:), memberNodeInfo: "Rule", isFlattened: true) + } + if !(value.tagSpecifications?.isEmpty ?? true) { + try writer["TagSpecification"].writeList(value.tagSpecifications, memberWritingClosure: EC2ClientTypes.TagSpecification.write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["Action"].write("CreateIpamPrefixListResolver") + try writer["Version"].write("2016-11-15") + } +} + +extension CreateIpamPrefixListResolverTargetInput { + + static func write(value: CreateIpamPrefixListResolverTargetInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DesiredVersion"].write(value.desiredVersion) + try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + try writer["PrefixListId"].write(value.prefixListId) + try writer["PrefixListRegion"].write(value.prefixListRegion) + if !(value.tagSpecifications?.isEmpty ?? true) { + try writer["TagSpecification"].writeList(value.tagSpecifications, memberWritingClosure: EC2ClientTypes.TagSpecification.write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["TrackLatestVersion"].write(value.trackLatestVersion) + try writer["Action"].write("CreateIpamPrefixListResolverTarget") + try writer["Version"].write("2016-11-15") + } +} + extension CreateIpamResourceDiscoveryInput { static func write(value: CreateIpamResourceDiscoveryInput?, to writer: SmithyFormURL.Writer) throws { @@ -82654,6 +85559,17 @@ extension CreateVpnGatewayInput { } } +extension DeleteCapacityManagerDataExportInput { + + static func write(value: DeleteCapacityManagerDataExportInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["CapacityManagerDataExportId"].write(value.capacityManagerDataExportId) + try writer["DryRun"].write(value.dryRun) + try writer["Action"].write("DeleteCapacityManagerDataExport") + try writer["Version"].write("2016-11-15") + } +} + extension DeleteCarrierGatewayInput { static func write(value: DeleteCarrierGatewayInput?, to writer: SmithyFormURL.Writer) throws { @@ -82863,6 +85779,28 @@ extension DeleteIpamPoolInput { } } +extension DeleteIpamPrefixListResolverInput { + + static func write(value: DeleteIpamPrefixListResolverInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + try writer["Action"].write("DeleteIpamPrefixListResolver") + try writer["Version"].write("2016-11-15") + } +} + +extension DeleteIpamPrefixListResolverTargetInput { + + static func write(value: DeleteIpamPrefixListResolverTargetInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverTargetId"].write(value.ipamPrefixListResolverTargetId) + try writer["Action"].write("DeleteIpamPrefixListResolverTarget") + try writer["Version"].write("2016-11-15") + } +} + extension DeleteIpamResourceDiscoveryInput { static func write(value: DeleteIpamResourceDiscoveryInput?, to writer: SmithyFormURL.Writer) throws { @@ -83924,6 +86862,24 @@ extension DescribeCapacityBlockStatusInput { } } +extension DescribeCapacityManagerDataExportsInput { + + static func write(value: DescribeCapacityManagerDataExportsInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + if !(value.capacityManagerDataExportIds?.isEmpty ?? true) { + try writer["CapacityManagerDataExportId"].writeList(value.capacityManagerDataExportIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["DryRun"].write(value.dryRun) + if !(value.filters?.isEmpty ?? true) { + try writer["Filter"].writeList(value.filters, memberWritingClosure: EC2ClientTypes.Filter.write(value:to:), memberNodeInfo: "Filter", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("DescribeCapacityManagerDataExports") + try writer["Version"].write("2016-11-15") + } +} + extension DescribeCapacityReservationBillingRequestsInput { static func write(value: DescribeCapacityReservationBillingRequestsInput?, to writer: SmithyFormURL.Writer) throws { @@ -83979,6 +86935,24 @@ extension DescribeCapacityReservationsInput { } } +extension DescribeCapacityReservationTopologyInput { + + static func write(value: DescribeCapacityReservationTopologyInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + if !(value.capacityReservationIds?.isEmpty ?? true) { + try writer["CapacityReservationId"].writeList(value.capacityReservationIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["DryRun"].write(value.dryRun) + if !(value.filters?.isEmpty ?? true) { + try writer["Filter"].writeList(value.filters, memberWritingClosure: EC2ClientTypes.Filter.write(value:to:), memberNodeInfo: "Filter", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("DescribeCapacityReservationTopology") + try writer["Version"].write("2016-11-15") + } +} + extension DescribeCarrierGatewaysInput { static func write(value: DescribeCarrierGatewaysInput?, to writer: SmithyFormURL.Writer) throws { @@ -84858,6 +87832,43 @@ extension DescribeIpamPoolsInput { } } +extension DescribeIpamPrefixListResolversInput { + + static func write(value: DescribeIpamPrefixListResolversInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + if !(value.filters?.isEmpty ?? true) { + try writer["Filter"].writeList(value.filters, memberWritingClosure: EC2ClientTypes.Filter.write(value:to:), memberNodeInfo: "Filter", isFlattened: true) + } + if !(value.ipamPrefixListResolverIds?.isEmpty ?? true) { + try writer["IpamPrefixListResolverId"].writeList(value.ipamPrefixListResolverIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("DescribeIpamPrefixListResolvers") + try writer["Version"].write("2016-11-15") + } +} + +extension DescribeIpamPrefixListResolverTargetsInput { + + static func write(value: DescribeIpamPrefixListResolverTargetsInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + if !(value.filters?.isEmpty ?? true) { + try writer["Filter"].writeList(value.filters, memberWritingClosure: EC2ClientTypes.Filter.write(value:to:), memberNodeInfo: "Filter", isFlattened: true) + } + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + if !(value.ipamPrefixListResolverTargetIds?.isEmpty ?? true) { + try writer["IpamPrefixListResolverTargetId"].writeList(value.ipamPrefixListResolverTargetIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("DescribeIpamPrefixListResolverTargets") + try writer["Version"].write("2016-11-15") + } +} + extension DescribeIpamResourceDiscoveriesInput { static func write(value: DescribeIpamResourceDiscoveriesInput?, to writer: SmithyFormURL.Writer) throws { @@ -86775,6 +89786,17 @@ extension DisableAwsNetworkPerformanceMetricSubscriptionInput { } } +extension DisableCapacityManagerInput { + + static func write(value: DisableCapacityManagerInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DryRun"].write(value.dryRun) + try writer["Action"].write("DisableCapacityManager") + try writer["Version"].write("2016-11-15") + } +} + extension DisableEbsEncryptionByDefaultInput { static func write(value: DisableEbsEncryptionByDefaultInput?, to writer: SmithyFormURL.Writer) throws { @@ -87196,6 +90218,18 @@ extension EnableAwsNetworkPerformanceMetricSubscriptionInput { } } +extension EnableCapacityManagerInput { + + static func write(value: EnableCapacityManagerInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DryRun"].write(value.dryRun) + try writer["OrganizationsAccess"].write(value.organizationsAccess) + try writer["Action"].write("EnableCapacityManager") + try writer["Version"].write("2016-11-15") + } +} + extension EnableEbsEncryptionByDefaultInput { static func write(value: EnableEbsEncryptionByDefaultInput?, to writer: SmithyFormURL.Writer) throws { @@ -87524,6 +90558,63 @@ extension GetAwsNetworkPerformanceDataInput { } } +extension GetCapacityManagerAttributesInput { + + static func write(value: GetCapacityManagerAttributesInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + try writer["Action"].write("GetCapacityManagerAttributes") + try writer["Version"].write("2016-11-15") + } +} + +extension GetCapacityManagerMetricDataInput { + + static func write(value: GetCapacityManagerMetricDataInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + try writer["EndTime"].writeTimestamp(value.endTime, format: SmithyTimestamps.TimestampFormat.dateTime) + if !(value.filterBy?.isEmpty ?? true) { + try writer["FilterBy"].writeList(value.filterBy, memberWritingClosure: EC2ClientTypes.CapacityManagerCondition.write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + if !(value.groupBy?.isEmpty ?? true) { + try writer["GroupBy"].writeList(value.groupBy, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + if !(value.metricNames?.isEmpty ?? true) { + try writer["MetricName"].writeList(value.metricNames, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["NextToken"].write(value.nextToken) + try writer["Period"].write(value.period) + try writer["StartTime"].writeTimestamp(value.startTime, format: SmithyTimestamps.TimestampFormat.dateTime) + try writer["Action"].write("GetCapacityManagerMetricData") + try writer["Version"].write("2016-11-15") + } +} + +extension GetCapacityManagerMetricDimensionsInput { + + static func write(value: GetCapacityManagerMetricDimensionsInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + try writer["EndTime"].writeTimestamp(value.endTime, format: SmithyTimestamps.TimestampFormat.dateTime) + if !(value.filterBy?.isEmpty ?? true) { + try writer["FilterBy"].writeList(value.filterBy, memberWritingClosure: EC2ClientTypes.CapacityManagerCondition.write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + if !(value.groupBy?.isEmpty ?? true) { + try writer["GroupBy"].writeList(value.groupBy, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + if !(value.metricNames?.isEmpty ?? true) { + try writer["MetricName"].writeList(value.metricNames, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["NextToken"].write(value.nextToken) + try writer["StartTime"].writeTimestamp(value.startTime, format: SmithyTimestamps.TimestampFormat.dateTime) + try writer["Action"].write("GetCapacityManagerMetricDimensions") + try writer["Version"].write("2016-11-15") + } +} + extension GetCapacityReservationUsageInput { static func write(value: GetCapacityReservationUsageInput?, to writer: SmithyFormURL.Writer) throws { @@ -87823,6 +90914,55 @@ extension GetIpamPoolCidrsInput { } } +extension GetIpamPrefixListResolverRulesInput { + + static func write(value: GetIpamPrefixListResolverRulesInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + if !(value.filters?.isEmpty ?? true) { + try writer["Filter"].writeList(value.filters, memberWritingClosure: EC2ClientTypes.Filter.write(value:to:), memberNodeInfo: "Filter", isFlattened: true) + } + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("GetIpamPrefixListResolverRules") + try writer["Version"].write("2016-11-15") + } +} + +extension GetIpamPrefixListResolverVersionEntriesInput { + + static func write(value: GetIpamPrefixListResolverVersionEntriesInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + try writer["IpamPrefixListResolverVersion"].write(value.ipamPrefixListResolverVersion) + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("GetIpamPrefixListResolverVersionEntries") + try writer["Version"].write("2016-11-15") + } +} + +extension GetIpamPrefixListResolverVersionsInput { + + static func write(value: GetIpamPrefixListResolverVersionsInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DryRun"].write(value.dryRun) + if !(value.filters?.isEmpty ?? true) { + try writer["Filter"].writeList(value.filters, memberWritingClosure: EC2ClientTypes.Filter.write(value:to:), memberNodeInfo: "Filter", isFlattened: true) + } + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + if !(value.ipamPrefixListResolverVersions?.isEmpty ?? true) { + try writer["IpamPrefixListResolverVersion"].writeList(value.ipamPrefixListResolverVersions, memberWritingClosure: SmithyReadWrite.WritingClosures.writeInt(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + try writer["MaxResults"].write(value.maxResults) + try writer["NextToken"].write(value.nextToken) + try writer["Action"].write("GetIpamPrefixListResolverVersions") + try writer["Version"].write("2016-11-15") + } +} + extension GetIpamResourceCidrsInput { static func write(value: GetIpamResourceCidrsInput?, to writer: SmithyFormURL.Writer) throws { @@ -88834,6 +91974,35 @@ extension ModifyIpamPoolInput { } } +extension ModifyIpamPrefixListResolverInput { + + static func write(value: ModifyIpamPrefixListResolverInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Description"].write(value.description) + try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverId"].write(value.ipamPrefixListResolverId) + if !(value.rules?.isEmpty ?? true) { + try writer["Rule"].writeList(value.rules, memberWritingClosure: EC2ClientTypes.IpamPrefixListResolverRuleRequest.write(value:to:), memberNodeInfo: "Rule", isFlattened: true) + } + try writer["Action"].write("ModifyIpamPrefixListResolver") + try writer["Version"].write("2016-11-15") + } +} + +extension ModifyIpamPrefixListResolverTargetInput { + + static func write(value: ModifyIpamPrefixListResolverTargetInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DesiredVersion"].write(value.desiredVersion) + try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverTargetId"].write(value.ipamPrefixListResolverTargetId) + try writer["TrackLatestVersion"].write(value.trackLatestVersion) + try writer["Action"].write("ModifyIpamPrefixListResolverTarget") + try writer["Version"].write("2016-11-15") + } +} + extension ModifyIpamResourceCidrInput { static func write(value: ModifyIpamResourceCidrInput?, to writer: SmithyFormURL.Writer) throws { @@ -88924,6 +92093,7 @@ extension ModifyManagedPrefixListInput { } try writer["CurrentVersion"].write(value.currentVersion) try writer["DryRun"].write(value.dryRun) + try writer["IpamPrefixListResolverSyncEnabled"].write(value.ipamPrefixListResolverSyncEnabled) try writer["MaxEntries"].write(value.maxEntries) try writer["PrefixListId"].write(value.prefixListId) try writer["PrefixListName"].write(value.prefixListName) @@ -90668,6 +93838,18 @@ extension UnmonitorInstancesInput { } } +extension UpdateCapacityManagerOrganizationsAccessInput { + + static func write(value: UpdateCapacityManagerOrganizationsAccessInput?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["ClientToken"].write(value.clientToken) + try writer["DryRun"].write(value.dryRun) + try writer["OrganizationsAccess"].write(value.organizationsAccess) + try writer["Action"].write("UpdateCapacityManagerOrganizationsAccess") + try writer["Version"].write("2016-11-15") + } +} + extension UpdateSecurityGroupRuleDescriptionsEgressInput { static func write(value: UpdateSecurityGroupRuleDescriptionsEgressInput?, to writer: SmithyFormURL.Writer) throws { @@ -91453,6 +94635,30 @@ extension CopySnapshotOutput { } } +extension CopyVolumesOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CopyVolumesOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = CopyVolumesOutput() + value.volumes = try reader["volumeSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Volume.read(from:), memberNodeInfo: "item", isFlattened: false) + return value + } +} + +extension CreateCapacityManagerDataExportOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateCapacityManagerDataExportOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = CreateCapacityManagerDataExportOutput() + value.capacityManagerDataExportId = try reader["capacityManagerDataExportId"].readIfPresent() + return value + } +} + extension CreateCapacityReservationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateCapacityReservationOutput { @@ -91786,6 +94992,30 @@ extension CreateIpamPoolOutput { } } +extension CreateIpamPrefixListResolverOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateIpamPrefixListResolverOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = CreateIpamPrefixListResolverOutput() + value.ipamPrefixListResolver = try reader["ipamPrefixListResolver"].readIfPresent(with: EC2ClientTypes.IpamPrefixListResolver.read(from:)) + return value + } +} + +extension CreateIpamPrefixListResolverTargetOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateIpamPrefixListResolverTargetOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = CreateIpamPrefixListResolverTargetOutput() + value.ipamPrefixListResolverTarget = try reader["ipamPrefixListResolverTarget"].readIfPresent(with: EC2ClientTypes.IpamPrefixListResolverTarget.read(from:)) + return value + } +} + extension CreateIpamResourceDiscoveryOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateIpamResourceDiscoveryOutput { @@ -92519,6 +95749,7 @@ extension CreateVolumeOutput { value.outpostArn = try reader["outpostArn"].readIfPresent() value.size = try reader["size"].readIfPresent() value.snapshotId = try reader["snapshotId"].readIfPresent() + value.sourceVolumeId = try reader["sourceVolumeId"].readIfPresent() value.sseType = try reader["sseType"].readIfPresent() value.state = try reader["status"].readIfPresent() value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) @@ -92636,6 +95867,18 @@ extension CreateVpnGatewayOutput { } } +extension DeleteCapacityManagerDataExportOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteCapacityManagerDataExportOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DeleteCapacityManagerDataExportOutput() + value.capacityManagerDataExportId = try reader["capacityManagerDataExportId"].readIfPresent() + return value + } +} + extension DeleteCarrierGatewayOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteCarrierGatewayOutput { @@ -92838,6 +96081,30 @@ extension DeleteIpamPoolOutput { } } +extension DeleteIpamPrefixListResolverOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteIpamPrefixListResolverOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DeleteIpamPrefixListResolverOutput() + value.ipamPrefixListResolver = try reader["ipamPrefixListResolver"].readIfPresent(with: EC2ClientTypes.IpamPrefixListResolver.read(from:)) + return value + } +} + +extension DeleteIpamPrefixListResolverTargetOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteIpamPrefixListResolverTargetOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DeleteIpamPrefixListResolverTargetOutput() + value.ipamPrefixListResolverTarget = try reader["ipamPrefixListResolverTarget"].readIfPresent(with: EC2ClientTypes.IpamPrefixListResolverTarget.read(from:)) + return value + } +} + extension DeleteIpamResourceDiscoveryOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteIpamResourceDiscoveryOutput { @@ -93811,6 +97078,19 @@ extension DescribeCapacityBlockStatusOutput { } } +extension DescribeCapacityManagerDataExportsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeCapacityManagerDataExportsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DescribeCapacityManagerDataExportsOutput() + value.capacityManagerDataExports = try reader["capacityManagerDataExportSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.CapacityManagerDataExportResponse.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension DescribeCapacityReservationBillingRequestsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeCapacityReservationBillingRequestsOutput { @@ -93850,6 +97130,19 @@ extension DescribeCapacityReservationsOutput { } } +extension DescribeCapacityReservationTopologyOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeCapacityReservationTopologyOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DescribeCapacityReservationTopologyOutput() + value.capacityReservations = try reader["capacityReservationSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.CapacityReservationTopology.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension DescribeCarrierGatewaysOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeCarrierGatewaysOutput { @@ -94551,6 +97844,32 @@ extension DescribeIpamPoolsOutput { } } +extension DescribeIpamPrefixListResolversOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeIpamPrefixListResolversOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DescribeIpamPrefixListResolversOutput() + value.ipamPrefixListResolvers = try reader["ipamPrefixListResolverSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.IpamPrefixListResolver.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + +extension DescribeIpamPrefixListResolverTargetsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeIpamPrefixListResolverTargetsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DescribeIpamPrefixListResolverTargetsOutput() + value.ipamPrefixListResolverTargets = try reader["ipamPrefixListResolverTargetSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.IpamPrefixListResolverTarget.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension DescribeIpamResourceDiscoveriesOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeIpamResourceDiscoveriesOutput { @@ -95993,6 +99312,19 @@ extension DisableAwsNetworkPerformanceMetricSubscriptionOutput { } } +extension DisableCapacityManagerOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DisableCapacityManagerOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = DisableCapacityManagerOutput() + value.capacityManagerStatus = try reader["capacityManagerStatus"].readIfPresent() + value.organizationsAccess = try reader["organizationsAccess"].readIfPresent() + return value + } +} + extension DisableEbsEncryptionByDefaultOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DisableEbsEncryptionByDefaultOutput { @@ -96425,6 +99757,19 @@ extension EnableAwsNetworkPerformanceMetricSubscriptionOutput { } } +extension EnableCapacityManagerOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> EnableCapacityManagerOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = EnableCapacityManagerOutput() + value.capacityManagerStatus = try reader["capacityManagerStatus"].readIfPresent() + value.organizationsAccess = try reader["organizationsAccess"].readIfPresent() + return value + } +} + extension EnableEbsEncryptionByDefaultOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> EnableEbsEncryptionByDefaultOutput { @@ -96767,6 +100112,50 @@ extension GetAwsNetworkPerformanceDataOutput { } } +extension GetCapacityManagerAttributesOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetCapacityManagerAttributesOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = GetCapacityManagerAttributesOutput() + value.capacityManagerStatus = try reader["capacityManagerStatus"].readIfPresent() + value.dataExportCount = try reader["dataExportCount"].readIfPresent() + value.earliestDatapointTimestamp = try reader["earliestDatapointTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.ingestionStatus = try reader["ingestionStatus"].readIfPresent() + value.ingestionStatusMessage = try reader["ingestionStatusMessage"].readIfPresent() + value.latestDatapointTimestamp = try reader["latestDatapointTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.organizationsAccess = try reader["organizationsAccess"].readIfPresent() + return value + } +} + +extension GetCapacityManagerMetricDataOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetCapacityManagerMetricDataOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = GetCapacityManagerMetricDataOutput() + value.metricDataResults = try reader["metricDataResultSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.MetricDataResult.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + +extension GetCapacityManagerMetricDimensionsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetCapacityManagerMetricDimensionsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = GetCapacityManagerMetricDimensionsOutput() + value.metricDimensionResults = try reader["metricDimensionResultSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.CapacityManagerDimension.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension GetCapacityReservationUsageOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetCapacityReservationUsageOutput { @@ -97069,6 +100458,45 @@ extension GetIpamPoolCidrsOutput { } } +extension GetIpamPrefixListResolverRulesOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetIpamPrefixListResolverRulesOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = GetIpamPrefixListResolverRulesOutput() + value.nextToken = try reader["nextToken"].readIfPresent() + value.rules = try reader["ruleSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.IpamPrefixListResolverRule.read(from:), memberNodeInfo: "item", isFlattened: false) + return value + } +} + +extension GetIpamPrefixListResolverVersionEntriesOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetIpamPrefixListResolverVersionEntriesOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = GetIpamPrefixListResolverVersionEntriesOutput() + value.entries = try reader["entrySet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.IpamPrefixListResolverVersionEntry.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + +extension GetIpamPrefixListResolverVersionsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetIpamPrefixListResolverVersionsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = GetIpamPrefixListResolverVersionsOutput() + value.ipamPrefixListResolverVersions = try reader["ipamPrefixListResolverVersionSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.IpamPrefixListResolverVersion.read(from:), memberNodeInfo: "item", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension GetIpamResourceCidrsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetIpamResourceCidrsOutput { @@ -97906,6 +101334,30 @@ extension ModifyIpamPoolOutput { } } +extension ModifyIpamPrefixListResolverOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ModifyIpamPrefixListResolverOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = ModifyIpamPrefixListResolverOutput() + value.ipamPrefixListResolver = try reader["ipamPrefixListResolver"].readIfPresent(with: EC2ClientTypes.IpamPrefixListResolver.read(from:)) + return value + } +} + +extension ModifyIpamPrefixListResolverTargetOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ModifyIpamPrefixListResolverTargetOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = ModifyIpamPrefixListResolverTargetOutput() + value.ipamPrefixListResolverTarget = try reader["ipamPrefixListResolverTarget"].readIfPresent(with: EC2ClientTypes.IpamPrefixListResolverTarget.read(from:)) + return value + } +} + extension ModifyIpamResourceCidrOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ModifyIpamResourceCidrOutput { @@ -99278,6 +102730,19 @@ extension UnmonitorInstancesOutput { } } +extension UpdateCapacityManagerOrganizationsAccessOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateCapacityManagerOrganizationsAccessOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let reader = responseReader + var value = UpdateCapacityManagerOrganizationsAccessOutput() + value.capacityManagerStatus = try reader["capacityManagerStatus"].readIfPresent() + value.organizationsAccess = try reader["organizationsAccess"].readIfPresent() + return value + } +} + extension UpdateSecurityGroupRuleDescriptionsEgressOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateSecurityGroupRuleDescriptionsEgressOutput { @@ -100094,6 +103559,32 @@ enum CopySnapshotOutputError { } } +enum CopyVolumesOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateCapacityManagerDataExportOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CreateCapacityReservationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -100432,6 +103923,32 @@ enum CreateIpamPoolOutputError { } } +enum CreateIpamPrefixListResolverOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateIpamPrefixListResolverTargetOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum CreateIpamResourceDiscoveryOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -101303,6 +104820,19 @@ enum CreateVpnGatewayOutputError { } } +enum DeleteCapacityManagerDataExportOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DeleteCarrierGatewayOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -101537,6 +105067,32 @@ enum DeleteIpamPoolOutputError { } } +enum DeleteIpamPrefixListResolverOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DeleteIpamPrefixListResolverTargetOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DeleteIpamResourceDiscoveryOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -102655,6 +106211,19 @@ enum DescribeCapacityBlockStatusOutputError { } } +enum DescribeCapacityManagerDataExportsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DescribeCapacityReservationBillingRequestsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -102694,6 +106263,19 @@ enum DescribeCapacityReservationsOutputError { } } +enum DescribeCapacityReservationTopologyOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DescribeCarrierGatewaysOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -103370,6 +106952,32 @@ enum DescribeIpamPoolsOutputError { } } +enum DescribeIpamPrefixListResolversOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DescribeIpamPrefixListResolverTargetsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DescribeIpamResourceDiscoveriesOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -104826,6 +108434,19 @@ enum DisableAwsNetworkPerformanceMetricSubscriptionOutputError { } } +enum DisableCapacityManagerOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DisableEbsEncryptionByDefaultOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -105294,6 +108915,19 @@ enum EnableAwsNetworkPerformanceMetricSubscriptionOutputError { } } +enum EnableCapacityManagerOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum EnableEbsEncryptionByDefaultOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -105645,6 +109279,45 @@ enum GetAwsNetworkPerformanceDataOutputError { } } +enum GetCapacityManagerAttributesOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetCapacityManagerMetricDataOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetCapacityManagerMetricDimensionsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetCapacityReservationUsageOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -105931,6 +109604,45 @@ enum GetIpamPoolCidrsOutputError { } } +enum GetIpamPrefixListResolverRulesOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetIpamPrefixListResolverVersionEntriesOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetIpamPrefixListResolverVersionsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetIpamResourceCidrsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -106776,6 +110488,32 @@ enum ModifyIpamPoolOutputError { } } +enum ModifyIpamPrefixListResolverOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum ModifyIpamPrefixListResolverTargetOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ModifyIpamResourceCidrOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -108297,6 +112035,19 @@ enum UnmonitorInstancesOutputError { } } +enum UpdateCapacityManagerOrganizationsAccessOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyXML.Reader.from(data: data) + let baseError = try AWSClientRuntime.EC2QueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum UpdateSecurityGroupRuleDescriptionsEgressOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -109247,6 +112998,64 @@ extension EC2ClientTypes.CancelledSpotInstanceRequest { } } +extension EC2ClientTypes.Volume { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.Volume { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.Volume() + value.availabilityZoneId = try reader["availabilityZoneId"].readIfPresent() + value.outpostArn = try reader["outpostArn"].readIfPresent() + value.sourceVolumeId = try reader["sourceVolumeId"].readIfPresent() + value.iops = try reader["iops"].readIfPresent() + value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) + value.volumeType = try reader["volumeType"].readIfPresent() + value.fastRestored = try reader["fastRestored"].readIfPresent() + value.multiAttachEnabled = try reader["multiAttachEnabled"].readIfPresent() + value.throughput = try reader["throughput"].readIfPresent() + value.sseType = try reader["sseType"].readIfPresent() + value.`operator` = try reader["operator"].readIfPresent(with: EC2ClientTypes.OperatorResponse.read(from:)) + value.volumeInitializationRate = try reader["volumeInitializationRate"].readIfPresent() + value.volumeId = try reader["volumeId"].readIfPresent() + value.size = try reader["size"].readIfPresent() + value.snapshotId = try reader["snapshotId"].readIfPresent() + value.availabilityZone = try reader["availabilityZone"].readIfPresent() + value.state = try reader["status"].readIfPresent() + value.createTime = try reader["createTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.attachments = try reader["attachmentSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.VolumeAttachment.read(from:), memberNodeInfo: "item", isFlattened: false) + value.encrypted = try reader["encrypted"].readIfPresent() + value.kmsKeyId = try reader["kmsKeyId"].readIfPresent() + return value + } +} + +extension EC2ClientTypes.VolumeAttachment { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.VolumeAttachment { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.VolumeAttachment() + value.deleteOnTermination = try reader["deleteOnTermination"].readIfPresent() + value.associatedResource = try reader["associatedResource"].readIfPresent() + value.instanceOwningService = try reader["instanceOwningService"].readIfPresent() + value.volumeId = try reader["volumeId"].readIfPresent() + value.instanceId = try reader["instanceId"].readIfPresent() + value.device = try reader["device"].readIfPresent() + value.state = try reader["status"].readIfPresent() + value.attachTime = try reader["attachTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + return value + } +} + +extension EC2ClientTypes.OperatorResponse { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.OperatorResponse { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.OperatorResponse() + value.managed = try reader["managed"].readIfPresent() + value.principal = try reader["principal"].readIfPresent() + return value + } +} + extension EC2ClientTypes.CapacityReservation { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.CapacityReservation { @@ -109507,6 +113316,9 @@ extension EC2ClientTypes.VpcEncryptionControlExclusions { value.natGateway = try reader["natGateway"].readIfPresent(with: EC2ClientTypes.VpcEncryptionControlExclusion.read(from:)) value.virtualPrivateGateway = try reader["virtualPrivateGateway"].readIfPresent(with: EC2ClientTypes.VpcEncryptionControlExclusion.read(from:)) value.vpcPeering = try reader["vpcPeering"].readIfPresent(with: EC2ClientTypes.VpcEncryptionControlExclusion.read(from:)) + value.lambda = try reader["lambda"].readIfPresent(with: EC2ClientTypes.VpcEncryptionControlExclusion.read(from:)) + value.vpcLattice = try reader["vpcLattice"].readIfPresent(with: EC2ClientTypes.VpcEncryptionControlExclusion.read(from:)) + value.elasticFileSystem = try reader["elasticFileSystem"].readIfPresent(with: EC2ClientTypes.VpcEncryptionControlExclusion.read(from:)) return value } } @@ -110227,6 +114039,47 @@ extension EC2ClientTypes.IpamResourceTag { } } +extension EC2ClientTypes.IpamPrefixListResolver { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamPrefixListResolver { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.IpamPrefixListResolver() + value.ownerId = try reader["ownerId"].readIfPresent() + value.ipamPrefixListResolverId = try reader["ipamPrefixListResolverId"].readIfPresent() + value.ipamPrefixListResolverArn = try reader["ipamPrefixListResolverArn"].readIfPresent() + value.ipamArn = try reader["ipamArn"].readIfPresent() + value.ipamRegion = try reader["ipamRegion"].readIfPresent() + value.description = try reader["description"].readIfPresent() + value.addressFamily = try reader["addressFamily"].readIfPresent() + value.state = try reader["state"].readIfPresent() + value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) + value.lastVersionCreationStatus = try reader["lastVersionCreationStatus"].readIfPresent() + value.lastVersionCreationStatusMessage = try reader["lastVersionCreationStatusMessage"].readIfPresent() + return value + } +} + +extension EC2ClientTypes.IpamPrefixListResolverTarget { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamPrefixListResolverTarget { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.IpamPrefixListResolverTarget() + value.ipamPrefixListResolverTargetId = try reader["ipamPrefixListResolverTargetId"].readIfPresent() + value.ipamPrefixListResolverTargetArn = try reader["ipamPrefixListResolverTargetArn"].readIfPresent() + value.ipamPrefixListResolverId = try reader["ipamPrefixListResolverId"].readIfPresent() + value.ownerId = try reader["ownerId"].readIfPresent() + value.prefixListId = try reader["prefixListId"].readIfPresent() + value.prefixListRegion = try reader["prefixListRegion"].readIfPresent() + value.desiredVersion = try reader["desiredVersion"].readIfPresent() + value.lastSyncedVersion = try reader["lastSyncedVersion"].readIfPresent() + value.trackLatestVersion = try reader["trackLatestVersion"].readIfPresent() + value.stateMessage = try reader["stateMessage"].readIfPresent() + value.state = try reader["state"].readIfPresent() + value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) + return value + } +} + extension EC2ClientTypes.IpamResourceDiscovery { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamResourceDiscovery { @@ -110293,17 +114146,6 @@ extension EC2ClientTypes.LaunchTemplate { } } -extension EC2ClientTypes.OperatorResponse { - - static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.OperatorResponse { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = EC2ClientTypes.OperatorResponse() - value.managed = try reader["managed"].readIfPresent() - value.principal = try reader["principal"].readIfPresent() - return value - } -} - extension EC2ClientTypes.ValidationWarning { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.ValidationWarning { @@ -110892,6 +114734,8 @@ extension EC2ClientTypes.ManagedPrefixList { value.version = try reader["version"].readIfPresent() value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) value.ownerId = try reader["ownerId"].readIfPresent() + value.ipamPrefixListResolverTargetId = try reader["ipamPrefixListResolverTargetId"].readIfPresent() + value.ipamPrefixListResolverSyncEnabled = try reader["ipamPrefixListResolverSyncEnabled"].readIfPresent() return value } } @@ -111179,6 +115023,7 @@ extension EC2ClientTypes.NetworkInterface { value.ipv6Address = try reader["ipv6Address"].readIfPresent() value.`operator` = try reader["operator"].readIfPresent(with: EC2ClientTypes.OperatorResponse.read(from:)) value.associatedSubnets = try reader["associatedSubnetSet"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "item", isFlattened: false) + value.availabilityZoneId = try reader["availabilityZoneId"].readIfPresent() return value } } @@ -112047,23 +115892,6 @@ extension EC2ClientTypes.VerifiedAccessGroup { } } -extension EC2ClientTypes.VolumeAttachment { - - static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.VolumeAttachment { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = EC2ClientTypes.VolumeAttachment() - value.deleteOnTermination = try reader["deleteOnTermination"].readIfPresent() - value.associatedResource = try reader["associatedResource"].readIfPresent() - value.instanceOwningService = try reader["instanceOwningService"].readIfPresent() - value.volumeId = try reader["volumeId"].readIfPresent() - value.instanceId = try reader["instanceId"].readIfPresent() - value.device = try reader["device"].readIfPresent() - value.state = try reader["status"].readIfPresent() - value.attachTime = try reader["attachTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) - return value - } -} - extension EC2ClientTypes.VpcBlockPublicAccessExclusion { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.VpcBlockPublicAccessExclusion { @@ -112895,6 +116723,26 @@ extension EC2ClientTypes.CapacityReservationStatus { } } +extension EC2ClientTypes.CapacityManagerDataExportResponse { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.CapacityManagerDataExportResponse { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.CapacityManagerDataExportResponse() + value.capacityManagerDataExportId = try reader["capacityManagerDataExportId"].readIfPresent() + value.s3BucketName = try reader["s3BucketName"].readIfPresent() + value.s3BucketPrefix = try reader["s3BucketPrefix"].readIfPresent() + value.schedule = try reader["schedule"].readIfPresent() + value.outputFormat = try reader["outputFormat"].readIfPresent() + value.createTime = try reader["createTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.latestDeliveryStatus = try reader["latestDeliveryStatus"].readIfPresent() + value.latestDeliveryStatusMessage = try reader["latestDeliveryStatusMessage"].readIfPresent() + value.latestDeliveryS3LocationUri = try reader["latestDeliveryS3LocationUri"].readIfPresent() + value.latestDeliveryTime = try reader["latestDeliveryTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) + return value + } +} + extension EC2ClientTypes.CapacityReservationBillingRequest { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.CapacityReservationBillingRequest { @@ -112945,6 +116793,23 @@ extension EC2ClientTypes.CapacityReservationFleet { } } +extension EC2ClientTypes.CapacityReservationTopology { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.CapacityReservationTopology { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.CapacityReservationTopology() + value.capacityReservationId = try reader["capacityReservationId"].readIfPresent() + value.capacityBlockId = try reader["capacityBlockId"].readIfPresent() + value.state = try reader["state"].readIfPresent() + value.instanceType = try reader["instanceType"].readIfPresent() + value.groupName = try reader["groupName"].readIfPresent() + value.networkNodes = try reader["networkNodeSet"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "item", isFlattened: false) + value.availabilityZoneId = try reader["availabilityZoneId"].readIfPresent() + value.availabilityZone = try reader["availabilityZone"].readIfPresent() + return value + } +} + extension EC2ClientTypes.ClassicLinkInstance { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.ClassicLinkInstance { @@ -116874,35 +120739,6 @@ extension EC2ClientTypes.VerifiedAccessLogS3Destination { } } -extension EC2ClientTypes.Volume { - - static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.Volume { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = EC2ClientTypes.Volume() - value.availabilityZoneId = try reader["availabilityZoneId"].readIfPresent() - value.outpostArn = try reader["outpostArn"].readIfPresent() - value.iops = try reader["iops"].readIfPresent() - value.tags = try reader["tagSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.Tag.read(from:), memberNodeInfo: "item", isFlattened: false) - value.volumeType = try reader["volumeType"].readIfPresent() - value.fastRestored = try reader["fastRestored"].readIfPresent() - value.multiAttachEnabled = try reader["multiAttachEnabled"].readIfPresent() - value.throughput = try reader["throughput"].readIfPresent() - value.sseType = try reader["sseType"].readIfPresent() - value.`operator` = try reader["operator"].readIfPresent(with: EC2ClientTypes.OperatorResponse.read(from:)) - value.volumeInitializationRate = try reader["volumeInitializationRate"].readIfPresent() - value.volumeId = try reader["volumeId"].readIfPresent() - value.size = try reader["size"].readIfPresent() - value.snapshotId = try reader["snapshotId"].readIfPresent() - value.availabilityZone = try reader["availabilityZone"].readIfPresent() - value.state = try reader["status"].readIfPresent() - value.createTime = try reader["createTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) - value.attachments = try reader["attachmentSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.VolumeAttachment.read(from:), memberNodeInfo: "item", isFlattened: false) - value.encrypted = try reader["encrypted"].readIfPresent() - value.kmsKeyId = try reader["kmsKeyId"].readIfPresent() - return value - } -} - extension EC2ClientTypes.VolumeModification { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.VolumeModification { @@ -117440,6 +121276,55 @@ extension EC2ClientTypes.MetricPoint { } } +extension EC2ClientTypes.MetricDataResult { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.MetricDataResult { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.MetricDataResult() + value.dimension = try reader["dimension"].readIfPresent(with: EC2ClientTypes.CapacityManagerDimension.read(from:)) + value.timestamp = try reader["timestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.metricValues = try reader["metricValueSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.MetricValue.read(from:), memberNodeInfo: "item", isFlattened: false) + return value + } +} + +extension EC2ClientTypes.MetricValue { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.MetricValue { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.MetricValue() + value.metric = try reader["metric"].readIfPresent() + value.value = try reader["value"].readIfPresent() + return value + } +} + +extension EC2ClientTypes.CapacityManagerDimension { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.CapacityManagerDimension { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.CapacityManagerDimension() + value.resourceRegion = try reader["resourceRegion"].readIfPresent() + value.availabilityZoneId = try reader["availabilityZoneId"].readIfPresent() + value.accountId = try reader["accountId"].readIfPresent() + value.instanceFamily = try reader["instanceFamily"].readIfPresent() + value.instanceType = try reader["instanceType"].readIfPresent() + value.instancePlatform = try reader["instancePlatform"].readIfPresent() + value.reservationArn = try reader["reservationArn"].readIfPresent() + value.reservationId = try reader["reservationId"].readIfPresent() + value.reservationType = try reader["reservationType"].readIfPresent() + value.reservationCreateTimestamp = try reader["reservationCreateTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.reservationStartTimestamp = try reader["reservationStartTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.reservationEndTimestamp = try reader["reservationEndTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.reservationEndDateType = try reader["reservationEndDateType"].readIfPresent() + value.tenancy = try reader["tenancy"].readIfPresent() + value.reservationState = try reader["reservationState"].readIfPresent() + value.reservationInstanceMatchCriteria = try reader["reservationInstanceMatchCriteria"].readIfPresent() + value.reservationUnusedFinancialOwner = try reader["reservationUnusedFinancialOwner"].readIfPresent() + return value + } +} + extension EC2ClientTypes.InstanceUsage { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.InstanceUsage { @@ -117683,6 +121568,56 @@ extension EC2ClientTypes.IpamDiscoveredResourceCidr { } } +extension EC2ClientTypes.IpamPrefixListResolverRule { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamPrefixListResolverRule { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.IpamPrefixListResolverRule() + value.ruleType = try reader["ruleType"].readIfPresent() + value.staticCidr = try reader["staticCidr"].readIfPresent() + value.ipamScopeId = try reader["ipamScopeId"].readIfPresent() + value.resourceType = try reader["resourceType"].readIfPresent() + value.conditions = try reader["conditionSet"].readListIfPresent(memberReadingClosure: EC2ClientTypes.IpamPrefixListResolverRuleCondition.read(from:), memberNodeInfo: "item", isFlattened: false) + return value + } +} + +extension EC2ClientTypes.IpamPrefixListResolverRuleCondition { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamPrefixListResolverRuleCondition { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.IpamPrefixListResolverRuleCondition() + value.operation = try reader["operation"].readIfPresent() + value.ipamPoolId = try reader["ipamPoolId"].readIfPresent() + value.resourceId = try reader["resourceId"].readIfPresent() + value.resourceOwner = try reader["resourceOwner"].readIfPresent() + value.resourceRegion = try reader["resourceRegion"].readIfPresent() + value.resourceTag = try reader["resourceTag"].readIfPresent(with: EC2ClientTypes.IpamResourceTag.read(from:)) + value.cidr = try reader["cidr"].readIfPresent() + return value + } +} + +extension EC2ClientTypes.IpamPrefixListResolverVersionEntry { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamPrefixListResolverVersionEntry { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.IpamPrefixListResolverVersionEntry() + value.cidr = try reader["cidr"].readIfPresent() + return value + } +} + +extension EC2ClientTypes.IpamPrefixListResolverVersion { + + static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamPrefixListResolverVersion { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = EC2ClientTypes.IpamPrefixListResolverVersion() + value.version = try reader["version"].readIfPresent() + return value + } +} + extension EC2ClientTypes.IpamResourceCidr { static func read(from reader: SmithyXML.Reader) throws -> EC2ClientTypes.IpamResourceCidr { @@ -118671,6 +122606,34 @@ extension EC2ClientTypes.IpamPoolSourceResourceRequest { } } +extension EC2ClientTypes.IpamPrefixListResolverRuleRequest { + + static func write(value: EC2ClientTypes.IpamPrefixListResolverRuleRequest?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + if !(value.conditions?.isEmpty ?? true) { + try writer["Condition"].writeList(value.conditions, memberWritingClosure: EC2ClientTypes.IpamPrefixListResolverRuleConditionRequest.write(value:to:), memberNodeInfo: "Condition", isFlattened: true) + } + try writer["IpamScopeId"].write(value.ipamScopeId) + try writer["ResourceType"].write(value.resourceType) + try writer["RuleType"].write(value.ruleType) + try writer["StaticCidr"].write(value.staticCidr) + } +} + +extension EC2ClientTypes.IpamPrefixListResolverRuleConditionRequest { + + static func write(value: EC2ClientTypes.IpamPrefixListResolverRuleConditionRequest?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Cidr"].write(value.cidr) + try writer["IpamPoolId"].write(value.ipamPoolId) + try writer["Operation"].write(value.operation) + try writer["ResourceId"].write(value.resourceId) + try writer["ResourceOwner"].write(value.resourceOwner) + try writer["ResourceRegion"].write(value.resourceRegion) + try writer["ResourceTag"].write(value.resourceTag, with: EC2ClientTypes.RequestIpamResourceTag.write(value:to:)) + } +} + extension EC2ClientTypes.RequestLaunchTemplateData { static func write(value: EC2ClientTypes.RequestLaunchTemplateData?, to writer: SmithyFormURL.Writer) throws { @@ -119594,6 +123557,26 @@ extension EC2ClientTypes.DataQuery { } } +extension EC2ClientTypes.CapacityManagerCondition { + + static func write(value: EC2ClientTypes.CapacityManagerCondition?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["DimensionCondition"].write(value.dimensionCondition, with: EC2ClientTypes.DimensionCondition.write(value:to:)) + } +} + +extension EC2ClientTypes.DimensionCondition { + + static func write(value: EC2ClientTypes.DimensionCondition?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Comparison"].write(value.comparison) + try writer["Dimension"].write(value.dimension) + if !(value.values?.isEmpty ?? true) { + try writer["Value"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "Item", isFlattened: true) + } + } +} + extension EC2ClientTypes.IntegrateServices { static func write(value: EC2ClientTypes.IntegrateServices?, to writer: SmithyFormURL.Writer) throws { diff --git a/Sources/Services/AWSEC2/Sources/AWSEC2/Paginators.swift b/Sources/Services/AWSEC2/Sources/AWSEC2/Paginators.swift index 37cb9d0b48f..58d8ade647a 100644 --- a/Sources/Services/AWSEC2/Sources/AWSEC2/Paginators.swift +++ b/Sources/Services/AWSEC2/Sources/AWSEC2/Paginators.swift @@ -309,6 +309,39 @@ extension PaginatorSequence where OperationStackInput == DescribeCapacityBlockSt return try await self.asyncCompactMap { item in item.capacityBlockStatuses } } } +extension EC2Client { + /// Paginate over `[DescribeCapacityManagerDataExportsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[DescribeCapacityManagerDataExportsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `DescribeCapacityManagerDataExportsOutput` + public func describeCapacityManagerDataExportsPaginated(input: DescribeCapacityManagerDataExportsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.describeCapacityManagerDataExports(input:)) + } +} + +extension DescribeCapacityManagerDataExportsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> DescribeCapacityManagerDataExportsInput { + return DescribeCapacityManagerDataExportsInput( + capacityManagerDataExportIds: self.capacityManagerDataExportIds, + dryRun: self.dryRun, + filters: self.filters, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == DescribeCapacityManagerDataExportsInput, OperationStackOutput == DescribeCapacityManagerDataExportsOutput { + /// This paginator transforms the `AsyncSequence` returned by `describeCapacityManagerDataExportsPaginated` + /// to access the nested member `[EC2ClientTypes.CapacityManagerDataExportResponse]` + /// - Returns: `[EC2ClientTypes.CapacityManagerDataExportResponse]` + public func capacityManagerDataExports() async throws -> [EC2ClientTypes.CapacityManagerDataExportResponse] { + return try await self.asyncCompactMap { item in item.capacityManagerDataExports } + } +} extension EC2Client { /// Paginate over `[DescribeCapacityReservationBillingRequestsOutput]` results. /// @@ -1638,6 +1671,73 @@ extension PaginatorSequence where OperationStackInput == DescribeIpamPoolsInput, return try await self.asyncCompactMap { item in item.ipamPools } } } +extension EC2Client { + /// Paginate over `[DescribeIpamPrefixListResolversOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[DescribeIpamPrefixListResolversInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `DescribeIpamPrefixListResolversOutput` + public func describeIpamPrefixListResolversPaginated(input: DescribeIpamPrefixListResolversInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.describeIpamPrefixListResolvers(input:)) + } +} + +extension DescribeIpamPrefixListResolversInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> DescribeIpamPrefixListResolversInput { + return DescribeIpamPrefixListResolversInput( + dryRun: self.dryRun, + filters: self.filters, + ipamPrefixListResolverIds: self.ipamPrefixListResolverIds, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == DescribeIpamPrefixListResolversInput, OperationStackOutput == DescribeIpamPrefixListResolversOutput { + /// This paginator transforms the `AsyncSequence` returned by `describeIpamPrefixListResolversPaginated` + /// to access the nested member `[EC2ClientTypes.IpamPrefixListResolver]` + /// - Returns: `[EC2ClientTypes.IpamPrefixListResolver]` + public func ipamPrefixListResolvers() async throws -> [EC2ClientTypes.IpamPrefixListResolver] { + return try await self.asyncCompactMap { item in item.ipamPrefixListResolvers } + } +} +extension EC2Client { + /// Paginate over `[DescribeIpamPrefixListResolverTargetsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[DescribeIpamPrefixListResolverTargetsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `DescribeIpamPrefixListResolverTargetsOutput` + public func describeIpamPrefixListResolverTargetsPaginated(input: DescribeIpamPrefixListResolverTargetsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.describeIpamPrefixListResolverTargets(input:)) + } +} + +extension DescribeIpamPrefixListResolverTargetsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> DescribeIpamPrefixListResolverTargetsInput { + return DescribeIpamPrefixListResolverTargetsInput( + dryRun: self.dryRun, + filters: self.filters, + ipamPrefixListResolverId: self.ipamPrefixListResolverId, + ipamPrefixListResolverTargetIds: self.ipamPrefixListResolverTargetIds, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == DescribeIpamPrefixListResolverTargetsInput, OperationStackOutput == DescribeIpamPrefixListResolverTargetsOutput { + /// This paginator transforms the `AsyncSequence` returned by `describeIpamPrefixListResolverTargetsPaginated` + /// to access the nested member `[EC2ClientTypes.IpamPrefixListResolverTarget]` + /// - Returns: `[EC2ClientTypes.IpamPrefixListResolverTarget]` + public func ipamPrefixListResolverTargets() async throws -> [EC2ClientTypes.IpamPrefixListResolverTarget] { + return try await self.asyncCompactMap { item in item.ipamPrefixListResolverTargets } + } +} extension EC2Client { /// Paginate over `[DescribeIpamResourceDiscoveriesOutput]` results. /// @@ -4335,6 +4435,79 @@ extension PaginatorSequence where OperationStackInput == GetAwsNetworkPerformanc return try await self.asyncCompactMap { item in item.dataResponses } } } +extension EC2Client { + /// Paginate over `[GetCapacityManagerMetricDataOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[GetCapacityManagerMetricDataInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `GetCapacityManagerMetricDataOutput` + public func getCapacityManagerMetricDataPaginated(input: GetCapacityManagerMetricDataInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.getCapacityManagerMetricData(input:)) + } +} + +extension GetCapacityManagerMetricDataInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> GetCapacityManagerMetricDataInput { + return GetCapacityManagerMetricDataInput( + dryRun: self.dryRun, + endTime: self.endTime, + filterBy: self.filterBy, + groupBy: self.groupBy, + maxResults: self.maxResults, + metricNames: self.metricNames, + nextToken: token, + period: self.period, + startTime: self.startTime + )} +} + +extension PaginatorSequence where OperationStackInput == GetCapacityManagerMetricDataInput, OperationStackOutput == GetCapacityManagerMetricDataOutput { + /// This paginator transforms the `AsyncSequence` returned by `getCapacityManagerMetricDataPaginated` + /// to access the nested member `[EC2ClientTypes.MetricDataResult]` + /// - Returns: `[EC2ClientTypes.MetricDataResult]` + public func metricDataResults() async throws -> [EC2ClientTypes.MetricDataResult] { + return try await self.asyncCompactMap { item in item.metricDataResults } + } +} +extension EC2Client { + /// Paginate over `[GetCapacityManagerMetricDimensionsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[GetCapacityManagerMetricDimensionsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `GetCapacityManagerMetricDimensionsOutput` + public func getCapacityManagerMetricDimensionsPaginated(input: GetCapacityManagerMetricDimensionsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.getCapacityManagerMetricDimensions(input:)) + } +} + +extension GetCapacityManagerMetricDimensionsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> GetCapacityManagerMetricDimensionsInput { + return GetCapacityManagerMetricDimensionsInput( + dryRun: self.dryRun, + endTime: self.endTime, + filterBy: self.filterBy, + groupBy: self.groupBy, + maxResults: self.maxResults, + metricNames: self.metricNames, + nextToken: token, + startTime: self.startTime + )} +} + +extension PaginatorSequence where OperationStackInput == GetCapacityManagerMetricDimensionsInput, OperationStackOutput == GetCapacityManagerMetricDimensionsOutput { + /// This paginator transforms the `AsyncSequence` returned by `getCapacityManagerMetricDimensionsPaginated` + /// to access the nested member `[EC2ClientTypes.CapacityManagerDimension]` + /// - Returns: `[EC2ClientTypes.CapacityManagerDimension]` + public func metricDimensionResults() async throws -> [EC2ClientTypes.CapacityManagerDimension] { + return try await self.asyncCompactMap { item in item.metricDimensionResults } + } +} extension EC2Client { /// Paginate over `[GetGroupsForCapacityReservationOutput]` results. /// @@ -4573,6 +4746,106 @@ extension PaginatorSequence where OperationStackInput == GetIpamPoolCidrsInput, return try await self.asyncCompactMap { item in item.ipamPoolCidrs } } } +extension EC2Client { + /// Paginate over `[GetIpamPrefixListResolverRulesOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[GetIpamPrefixListResolverRulesInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `GetIpamPrefixListResolverRulesOutput` + public func getIpamPrefixListResolverRulesPaginated(input: GetIpamPrefixListResolverRulesInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.getIpamPrefixListResolverRules(input:)) + } +} + +extension GetIpamPrefixListResolverRulesInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> GetIpamPrefixListResolverRulesInput { + return GetIpamPrefixListResolverRulesInput( + dryRun: self.dryRun, + filters: self.filters, + ipamPrefixListResolverId: self.ipamPrefixListResolverId, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == GetIpamPrefixListResolverRulesInput, OperationStackOutput == GetIpamPrefixListResolverRulesOutput { + /// This paginator transforms the `AsyncSequence` returned by `getIpamPrefixListResolverRulesPaginated` + /// to access the nested member `[EC2ClientTypes.IpamPrefixListResolverRule]` + /// - Returns: `[EC2ClientTypes.IpamPrefixListResolverRule]` + public func rules() async throws -> [EC2ClientTypes.IpamPrefixListResolverRule] { + return try await self.asyncCompactMap { item in item.rules } + } +} +extension EC2Client { + /// Paginate over `[GetIpamPrefixListResolverVersionEntriesOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[GetIpamPrefixListResolverVersionEntriesInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `GetIpamPrefixListResolverVersionEntriesOutput` + public func getIpamPrefixListResolverVersionEntriesPaginated(input: GetIpamPrefixListResolverVersionEntriesInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.getIpamPrefixListResolverVersionEntries(input:)) + } +} + +extension GetIpamPrefixListResolverVersionEntriesInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> GetIpamPrefixListResolverVersionEntriesInput { + return GetIpamPrefixListResolverVersionEntriesInput( + dryRun: self.dryRun, + ipamPrefixListResolverId: self.ipamPrefixListResolverId, + ipamPrefixListResolverVersion: self.ipamPrefixListResolverVersion, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == GetIpamPrefixListResolverVersionEntriesInput, OperationStackOutput == GetIpamPrefixListResolverVersionEntriesOutput { + /// This paginator transforms the `AsyncSequence` returned by `getIpamPrefixListResolverVersionEntriesPaginated` + /// to access the nested member `[EC2ClientTypes.IpamPrefixListResolverVersionEntry]` + /// - Returns: `[EC2ClientTypes.IpamPrefixListResolverVersionEntry]` + public func entries() async throws -> [EC2ClientTypes.IpamPrefixListResolverVersionEntry] { + return try await self.asyncCompactMap { item in item.entries } + } +} +extension EC2Client { + /// Paginate over `[GetIpamPrefixListResolverVersionsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[GetIpamPrefixListResolverVersionsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `GetIpamPrefixListResolverVersionsOutput` + public func getIpamPrefixListResolverVersionsPaginated(input: GetIpamPrefixListResolverVersionsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.getIpamPrefixListResolverVersions(input:)) + } +} + +extension GetIpamPrefixListResolverVersionsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> GetIpamPrefixListResolverVersionsInput { + return GetIpamPrefixListResolverVersionsInput( + dryRun: self.dryRun, + filters: self.filters, + ipamPrefixListResolverId: self.ipamPrefixListResolverId, + ipamPrefixListResolverVersions: self.ipamPrefixListResolverVersions, + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == GetIpamPrefixListResolverVersionsInput, OperationStackOutput == GetIpamPrefixListResolverVersionsOutput { + /// This paginator transforms the `AsyncSequence` returned by `getIpamPrefixListResolverVersionsPaginated` + /// to access the nested member `[EC2ClientTypes.IpamPrefixListResolverVersion]` + /// - Returns: `[EC2ClientTypes.IpamPrefixListResolverVersion]` + public func ipamPrefixListResolverVersions() async throws -> [EC2ClientTypes.IpamPrefixListResolverVersion] { + return try await self.asyncCompactMap { item in item.ipamPrefixListResolverVersions } + } +} extension EC2Client { /// Paginate over `[GetIpamResourceCidrsOutput]` results. /// diff --git a/Sources/Services/AWSEC2InstanceConnect/Sources/AWSEC2InstanceConnect/EC2InstanceConnectClient.swift b/Sources/Services/AWSEC2InstanceConnect/Sources/AWSEC2InstanceConnect/EC2InstanceConnectClient.swift index d0b93be57b5..210de9f34ba 100644 --- a/Sources/Services/AWSEC2InstanceConnect/Sources/AWSEC2InstanceConnect/EC2InstanceConnectClient.swift +++ b/Sources/Services/AWSEC2InstanceConnect/Sources/AWSEC2InstanceConnect/EC2InstanceConnectClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EC2InstanceConnectClient: ClientRuntime.Client { +public class EC2InstanceConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EC2InstanceConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EC2InstanceConnectClient.EC2InstanceConnectClientConfiguration let serviceName = "EC2 Instance Connect" diff --git a/Sources/Services/AWSECR/Sources/AWSECR/ECRClient.swift b/Sources/Services/AWSECR/Sources/AWSECR/ECRClient.swift index f12d716f2b5..9aed2f6565b 100644 --- a/Sources/Services/AWSECR/Sources/AWSECR/ECRClient.swift +++ b/Sources/Services/AWSECR/Sources/AWSECR/ECRClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ECRClient: ClientRuntime.Client { +public class ECRClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ECRClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ECRClient.ECRClientConfiguration let serviceName = "ECR" diff --git a/Sources/Services/AWSECRPUBLIC/Sources/AWSECRPUBLIC/ECRPUBLICClient.swift b/Sources/Services/AWSECRPUBLIC/Sources/AWSECRPUBLIC/ECRPUBLICClient.swift index 60214df38cb..fa7453a2bdf 100644 --- a/Sources/Services/AWSECRPUBLIC/Sources/AWSECRPUBLIC/ECRPUBLICClient.swift +++ b/Sources/Services/AWSECRPUBLIC/Sources/AWSECRPUBLIC/ECRPUBLICClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ECRPUBLICClient: ClientRuntime.Client { +public class ECRPUBLICClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ECRPUBLICClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ECRPUBLICClient.ECRPUBLICClientConfiguration let serviceName = "ECR PUBLIC" diff --git a/Sources/Services/AWSECS/Sources/AWSECS/ECSClient.swift b/Sources/Services/AWSECS/Sources/AWSECS/ECSClient.swift index 6e829e94693..f65f456b7c8 100644 --- a/Sources/Services/AWSECS/Sources/AWSECS/ECSClient.swift +++ b/Sources/Services/AWSECS/Sources/AWSECS/ECSClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ECSClient: ClientRuntime.Client { +public class ECSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ECSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ECSClient.ECSClientConfiguration let serviceName = "ECS" @@ -565,6 +564,32 @@ extension ECSClient { /// /// /// + /// * LINEAR: A linear deployment strategy (LINEAR) gradually shifts traffic from the current production environment to a new environment in equal percentage increments over a specified time period. With Amazon ECS linear deployments, you can control the pace of traffic shifting and validate new service revisions with increasing amounts of production traffic. Linear deployments are best suited for the following scenarios: + /// + /// * Gradual validation: When you want to gradually validate your new service version with increasing traffic + /// + /// * Performance monitoring: When you need time to monitor metrics and performance during the deployment + /// + /// * Risk minimization: When you want to minimize risk by exposing the new version to production traffic incrementally + /// + /// * Load balancer requirement: When your service uses Application Load Balancer, Network Load Balancer, or Service Connect + /// + /// + /// + /// + /// * CANARY: A canary deployment strategy (CANARY) shifts a small percentage of traffic to the new service revision first, then shifts the remaining traffic all at once after a specified time period. This allows you to test the new version with a subset of users before full deployment. Canary deployments are best suited for the following scenarios: + /// + /// * Feature testing: When you want to test new features with a small subset of users before full rollout + /// + /// * Production validation: When you need to validate performance and functionality with real production traffic + /// + /// * Blast radius control: When you want to minimize blast radius if issues are discovered in the new version + /// + /// * Load balancer requirement: When your service uses Application Load Balancer, Network Load Balancer, or Service Connect + /// + /// + /// + /// /// /// /// diff --git a/Sources/Services/AWSECS/Sources/AWSECS/Models.swift b/Sources/Services/AWSECS/Sources/AWSECS/Models.swift index 4013dbcc0f6..bddf1b7a1a2 100644 --- a/Sources/Services/AWSECS/Sources/AWSECS/Models.swift +++ b/Sources/Services/AWSECS/Sources/AWSECS/Models.swift @@ -1414,7 +1414,7 @@ extension ECSClientTypes { public var autoScalingGroupProvider: ECSClientTypes.AutoScalingGroupProvider? /// The Amazon Resource Name (ARN) that identifies the capacity provider. public var capacityProviderArn: Swift.String? - /// The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster. + /// The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster. This is required for Managed instances. public var cluster: Swift.String? /// The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings. public var managedInstancesProvider: ECSClientTypes.ManagedInstancesProvider? @@ -1644,9 +1644,9 @@ extension ECSClientTypes { /// /// * Only one capacity provider in a strategy can have a base defined /// - /// * Default value is 0 if not specified + /// * The default value is 0 if not specified /// - /// * Valid range: 0 to 100,000 + /// * The valid range is 0 to 100,000 /// /// * Base requirements are satisfied first before weight distribution public var base: Swift.Int @@ -1657,9 +1657,9 @@ extension ECSClientTypes { /// /// * Weight is considered after the base value is satisfied /// - /// * Default value is 0 if not specified + /// * The default value is 0 if not specified /// - /// * Valid range: 0 to 1,000 + /// * The valid range is 0 to 1,000 /// /// * At least one capacity provider must have a weight greater than zero /// @@ -2078,6 +2078,25 @@ extension ECSClientTypes { } } +extension ECSClientTypes { + + /// Configuration for canary deployment strategy that shifts a fixed percentage of traffic to the new service revision, waits for a specified bake time, then shifts the remaining traffic. This is only valid when you run CreateService or UpdateService with deploymentController set to ECS and a deploymentConfiguration with a strategy set to CANARY. + public struct CanaryConfiguration: Swift.Sendable { + /// The amount of time in minutes to wait during the canary phase before shifting the remaining production traffic to the new service revision. Valid values are 0 to 1440 minutes (24 hours). The default value is 10. + public var canaryBakeTimeInMinutes: Swift.Int? + /// The percentage of production traffic to shift to the new service revision during the canary phase. Valid values are 0.1 to 100.0. The default value is 5.0. + public var canaryPercent: Swift.Double? + + public init( + canaryBakeTimeInMinutes: Swift.Int? = 0, + canaryPercent: Swift.Double? = 0.0 + ) { + self.canaryBakeTimeInMinutes = canaryBakeTimeInMinutes + self.canaryPercent = canaryPercent + } + } +} + extension ECSClientTypes { /// The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If it is turned on, a service deployment will transition to a failed state and stop launching new tasks. You can also configure Amazon ECS to roll back your service to the last completed deployment after a failure. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the Amazon Elastic Container Service Developer Guide. For more information about API failure reasons, see [API failure reasons](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/api_failures_messages.html) in the Amazon Elastic Container Service Developer Guide. @@ -2187,16 +2206,39 @@ extension ECSClientTypes { } } +extension ECSClientTypes { + + /// Configuration for linear deployment strategy that shifts production traffic in equal percentage increments with configurable wait times between each step until 100% of traffic is shifted to the new service revision. This is only valid when you run CreateService or UpdateService with deploymentController set to ECS and a deploymentConfiguration with a strategy set to LINEAR. + public struct LinearConfiguration: Swift.Sendable { + /// The amount of time in minutes to wait between each traffic shifting step during a linear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is 6. This bake time is not applied after reaching 100% traffic. + public var stepBakeTimeInMinutes: Swift.Int? + /// The percentage of production traffic to shift in each step during a linear deployment. Valid values are 3.0 to 100.0. The default value is 10.0. + public var stepPercent: Swift.Double? + + public init( + stepBakeTimeInMinutes: Swift.Int? = 0, + stepPercent: Swift.Double? = 0.0 + ) { + self.stepBakeTimeInMinutes = stepBakeTimeInMinutes + self.stepPercent = stepPercent + } + } +} + extension ECSClientTypes { public enum DeploymentStrategy: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case blueGreen + case canary + case linear case rolling case sdkUnknown(Swift.String) public static var allCases: [DeploymentStrategy] { return [ .blueGreen, + .canary, + .linear, .rolling ] } @@ -2209,6 +2251,8 @@ extension ECSClientTypes { public var rawValue: Swift.String { switch self { case .blueGreen: return "BLUE_GREEN" + case .canary: return "CANARY" + case .linear: return "LINEAR" case .rolling: return "ROLLING" case let .sdkUnknown(s): return s } @@ -2224,10 +2268,14 @@ extension ECSClientTypes { public var alarms: ECSClientTypes.DeploymentAlarms? /// The time period when both blue and green service revisions are running simultaneously after the production traffic has shifted. You must provide this parameter when you use the BLUE_GREEN deployment strategy. public var bakeTimeInMinutes: Swift.Int? + /// Configuration for canary deployment strategy. Only valid when the deployment strategy is CANARY. This configuration enables shifting a fixed percentage of traffic for testing, followed by shifting the remaining traffic after a bake period. + public var canaryConfiguration: ECSClientTypes.CanaryConfiguration? /// The deployment circuit breaker can only be used for services using the rolling update (ECS) deployment type. The deployment circuit breaker determines whether a service deployment will fail if the service can't reach a steady state. If you use the deployment circuit breaker, a service deployment will transition to a failed state and stop launching new tasks. If you use the rollback option, when a service deployment fails, the service is rolled back to the last deployment that completed successfully. For more information, see [Rolling update](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/deployment-type-ecs.html) in the Amazon Elastic Container Service Developer Guide public var deploymentCircuitBreaker: ECSClientTypes.DeploymentCircuitBreaker? /// An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle. public var lifecycleHooks: [ECSClientTypes.DeploymentLifecycleHook]? + /// Configuration for linear deployment strategy. Only valid when the deployment strategy is LINEAR. This configuration enables progressive traffic shifting in equal percentage increments with configurable bake times between each step. + public var linearConfiguration: ECSClientTypes.LinearConfiguration? /// If a service is using the rolling update (ECS) deployment type, the maximumPercent parameter represents an upper limit on the number of your service's tasks that are allowed in the RUNNING or PENDING state during a deployment, as a percentage of the desiredCount (rounded down to the nearest integer). This parameter enables you to define the deployment batch size. For example, if your service is using the REPLICA service scheduler and has a desiredCount of four tasks and a maximumPercent value of 200%, the scheduler may start four new tasks before stopping the four older tasks (provided that the cluster resources required to do this are available). The default maximumPercent value for a service using the REPLICA service scheduler is 200%. The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting replacement tasks first and then stopping the unhealthy tasks, as long as cluster resources for starting replacement tasks are available. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). If a service is using either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types, and tasks in the service use the EC2 launch type, the maximum percent value is set to the default value. The maximum percent value is used to define the upper limit on the number of the tasks in the service that remain in the RUNNING state while the container instances are in the DRAINING state. You can't specify a custom maximumPercent value for a service that uses either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types and has tasks that use the EC2 launch type. If the service uses either the blue/green (CODE_DEPLOY) or EXTERNAL deployment types, and the tasks in the service use the Fargate launch type, the maximum percent value is not used. The value is still returned when describing your service. public var maximumPercent: Swift.Int? /// If a service is using the rolling update (ECS) deployment type, the minimumHealthyPercent represents a lower limit on the number of your service's tasks that must remain in the RUNNING state during a deployment, as a percentage of the desiredCount (rounded up to the nearest integer). This parameter enables you to deploy without using additional cluster capacity. For example, if your service has a desiredCount of four tasks and a minimumHealthyPercent of 50%, the service scheduler may stop two existing tasks to free up cluster capacity before starting two new tasks. If any tasks are unhealthy and if maximumPercent doesn't allow the Amazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one — using the minimumHealthyPercent as a constraint — to clear up capacity to launch replacement tasks. For more information about how the scheduler replaces unhealthy tasks, see [Amazon ECS services](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs_services.html). For services that do not use a load balancer, the following should be noted: @@ -2258,16 +2306,20 @@ extension ECSClientTypes { public init( alarms: ECSClientTypes.DeploymentAlarms? = nil, bakeTimeInMinutes: Swift.Int? = nil, + canaryConfiguration: ECSClientTypes.CanaryConfiguration? = nil, deploymentCircuitBreaker: ECSClientTypes.DeploymentCircuitBreaker? = nil, lifecycleHooks: [ECSClientTypes.DeploymentLifecycleHook]? = nil, + linearConfiguration: ECSClientTypes.LinearConfiguration? = nil, maximumPercent: Swift.Int? = nil, minimumHealthyPercent: Swift.Int? = nil, strategy: ECSClientTypes.DeploymentStrategy? = nil ) { self.alarms = alarms self.bakeTimeInMinutes = bakeTimeInMinutes + self.canaryConfiguration = canaryConfiguration self.deploymentCircuitBreaker = deploymentCircuitBreaker self.lifecycleHooks = lifecycleHooks + self.linearConfiguration = linearConfiguration self.maximumPercent = maximumPercent self.minimumHealthyPercent = minimumHealthyPercent self.strategy = strategy @@ -2467,7 +2519,7 @@ extension ECSClientTypes { public struct AwsVpcConfiguration: Swift.Sendable { /// Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: /// - /// * When you use create-service or update-service, the default is DISABLED. + /// * When you use create-service or update-service, the The default is DISABLED. /// /// * When the service deploymentController is ECS, the value must be DISABLED. public var assignPublicIp: ECSClientTypes.AssignPublicIp? @@ -2664,6 +2716,86 @@ extension ECSClientTypes { } } +extension ECSClientTypes { + + /// The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools. + public enum ServiceConnectAccessLoggingFormat: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case json + case text + case sdkUnknown(Swift.String) + + public static var allCases: [ServiceConnectAccessLoggingFormat] { + return [ + .json, + .text + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .json: return "JSON" + case .text: return "TEXT" + case let .sdkUnknown(s): return s + } + } + } +} + +extension ECSClientTypes { + + /// Controls whether query parameters are included in Service Connect access logs. Consider security and privacy implications when enabling this feature. By default, this parameter is DISABLED. + public enum ServiceConnectIncludeQueryParameters: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case disabled + case enabled + case sdkUnknown(Swift.String) + + public static var allCases: [ServiceConnectIncludeQueryParameters] { + return [ + .disabled, + .enabled + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .disabled: return "DISABLED" + case .enabled: return "ENABLED" + case let .sdkUnknown(s): return s + } + } + } +} + +extension ECSClientTypes { + + /// Configuration for Service Connect access logging. Access logs provide detailed information about requests made to your service, including request patterns, response codes, and timing data for debugging and monitoring purposes. To enable access logs, you must also specify a logConfiguration in the serviceConnectConfiguration. + public struct ServiceConnectAccessLogConfiguration: Swift.Sendable { + /// The format for Service Connect access log output. Choose TEXT for human-readable logs or JSON for structured data that integrates well with log analysis tools. + /// This member is required. + public var format: ECSClientTypes.ServiceConnectAccessLoggingFormat? + /// Specifies whether to include query parameters in Service Connect access logs. When enabled, query parameters from HTTP requests are included in the access logs. Consider security and privacy implications when enabling this feature, as query parameters may contain sensitive information such as request IDs and tokens. By default, this parameter is DISABLED. + public var includeQueryParameters: ECSClientTypes.ServiceConnectIncludeQueryParameters? + + public init( + format: ECSClientTypes.ServiceConnectAccessLoggingFormat? = nil, + includeQueryParameters: ECSClientTypes.ServiceConnectIncludeQueryParameters? = nil + ) { + self.format = format + self.includeQueryParameters = includeQueryParameters + } + } +} + extension ECSClientTypes { public enum LogDriver: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -2952,6 +3084,8 @@ extension ECSClientTypes { /// The Service Connect configuration of your Amazon ECS service. The configuration for this service to discover and connect to services, and be discovered by, and connected from, other services within a namespace. Tasks that run in a namespace can use short names to connect to services in the namespace. Tasks can connect to services across all of the clusters in the namespace. Tasks connect through a managed proxy container that collects logs and metrics for increased visibility. Only the tasks that Amazon ECS services create are supported with Service Connect. For more information, see [Service Connect](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-connect.html) in the Amazon Elastic Container Service Developer Guide. public struct ServiceConnectConfiguration: Swift.Sendable { + /// The configuration for Service Connect access logging. Access logs capture detailed information about requests made to your service, including request patterns, response codes, and timing data. They can be useful for debugging connectivity issues, monitoring service performance, and auditing service-to-service communication for security and compliance purposes. To enable access logs, you must also specify a logConfiguration in the serviceConnectConfiguration. + public var accessLogConfiguration: ECSClientTypes.ServiceConnectAccessLogConfiguration? /// Specifies whether to use Service Connect with this service. /// This member is required. public var enabled: Swift.Bool @@ -2971,11 +3105,13 @@ extension ECSClientTypes { public var services: [ECSClientTypes.ServiceConnectService]? public init( + accessLogConfiguration: ECSClientTypes.ServiceConnectAccessLogConfiguration? = nil, enabled: Swift.Bool = false, logConfiguration: ECSClientTypes.LogConfiguration? = nil, namespace: Swift.String? = nil, services: [ECSClientTypes.ServiceConnectService]? = nil ) { + self.accessLogConfiguration = accessLogConfiguration self.enabled = enabled self.logConfiguration = logConfiguration self.namespace = namespace @@ -3232,7 +3368,7 @@ public struct CreateServiceInput: Swift.Sendable { /// /// * For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’s AvailabilityZoneRebalancing value. If the service never had an AvailabilityZoneRebalancing value set, Amazon ECS treats this as DISABLED. public var availabilityZoneRebalancing: ECSClientTypes.AvailabilityZoneRebalancing? - /// The capacity provider strategy to use for the service. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. + /// The capacity provider strategy to use for the service. If you want to use Amazon ECS Managed Instances, you must use the capacityProviderStrategy request parameter and omit the launchType request parameter. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. A capacity provider strategy can contain a maximum of 20 capacity providers. public var capacityProviderStrategy: [ECSClientTypes.CapacityProviderStrategyItem]? /// An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 36 ASCII characters in the range of 33-126 (inclusive) are allowed. public var clientToken: Swift.String? @@ -3250,7 +3386,7 @@ public struct CreateServiceInput: Swift.Sendable { public var enableExecuteCommand: Swift.Bool? /// The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSeconds is unused. If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count. public var healthCheckGracePeriodSeconds: Swift.Int? - /// The infrastructure that you run your service on. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the Amazon Elastic Container Service Developer Guide. The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see [Fargate capacity providers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html) in the Amazon ECS Developer Guide. The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster. The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster. A service can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted. + /// The infrastructure that you run your service on. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the Amazon Elastic Container Service Developer Guide. If you want to use Amazon ECS Managed Instances, you must use the capacityProviderStrategy request parameter and omit the launchType request parameter. The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see [Fargate capacity providers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html) in the Amazon ECS Developer Guide. The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster. The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster. A service can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted. public var launchType: ECSClientTypes.LaunchType? /// A load balancer object representing the load balancers to use with your service. For more information, see [Service load balancing](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service-load-balancing.html) in the Amazon Elastic Container Service Developer Guide. If the service uses the ECS deployment controller and using either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach to the service. The service-linked role is required for services that use multiple target groups. For more information, see [Using service-linked roles for Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using-service-linked-roles.html) in the Amazon Elastic Container Service Developer Guide. If the service uses the CODE_DEPLOY deployment controller, the service is required to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you specify two target groups (referred to as a targetGroupPair). During a deployment, CodeDeploy determines which task set in your service has the status PRIMARY, and it associates one target group with it. Then, it also associates the other target group with the replacement task set. The load balancer can also have up to two listeners: a required listener for production traffic and an optional listener that you can use to perform validation tests with Lambda functions before routing production traffic to it. If you use the CODE_DEPLOY deployment controller, these values can be changed when updating the service. For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN, the container name, and the container port to access from the load balancer. The container name must be as it appears in a container definition. The load balancer name parameter must be omitted. When a task from this service is placed on a container instance, the container instance and port combination is registered as a target in the target group that's specified here. For Classic Load Balancers, this object must contain the load balancer name, the container name , and the container port to access from the load balancer. The container name must be as it appears in a container definition. The target group ARN parameter must be omitted. When a task from this service is placed on a container instance, the container instance is registered with the load balancer that's specified here. Services with tasks that use the awsvpc network mode (for example, those with the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers aren't supported. Also, when you create any target groups for these services, you must choose ip as the target type, not instance. This is because tasks that use the awsvpc network mode are associated with an elastic network interface, not an Amazon EC2 instance. public var loadBalancers: [ECSClientTypes.LoadBalancer]? @@ -5445,7 +5581,7 @@ extension ECSClientTypes { public struct ContainerDefinition: Swift.Sendable { /// The command that's passed to the container. This parameter maps to Cmd in the docker container create command and the COMMAND parameter to docker run. If there are multiple arguments, each argument is a separated string in the array. public var command: [Swift.String]? - /// The number of cpu units reserved for the container. This parameter maps to CpuShares in the docker container create commandand the --cpu-shares option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level cpu value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](http://aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version: + /// The number of cpu units reserved for the container. This parameter maps to CpuShares in the docker container create command and the --cpu-shares option to docker run. This field is optional for tasks using the Fargate launch type, and the only requirement is that the total amount of CPU reserved for all containers within a task be lower than the task-level cpu value. You can determine the number of CPU units that are available per EC2 instance type by multiplying the vCPUs listed for that instance type on the [Amazon EC2 Instances](http://aws.amazon.com/ec2/instance-types/) detail page by 1,024. Linux containers share unallocated CPU units with other containers on the container instance with the same ratio as their allocated amount. For example, if you run a single-container task on a single-core instance type with 512 CPU units specified for that container, and that's the only task running on the container instance, that container could use the full 1,024 CPU unit share at any given time. However, if you launched another copy of the same task on that container instance, each task is guaranteed a minimum of 512 CPU units when needed. Moreover, each container could float to higher CPU usage if the other container was not using it. If both tasks were 100% active all of the time, they would be limited to 512 CPU units. On Linux container instances, the Docker daemon on the container instance uses the CPU value to calculate the relative CPU share ratios for running containers. The minimum valid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share value that the Linux kernel allows is 262144. However, the CPU parameter isn't required, and you can use CPU values below 2 or above 262144 in your container definitions. For CPU values below 2 (including null) or above 262144, the behavior varies based on your Amazon ECS container agent version: /// /// * Agent versions less than or equal to 1.1.0: Null and zero CPU values are passed to Docker as 0, which Docker then converts to 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux kernel converts to two CPU shares. /// @@ -6002,7 +6138,7 @@ extension ECSClientTypes { /// Information about the platform for the Amazon ECS service or task. For more information about RuntimePlatform, see [RuntimePlatform](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_definition_parameters.html#runtime-platform) in the Amazon Elastic Container Service Developer Guide. public struct RuntimePlatform: Swift.Sendable { - /// The CPU architecture. You can run your Linux tasks on an ARM-based platform by setting the value to ARM64. This option is available for tasks that run on Linux Amazon EC2 instance or Linux containers on Fargate. + /// The CPU architecture. You can run your Linux tasks on an ARM-based platform by setting the value to ARM64. This option is available for tasks that run on Linux Amazon EC2 instance, Amazon ECS Managed Instances, or Linux containers on Fargate. public var cpuArchitecture: ECSClientTypes.CPUArchitecture? /// The operating system. public var operatingSystemFamily: ECSClientTypes.OSFamily? @@ -6364,7 +6500,7 @@ extension ECSClientTypes { public var memory: Swift.String? /// The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge. For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode. With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings. When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user. If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) value when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the Amazon Elastic Container Service Developer Guide. If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used. public var networkMode: ECSClientTypes.NetworkMode? - /// The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task. If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. If the host PID mode is used, there's a heightened risk of undesired process namespace exposure. This parameter is not supported for Windows containers. This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate. + /// The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task. If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the The default is a private namespace for each container. If the host PID mode is used, there's a heightened risk of undesired process namespace exposure. This parameter is not supported for Windows containers. This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate. public var pidMode: ECSClientTypes.PidMode? /// An array of placement constraint objects to use for tasks. This parameter isn't supported for tasks run on Fargate. public var placementConstraints: [ECSClientTypes.TaskDefinitionPlacementConstraint]? @@ -6376,7 +6512,7 @@ extension ECSClientTypes { public var registeredBy: Swift.String? /// The container instance attributes required by your task. When an Amazon EC2 instance is registered to your cluster, the Amazon ECS container agent assigns some standard attributes to the instance. You can apply custom attributes. These are specified as key-value pairs using the Amazon ECS console or the [PutAttributes](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_PutAttributes.html) API. These attributes are used when determining task placement for tasks hosted on Amazon EC2 instances. For more information, see [Attributes](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-placement-constraints.html#attributes) in the Amazon Elastic Container Service Developer Guide. This parameter isn't supported for tasks run on Fargate. public var requiresAttributes: [ECSClientTypes.Attribute]? - /// The task launch types the task definition was validated against. The valid values are EC2, FARGATE, and EXTERNAL. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the Amazon Elastic Container Service Developer Guide. + /// The task launch types the task definition was validated against. The valid values are MANAGED_INSTANCES, EC2, FARGATE, and EXTERNAL. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the Amazon Elastic Container Service Developer Guide. public var requiresCompatibilities: [ECSClientTypes.Compatibility]? /// The revision of the task in a particular family. The revision is a version number of a task definition in a family. When you register a task definition for the first time, the revision is 1. Each time that you register a new revision of a task definition in the same family, the revision value always increases by one. This is even if you deregistered previous revisions in this family. public var revision: Swift.Int @@ -7220,20 +7356,28 @@ extension ECSClientTypes { public var arn: Swift.String? /// The number of pending tasks for the service revision. public var pendingTaskCount: Swift.Int + /// The percentage of production traffic that is directed to this service revision. This value represents a snapshot of the traffic distribution and may not reflect real-time changes during active deployments. Valid values are 0.0 to 100.0. + public var requestedProductionTrafficWeight: Swift.Double? /// The number of requested tasks for the service revision. public var requestedTaskCount: Swift.Int + /// The percentage of test traffic that is directed to this service revision. This value represents a snapshot of the traffic distribution and may not reflect real-time changes during active deployments. Valid values are 0.0 to 100.0. + public var requestedTestTrafficWeight: Swift.Double? /// The number of running tasks for the service revision. public var runningTaskCount: Swift.Int public init( arn: Swift.String? = nil, pendingTaskCount: Swift.Int = 0, + requestedProductionTrafficWeight: Swift.Double? = 0.0, requestedTaskCount: Swift.Int = 0, + requestedTestTrafficWeight: Swift.Double? = 0.0, runningTaskCount: Swift.Int = 0 ) { self.arn = arn self.pendingTaskCount = pendingTaskCount + self.requestedProductionTrafficWeight = requestedProductionTrafficWeight self.requestedTaskCount = requestedTaskCount + self.requestedTestTrafficWeight = requestedTestTrafficWeight self.runningTaskCount = runningTaskCount } } @@ -8882,7 +9026,7 @@ public struct ListContainerInstancesInput: Swift.Sendable { public var maxResults: Swift.Int? /// The nextToken value returned from a ListContainerInstances request indicating that more results are available to fulfill the request and further calls are needed. If maxResults was provided, it's possible the number of results to be fewer than maxResults. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. public var nextToken: Swift.String? - /// Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using [UpdateContainerInstancesState](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateContainerInstancesState.html). If you don't specify this parameter, the default is to include container instances set to all states other than INACTIVE. + /// Filters the container instances by status. For example, if you specify the DRAINING status, the results include only container instances that have been set to DRAINING using [UpdateContainerInstancesState](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_UpdateContainerInstancesState.html). If you don't specify this parameter, the The default is to include container instances set to all states other than INACTIVE. public var status: ECSClientTypes.ContainerInstanceStatus? public init( @@ -9774,7 +9918,7 @@ public struct RegisterTaskDefinitionInput: Swift.Sendable { public var memory: Swift.String? /// The Docker networking mode to use for the containers in the task. The valid values are none, bridge, awsvpc, and host. If no network mode is specified, the default is bridge. For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network mode is set to none, you cannot specify port mappings in your container definitions, and the tasks containers do not have external connectivity. The host and awsvpc network modes offer the highest networking performance for containers because they use the EC2 network stack instead of the virtualized network stack provided by the bridge mode. With the host and awsvpc network modes, exposed container ports are mapped directly to the corresponding host port (for the host network mode) or the attached elastic network interface port (for the awsvpc network mode), so you cannot take advantage of dynamic host port mappings. When using the host network mode, you should not run containers using the root user (UID 0). It is considered best practice to use a non-root user. If the network mode is awsvpc, the task is allocated an elastic network interface, and you must specify a [NetworkConfiguration](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/API_NetworkConfiguration.html) value when you create a service or run a task with the task definition. For more information, see [Task Networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the Amazon Elastic Container Service Developer Guide. If the network mode is host, you cannot run multiple instantiations of the same task on a single container instance when port mappings are used. public var networkMode: ECSClientTypes.NetworkMode? - /// The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task. If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the default is a private namespace for each container. If the host PID mode is used, there's a heightened risk of undesired process namespace exposure. This parameter is not supported for Windows containers. This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate. + /// The process namespace to use for the containers in the task. The valid values are host or task. On Fargate for Linux containers, the only valid value is task. For example, monitoring sidecars might need pidMode to access information about other containers running in the same task. If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the same process namespace with the host Amazon EC2 instance. If task is specified, all containers within the specified task share the same process namespace. If no value is specified, the The default is a private namespace for each container. If the host PID mode is used, there's a heightened risk of undesired process namespace exposure. This parameter is not supported for Windows containers. This parameter is only supported for tasks that are hosted on Fargate if the tasks are using platform version 1.4.0 or later (Linux). This isn't supported for Windows containers on Fargate. public var pidMode: ECSClientTypes.PidMode? /// An array of placement constraint objects to use for the task. You can specify a maximum of 10 constraints for each task. This limit includes constraints in the task definition and those specified at runtime. public var placementConstraints: [ECSClientTypes.TaskDefinitionPlacementConstraint]? @@ -9782,7 +9926,7 @@ public struct RegisterTaskDefinitionInput: Swift.Sendable { public var proxyConfiguration: ECSClientTypes.ProxyConfiguration? /// The task launch type that Amazon ECS validates the task definition against. A client exception is returned if the task definition doesn't validate against the compatibilities specified. If no value is specified, the parameter is omitted from the response. public var requiresCompatibilities: [ECSClientTypes.Compatibility]? - /// The operating system that your tasks definitions run on. A platform family is specified only for tasks using the Fargate launch type. + /// The operating system that your tasks definitions run on. public var runtimePlatform: ECSClientTypes.RuntimePlatform? /// The metadata that you apply to the task definition to help you categorize and organize them. Each tag consists of a key and an optional value. You define both of them. The following basic restrictions apply to tags: /// @@ -10037,7 +10181,7 @@ extension ECSClientTypes { } public struct RunTaskInput: Swift.Sendable { - /// The capacity provider strategy to use for the task. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType. A capacity provider strategy can contain a maximum of 20 capacity providers. + /// The capacity provider strategy to use for the task. If you want to use Amazon ECS Managed Instances, you must use the capacityProviderStrategy request parameter and omit the launchType request parameter. If a capacityProviderStrategy is specified, the launchType parameter must be omitted. If no capacityProviderStrategy or launchType is specified, the defaultCapacityProviderStrategy for the cluster is used. When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType. A capacity provider strategy can contain a maximum of 20 capacity providers. public var capacityProviderStrategy: [ECSClientTypes.CapacityProviderStrategyItem]? /// An identifier that you provide to ensure the idempotency of the request. It must be unique and is case sensitive. Up to 64 characters are allowed. The valid characters are characters in the range of 33-126, inclusive. For more information, see [Ensuring idempotency](https://docs.aws.amazon.com/AmazonECS/latest/APIReference/ECS_Idempotency.html). public var clientToken: Swift.String? @@ -10051,7 +10195,7 @@ public struct RunTaskInput: Swift.Sendable { public var enableExecuteCommand: Swift.Bool? /// The name of the task group to associate with the task. The default value is the family name of the task definition (for example, family:my-family-name). public var group: Swift.String? - /// The infrastructure to run your standalone task on. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the Amazon Elastic Container Service Developer Guide. The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see [Fargate capacity providers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html) in the Amazon ECS Developer Guide. The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster. The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster. A task can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted. When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType. + /// The infrastructure to run your standalone task on. For more information, see [Amazon ECS launch types](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/launch_types.html) in the Amazon Elastic Container Service Developer Guide. If you want to use Amazon ECS Managed Instances, you must use the capacityProviderStrategy request parameter and omit the launchType request parameter. The FARGATE launch type runs your tasks on Fargate On-Demand infrastructure. Fargate Spot infrastructure is available for use but a capacity provider strategy must be used. For more information, see [Fargate capacity providers](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/fargate-capacity-providers.html) in the Amazon ECS Developer Guide. The EC2 launch type runs your tasks on Amazon EC2 instances registered to your cluster. The EXTERNAL launch type runs your tasks on your on-premises server or virtual machine (VM) capacity registered to your cluster. A task can use either a launch type or a capacity provider strategy. If a launchType is specified, the capacityProviderStrategy parameter must be omitted. When you use cluster auto scaling, you must specify capacityProviderStrategy and not launchType. public var launchType: ECSClientTypes.LaunchType? /// The network configuration for the task. This parameter is required for task definitions that use the awsvpc network mode to receive their own elastic network interface, and it isn't supported for other network modes. For more information, see [Task networking](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html) in the Amazon Elastic Container Service Developer Guide. public var networkConfiguration: ECSClientTypes.NetworkConfiguration? @@ -10931,7 +11075,7 @@ public struct UpdateServiceInput: Swift.Sendable { /// /// This parameter doesn't trigger a new service deployment. public var availabilityZoneRebalancing: ECSClientTypes.AvailabilityZoneRebalancing? - /// The details of a capacity provider strategy. You can set a capacity provider when you create a cluster, run a task, or update a service. When you use Fargate, the capacity providers are FARGATE or FARGATE_SPOT. When you use Amazon EC2, the capacity providers are Auto Scaling groups. You can change capacity providers for rolling deployments and blue/green deployments. The following list provides the valid transitions: + /// The details of a capacity provider strategy. You can set a capacity provider when you create a cluster, run a task, or update a service. If you want to use Amazon ECS Managed Instances, you must use the capacityProviderStrategy request parameter. When you use Fargate, the capacity providers are FARGATE or FARGATE_SPOT. When you use Amazon EC2, the capacity providers are Auto Scaling groups. You can change capacity providers for rolling deployments and blue/green deployments. The following list provides the valid transitions: /// /// * Update the Fargate launch type to an Auto Scaling group capacity provider. /// @@ -15322,6 +15466,7 @@ extension ECSClientTypes.ServiceConnectConfiguration { static func write(value: ECSClientTypes.ServiceConnectConfiguration?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["accessLogConfiguration"].write(value.accessLogConfiguration, with: ECSClientTypes.ServiceConnectAccessLogConfiguration.write(value:to:)) try writer["enabled"].write(value.enabled) try writer["logConfiguration"].write(value.logConfiguration, with: ECSClientTypes.LogConfiguration.write(value:to:)) try writer["namespace"].write(value.namespace) @@ -15335,6 +15480,24 @@ extension ECSClientTypes.ServiceConnectConfiguration { value.namespace = try reader["namespace"].readIfPresent() value.services = try reader["services"].readListIfPresent(memberReadingClosure: ECSClientTypes.ServiceConnectService.read(from:), memberNodeInfo: "member", isFlattened: false) value.logConfiguration = try reader["logConfiguration"].readIfPresent(with: ECSClientTypes.LogConfiguration.read(from:)) + value.accessLogConfiguration = try reader["accessLogConfiguration"].readIfPresent(with: ECSClientTypes.ServiceConnectAccessLogConfiguration.read(from:)) + return value + } +} + +extension ECSClientTypes.ServiceConnectAccessLogConfiguration { + + static func write(value: ECSClientTypes.ServiceConnectAccessLogConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["format"].write(value.format) + try writer["includeQueryParameters"].write(value.includeQueryParameters) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ECSClientTypes.ServiceConnectAccessLogConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ECSClientTypes.ServiceConnectAccessLogConfiguration() + value.format = try reader["format"].readIfPresent() ?? .sdkUnknown("") + value.includeQueryParameters = try reader["includeQueryParameters"].readIfPresent() return value } } @@ -15639,8 +15802,10 @@ extension ECSClientTypes.DeploymentConfiguration { guard let value else { return } try writer["alarms"].write(value.alarms, with: ECSClientTypes.DeploymentAlarms.write(value:to:)) try writer["bakeTimeInMinutes"].write(value.bakeTimeInMinutes) + try writer["canaryConfiguration"].write(value.canaryConfiguration, with: ECSClientTypes.CanaryConfiguration.write(value:to:)) try writer["deploymentCircuitBreaker"].write(value.deploymentCircuitBreaker, with: ECSClientTypes.DeploymentCircuitBreaker.write(value:to:)) try writer["lifecycleHooks"].writeList(value.lifecycleHooks, memberWritingClosure: ECSClientTypes.DeploymentLifecycleHook.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["linearConfiguration"].write(value.linearConfiguration, with: ECSClientTypes.LinearConfiguration.write(value:to:)) try writer["maximumPercent"].write(value.maximumPercent) try writer["minimumHealthyPercent"].write(value.minimumHealthyPercent) try writer["strategy"].write(value.strategy) @@ -15656,6 +15821,42 @@ extension ECSClientTypes.DeploymentConfiguration { value.strategy = try reader["strategy"].readIfPresent() value.bakeTimeInMinutes = try reader["bakeTimeInMinutes"].readIfPresent() value.lifecycleHooks = try reader["lifecycleHooks"].readListIfPresent(memberReadingClosure: ECSClientTypes.DeploymentLifecycleHook.read(from:), memberNodeInfo: "member", isFlattened: false) + value.linearConfiguration = try reader["linearConfiguration"].readIfPresent(with: ECSClientTypes.LinearConfiguration.read(from:)) + value.canaryConfiguration = try reader["canaryConfiguration"].readIfPresent(with: ECSClientTypes.CanaryConfiguration.read(from:)) + return value + } +} + +extension ECSClientTypes.CanaryConfiguration { + + static func write(value: ECSClientTypes.CanaryConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["canaryBakeTimeInMinutes"].write(value.canaryBakeTimeInMinutes) + try writer["canaryPercent"].write(value.canaryPercent) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ECSClientTypes.CanaryConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ECSClientTypes.CanaryConfiguration() + value.canaryPercent = try reader["canaryPercent"].readIfPresent() + value.canaryBakeTimeInMinutes = try reader["canaryBakeTimeInMinutes"].readIfPresent() + return value + } +} + +extension ECSClientTypes.LinearConfiguration { + + static func write(value: ECSClientTypes.LinearConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["stepBakeTimeInMinutes"].write(value.stepBakeTimeInMinutes) + try writer["stepPercent"].write(value.stepPercent) + } + + static func read(from reader: SmithyJSON.Reader) throws -> ECSClientTypes.LinearConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ECSClientTypes.LinearConfiguration() + value.stepPercent = try reader["stepPercent"].readIfPresent() + value.stepBakeTimeInMinutes = try reader["stepBakeTimeInMinutes"].readIfPresent() return value } } @@ -16605,6 +16806,8 @@ extension ECSClientTypes.ServiceRevisionSummary { value.requestedTaskCount = try reader["requestedTaskCount"].readIfPresent() ?? 0 value.runningTaskCount = try reader["runningTaskCount"].readIfPresent() ?? 0 value.pendingTaskCount = try reader["pendingTaskCount"].readIfPresent() ?? 0 + value.requestedTestTrafficWeight = try reader["requestedTestTrafficWeight"].readIfPresent() + value.requestedProductionTrafficWeight = try reader["requestedProductionTrafficWeight"].readIfPresent() return value } } diff --git a/Sources/Services/AWSEFS/Sources/AWSEFS/EFSClient.swift b/Sources/Services/AWSEFS/Sources/AWSEFS/EFSClient.swift index 2ae3950f437..a60bce174cb 100644 --- a/Sources/Services/AWSEFS/Sources/AWSEFS/EFSClient.swift +++ b/Sources/Services/AWSEFS/Sources/AWSEFS/EFSClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EFSClient: ClientRuntime.Client { +public class EFSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EFSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EFSClient.EFSClientConfiguration let serviceName = "EFS" diff --git a/Sources/Services/AWSEFS/Tests/AWSEFSTests/EndpointResolverTest.swift b/Sources/Services/AWSEFS/Tests/AWSEFSTests/EndpointResolverTest.swift index 7ef23e7d8eb..d0ffd47b147 100644 --- a/Sources/Services/AWSEFS/Tests/AWSEFSTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSEFS/Tests/AWSEFSTests/EndpointResolverTest.swift @@ -237,11 +237,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -252,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://efs-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -272,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -292,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://efs.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -312,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -332,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -352,15 +352,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -372,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -392,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -412,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -432,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -452,17 +452,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://efs-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -472,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -492,15 +492,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://efs.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -512,7 +512,7 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://elasticfilesystem.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSEKS/Sources/AWSEKS/EKSClient.swift b/Sources/Services/AWSEKS/Sources/AWSEKS/EKSClient.swift index 56606b5c2f5..923ec76d606 100644 --- a/Sources/Services/AWSEKS/Sources/AWSEKS/EKSClient.swift +++ b/Sources/Services/AWSEKS/Sources/AWSEKS/EKSClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EKSClient: ClientRuntime.Client { +public class EKSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EKSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EKSClient.EKSClientConfiguration let serviceName = "EKS" diff --git a/Sources/Services/AWSEKSAuth/Sources/AWSEKSAuth/EKSAuthClient.swift b/Sources/Services/AWSEKSAuth/Sources/AWSEKSAuth/EKSAuthClient.swift index 5f48fcbbf57..badaa16c3f6 100644 --- a/Sources/Services/AWSEKSAuth/Sources/AWSEKSAuth/EKSAuthClient.swift +++ b/Sources/Services/AWSEKSAuth/Sources/AWSEKSAuth/EKSAuthClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EKSAuthClient: ClientRuntime.Client { +public class EKSAuthClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EKSAuthClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EKSAuthClient.EKSAuthClientConfiguration let serviceName = "EKS Auth" diff --git a/Sources/Services/AWSEMR/Sources/AWSEMR/EMRClient.swift b/Sources/Services/AWSEMR/Sources/AWSEMR/EMRClient.swift index 79e893f12a9..15eb3128175 100644 --- a/Sources/Services/AWSEMR/Sources/AWSEMR/EMRClient.swift +++ b/Sources/Services/AWSEMR/Sources/AWSEMR/EMRClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EMRClient: ClientRuntime.Client { +public class EMRClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EMRClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EMRClient.EMRClientConfiguration let serviceName = "EMR" diff --git a/Sources/Services/AWSEMR/Sources/AWSEMR/Models.swift b/Sources/Services/AWSEMR/Sources/AWSEMR/Models.swift index 76ef2af5a8a..10df36ddfbe 100644 --- a/Sources/Services/AWSEMR/Sources/AWSEMR/Models.swift +++ b/Sources/Services/AWSEMR/Sources/AWSEMR/Models.swift @@ -4494,6 +4494,7 @@ extension EMRClientTypes { public enum InstanceFleetState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case bootstrapping case provisioning + case reconfiguring case resizing case running case suspended @@ -4505,6 +4506,7 @@ extension EMRClientTypes { return [ .bootstrapping, .provisioning, + .reconfiguring, .resizing, .running, .suspended, @@ -4522,6 +4524,7 @@ extension EMRClientTypes { switch self { case .bootstrapping: return "BOOTSTRAPPING" case .provisioning: return "PROVISIONING" + case .reconfiguring: return "RECONFIGURING" case .resizing: return "RESIZING" case .running: return "RUNNING" case .suspended: return "SUSPENDED" diff --git a/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/EMRServerlessClient.swift b/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/EMRServerlessClient.swift index a848877fc22..a7137e72115 100644 --- a/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/EMRServerlessClient.swift +++ b/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/EMRServerlessClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EMRServerlessClient: ClientRuntime.Client { +public class EMRServerlessClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EMRServerlessClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EMRServerlessClient.EMRServerlessClientConfiguration let serviceName = "EMR Serverless" diff --git a/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/Models.swift b/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/Models.swift index 7fed0e55b90..49b075ce65b 100644 --- a/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/Models.swift +++ b/Sources/Services/AWSEMRServerless/Sources/AWSEMRServerless/Models.swift @@ -95,19 +95,23 @@ extension EMRServerlessClientTypes { extension EMRServerlessClientTypes { - /// The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation. + /// The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance. public struct IdentityCenterConfiguration: Swift.Sendable { /// The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation. public var identityCenterApplicationArn: Swift.String? /// The ARN of the IAM Identity Center instance. public var identityCenterInstanceArn: Swift.String? + /// Enables user background sessions for this application so Livy sessions can continue running after users log out of their interactive notebook or their Identity Center sessions expire. + public var userBackgroundSessionsEnabled: Swift.Bool? public init( identityCenterApplicationArn: Swift.String? = nil, - identityCenterInstanceArn: Swift.String? = nil + identityCenterInstanceArn: Swift.String? = nil, + userBackgroundSessionsEnabled: Swift.Bool? = nil ) { self.identityCenterApplicationArn = identityCenterApplicationArn self.identityCenterInstanceArn = identityCenterInstanceArn + self.userBackgroundSessionsEnabled = userBackgroundSessionsEnabled } } } @@ -594,15 +598,19 @@ public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime. extension EMRServerlessClientTypes { - /// Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control. + /// The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance. public struct IdentityCenterConfigurationInput: Swift.Sendable { /// The ARN of the IAM Identity Center instance. public var identityCenterInstanceArn: Swift.String? + /// Enables user background sessions for this application so Livy sessions can continue running after users log out of their interactive notebook or their Identity Center sessions expire. + public var userBackgroundSessionsEnabled: Swift.Bool? public init( - identityCenterInstanceArn: Swift.String? = nil + identityCenterInstanceArn: Swift.String? = nil, + userBackgroundSessionsEnabled: Swift.Bool? = nil ) { self.identityCenterInstanceArn = identityCenterInstanceArn + self.userBackgroundSessionsEnabled = userBackgroundSessionsEnabled } } } @@ -2896,6 +2904,7 @@ extension EMRServerlessClientTypes.IdentityCenterConfiguration { var value = EMRServerlessClientTypes.IdentityCenterConfiguration() value.identityCenterInstanceArn = try reader["identityCenterInstanceArn"].readIfPresent() value.identityCenterApplicationArn = try reader["identityCenterApplicationArn"].readIfPresent() + value.userBackgroundSessionsEnabled = try reader["userBackgroundSessionsEnabled"].readIfPresent() return value } } @@ -3440,6 +3449,7 @@ extension EMRServerlessClientTypes.IdentityCenterConfigurationInput { static func write(value: EMRServerlessClientTypes.IdentityCenterConfigurationInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["identityCenterInstanceArn"].write(value.identityCenterInstanceArn) + try writer["userBackgroundSessionsEnabled"].write(value.userBackgroundSessionsEnabled) } } diff --git a/Sources/Services/AWSEMRcontainers/Sources/AWSEMRcontainers/EMRcontainersClient.swift b/Sources/Services/AWSEMRcontainers/Sources/AWSEMRcontainers/EMRcontainersClient.swift index fe530216bcd..5546a62e4d3 100644 --- a/Sources/Services/AWSEMRcontainers/Sources/AWSEMRcontainers/EMRcontainersClient.swift +++ b/Sources/Services/AWSEMRcontainers/Sources/AWSEMRcontainers/EMRcontainersClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EMRcontainersClient: ClientRuntime.Client { +public class EMRcontainersClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EMRcontainersClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EMRcontainersClient.EMRcontainersClientConfiguration let serviceName = "EMR containers" diff --git a/Sources/Services/AWSElastiCache/Sources/AWSElastiCache/ElastiCacheClient.swift b/Sources/Services/AWSElastiCache/Sources/AWSElastiCache/ElastiCacheClient.swift index 51bb42d4a27..7ab40b142c1 100644 --- a/Sources/Services/AWSElastiCache/Sources/AWSElastiCache/ElastiCacheClient.swift +++ b/Sources/Services/AWSElastiCache/Sources/AWSElastiCache/ElastiCacheClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ElastiCacheClient: ClientRuntime.Client { +public class ElastiCacheClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ElastiCacheClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ElastiCacheClient.ElastiCacheClientConfiguration let serviceName = "ElastiCache" diff --git a/Sources/Services/AWSElasticBeanstalk/Sources/AWSElasticBeanstalk/ElasticBeanstalkClient.swift b/Sources/Services/AWSElasticBeanstalk/Sources/AWSElasticBeanstalk/ElasticBeanstalkClient.swift index 27e8b86cd7e..6987bc6d062 100644 --- a/Sources/Services/AWSElasticBeanstalk/Sources/AWSElasticBeanstalk/ElasticBeanstalkClient.swift +++ b/Sources/Services/AWSElasticBeanstalk/Sources/AWSElasticBeanstalk/ElasticBeanstalkClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ElasticBeanstalkClient: ClientRuntime.Client { +public class ElasticBeanstalkClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ElasticBeanstalkClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ElasticBeanstalkClient.ElasticBeanstalkClientConfiguration let serviceName = "Elastic Beanstalk" diff --git a/Sources/Services/AWSElasticLoadBalancing/Sources/AWSElasticLoadBalancing/ElasticLoadBalancingClient.swift b/Sources/Services/AWSElasticLoadBalancing/Sources/AWSElasticLoadBalancing/ElasticLoadBalancingClient.swift index a59a903546a..f84168e3cea 100644 --- a/Sources/Services/AWSElasticLoadBalancing/Sources/AWSElasticLoadBalancing/ElasticLoadBalancingClient.swift +++ b/Sources/Services/AWSElasticLoadBalancing/Sources/AWSElasticLoadBalancing/ElasticLoadBalancingClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ElasticLoadBalancingClient: ClientRuntime.Client { +public class ElasticLoadBalancingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ElasticLoadBalancingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ElasticLoadBalancingClient.ElasticLoadBalancingClientConfiguration let serviceName = "Elastic Load Balancing" diff --git a/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/ElasticLoadBalancingv2Client.swift b/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/ElasticLoadBalancingv2Client.swift index 371159535f1..e4ef93b4077 100644 --- a/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/ElasticLoadBalancingv2Client.swift +++ b/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/ElasticLoadBalancingv2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ElasticLoadBalancingv2Client: ClientRuntime.Client { +public class ElasticLoadBalancingv2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "ElasticLoadBalancingv2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ElasticLoadBalancingv2Client.ElasticLoadBalancingv2ClientConfiguration let serviceName = "Elastic Load Balancing v2" @@ -771,7 +770,7 @@ extension ElasticLoadBalancingv2Client { /// Performs the `CreateRule` operation on the `ElasticLoadBalancingv2` service. /// - /// Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, and one or more conditions. Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see [Listener rules](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) in the Application Load Balancers Guide. + /// Creates a rule for the specified listener. The listener must be associated with an Application Load Balancer. Each rule consists of a priority, one or more actions, one or more conditions, and up to two optional transforms. Rules are evaluated in priority order, from the lowest value to the highest value. When the conditions for a rule are met, its actions are performed. If the conditions for no rules are met, the actions for the default rule are performed. For more information, see [Listener rules](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#listener-rules) in the Application Load Balancers Guide. /// /// - Parameter input: [no documentation found] (Type: `CreateRuleInput`) /// @@ -3968,7 +3967,7 @@ extension ElasticLoadBalancingv2Client { /// Performs the `SetSubnets` operation on the `ElasticLoadBalancingv2` service. /// - /// Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets replace the previously enabled subnets. When you specify subnets for a Network Load Balancer, or Gateway Load Balancer you must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets. + /// Enables the Availability Zones for the specified public subnets for the specified Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets replace the previously enabled subnets. /// /// - Parameter input: [no documentation found] (Type: `SetSubnetsInput`) /// diff --git a/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/Models.swift b/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/Models.swift index 5fe3dea7d1d..009825d7bdb 100644 --- a/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/Models.swift +++ b/Sources/Services/AWSElasticLoadBalancingv2/Sources/AWSElasticLoadBalancingv2/Models.swift @@ -1843,7 +1843,7 @@ public struct CreateListenerInput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the load balancer. /// This member is required. public var loadBalancerArn: Swift.String? - /// The mutual authentication configuration information. + /// [HTTPS listeners] The mutual authentication configuration information. public var mutualAuthentication: ElasticLoadBalancingv2ClientTypes.MutualAuthenticationAttributes? /// The port on which the load balancer is listening. You can't specify a port for a Gateway Load Balancer. public var port: Swift.Int? @@ -2552,12 +2552,16 @@ extension ElasticLoadBalancingv2ClientTypes { /// Information about a host header condition. public struct HostHeaderConditionConfig: Swift.Sendable { - /// The host names. The maximum size of each name is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). You must include at least one "." character. You can include only alphabetical characters after the final "." character. If you specify multiple strings, the condition is satisfied if one of the strings matches the host name. + /// The regular expressions to compare against the host header. The maximum length of each string is 128 characters. + public var regexValues: [Swift.String]? + /// The host names. The maximum length of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). You must include at least one "." character. You can include only alphabetical characters after the final "." character. If you specify multiple strings, the condition is satisfied if one of the strings matches the host name. public var values: [Swift.String]? public init( + regexValues: [Swift.String]? = nil, values: [Swift.String]? = nil ) { + self.regexValues = regexValues self.values = values } } @@ -2567,16 +2571,20 @@ extension ElasticLoadBalancingv2ClientTypes { /// Information about an HTTP header condition. There is a set of standard HTTP header fields. You can also define custom HTTP header fields. public struct HttpHeaderConditionConfig: Swift.Sendable { - /// The name of the HTTP header field. The maximum size is 40 characters. The header name is case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not supported. You can't use an HTTP header condition to specify the host header. Instead, use a [host condition](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#host-conditions). + /// The name of the HTTP header field. The maximum length is 40 characters. The header name is case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not supported. You can't use an HTTP header condition to specify the host header. Instead, use a [host condition](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#host-conditions). public var httpHeaderName: Swift.String? - /// The strings to compare against the value of the HTTP header. The maximum size of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). If the same header appears multiple times in the request, we search them in order until a match is found. If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string. + /// The regular expression to compare against the HTTP header. The maximum length of each string is 128 characters. + public var regexValues: [Swift.String]? + /// The strings to compare against the value of the HTTP header. The maximum length of each string is 128 characters. The comparison strings are case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). If the same header appears multiple times in the request, we search them in order until a match is found. If you specify multiple strings, the condition is satisfied if one of the strings matches the value of the HTTP header. To require that all of the strings are a match, create one condition per string. public var values: [Swift.String]? public init( httpHeaderName: Swift.String? = nil, + regexValues: [Swift.String]? = nil, values: [Swift.String]? = nil ) { self.httpHeaderName = httpHeaderName + self.regexValues = regexValues self.values = values } } @@ -2586,7 +2594,7 @@ extension ElasticLoadBalancingv2ClientTypes { /// Information about an HTTP method condition. HTTP defines a set of request methods, also referred to as HTTP verbs. For more information, see the [HTTP Method Registry](https://www.iana.org/assignments/http-methods/http-methods.xhtml). You can also define custom HTTP methods. public struct HttpRequestMethodConditionConfig: Swift.Sendable { - /// The name of the request method. The maximum size is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match. If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached. + /// The name of the request method. The maximum length is 40 characters. The allowed characters are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not supported; therefore, the method name must be an exact match. If you specify multiple strings, the condition is satisfied if one of the strings matches the HTTP request method. We recommend that you route GET and HEAD requests in the same way, because the response to a HEAD request may be cached. public var values: [Swift.String]? public init( @@ -2601,12 +2609,16 @@ extension ElasticLoadBalancingv2ClientTypes { /// Information about a path pattern condition. public struct PathPatternConditionConfig: Swift.Sendable { - /// The path patterns to compare against the request URL. The maximum size of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use a [query string condition](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#query-string-conditions). + /// The regular expressions to compare against the request URL. The maximum length of each string is 128 characters. + public var regexValues: [Swift.String]? + /// The path patterns to compare against the request URL. The maximum length of each string is 128 characters. The comparison is case sensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). If you specify multiple strings, the condition is satisfied if one of them matches the request URL. The path pattern is compared only to the path of the URL, not to its query string. To compare against the query string, use a [query string condition](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-listeners.html#query-string-conditions). public var values: [Swift.String]? public init( + regexValues: [Swift.String]? = nil, values: [Swift.String]? = nil ) { + self.regexValues = regexValues self.values = values } } @@ -2635,7 +2647,7 @@ extension ElasticLoadBalancingv2ClientTypes { /// Information about a query string condition. The query string component of a URI starts after the first '?' character and is terminated by either a '#' character or the end of the URI. A typical query string contains key/value pairs separated by '&' characters. The allowed characters are specified by RFC 3986. Any character can be percentage encoded. public struct QueryStringConditionConfig: Swift.Sendable { - /// The key/value pairs or values to find in the query string. The maximum size of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values using a '\' character. If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string. + /// The key/value pairs or values to find in the query string. The maximum length of each string is 128 characters. The comparison is case insensitive. The following wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1 character). To search for a literal '*' or '?' character in a query string, you must escape these characters in Values using a '\' character. If you specify multiple key/value pairs or values, the condition is satisfied if one of them is found in the query string. public var values: [ElasticLoadBalancingv2ClientTypes.QueryStringKeyValuePair]? public init( @@ -2689,6 +2701,8 @@ extension ElasticLoadBalancingv2ClientTypes { public var pathPatternConfig: ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig? /// Information for a query string condition. Specify only when Field is query-string. public var queryStringConfig: ElasticLoadBalancingv2ClientTypes.QueryStringConditionConfig? + /// The regular expressions to match against the condition field. The maximum length of each string is 128 characters. Specify only when Field is http-header, host-header, or path-pattern. + public var regexValues: [Swift.String]? /// Information for a source IP condition. Specify only when Field is source-ip. public var sourceIpConfig: ElasticLoadBalancingv2ClientTypes.SourceIpConditionConfig? /// The condition value. Specify only when Field is host-header or path-pattern. Alternatively, to specify multiple host names or multiple path patterns, use HostHeaderConfig or PathPatternConfig. If Field is host-header and you are not using HostHeaderConfig, you can specify a single host name (for example, my.example.com) in Values. A host name is case insensitive, can be up to 128 characters in length, and can contain any of the following characters. @@ -2722,6 +2736,7 @@ extension ElasticLoadBalancingv2ClientTypes { httpRequestMethodConfig: ElasticLoadBalancingv2ClientTypes.HttpRequestMethodConditionConfig? = nil, pathPatternConfig: ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig? = nil, queryStringConfig: ElasticLoadBalancingv2ClientTypes.QueryStringConditionConfig? = nil, + regexValues: [Swift.String]? = nil, sourceIpConfig: ElasticLoadBalancingv2ClientTypes.SourceIpConditionConfig? = nil, values: [Swift.String]? = nil ) { @@ -2731,12 +2746,121 @@ extension ElasticLoadBalancingv2ClientTypes { self.httpRequestMethodConfig = httpRequestMethodConfig self.pathPatternConfig = pathPatternConfig self.queryStringConfig = queryStringConfig + self.regexValues = regexValues self.sourceIpConfig = sourceIpConfig self.values = values } } } +extension ElasticLoadBalancingv2ClientTypes { + + /// Information about a rewrite transform. This transform matches a pattern and replaces it with the specified string. + public struct RewriteConfig: Swift.Sendable { + /// The regular expression to match in the input string. The maximum length of the string is 1,024 characters. + /// This member is required. + public var regex: Swift.String? + /// The replacement string to use when rewriting the matched input. The maximum length of the string is 1,024 characters. You can specify capture groups in the regular expression (for example, $1 and $2). + /// This member is required. + public var replace: Swift.String? + + public init( + regex: Swift.String? = nil, + replace: Swift.String? = nil + ) { + self.regex = regex + self.replace = replace + } + } +} + +extension ElasticLoadBalancingv2ClientTypes { + + /// Information about a host header rewrite transform. This transform matches a pattern in the host header in an HTTP request and replaces it with the specified string. + public struct HostHeaderRewriteConfig: Swift.Sendable { + /// The host header rewrite transform. Each transform consists of a regular expression to match and a replacement string. + public var rewrites: [ElasticLoadBalancingv2ClientTypes.RewriteConfig]? + + public init( + rewrites: [ElasticLoadBalancingv2ClientTypes.RewriteConfig]? = nil + ) { + self.rewrites = rewrites + } + } +} + +extension ElasticLoadBalancingv2ClientTypes { + + public enum TransformTypeEnum: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case hostHeaderRewrite + case urlRewrite + case sdkUnknown(Swift.String) + + public static var allCases: [TransformTypeEnum] { + return [ + .hostHeaderRewrite, + .urlRewrite + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .hostHeaderRewrite: return "host-header-rewrite" + case .urlRewrite: return "url-rewrite" + case let .sdkUnknown(s): return s + } + } + } +} + +extension ElasticLoadBalancingv2ClientTypes { + + /// Information about a URL rewrite transform. This transform matches a pattern in the request URL and replaces it with the specified string. + public struct UrlRewriteConfig: Swift.Sendable { + /// The URL rewrite transform to apply to the request. The transform consists of a regular expression to match and a replacement string. + public var rewrites: [ElasticLoadBalancingv2ClientTypes.RewriteConfig]? + + public init( + rewrites: [ElasticLoadBalancingv2ClientTypes.RewriteConfig]? = nil + ) { + self.rewrites = rewrites + } + } +} + +extension ElasticLoadBalancingv2ClientTypes { + + /// Information about a transform to apply to requests that match a rule. Transforms are applied to requests before they are sent to targets. + public struct RuleTransform: Swift.Sendable { + /// Information about a host header rewrite transform. This transform modifies the host header in an HTTP request. Specify only when Type is host-header-rewrite. + public var hostHeaderRewriteConfig: ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig? + /// The type of transform. + /// + /// * host-header-rewrite - Rewrite the host header. + /// + /// * url-rewrite - Rewrite the request URL. + /// This member is required. + public var type: ElasticLoadBalancingv2ClientTypes.TransformTypeEnum? + /// Information about a URL rewrite transform. This transform modifies the request URL. Specify only when Type is url-rewrite. + public var urlRewriteConfig: ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig? + + public init( + hostHeaderRewriteConfig: ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig? = nil, + type: ElasticLoadBalancingv2ClientTypes.TransformTypeEnum? = nil, + urlRewriteConfig: ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig? = nil + ) { + self.hostHeaderRewriteConfig = hostHeaderRewriteConfig + self.type = type + self.urlRewriteConfig = urlRewriteConfig + } + } +} + public struct CreateRuleInput: Swift.Sendable { /// The actions. /// This member is required. @@ -2752,19 +2876,23 @@ public struct CreateRuleInput: Swift.Sendable { public var priority: Swift.Int? /// The tags to assign to the rule. public var tags: [ElasticLoadBalancingv2ClientTypes.Tag]? + /// The transforms to apply to requests that match this rule. You can add one host header rewrite transform and one URL rewrite transform. + public var transforms: [ElasticLoadBalancingv2ClientTypes.RuleTransform]? public init( actions: [ElasticLoadBalancingv2ClientTypes.Action]? = nil, conditions: [ElasticLoadBalancingv2ClientTypes.RuleCondition]? = nil, listenerArn: Swift.String? = nil, priority: Swift.Int? = nil, - tags: [ElasticLoadBalancingv2ClientTypes.Tag]? = nil + tags: [ElasticLoadBalancingv2ClientTypes.Tag]? = nil, + transforms: [ElasticLoadBalancingv2ClientTypes.RuleTransform]? = nil ) { self.actions = actions self.conditions = conditions self.listenerArn = listenerArn self.priority = priority self.tags = tags + self.transforms = transforms } } @@ -2782,19 +2910,23 @@ extension ElasticLoadBalancingv2ClientTypes { public var priority: Swift.String? /// The Amazon Resource Name (ARN) of the rule. public var ruleArn: Swift.String? + /// The transforms for the rule. + public var transforms: [ElasticLoadBalancingv2ClientTypes.RuleTransform]? public init( actions: [ElasticLoadBalancingv2ClientTypes.Action]? = nil, conditions: [ElasticLoadBalancingv2ClientTypes.RuleCondition]? = nil, isDefault: Swift.Bool? = nil, priority: Swift.String? = nil, - ruleArn: Swift.String? = nil + ruleArn: Swift.String? = nil, + transforms: [ElasticLoadBalancingv2ClientTypes.RuleTransform]? = nil ) { self.actions = actions self.conditions = conditions self.isDefault = isDefault self.priority = priority self.ruleArn = ruleArn + self.transforms = transforms } } } @@ -3536,43 +3668,7 @@ extension ElasticLoadBalancingv2ClientTypes { public struct Limit: Swift.Sendable { /// The maximum value of the limit. public var max: Swift.String? - /// The name of the limit. The possible values are: - /// - /// * application-load-balancers - /// - /// * condition-values-per-alb-rule - /// - /// * condition-wildcards-per-alb-rule - /// - /// * gateway-load-balancers - /// - /// * gateway-load-balancers-per-vpc - /// - /// * geneve-target-groups - /// - /// * listeners-per-application-load-balancer - /// - /// * listeners-per-network-load-balancer - /// - /// * network-load-balancers - /// - /// * rules-per-application-load-balancer - /// - /// * target-groups - /// - /// * target-groups-per-action-on-application-load-balancer - /// - /// * target-groups-per-action-on-network-load-balancer - /// - /// * target-groups-per-application-load-balancer - /// - /// * targets-per-application-load-balancer - /// - /// * targets-per-availability-zone-per-gateway-load-balancer - /// - /// * targets-per-availability-zone-per-network-load-balancer - /// - /// * targets-per-network-load-balancer + /// The name of the limit. public var name: Swift.String? public init( @@ -3900,7 +3996,7 @@ extension ElasticLoadBalancingv2ClientTypes { /// /// /// - /// * routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible values are true and false. The default is true. Elastic Load Balancing requires that message header names contain only alphanumeric characters and hyphens. + /// * routing.http2.enabled - Indicates whether clients can connect to the load balancer using HTTP/2. If true, clients can connect using HTTP/2 or HTTP/1.1. However, all client requests are subject to the stricter HTTP/2 header validation rules. For example, message header names must contain only alphanumeric characters and hyphens. If false, clients must connect using HTTP/1.1. The default is true. /// /// * waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The default is false. /// @@ -4991,7 +5087,7 @@ public struct ModifyListenerInput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the listener. /// This member is required. public var listenerArn: Swift.String? - /// The mutual authentication configuration information. + /// [HTTPS listeners] The mutual authentication configuration information. public var mutualAuthentication: ElasticLoadBalancingv2ClientTypes.MutualAuthenticationAttributes? /// The port for connections from clients to the load balancer. You can't specify a port for a Gateway Load Balancer. public var port: Swift.Int? @@ -5093,18 +5189,26 @@ public struct ModifyRuleInput: Swift.Sendable { public var actions: [ElasticLoadBalancingv2ClientTypes.Action]? /// The conditions. public var conditions: [ElasticLoadBalancingv2ClientTypes.RuleCondition]? + /// Indicates whether to remove all transforms from the rule. If you specify ResetTransforms, you can't specify Transforms. + public var resetTransforms: Swift.Bool? /// The Amazon Resource Name (ARN) of the rule. /// This member is required. public var ruleArn: Swift.String? + /// The transforms to apply to requests that match this rule. You can add one host header rewrite transform and one URL rewrite transform. If you specify Transforms, you can't specify ResetTransforms. + public var transforms: [ElasticLoadBalancingv2ClientTypes.RuleTransform]? public init( actions: [ElasticLoadBalancingv2ClientTypes.Action]? = nil, conditions: [ElasticLoadBalancingv2ClientTypes.RuleCondition]? = nil, - ruleArn: Swift.String? = nil + resetTransforms: Swift.Bool? = nil, + ruleArn: Swift.String? = nil, + transforms: [ElasticLoadBalancingv2ClientTypes.RuleTransform]? = nil ) { self.actions = actions self.conditions = conditions + self.resetTransforms = resetTransforms self.ruleArn = ruleArn + self.transforms = transforms } } @@ -5120,7 +5224,7 @@ public struct ModifyRuleOutput: Swift.Sendable { } public struct ModifyTargetGroupInput: Swift.Sendable { - /// Indicates whether health checks are enabled. + /// Indicates whether health checks are enabled. If the target type is lambda, health checks are disabled by default but can be enabled. If the target type is instance, ip, or alb, health checks are always enabled and can't be disabled. public var healthCheckEnabled: Swift.Bool? /// The approximate amount of time, in seconds, between health checks of an individual target. public var healthCheckIntervalSeconds: Swift.Int? @@ -5476,7 +5580,7 @@ public struct SetSubnetsInput: Swift.Sendable { public var loadBalancerArn: Swift.String? /// The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. You can't specify Elastic IP addresses for your subnets. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. You can specify one Elastic IP address per subnet if you need static IP addresses for your internet-facing load balancer. For internal load balancers, you can specify one private IP address per subnet from the IPv4 range of the subnet. For internet-facing load balancer, you can specify one IPv6 address per subnet. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. public var subnetMappings: [ElasticLoadBalancingv2ClientTypes.SubnetMapping]? - /// The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers and Gateway Load Balancers] You can specify subnets from one or more Availability Zones. + /// The IDs of the public subnets. You can specify only one subnet per Availability Zone. You must specify either subnets or subnet mappings. [Application Load Balancers] You must specify subnets from at least two Availability Zones. [Application Load Balancers on Outposts] You must specify one Outpost subnet. [Application Load Balancers on Local Zones] You can specify subnets from one or more Local Zones. [Network Load Balancers] You can specify subnets from one or more Availability Zones. [Gateway Load Balancers] You can specify subnets from one or more Availability Zones. You must include all subnets that were enabled previously, with their existing configurations, plus any additional subnets. public var subnets: [Swift.String]? public init( @@ -5950,6 +6054,7 @@ extension CreateRuleInput { try writer["ListenerArn"].write(value.listenerArn) try writer["Priority"].write(value.priority) try writer["Tags"].writeList(value.tags, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["Transforms"].writeList(value.transforms, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.RuleTransform.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Action"].write("CreateRule") try writer["Version"].write("2015-12-01") } @@ -6356,7 +6461,9 @@ extension ModifyRuleInput { guard let value else { return } try writer["Actions"].writeList(value.actions, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.Action.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Conditions"].writeList(value.conditions, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.RuleCondition.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["ResetTransforms"].write(value.resetTransforms) try writer["RuleArn"].write(value.ruleArn) + try writer["Transforms"].writeList(value.transforms, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.RuleTransform.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Action"].write("ModifyRule") try writer["Version"].write("2015-12-01") } @@ -9005,6 +9112,73 @@ extension ElasticLoadBalancingv2ClientTypes.Rule { value.conditions = try reader["Conditions"].readListIfPresent(memberReadingClosure: ElasticLoadBalancingv2ClientTypes.RuleCondition.read(from:), memberNodeInfo: "member", isFlattened: false) value.actions = try reader["Actions"].readListIfPresent(memberReadingClosure: ElasticLoadBalancingv2ClientTypes.Action.read(from:), memberNodeInfo: "member", isFlattened: false) value.isDefault = try reader["IsDefault"].readIfPresent() + value.transforms = try reader["Transforms"].readListIfPresent(memberReadingClosure: ElasticLoadBalancingv2ClientTypes.RuleTransform.read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + +extension ElasticLoadBalancingv2ClientTypes.RuleTransform { + + static func write(value: ElasticLoadBalancingv2ClientTypes.RuleTransform?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["HostHeaderRewriteConfig"].write(value.hostHeaderRewriteConfig, with: ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig.write(value:to:)) + try writer["Type"].write(value.type) + try writer["UrlRewriteConfig"].write(value.urlRewriteConfig, with: ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig.write(value:to:)) + } + + static func read(from reader: SmithyXML.Reader) throws -> ElasticLoadBalancingv2ClientTypes.RuleTransform { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ElasticLoadBalancingv2ClientTypes.RuleTransform() + value.type = try reader["Type"].readIfPresent() ?? .sdkUnknown("") + value.hostHeaderRewriteConfig = try reader["HostHeaderRewriteConfig"].readIfPresent(with: ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig.read(from:)) + value.urlRewriteConfig = try reader["UrlRewriteConfig"].readIfPresent(with: ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig.read(from:)) + return value + } +} + +extension ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig { + + static func write(value: ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Rewrites"].writeList(value.rewrites, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.RewriteConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyXML.Reader) throws -> ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ElasticLoadBalancingv2ClientTypes.UrlRewriteConfig() + value.rewrites = try reader["Rewrites"].readListIfPresent(memberReadingClosure: ElasticLoadBalancingv2ClientTypes.RewriteConfig.read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + +extension ElasticLoadBalancingv2ClientTypes.RewriteConfig { + + static func write(value: ElasticLoadBalancingv2ClientTypes.RewriteConfig?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Regex"].write(value.regex) + try writer["Replace"].write(value.replace) + } + + static func read(from reader: SmithyXML.Reader) throws -> ElasticLoadBalancingv2ClientTypes.RewriteConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ElasticLoadBalancingv2ClientTypes.RewriteConfig() + value.regex = try reader["Regex"].readIfPresent() ?? "" + value.replace = try reader["Replace"].readIfPresent() ?? "" + return value + } +} + +extension ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig { + + static func write(value: ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig?, to writer: SmithyFormURL.Writer) throws { + guard let value else { return } + try writer["Rewrites"].writeList(value.rewrites, memberWritingClosure: ElasticLoadBalancingv2ClientTypes.RewriteConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyXML.Reader) throws -> ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = ElasticLoadBalancingv2ClientTypes.HostHeaderRewriteConfig() + value.rewrites = try reader["Rewrites"].readListIfPresent(memberReadingClosure: ElasticLoadBalancingv2ClientTypes.RewriteConfig.read(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -9019,6 +9193,7 @@ extension ElasticLoadBalancingv2ClientTypes.RuleCondition { try writer["HttpRequestMethodConfig"].write(value.httpRequestMethodConfig, with: ElasticLoadBalancingv2ClientTypes.HttpRequestMethodConditionConfig.write(value:to:)) try writer["PathPatternConfig"].write(value.pathPatternConfig, with: ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig.write(value:to:)) try writer["QueryStringConfig"].write(value.queryStringConfig, with: ElasticLoadBalancingv2ClientTypes.QueryStringConditionConfig.write(value:to:)) + try writer["RegexValues"].writeList(value.regexValues, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["SourceIpConfig"].write(value.sourceIpConfig, with: ElasticLoadBalancingv2ClientTypes.SourceIpConditionConfig.write(value:to:)) try writer["Values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) } @@ -9034,6 +9209,7 @@ extension ElasticLoadBalancingv2ClientTypes.RuleCondition { value.queryStringConfig = try reader["QueryStringConfig"].readIfPresent(with: ElasticLoadBalancingv2ClientTypes.QueryStringConditionConfig.read(from:)) value.httpRequestMethodConfig = try reader["HttpRequestMethodConfig"].readIfPresent(with: ElasticLoadBalancingv2ClientTypes.HttpRequestMethodConditionConfig.read(from:)) value.sourceIpConfig = try reader["SourceIpConfig"].readIfPresent(with: ElasticLoadBalancingv2ClientTypes.SourceIpConditionConfig.read(from:)) + value.regexValues = try reader["RegexValues"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -9105,6 +9281,7 @@ extension ElasticLoadBalancingv2ClientTypes.HttpHeaderConditionConfig { static func write(value: ElasticLoadBalancingv2ClientTypes.HttpHeaderConditionConfig?, to writer: SmithyFormURL.Writer) throws { guard let value else { return } try writer["HttpHeaderName"].write(value.httpHeaderName) + try writer["RegexValues"].writeList(value.regexValues, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) } @@ -9113,6 +9290,7 @@ extension ElasticLoadBalancingv2ClientTypes.HttpHeaderConditionConfig { var value = ElasticLoadBalancingv2ClientTypes.HttpHeaderConditionConfig() value.httpHeaderName = try reader["HttpHeaderName"].readIfPresent() value.values = try reader["Values"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.regexValues = try reader["RegexValues"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -9121,6 +9299,7 @@ extension ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig { static func write(value: ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig?, to writer: SmithyFormURL.Writer) throws { guard let value else { return } + try writer["RegexValues"].writeList(value.regexValues, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) } @@ -9128,6 +9307,7 @@ extension ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = ElasticLoadBalancingv2ClientTypes.PathPatternConditionConfig() value.values = try reader["Values"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.regexValues = try reader["RegexValues"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } @@ -9136,6 +9316,7 @@ extension ElasticLoadBalancingv2ClientTypes.HostHeaderConditionConfig { static func write(value: ElasticLoadBalancingv2ClientTypes.HostHeaderConditionConfig?, to writer: SmithyFormURL.Writer) throws { guard let value else { return } + try writer["RegexValues"].writeList(value.regexValues, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) } @@ -9143,6 +9324,7 @@ extension ElasticLoadBalancingv2ClientTypes.HostHeaderConditionConfig { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = ElasticLoadBalancingv2ClientTypes.HostHeaderConditionConfig() value.values = try reader["Values"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.regexValues = try reader["RegexValues"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) return value } } diff --git a/Sources/Services/AWSElasticTranscoder/Sources/AWSElasticTranscoder/ElasticTranscoderClient.swift b/Sources/Services/AWSElasticTranscoder/Sources/AWSElasticTranscoder/ElasticTranscoderClient.swift index 53da142abd0..0a2820483c5 100644 --- a/Sources/Services/AWSElasticTranscoder/Sources/AWSElasticTranscoder/ElasticTranscoderClient.swift +++ b/Sources/Services/AWSElasticTranscoder/Sources/AWSElasticTranscoder/ElasticTranscoderClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ElasticTranscoderClient: ClientRuntime.Client { +public class ElasticTranscoderClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ElasticTranscoderClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ElasticTranscoderClient.ElasticTranscoderClientConfiguration let serviceName = "Elastic Transcoder" diff --git a/Sources/Services/AWSElasticsearchService/Sources/AWSElasticsearchService/ElasticsearchClient.swift b/Sources/Services/AWSElasticsearchService/Sources/AWSElasticsearchService/ElasticsearchClient.swift index a513f7d1061..64982c4c378 100644 --- a/Sources/Services/AWSElasticsearchService/Sources/AWSElasticsearchService/ElasticsearchClient.swift +++ b/Sources/Services/AWSElasticsearchService/Sources/AWSElasticsearchService/ElasticsearchClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ElasticsearchClient: ClientRuntime.Client { +public class ElasticsearchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ElasticsearchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ElasticsearchClient.ElasticsearchClientConfiguration let serviceName = "Elasticsearch" diff --git a/Sources/Services/AWSEntityResolution/Sources/AWSEntityResolution/EntityResolutionClient.swift b/Sources/Services/AWSEntityResolution/Sources/AWSEntityResolution/EntityResolutionClient.swift index 693c4725374..a5b2654870c 100644 --- a/Sources/Services/AWSEntityResolution/Sources/AWSEntityResolution/EntityResolutionClient.swift +++ b/Sources/Services/AWSEntityResolution/Sources/AWSEntityResolution/EntityResolutionClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EntityResolutionClient: ClientRuntime.Client { +public class EntityResolutionClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EntityResolutionClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EntityResolutionClient.EntityResolutionClientConfiguration let serviceName = "EntityResolution" diff --git a/Sources/Services/AWSEventBridge/Sources/AWSEventBridge/EventBridgeClient.swift b/Sources/Services/AWSEventBridge/Sources/AWSEventBridge/EventBridgeClient.swift index 9e1ea7615d2..c6e600e2882 100644 --- a/Sources/Services/AWSEventBridge/Sources/AWSEventBridge/EventBridgeClient.swift +++ b/Sources/Services/AWSEventBridge/Sources/AWSEventBridge/EventBridgeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EventBridgeClient: ClientRuntime.Client { +public class EventBridgeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EventBridgeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EventBridgeClient.EventBridgeClientConfiguration let serviceName = "EventBridge" diff --git a/Sources/Services/AWSEvidently/Sources/AWSEvidently/EvidentlyClient.swift b/Sources/Services/AWSEvidently/Sources/AWSEvidently/EvidentlyClient.swift index 78012e254fc..49a452b4c1f 100644 --- a/Sources/Services/AWSEvidently/Sources/AWSEvidently/EvidentlyClient.swift +++ b/Sources/Services/AWSEvidently/Sources/AWSEvidently/EvidentlyClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EvidentlyClient: ClientRuntime.Client { +public class EvidentlyClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EvidentlyClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EvidentlyClient.EvidentlyClientConfiguration let serviceName = "Evidently" diff --git a/Sources/Services/AWSEvs/Sources/AWSEvs/EvsClient.swift b/Sources/Services/AWSEvs/Sources/AWSEvs/EvsClient.swift index e0dfd26f4f7..a4fd52e1b84 100644 --- a/Sources/Services/AWSEvs/Sources/AWSEvs/EvsClient.swift +++ b/Sources/Services/AWSEvs/Sources/AWSEvs/EvsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class EvsClient: ClientRuntime.Client { +public class EvsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "EvsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: EvsClient.EvsClientConfiguration let serviceName = "evs" diff --git a/Sources/Services/AWSFMS/Sources/AWSFMS/FMSClient.swift b/Sources/Services/AWSFMS/Sources/AWSFMS/FMSClient.swift index 3cb6710a388..39a7469e340 100644 --- a/Sources/Services/AWSFMS/Sources/AWSFMS/FMSClient.swift +++ b/Sources/Services/AWSFMS/Sources/AWSFMS/FMSClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FMSClient: ClientRuntime.Client { +public class FMSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FMSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FMSClient.FMSClientConfiguration let serviceName = "FMS" diff --git a/Sources/Services/AWSFSx/Sources/AWSFSx/FSxClient.swift b/Sources/Services/AWSFSx/Sources/AWSFSx/FSxClient.swift index 67d31efd7ac..18481eb659d 100644 --- a/Sources/Services/AWSFSx/Sources/AWSFSx/FSxClient.swift +++ b/Sources/Services/AWSFSx/Sources/AWSFSx/FSxClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FSxClient: ClientRuntime.Client { +public class FSxClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FSxClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FSxClient.FSxClientConfiguration let serviceName = "FSx" diff --git a/Sources/Services/AWSFinspace/Sources/AWSFinspace/FinspaceClient.swift b/Sources/Services/AWSFinspace/Sources/AWSFinspace/FinspaceClient.swift index d7e0decc6f0..785d297b1e2 100644 --- a/Sources/Services/AWSFinspace/Sources/AWSFinspace/FinspaceClient.swift +++ b/Sources/Services/AWSFinspace/Sources/AWSFinspace/FinspaceClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FinspaceClient: ClientRuntime.Client { +public class FinspaceClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FinspaceClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FinspaceClient.FinspaceClientConfiguration let serviceName = "finspace" diff --git a/Sources/Services/AWSFinspacedata/Sources/AWSFinspacedata/FinspacedataClient.swift b/Sources/Services/AWSFinspacedata/Sources/AWSFinspacedata/FinspacedataClient.swift index 23956b73b49..00e5d00d085 100644 --- a/Sources/Services/AWSFinspacedata/Sources/AWSFinspacedata/FinspacedataClient.swift +++ b/Sources/Services/AWSFinspacedata/Sources/AWSFinspacedata/FinspacedataClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FinspacedataClient: ClientRuntime.Client { +public class FinspacedataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FinspacedataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FinspacedataClient.FinspacedataClientConfiguration let serviceName = "finspace data" diff --git a/Sources/Services/AWSFirehose/Sources/AWSFirehose/FirehoseClient.swift b/Sources/Services/AWSFirehose/Sources/AWSFirehose/FirehoseClient.swift index 87cf7c00101..8614ca3ba99 100644 --- a/Sources/Services/AWSFirehose/Sources/AWSFirehose/FirehoseClient.swift +++ b/Sources/Services/AWSFirehose/Sources/AWSFirehose/FirehoseClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FirehoseClient: ClientRuntime.Client { +public class FirehoseClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FirehoseClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FirehoseClient.FirehoseClientConfiguration let serviceName = "Firehose" diff --git a/Sources/Services/AWSFis/Sources/AWSFis/FisClient.swift b/Sources/Services/AWSFis/Sources/AWSFis/FisClient.swift index 52c8881ab56..f90708a2b87 100644 --- a/Sources/Services/AWSFis/Sources/AWSFis/FisClient.swift +++ b/Sources/Services/AWSFis/Sources/AWSFis/FisClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FisClient: ClientRuntime.Client { +public class FisClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FisClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FisClient.FisClientConfiguration let serviceName = "fis" diff --git a/Sources/Services/AWSForecast/Sources/AWSForecast/ForecastClient.swift b/Sources/Services/AWSForecast/Sources/AWSForecast/ForecastClient.swift index a331918a9ca..14bff6d7083 100644 --- a/Sources/Services/AWSForecast/Sources/AWSForecast/ForecastClient.swift +++ b/Sources/Services/AWSForecast/Sources/AWSForecast/ForecastClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ForecastClient: ClientRuntime.Client { +public class ForecastClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ForecastClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ForecastClient.ForecastClientConfiguration let serviceName = "forecast" diff --git a/Sources/Services/AWSForecastquery/Sources/AWSForecastquery/ForecastqueryClient.swift b/Sources/Services/AWSForecastquery/Sources/AWSForecastquery/ForecastqueryClient.swift index 1488bf630b5..12f354e4e43 100644 --- a/Sources/Services/AWSForecastquery/Sources/AWSForecastquery/ForecastqueryClient.swift +++ b/Sources/Services/AWSForecastquery/Sources/AWSForecastquery/ForecastqueryClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ForecastqueryClient: ClientRuntime.Client { +public class ForecastqueryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ForecastqueryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ForecastqueryClient.ForecastqueryClientConfiguration let serviceName = "forecastquery" diff --git a/Sources/Services/AWSFraudDetector/Sources/AWSFraudDetector/FraudDetectorClient.swift b/Sources/Services/AWSFraudDetector/Sources/AWSFraudDetector/FraudDetectorClient.swift index 0368df5ad3b..1b14243fd3c 100644 --- a/Sources/Services/AWSFraudDetector/Sources/AWSFraudDetector/FraudDetectorClient.swift +++ b/Sources/Services/AWSFraudDetector/Sources/AWSFraudDetector/FraudDetectorClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FraudDetectorClient: ClientRuntime.Client { +public class FraudDetectorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FraudDetectorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FraudDetectorClient.FraudDetectorClientConfiguration let serviceName = "FraudDetector" diff --git a/Sources/Services/AWSFreeTier/Sources/AWSFreeTier/FreeTierClient.swift b/Sources/Services/AWSFreeTier/Sources/AWSFreeTier/FreeTierClient.swift index 7db26714a90..d16ba06e167 100644 --- a/Sources/Services/AWSFreeTier/Sources/AWSFreeTier/FreeTierClient.swift +++ b/Sources/Services/AWSFreeTier/Sources/AWSFreeTier/FreeTierClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class FreeTierClient: ClientRuntime.Client { +public class FreeTierClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "FreeTierClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: FreeTierClient.FreeTierClientConfiguration let serviceName = "FreeTier" diff --git a/Sources/Services/AWSGameLift/Sources/AWSGameLift/GameLiftClient.swift b/Sources/Services/AWSGameLift/Sources/AWSGameLift/GameLiftClient.swift index 72dae112713..440c414b312 100644 --- a/Sources/Services/AWSGameLift/Sources/AWSGameLift/GameLiftClient.swift +++ b/Sources/Services/AWSGameLift/Sources/AWSGameLift/GameLiftClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GameLiftClient: ClientRuntime.Client { +public class GameLiftClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GameLiftClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GameLiftClient.GameLiftClientConfiguration let serviceName = "GameLift" diff --git a/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/GameLiftStreamsClient.swift b/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/GameLiftStreamsClient.swift index ef85b4861ff..13275b7ee63 100644 --- a/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/GameLiftStreamsClient.swift +++ b/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/GameLiftStreamsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GameLiftStreamsClient: ClientRuntime.Client { +public class GameLiftStreamsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GameLiftStreamsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GameLiftStreamsClient.GameLiftStreamsClientConfiguration let serviceName = "GameLiftStreams" @@ -373,7 +372,7 @@ extension GameLiftStreamsClient { extension GameLiftStreamsClient { /// Performs the `AddStreamGroupLocations` operation on the `GameLiftStreams` service. /// - /// Add locations that can host stream sessions. You configure locations and their corresponding capacity for each stream group. Creating a stream group in a location that's nearest to your end users can help minimize latency and improve quality. This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions. + /// Add locations that can host stream sessions. To add a location, the stream group must be in ACTIVE status. You configure locations and their corresponding capacity for each stream group. Creating a stream group in a location that's nearest to your end users can help minimize latency and improve quality. This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions. /// /// - Parameter input: [no documentation found] (Type: `AddStreamGroupLocationsInput`) /// @@ -593,14 +592,14 @@ extension GameLiftStreamsClient { /// Performs the `CreateStreamGroup` operation on the `GameLiftStreams` service. /// - /// Manage how Amazon GameLift Streams streams your applications by using a stream group. A stream group is a collection of resources that Amazon GameLift Streams uses to stream your application to end-users. When you create a stream group, you specify an application to stream by default and the type of hardware to use, such as the graphical processing unit (GPU). You can also link additional applications, which allows you to stream those applications using this stream group. Depending on your expected users, you also scale the number of concurrent streams you want to support at one time, and in what locations. Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand: + /// Stream groups manage how Amazon GameLift Streams allocates resources and handles concurrent streams, allowing you to effectively manage capacity and costs. Within a stream group, you specify an application to stream, streaming locations and their capacity, and the stream class you want to use when streaming applications to your end-users. A stream class defines the hardware configuration of the compute resources that Amazon GameLift Streams will use when streaming, such as the CPU, GPU, and memory. Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand: /// - /// * Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location. + /// * Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location. /// /// * On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location. /// /// - /// To adjust the capacity of any ACTIVE stream group, call [UpdateStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html). If the request is successful, Amazon GameLift Streams begins creating the stream group. Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to ACTIVATING. When the stream group reaches ACTIVE status, you can start stream sessions by using [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html). To check the stream group's status, call [GetStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html). + /// Values for capacity must be whole number multiples of the tenancy value of the stream group's stream class. To adjust the capacity of any ACTIVE stream group, call [UpdateStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html). If the CreateStreamGroup request is successful, Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to ACTIVATING. It can take a few minutes for Amazon GameLift Streams to finish creating the stream group while it searches for unallocated compute resources and provisions them. When complete, the stream group status will be ACTIVE and you can start stream sessions by using [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html). To check the stream group's status, call [GetStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamGroup.html). Stream groups should be recreated every 3-4 weeks to pick up important service updates and fixes. Stream groups that are older than 180 days can no longer be updated with new application associations. Stream groups expire when they are 365 days old, at which point they can no longer stream sessions. The exact expiration date is indicated by the date value in the ExpiresAt field. /// /// - Parameter input: [no documentation found] (Type: `CreateStreamGroupInput`) /// @@ -934,7 +933,7 @@ extension GameLiftStreamsClient { /// Performs the `DisassociateApplications` operation on the `GameLiftStreams` service. /// - /// When you disassociate, or unlink, an application from a stream group, you can no longer stream this application by using that stream group's allocated compute resources. Any streams in process will continue until they terminate, which helps avoid interrupting an end-user's stream. Amazon GameLift Streams will not initiate new streams in the stream group using the disassociated application. The disassociate action does not affect the stream capacity of a stream group. If you disassociate the default application, Amazon GameLift Streams will automatically choose a new default application from the remaining associated applications. To change which application is the default application, call [UpdateStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html) and specify a new DefaultApplicationIdentifier. + /// When you disassociate, or unlink, an application from a stream group, you can no longer stream this application by using that stream group's allocated compute resources. Any streams in process will continue until they terminate, which helps avoid interrupting an end-user's stream. Amazon GameLift Streams will not initiate new streams in the stream group using the disassociated application. The disassociate action does not affect the stream capacity of a stream group. To disassociate an application, the stream group must be in ACTIVE status. If you disassociate the default application, Amazon GameLift Streams will automatically choose a new default application from the remaining associated applications. To change which application is the default application, call [UpdateStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html) and specify a new DefaultApplicationIdentifier. /// /// - Parameter input: [no documentation found] (Type: `DisassociateApplicationsInput`) /// @@ -1642,7 +1641,7 @@ extension GameLiftStreamsClient { /// Performs the `RemoveStreamGroupLocations` operation on the `GameLiftStreams` service. /// - /// Removes a set of remote locations from this stream group. Amazon GameLift Streams works to release allocated compute resources in these location. Thus, stream sessions can no longer start from these locations by using this stream group. Amazon GameLift Streams also deletes the content files of all associated applications that were in Amazon GameLift Streams's internal S3 bucket at this location. You cannot remove the region where you initially created this stream group, known as the primary location. However, you can set the stream capacity to zero. + /// Removes a set of remote locations from this stream group. To remove a location, the stream group must be in ACTIVE status. When you remove a location, Amazon GameLift Streams releases allocated compute resources in that location. Stream sessions can no longer start from removed locations in a stream group. Amazon GameLift Streams also deletes the content files of all associated applications that were in Amazon GameLift Streams's internal Amazon S3 bucket at this location. You cannot remove the Amazon Web Services Region location where you initially created this stream group, known as the primary location. However, you can set the stream capacity to zero to avoid incurring costs for allocated compute resources in that location. /// /// - Parameter input: [no documentation found] (Type: `RemoveStreamGroupLocationsInput`) /// @@ -1716,7 +1715,7 @@ extension GameLiftStreamsClient { /// /// * Prerequisites: /// - /// * You must have a stream group in ACTIVE state + /// * You must have a stream group in ACTIVE status /// /// * You must have idle or on-demand capacity in a stream group in the location you want to stream from /// @@ -2144,14 +2143,14 @@ extension GameLiftStreamsClient { /// Performs the `UpdateStreamGroup` operation on the `GameLiftStreams` service. /// - /// Updates the configuration settings for an Amazon GameLift Streams stream group resource. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group. Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand: + /// Updates the configuration settings for an Amazon GameLift Streams stream group resource. To update a stream group, it must be in ACTIVE status. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group. Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand: /// - /// * Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location. + /// * Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location. /// /// * On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location. /// /// - /// To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group. + /// Values for capacity must be whole number multiples of the tenancy value of the stream group's stream class. To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group. Expired stream groups cannot be updated. /// /// - Parameter input: [no documentation found] (Type: `UpdateStreamGroupInput`) /// diff --git a/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/Models.swift b/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/Models.swift index df1b9f07f7c..d0fa1a9a9b8 100644 --- a/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/Models.swift +++ b/Sources/Services/AWSGameLiftStreams/Sources/AWSGameLiftStreams/Models.swift @@ -202,7 +202,7 @@ extension GameLiftStreamsClientTypes { /// Configuration settings that define a stream group's stream capacity for a location. When configuring a location for the first time, you must specify a numeric value for at least one of the two capacity types. To update the capacity for an existing stream group, call [UpdateStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_UpdateStreamGroup.html). To add a new location and specify its capacity, call [AddStreamGroupLocations](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_AddStreamGroupLocations.html). public struct LocationConfiguration: Swift.Sendable { - /// The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location. + /// The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location. public var alwaysOnCapacity: Swift.Int? /// A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to [Regions, quotas, and limitations](https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html) in the Amazon GameLift Streams Developer Guide. /// This member is required. @@ -278,17 +278,17 @@ extension GameLiftStreamsClientTypes { /// Represents a location and its corresponding stream capacity and status. public struct LocationState: Swift.Sendable { - /// This value is the number of compute resources that a stream group has provisioned and is ready to stream. It includes resources that are currently streaming and resources that are idle and ready to respond to stream requests. + /// This value is the stream capacity that Amazon GameLift Streams has provisioned in a stream group that can respond immediately to stream requests. It includes resources that are currently streaming and resources that are idle and ready to respond to stream requests. You pay for this capacity whether it's in use or not. After making changes to capacity, it can take a few minutes for the allocated capacity count to reflect the change while compute resources are allocated or deallocated. Similarly, when allocated on-demand capacity is no longer needed, it can take a few minutes for Amazon GameLift Streams to spin down the allocated capacity. public var allocatedCapacity: Swift.Int? - /// The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location. + /// The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location. public var alwaysOnCapacity: Swift.Int? - /// This value is the amount of allocated capacity that is not currently streaming. It represents the stream group's availability to respond to new stream requests, but not including on-demand capacity. + /// This value is the amount of allocated capacity that is not currently streaming. It represents the stream group's ability to respond immediately to new stream requests with near-instant startup time. public var idleCapacity: Swift.Int? /// A location's name. For example, us-east-1. For a complete list of locations that Amazon GameLift Streams supports, refer to [Regions, quotas, and limitations](https://docs.aws.amazon.com/gameliftstreams/latest/developerguide/regions-quotas.html) in the Amazon GameLift Streams Developer Guide. public var locationName: Swift.String? /// The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location. public var onDemandCapacity: Swift.Int? - /// This value is the total number of compute resources that you request for a stream group. This includes resources that Amazon GameLift Streams has either already provisioned or is working to provision. You request capacity for each location in a stream group. + /// This value is the always-on capacity that you most recently requested for a stream group. You request capacity separately for each location in a stream group. In response to an increase in requested capacity, Amazon GameLift Streams attempts to provision compute resources to make the stream group's allocated capacity meet requested capacity. When always-on capacity is decreased, it can take a few minutes to deprovision allocated capacity to match the requested capacity. public var requestedCapacity: Swift.Int? /// This value is set of locations, including their name, current status, and capacities. A location can be in one of the following states: /// @@ -521,7 +521,7 @@ public struct CreateApplicationInput: Swift.Sendable { /// A human-readable label for the application. You can update this value later. /// This member is required. public var description: Swift.String? - /// The path and file name of the executable file that launches the content for streaming. Enter a path value that is relative to the location set in ApplicationSourceUri. + /// The relative path and file name of the executable file that Amazon GameLift Streams will stream. Specify a path relative to the location set in ApplicationSourceUri. The file must be contained within the application's root folder. For Windows applications, the file must be a valid Windows executable or batch file with a filename ending in .exe, .cmd, or .bat. For Linux applications, the file must be a valid Linux binary executable or a script that contains an initial interpreter line starting with a shebang ('#!'). /// This member is required. public var executablePath: Swift.String? /// Configuration settings that identify the operating system for an application resource. This can also include a compatibility layer and other drivers. A runtime environment can be one of the following: @@ -632,7 +632,7 @@ public struct CreateApplicationOutput: Swift.Sendable { public var createdAt: Foundation.Date? /// A human-readable label for the application. You can edit this value. public var description: Swift.String? - /// The path and file name of the executable file that launches the content for streaming. + /// The relative path and file name of the executable file that launches the content for streaming. public var executablePath: Swift.String? /// A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6. public var id: Swift.String? @@ -747,7 +747,7 @@ public struct GetApplicationOutput: Swift.Sendable { public var createdAt: Foundation.Date? /// A human-readable label for the application. You can edit this value. public var description: Swift.String? - /// The path and file name of the executable file that launches the content for streaming. + /// The relative path and file name of the executable file that launches the content for streaming. public var executablePath: Swift.String? /// A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6. public var id: Swift.String? @@ -879,7 +879,7 @@ extension GameLiftStreamsClientTypes { /// /// * READY: The application is ready to deploy in a stream group. /// - /// * ERROR: An error occurred when setting up the application. See StatusReason for more information. + /// * ERROR: An error occurred when setting up the application. For more information about the error, call GetApplication and refer to StatusReason. /// /// * DELETING: Amazon GameLift Streams is in the process of deleting the application. public var status: GameLiftStreamsClientTypes.ApplicationStatus? @@ -959,7 +959,7 @@ public struct UpdateApplicationOutput: Swift.Sendable { public var createdAt: Foundation.Date? /// A human-readable label for the application. You can edit this value. public var description: Swift.String? - /// The path and file name of the executable file that launches the content for streaming. + /// The relative path and file name of the executable file that launches the content for streaming. public var executablePath: Swift.String? /// A unique ID value that is assigned to the resource when it's created. Format example: a-9ZY8X7Wv6. public var id: Swift.String? @@ -1242,6 +1242,7 @@ extension GameLiftStreamsClientTypes { case activeWithErrors case deleting case error + case expired case updatingLocations case sdkUnknown(Swift.String) @@ -1252,6 +1253,7 @@ extension GameLiftStreamsClientTypes { .activeWithErrors, .deleting, .error, + .expired, .updatingLocations ] } @@ -1268,6 +1270,7 @@ extension GameLiftStreamsClientTypes { case .activeWithErrors: return "ACTIVE_WITH_ERRORS" case .deleting: return "DELETING" case .error: return "ERROR" + case .expired: return "EXPIRED" case .updatingLocations: return "UPDATING_LOCATIONS" case let .sdkUnknown(s): return s } @@ -1316,6 +1319,8 @@ public struct CreateStreamGroupOutput: Swift.Sendable { public var defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? /// A descriptive label for the stream group. public var description: Swift.String? + /// The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group. + public var expiresAt: Foundation.Date? /// A unique ID value that is assigned to the resource when it's created. Format example: sg-1AB2C3De4. public var id: Swift.String? /// A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). @@ -1338,10 +1343,12 @@ public struct CreateStreamGroupOutput: Swift.Sendable { /// /// * ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error. /// - /// * ERROR: An error occurred when the stream group deployed. See StatusReason for more information. - /// /// * DELETING: Amazon GameLift Streams is in the process of deleting the stream group. /// + /// * ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information. + /// + /// * EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities. + /// /// * UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting). public var status: GameLiftStreamsClientTypes.StreamGroupStatus? /// A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the following: @@ -1434,6 +1441,7 @@ public struct CreateStreamGroupOutput: Swift.Sendable { createdAt: Foundation.Date? = nil, defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? = nil, description: Swift.String? = nil, + expiresAt: Foundation.Date? = nil, id: Swift.String? = nil, lastUpdatedAt: Foundation.Date? = nil, locationStates: [GameLiftStreamsClientTypes.LocationState]? = nil, @@ -1446,6 +1454,7 @@ public struct CreateStreamGroupOutput: Swift.Sendable { self.createdAt = createdAt self.defaultApplication = defaultApplication self.description = description + self.expiresAt = expiresAt self.id = id self.lastUpdatedAt = lastUpdatedAt self.locationStates = locationStates @@ -1721,18 +1730,30 @@ extension GameLiftStreamsClientTypes { extension GameLiftStreamsClientTypes { public enum StreamSessionStatusReason: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case apiTerminated + case applicationExit case appLogS3DestinationError + case connectionTimeout + case idleTimeout case internalError case invalidSignalRequest + case maxSessionLengthTimeout case placementTimeout + case reconnectionTimeout case sdkUnknown(Swift.String) public static var allCases: [StreamSessionStatusReason] { return [ + .apiTerminated, + .applicationExit, .appLogS3DestinationError, + .connectionTimeout, + .idleTimeout, .internalError, .invalidSignalRequest, - .placementTimeout + .maxSessionLengthTimeout, + .placementTimeout, + .reconnectionTimeout ] } @@ -1743,10 +1764,16 @@ extension GameLiftStreamsClientTypes { public var rawValue: Swift.String { switch self { + case .apiTerminated: return "apiTerminated" + case .applicationExit: return "applicationExit" case .appLogS3DestinationError: return "applicationLogS3DestinationError" + case .connectionTimeout: return "connectionTimeout" + case .idleTimeout: return "idleTimeout" case .internalError: return "internalError" case .invalidSignalRequest: return "invalidSignalRequest" + case .maxSessionLengthTimeout: return "maxSessionLengthTimeout" case .placementTimeout: return "placementTimeout" + case .reconnectionTimeout: return "reconnectionTimeout" case let .sdkUnknown(s): return s } } @@ -1792,7 +1819,7 @@ public struct GetStreamSessionOutput: Swift.Sendable { /// /// * CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded. /// - /// * ERROR: The stream session failed to activate. + /// * ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information. /// /// * PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates. /// @@ -1802,7 +1829,30 @@ public struct GetStreamSessionOutput: Swift.Sendable { /// /// * TERMINATED: The stream session has ended. public var status: GameLiftStreamsClientTypes.StreamSessionStatus? - /// A short description of the reason the stream session is in ERROR status. + /// A short description of the reason the stream session is in ERROR status or TERMINATED status. ERROR status reasons: + /// + /// * applicationLogS3DestinationError: Could not write the application log to the Amazon S3 bucket that is configured for the streaming application. Make sure the bucket still exists. + /// + /// * internalError: An internal service error occurred. Start a new stream session to continue streaming. + /// + /// * invalidSignalRequest: The WebRTC signal request that was sent is not valid. When starting or reconnecting to a stream session, use generateSignalRequest in the Amazon GameLift Streams Web SDK to generate a new signal request. + /// + /// * placementTimeout: Amazon GameLift Streams could not find available stream capacity to start a stream session. Increase the stream capacity in the stream group or wait until capacity becomes available. + /// + /// + /// TERMINATED status reasons: + /// + /// * apiTerminated: The stream session was terminated by an API call to [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html). + /// + /// * applicationExit: The streaming application exited or crashed. The stream session was terminated because the application is no longer running. + /// + /// * connectionTimeout: The stream session was terminated because the client failed to connect within the connection timeout period specified by ConnectionTimeoutSeconds. + /// + /// * idleTimeout: The stream session was terminated because it exceeded the idle timeout period of 60 minutes with no user input activity. + /// + /// * maxSessionLengthTimeout: The stream session was terminated because it exceeded the maximum session length timeout period specified by SessionLengthSeconds. + /// + /// * reconnectionTimeout: The stream session was terminated because the client failed to reconnect within the reconnection timeout period specified by ConnectionTimeoutSeconds after losing connection. public var statusReason: GameLiftStreamsClientTypes.StreamSessionStatusReason? /// The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4. public var streamGroupId: Swift.String? @@ -1921,7 +1971,7 @@ extension GameLiftStreamsClientTypes { /// /// * CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded. /// - /// * ERROR: The stream session failed to activate. + /// * ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information. /// /// * PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates. /// @@ -2154,7 +2204,7 @@ public struct StartStreamSessionOutput: Swift.Sendable { /// /// * CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded. /// - /// * ERROR: The stream session failed to activate. + /// * ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information. /// /// * PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates. /// @@ -2164,7 +2214,30 @@ public struct StartStreamSessionOutput: Swift.Sendable { /// /// * TERMINATED: The stream session has ended. public var status: GameLiftStreamsClientTypes.StreamSessionStatus? - /// A short description of the reason the stream session is in ERROR status. + /// A short description of the reason the stream session is in ERROR status or TERMINATED status. ERROR status reasons: + /// + /// * applicationLogS3DestinationError: Could not write the application log to the Amazon S3 bucket that is configured for the streaming application. Make sure the bucket still exists. + /// + /// * internalError: An internal service error occurred. Start a new stream session to continue streaming. + /// + /// * invalidSignalRequest: The WebRTC signal request that was sent is not valid. When starting or reconnecting to a stream session, use generateSignalRequest in the Amazon GameLift Streams Web SDK to generate a new signal request. + /// + /// * placementTimeout: Amazon GameLift Streams could not find available stream capacity to start a stream session. Increase the stream capacity in the stream group or wait until capacity becomes available. + /// + /// + /// TERMINATED status reasons: + /// + /// * apiTerminated: The stream session was terminated by an API call to [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html). + /// + /// * applicationExit: The streaming application exited or crashed. The stream session was terminated because the application is no longer running. + /// + /// * connectionTimeout: The stream session was terminated because the client failed to connect within the connection timeout period specified by ConnectionTimeoutSeconds. + /// + /// * idleTimeout: The stream session was terminated because it exceeded the idle timeout period of 60 minutes with no user input activity. + /// + /// * maxSessionLengthTimeout: The stream session was terminated because it exceeded the maximum session length timeout period specified by SessionLengthSeconds. + /// + /// * reconnectionTimeout: The stream session was terminated because the client failed to reconnect within the reconnection timeout period specified by ConnectionTimeoutSeconds after losing connection. public var statusReason: GameLiftStreamsClientTypes.StreamSessionStatusReason? /// The unique identifier for the Amazon GameLift Streams stream group that is hosting the stream session. Format example: sg-1AB2C3De4. public var streamGroupId: Swift.String? @@ -2247,6 +2320,8 @@ public struct GetStreamGroupOutput: Swift.Sendable { public var defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? /// A descriptive label for the stream group. public var description: Swift.String? + /// The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group. + public var expiresAt: Foundation.Date? /// A unique ID value that is assigned to the resource when it's created. Format example: sg-1AB2C3De4. public var id: Swift.String? /// A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). @@ -2269,10 +2344,12 @@ public struct GetStreamGroupOutput: Swift.Sendable { /// /// * ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error. /// - /// * ERROR: An error occurred when the stream group deployed. See StatusReason for more information. - /// /// * DELETING: Amazon GameLift Streams is in the process of deleting the stream group. /// + /// * ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information. + /// + /// * EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities. + /// /// * UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting). public var status: GameLiftStreamsClientTypes.StreamGroupStatus? /// A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the following: @@ -2365,6 +2442,7 @@ public struct GetStreamGroupOutput: Swift.Sendable { createdAt: Foundation.Date? = nil, defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? = nil, description: Swift.String? = nil, + expiresAt: Foundation.Date? = nil, id: Swift.String? = nil, lastUpdatedAt: Foundation.Date? = nil, locationStates: [GameLiftStreamsClientTypes.LocationState]? = nil, @@ -2377,6 +2455,7 @@ public struct GetStreamGroupOutput: Swift.Sendable { self.createdAt = createdAt self.defaultApplication = defaultApplication self.description = description + self.expiresAt = expiresAt self.id = id self.lastUpdatedAt = lastUpdatedAt self.locationStates = locationStates @@ -2414,6 +2493,8 @@ extension GameLiftStreamsClientTypes { public var defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? /// A descriptive label for the stream group. public var description: Swift.String? + /// The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group. + public var expiresAt: Foundation.Date? /// An ID that uniquely identifies the stream group resource. Example ID: sg-1AB2C3De4. public var id: Swift.String? /// A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). @@ -2426,10 +2507,12 @@ extension GameLiftStreamsClientTypes { /// /// * ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error. /// - /// * ERROR: An error occurred when the stream group deployed. See StatusReason for more information. - /// /// * DELETING: Amazon GameLift Streams is in the process of deleting the stream group. /// + /// * ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information. + /// + /// * EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities. + /// /// * UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting). public var status: GameLiftStreamsClientTypes.StreamGroupStatus? /// The target stream quality for the stream group. A stream class can be one of the following: @@ -2515,6 +2598,7 @@ extension GameLiftStreamsClientTypes { createdAt: Foundation.Date? = nil, defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? = nil, description: Swift.String? = nil, + expiresAt: Foundation.Date? = nil, id: Swift.String? = nil, lastUpdatedAt: Foundation.Date? = nil, status: GameLiftStreamsClientTypes.StreamGroupStatus? = nil, @@ -2524,6 +2608,7 @@ extension GameLiftStreamsClientTypes { self.createdAt = createdAt self.defaultApplication = defaultApplication self.description = description + self.expiresAt = expiresAt self.id = id self.lastUpdatedAt = lastUpdatedAt self.status = status @@ -2583,6 +2668,8 @@ public struct UpdateStreamGroupOutput: Swift.Sendable { public var defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? /// A descriptive label for the stream group. public var description: Swift.String? + /// The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group. + public var expiresAt: Foundation.Date? /// A unique ID value that is assigned to the resource when it's created. Format example: sg-1AB2C3De4. public var id: Swift.String? /// A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). @@ -2605,10 +2692,12 @@ public struct UpdateStreamGroupOutput: Swift.Sendable { /// /// * ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error. /// - /// * ERROR: An error occurred when the stream group deployed. See StatusReason for more information. - /// /// * DELETING: Amazon GameLift Streams is in the process of deleting the stream group. /// + /// * ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information. + /// + /// * EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities. + /// /// * UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting). public var status: GameLiftStreamsClientTypes.StreamGroupStatus? /// A short description of the reason that the stream group is in ERROR status. The possible reasons can be one of the following: @@ -2701,6 +2790,7 @@ public struct UpdateStreamGroupOutput: Swift.Sendable { createdAt: Foundation.Date? = nil, defaultApplication: GameLiftStreamsClientTypes.DefaultApplication? = nil, description: Swift.String? = nil, + expiresAt: Foundation.Date? = nil, id: Swift.String? = nil, lastUpdatedAt: Foundation.Date? = nil, locationStates: [GameLiftStreamsClientTypes.LocationState]? = nil, @@ -2713,6 +2803,7 @@ public struct UpdateStreamGroupOutput: Swift.Sendable { self.createdAt = createdAt self.defaultApplication = defaultApplication self.description = description + self.expiresAt = expiresAt self.id = id self.lastUpdatedAt = lastUpdatedAt self.locationStates = locationStates @@ -3310,6 +3401,7 @@ extension CreateStreamGroupOutput { value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.defaultApplication = try reader["DefaultApplication"].readIfPresent(with: GameLiftStreamsClientTypes.DefaultApplication.read(from:)) value.description = try reader["Description"].readIfPresent() + value.expiresAt = try reader["ExpiresAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.id = try reader["Id"].readIfPresent() value.lastUpdatedAt = try reader["LastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.locationStates = try reader["LocationStates"].readListIfPresent(memberReadingClosure: GameLiftStreamsClientTypes.LocationState.read(from:), memberNodeInfo: "member", isFlattened: false) @@ -3403,6 +3495,7 @@ extension GetStreamGroupOutput { value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.defaultApplication = try reader["DefaultApplication"].readIfPresent(with: GameLiftStreamsClientTypes.DefaultApplication.read(from:)) value.description = try reader["Description"].readIfPresent() + value.expiresAt = try reader["ExpiresAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.id = try reader["Id"].readIfPresent() value.lastUpdatedAt = try reader["LastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.locationStates = try reader["LocationStates"].readListIfPresent(memberReadingClosure: GameLiftStreamsClientTypes.LocationState.read(from:), memberNodeInfo: "member", isFlattened: false) @@ -3604,6 +3697,7 @@ extension UpdateStreamGroupOutput { value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.defaultApplication = try reader["DefaultApplication"].readIfPresent(with: GameLiftStreamsClientTypes.DefaultApplication.read(from:)) value.description = try reader["Description"].readIfPresent() + value.expiresAt = try reader["ExpiresAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.id = try reader["Id"].readIfPresent() value.lastUpdatedAt = try reader["LastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.locationStates = try reader["LocationStates"].readListIfPresent(memberReadingClosure: GameLiftStreamsClientTypes.LocationState.read(from:), memberNodeInfo: "member", isFlattened: false) @@ -4238,6 +4332,7 @@ extension GameLiftStreamsClientTypes.StreamGroupSummary { value.status = try reader["Status"].readIfPresent() value.createdAt = try reader["CreatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.lastUpdatedAt = try reader["LastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.expiresAt = try reader["ExpiresAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) return value } } diff --git a/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/GeoMapsClient.swift b/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/GeoMapsClient.swift index 4d2d6b1db15..d877e4d4a65 100644 --- a/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/GeoMapsClient.swift +++ b/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/GeoMapsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -61,9 +61,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GeoMapsClient: ClientRuntime.Client { +public class GeoMapsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GeoMapsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GeoMapsClient.GeoMapsClientConfiguration let serviceName = "Geo Maps" @@ -367,7 +366,7 @@ extension GeoMapsClient { extension GeoMapsClient { /// Performs the `GetGlyphs` operation on the `GeoMaps` service. /// - /// GetGlyphs returns the map's glyphs. + /// GetGlyphs returns the map's glyphs. For more information, see [Style labels with glyphs](https://docs.aws.amazon.com/location/latest/developerguide/styling-labels-with-glyphs.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `GetGlyphsInput`) /// @@ -427,7 +426,7 @@ extension GeoMapsClient { /// Performs the `GetSprites` operation on the `GeoMaps` service. /// - /// GetSprites returns the map's sprites. + /// GetSprites returns the map's sprites. For more information, see [Style iconography with sprites](https://docs.aws.amazon.com/location/latest/developerguide/styling-iconography-with-sprites.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `GetSpritesInput`) /// @@ -487,7 +486,13 @@ extension GeoMapsClient { /// Performs the `GetStaticMap` operation on the `GeoMaps` service. /// - /// GetStaticMap provides high-quality static map images with customizable options. You can modify the map's appearance and overlay additional information. It's an ideal solution for applications requiring tailored static map snapshots. + /// GetStaticMap provides high-quality static map images with customizable options. You can modify the map's appearance and overlay additional information. It's an ideal solution for applications requiring tailored static map snapshots. For more information, see the following topics in the Amazon Location Service Developer Guide: + /// + /// * [Static maps](https://docs.aws.amazon.com/location/latest/developerguide/static-maps.html) + /// + /// * [Customize static maps](https://docs.aws.amazon.com/location/latest/developerguide/customizing-static-maps.html) + /// + /// * [Overlay on the static map](https://docs.aws.amazon.com/location/latest/developerguide/overlaying-static-map.html) /// /// - Parameter input: [no documentation found] (Type: `GetStaticMapInput`) /// @@ -556,7 +561,7 @@ extension GeoMapsClient { /// Performs the `GetStyleDescriptor` operation on the `GeoMaps` service. /// - /// GetStyleDescriptor returns information about the style. + /// GetStyleDescriptor returns information about the style. For more information, see [Style dynamic maps](https://docs.aws.amazon.com/location/latest/developerguide/styling-dynamic-maps.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `GetStyleDescriptorInput`) /// @@ -617,7 +622,7 @@ extension GeoMapsClient { /// Performs the `GetTile` operation on the `GeoMaps` service. /// - /// GetTile returns a tile. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level. + /// GetTile returns a tile. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level. For more information, see [Tiles](https://docs.aws.amazon.com/location/latest/developerguide/tiles.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `GetTileInput`) /// diff --git a/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/Models.swift b/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/Models.swift index db345dd958f..ef1c3b21b6f 100644 --- a/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/Models.swift +++ b/Sources/Services/AWSGeoMaps/Sources/AWSGeoMaps/Models.swift @@ -75,6 +75,32 @@ extension GeoMapsClientTypes { } } +extension GeoMapsClientTypes { + + public enum ContourDensity: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case medium + case sdkUnknown(Swift.String) + + public static var allCases: [ContourDensity] { + return [ + .medium + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .medium: return "Medium" + case let .sdkUnknown(s): return s + } + } + } +} + public struct GetGlyphsInput: Swift.Sendable { /// Name of the FontStack to retrieve. Example: Amazon Ember Bold,Noto Sans Bold. The supported font stacks are as follows: /// @@ -237,7 +263,7 @@ public struct GetGlyphsInput: Swift.Sendable { /// * Open Sans Regular,Arial Unicode MS Regular /// This member is required. public var fontStack: Swift.String? - /// A Unicode range of characters to download glyphs for. This must be aligned to multiples of 256. Example: 0-255.pdf + /// A Unicode range of characters to download glyphs for. This must be aligned to multiples of 256. Example: 0-255.pbf /// This member is required. public var fontUnicodeRange: Swift.String? @@ -657,11 +683,11 @@ extension GeoMapsClientTypes { } public struct GetStaticMapInput: Swift.Sendable { - /// Takes in two or more pair of coordinates, [Lon, Lat], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates. Cannot be used with Zoom and or Radius Example: 97.170451,78.039098,99.045536,27.176178 + /// Takes in two or more pair of coordinates in World Geodetic System (WGS 84) format: [longitude, latitude], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates. Cannot be used with Zoom and or Radius Example: 97.170451,78.039098,99.045536,27.176178 public var boundedPositions: Swift.String? - /// Takes in two pairs of coordinates, [Lon, Lat], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image. Example: -123.17075,49.26959,-123.08125,49.31429 + /// Takes in two pairs of coordinates in World Geodetic System (WGS 84) format: [longitude, latitude], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image. Example: -123.17075,49.26959,-123.08125,49.31429 public var boundingBox: Swift.String? - /// Takes in a pair of coordinates, [Lon, Lat], which becomes the center point of the image. This parameter requires that either zoom or radius is set. Cannot be used with Zoom and or Radius Example: 49.295,-123.108 + /// Takes in a pair of coordinates in World Geodetic System (WGS 84) format: [longitude, latitude], which becomes the center point of the image. This parameter requires that either zoom or radius is set. Cannot be used with Zoom and or Radius Example: 49.295,-123.108 public var center: Swift.String? /// Sets color tone for map, such as dark and light for specific map styles. It only applies to vector map styles, such as Standard. Example: Light Default value: Light Valid values for ColorScheme are case sensitive. public var colorScheme: GeoMapsClientTypes.ColorScheme? @@ -943,9 +969,92 @@ public struct GetStaticMapOutput: Swift.Sendable { } } +extension GeoMapsClientTypes { + + public enum Terrain: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case hillshade + case sdkUnknown(Swift.String) + + public static var allCases: [Terrain] { + return [ + .hillshade + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .hillshade: return "Hillshade" + case let .sdkUnknown(s): return s + } + } + } +} + +extension GeoMapsClientTypes { + + public enum Traffic: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case all + case sdkUnknown(Swift.String) + + public static var allCases: [Traffic] { + return [ + .all + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .all: return "All" + case let .sdkUnknown(s): return s + } + } + } +} + +extension GeoMapsClientTypes { + + public enum TravelMode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case transit + case truck + case sdkUnknown(Swift.String) + + public static var allCases: [TravelMode] { + return [ + .transit, + .truck + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .transit: return "Transit" + case .truck: return "Truck" + case let .sdkUnknown(s): return s + } + } + } +} + public struct GetStyleDescriptorInput: Swift.Sendable { /// Sets color tone for map such as dark and light for specific map styles. It applies to only vector map styles such as Standard and Monochrome. Example: Light Default value: Light Valid values for ColorScheme are case sensitive. public var colorScheme: GeoMapsClientTypes.ColorScheme? + /// Displays the shape and steepness of terrain features using elevation lines. The density value controls how densely the available contour line information is rendered on the map. This parameter is valid only for the Standard map style. + public var contourDensity: GeoMapsClientTypes.ContourDensity? /// Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request. public var key: Swift.String? /// Specifies the political view using ISO 3166-2 or ISO 3166-3 country code format. The following political views are currently supported: @@ -981,23 +1090,42 @@ public struct GetStyleDescriptorInput: Swift.Sendable { /// Style specifies the desired map style. /// This member is required. public var style: GeoMapsClientTypes.MapStyle? + /// Adjusts how physical terrain details are rendered on the map. The following terrain styles are currently supported: + /// + /// * Hillshade: Displays the physical terrain details through shading and highlighting of elevation change and geographic features. + /// + /// + /// This parameter is valid only for the Standard map style. + public var terrain: GeoMapsClientTypes.Terrain? + /// Displays real-time traffic information overlay on map, such as incident events and flow events. This parameter is valid only for the Standard map style. + public var traffic: GeoMapsClientTypes.Traffic? + /// Renders additional map information relevant to selected travel modes. Information for multiple travel modes can be displayed simultaneously, although this increases the overall information density rendered on the map. This parameter is valid only for the Standard map style. + public var travelModes: [GeoMapsClientTypes.TravelMode]? public init( colorScheme: GeoMapsClientTypes.ColorScheme? = nil, + contourDensity: GeoMapsClientTypes.ContourDensity? = nil, key: Swift.String? = nil, politicalView: Swift.String? = nil, - style: GeoMapsClientTypes.MapStyle? = nil + style: GeoMapsClientTypes.MapStyle? = nil, + terrain: GeoMapsClientTypes.Terrain? = nil, + traffic: GeoMapsClientTypes.Traffic? = nil, + travelModes: [GeoMapsClientTypes.TravelMode]? = nil ) { self.colorScheme = colorScheme + self.contourDensity = contourDensity self.key = key self.politicalView = politicalView self.style = style + self.terrain = terrain + self.traffic = traffic + self.travelModes = travelModes } } extension GetStyleDescriptorInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetStyleDescriptorInput(colorScheme: \(Swift.String(describing: colorScheme)), style: \(Swift.String(describing: style)), key: \"CONTENT_REDACTED\", politicalView: \"CONTENT_REDACTED\")"} + "GetStyleDescriptorInput(colorScheme: \(Swift.String(describing: colorScheme)), contourDensity: \(Swift.String(describing: contourDensity)), style: \(Swift.String(describing: style)), terrain: \(Swift.String(describing: terrain)), traffic: \(Swift.String(describing: traffic)), travelModes: \(Swift.String(describing: travelModes)), key: \"CONTENT_REDACTED\", politicalView: \"CONTENT_REDACTED\")"} } public struct GetStyleDescriptorOutput: Swift.Sendable { @@ -1047,7 +1175,48 @@ public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRu } } +extension GeoMapsClientTypes { + + public enum TileAdditionalFeature: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + /// Map elevation contour lines. + case contourLines + /// Map hillshading details for shading elevation changes. + case hillshade + /// Map logistics details, including advanced pois and road networks. + case logistics + /// Map transit details. + case transit + case sdkUnknown(Swift.String) + + public static var allCases: [TileAdditionalFeature] { + return [ + .contourLines, + .hillshade, + .logistics, + .transit + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .contourLines: return "ContourLines" + case .hillshade: return "Hillshade" + case .logistics: return "Logistics" + case .transit: return "Transit" + case let .sdkUnknown(s): return s + } + } + } +} + public struct GetTileInput: Swift.Sendable { + /// A list of optional additional parameters such as map styles that can be requested for each result. + public var additionalFeatures: [GeoMapsClientTypes.TileAdditionalFeature]? /// Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request. public var key: Swift.String? /// Specifies the desired tile set. Valid Values: raster.satellite | vector.basemap @@ -1064,12 +1233,14 @@ public struct GetTileInput: Swift.Sendable { public var z: Swift.String? public init( + additionalFeatures: [GeoMapsClientTypes.TileAdditionalFeature]? = nil, key: Swift.String? = nil, tileset: Swift.String? = nil, x: Swift.String? = nil, y: Swift.String? = nil, z: Swift.String? = nil ) { + self.additionalFeatures = additionalFeatures self.key = key self.tileset = tileset self.x = x @@ -1080,7 +1251,7 @@ public struct GetTileInput: Swift.Sendable { extension GetTileInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetTileInput(tileset: \(Swift.String(describing: tileset)), key: \"CONTENT_REDACTED\", x: \"CONTENT_REDACTED\", y: \"CONTENT_REDACTED\", z: \"CONTENT_REDACTED\")"} + "GetTileInput(additionalFeatures: \(Swift.String(describing: additionalFeatures)), tileset: \(Swift.String(describing: tileset)), key: \"CONTENT_REDACTED\", x: \"CONTENT_REDACTED\", y: \"CONTENT_REDACTED\", z: \"CONTENT_REDACTED\")"} } public struct GetTileOutput: Swift.Sendable { @@ -1255,6 +1426,18 @@ extension GetStyleDescriptorInput { static func queryItemProvider(_ value: GetStyleDescriptorInput) throws -> [Smithy.URIQueryItem] { var items = [Smithy.URIQueryItem]() + if let terrain = value.terrain { + let terrainQueryItem = Smithy.URIQueryItem(name: "terrain".urlPercentEncoding(), value: Swift.String(terrain.rawValue).urlPercentEncoding()) + items.append(terrainQueryItem) + } + if let contourDensity = value.contourDensity { + let contourDensityQueryItem = Smithy.URIQueryItem(name: "contour-density".urlPercentEncoding(), value: Swift.String(contourDensity.rawValue).urlPercentEncoding()) + items.append(contourDensityQueryItem) + } + if let traffic = value.traffic { + let trafficQueryItem = Smithy.URIQueryItem(name: "traffic".urlPercentEncoding(), value: Swift.String(traffic.rawValue).urlPercentEncoding()) + items.append(trafficQueryItem) + } if let colorScheme = value.colorScheme { let colorSchemeQueryItem = Smithy.URIQueryItem(name: "color-scheme".urlPercentEncoding(), value: Swift.String(colorScheme.rawValue).urlPercentEncoding()) items.append(colorSchemeQueryItem) @@ -1267,6 +1450,12 @@ extension GetStyleDescriptorInput { let keyQueryItem = Smithy.URIQueryItem(name: "key".urlPercentEncoding(), value: Swift.String(key).urlPercentEncoding()) items.append(keyQueryItem) } + if let travelModes = value.travelModes { + travelModes.forEach { queryItemValue in + let queryItem = Smithy.URIQueryItem(name: "travel-modes".urlPercentEncoding(), value: Swift.String(queryItemValue.rawValue).urlPercentEncoding()) + items.append(queryItem) + } + } return items } } @@ -1294,6 +1483,12 @@ extension GetTileInput { static func queryItemProvider(_ value: GetTileInput) throws -> [Smithy.URIQueryItem] { var items = [Smithy.URIQueryItem]() + if let additionalFeatures = value.additionalFeatures { + additionalFeatures.forEach { queryItemValue in + let queryItem = Smithy.URIQueryItem(name: "additional-features".urlPercentEncoding(), value: Swift.String(queryItemValue.rawValue).urlPercentEncoding()) + items.append(queryItem) + } + } if let key = value.key { let keyQueryItem = Smithy.URIQueryItem(name: "key".urlPercentEncoding(), value: Swift.String(key).urlPercentEncoding()) items.append(keyQueryItem) diff --git a/Sources/Services/AWSGeoPlaces/Sources/AWSGeoPlaces/GeoPlacesClient.swift b/Sources/Services/AWSGeoPlaces/Sources/AWSGeoPlaces/GeoPlacesClient.swift index 62500d9056a..038520546d3 100644 --- a/Sources/Services/AWSGeoPlaces/Sources/AWSGeoPlaces/GeoPlacesClient.swift +++ b/Sources/Services/AWSGeoPlaces/Sources/AWSGeoPlaces/GeoPlacesClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GeoPlacesClient: ClientRuntime.Client { +public class GeoPlacesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GeoPlacesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GeoPlacesClient.GeoPlacesClientConfiguration let serviceName = "Geo Places" diff --git a/Sources/Services/AWSGeoRoutes/Sources/AWSGeoRoutes/GeoRoutesClient.swift b/Sources/Services/AWSGeoRoutes/Sources/AWSGeoRoutes/GeoRoutesClient.swift index 7b7a437322a..8d2cf97f8e9 100644 --- a/Sources/Services/AWSGeoRoutes/Sources/AWSGeoRoutes/GeoRoutesClient.swift +++ b/Sources/Services/AWSGeoRoutes/Sources/AWSGeoRoutes/GeoRoutesClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GeoRoutesClient: ClientRuntime.Client { +public class GeoRoutesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GeoRoutesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GeoRoutesClient.GeoRoutesClientConfiguration let serviceName = "Geo Routes" diff --git a/Sources/Services/AWSGlacier/Sources/AWSGlacier/GlacierClient.swift b/Sources/Services/AWSGlacier/Sources/AWSGlacier/GlacierClient.swift index f7c3b1e4116..53c5c988922 100644 --- a/Sources/Services/AWSGlacier/Sources/AWSGlacier/GlacierClient.swift +++ b/Sources/Services/AWSGlacier/Sources/AWSGlacier/GlacierClient.swift @@ -33,7 +33,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -72,9 +72,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GlacierClient: ClientRuntime.Client { +public class GlacierClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GlacierClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GlacierClient.GlacierClientConfiguration let serviceName = "Glacier" diff --git a/Sources/Services/AWSGlobalAccelerator/Sources/AWSGlobalAccelerator/GlobalAcceleratorClient.swift b/Sources/Services/AWSGlobalAccelerator/Sources/AWSGlobalAccelerator/GlobalAcceleratorClient.swift index dcf9ca9002a..86a1481f635 100644 --- a/Sources/Services/AWSGlobalAccelerator/Sources/AWSGlobalAccelerator/GlobalAcceleratorClient.swift +++ b/Sources/Services/AWSGlobalAccelerator/Sources/AWSGlobalAccelerator/GlobalAcceleratorClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GlobalAcceleratorClient: ClientRuntime.Client { +public class GlobalAcceleratorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GlobalAcceleratorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GlobalAcceleratorClient.GlobalAcceleratorClientConfiguration let serviceName = "Global Accelerator" diff --git a/Sources/Services/AWSGlue/Sources/AWSGlue/GlueClient.swift b/Sources/Services/AWSGlue/Sources/AWSGlue/GlueClient.swift index 25c4b3d42c3..03e8c449865 100644 --- a/Sources/Services/AWSGlue/Sources/AWSGlue/GlueClient.swift +++ b/Sources/Services/AWSGlue/Sources/AWSGlue/GlueClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GlueClient: ClientRuntime.Client { +public class GlueClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GlueClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GlueClient.GlueClientConfiguration let serviceName = "Glue" diff --git a/Sources/Services/AWSGlue/Sources/AWSGlue/Models.swift b/Sources/Services/AWSGlue/Sources/AWSGlue/Models.swift index 31efe3b56aa..44c769a340a 100644 --- a/Sources/Services/AWSGlue/Sources/AWSGlue/Models.swift +++ b/Sources/Services/AWSGlue/Sources/AWSGlue/Models.swift @@ -12615,13 +12615,17 @@ public struct CreateGlueIdentityCenterConfigurationInput: Swift.Sendable { public var instanceArn: Swift.String? /// A list of Identity Center scopes that define the permissions and access levels for the Glue configuration. public var scopes: [Swift.String]? + /// Specifies whether users can run background sessions when using Identity Center authentication with Glue services. + public var userBackgroundSessionsEnabled: Swift.Bool? public init( instanceArn: Swift.String? = nil, - scopes: [Swift.String]? = nil + scopes: [Swift.String]? = nil, + userBackgroundSessionsEnabled: Swift.Bool? = nil ) { self.instanceArn = instanceArn self.scopes = scopes + self.userBackgroundSessionsEnabled = userBackgroundSessionsEnabled } } @@ -20113,15 +20117,19 @@ public struct GetGlueIdentityCenterConfigurationOutput: Swift.Sendable { public var instanceArn: Swift.String? /// A list of Identity Center scopes that define the permissions and access levels for the Glue configuration. public var scopes: [Swift.String]? + /// Indicates whether users can run background sessions when using Identity Center authentication with Glue services. + public var userBackgroundSessionsEnabled: Swift.Bool? public init( applicationArn: Swift.String? = nil, instanceArn: Swift.String? = nil, - scopes: [Swift.String]? = nil + scopes: [Swift.String]? = nil, + userBackgroundSessionsEnabled: Swift.Bool? = nil ) { self.applicationArn = applicationArn self.instanceArn = instanceArn self.scopes = scopes + self.userBackgroundSessionsEnabled = userBackgroundSessionsEnabled } } @@ -27796,11 +27804,15 @@ public struct UpdateDevEndpointOutput: Swift.Sendable { public struct UpdateGlueIdentityCenterConfigurationInput: Swift.Sendable { /// A list of Identity Center scopes that define the updated permissions and access levels for the Glue configuration. public var scopes: [Swift.String]? + /// Specifies whether users can run background sessions when using Identity Center authentication with Glue services. + public var userBackgroundSessionsEnabled: Swift.Bool? public init( - scopes: [Swift.String]? = nil + scopes: [Swift.String]? = nil, + userBackgroundSessionsEnabled: Swift.Bool? = nil ) { self.scopes = scopes + self.userBackgroundSessionsEnabled = userBackgroundSessionsEnabled } } @@ -31875,6 +31887,7 @@ extension CreateGlueIdentityCenterConfigurationInput { guard let value else { return } try writer["InstanceArn"].write(value.instanceArn) try writer["Scopes"].writeList(value.scopes, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["UserBackgroundSessionsEnabled"].write(value.userBackgroundSessionsEnabled) } } @@ -34041,6 +34054,7 @@ extension UpdateGlueIdentityCenterConfigurationInput { static func write(value: UpdateGlueIdentityCenterConfigurationInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["Scopes"].writeList(value.scopes, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["UserBackgroundSessionsEnabled"].write(value.userBackgroundSessionsEnabled) } } @@ -35661,6 +35675,7 @@ extension GetGlueIdentityCenterConfigurationOutput { value.applicationArn = try reader["ApplicationArn"].readIfPresent() value.instanceArn = try reader["InstanceArn"].readIfPresent() value.scopes = try reader["Scopes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.userBackgroundSessionsEnabled = try reader["UserBackgroundSessionsEnabled"].readIfPresent() return value } } diff --git a/Sources/Services/AWSGrafana/Sources/AWSGrafana/GrafanaClient.swift b/Sources/Services/AWSGrafana/Sources/AWSGrafana/GrafanaClient.swift index 1bb8b448b52..6fb8251971e 100644 --- a/Sources/Services/AWSGrafana/Sources/AWSGrafana/GrafanaClient.swift +++ b/Sources/Services/AWSGrafana/Sources/AWSGrafana/GrafanaClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GrafanaClient: ClientRuntime.Client { +public class GrafanaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GrafanaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GrafanaClient.GrafanaClientConfiguration let serviceName = "grafana" diff --git a/Sources/Services/AWSGreengrass/Sources/AWSGreengrass/GreengrassClient.swift b/Sources/Services/AWSGreengrass/Sources/AWSGreengrass/GreengrassClient.swift index e7c2f3358e6..42faeb1d93a 100644 --- a/Sources/Services/AWSGreengrass/Sources/AWSGreengrass/GreengrassClient.swift +++ b/Sources/Services/AWSGreengrass/Sources/AWSGreengrass/GreengrassClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GreengrassClient: ClientRuntime.Client { +public class GreengrassClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GreengrassClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GreengrassClient.GreengrassClientConfiguration let serviceName = "Greengrass" diff --git a/Sources/Services/AWSGreengrassV2/Sources/AWSGreengrassV2/GreengrassV2Client.swift b/Sources/Services/AWSGreengrassV2/Sources/AWSGreengrassV2/GreengrassV2Client.swift index 0b85a4ec5ec..325147746c3 100644 --- a/Sources/Services/AWSGreengrassV2/Sources/AWSGreengrassV2/GreengrassV2Client.swift +++ b/Sources/Services/AWSGreengrassV2/Sources/AWSGreengrassV2/GreengrassV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GreengrassV2Client: ClientRuntime.Client { +public class GreengrassV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "GreengrassV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GreengrassV2Client.GreengrassV2ClientConfiguration let serviceName = "GreengrassV2" diff --git a/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/GroundStationClient.swift b/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/GroundStationClient.swift index b3261e6a5cc..ffad40760be 100644 --- a/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/GroundStationClient.swift +++ b/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/GroundStationClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GroundStationClient: ClientRuntime.Client { +public class GroundStationClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GroundStationClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GroundStationClient.GroundStationClientConfiguration let serviceName = "GroundStation" @@ -580,7 +579,7 @@ extension GroundStationClient { /// Performs the `CreateEphemeris` operation on the `GroundStation` service. /// - /// Creates an Ephemeris with the specified EphemerisData. + /// Create an ephemeris with your specified [EphemerisData]. /// /// - Parameter input: [no documentation found] (Type: `CreateEphemerisInput`) /// @@ -854,7 +853,7 @@ extension GroundStationClient { /// Performs the `DeleteEphemeris` operation on the `GroundStation` service. /// - /// Deletes an ephemeris + /// Delete an ephemeris. /// /// - Parameter input: [no documentation found] (Type: `DeleteEphemerisInput`) /// @@ -865,6 +864,7 @@ extension GroundStationClient { /// __Possible Exceptions:__ /// - `DependencyException` : Dependency encountered an error. /// - `InvalidParameterException` : One or more parameters are not valid. + /// - `ResourceInUseException` : The specified resource is in use by non-terminal state contacts and cannot be modified or deleted. /// - `ResourceNotFoundException` : Resource was not found. public func deleteEphemeris(input: DeleteEphemerisInput) async throws -> DeleteEphemerisOutput { let context = Smithy.ContextBuilder() @@ -1055,7 +1055,7 @@ extension GroundStationClient { /// Performs the `DescribeEphemeris` operation on the `GroundStation` service. /// - /// Describes an existing ephemeris. + /// Retrieve information about an existing ephemeris. /// /// - Parameter input: [no documentation found] (Type: `DescribeEphemerisInput`) /// @@ -1733,7 +1733,7 @@ extension GroundStationClient { /// Performs the `ListEphemerides` operation on the `GroundStation` service. /// - /// List existing ephemerides. + /// List your existing ephemerides. /// /// - Parameter input: [no documentation found] (Type: `ListEphemeridesInput`) /// @@ -2156,6 +2156,7 @@ extension GroundStationClient { /// __Possible Exceptions:__ /// - `DependencyException` : Dependency encountered an error. /// - `InvalidParameterException` : One or more parameters are not valid. + /// - `ResourceLimitExceededException` : Account limits for this resource have been exceeded. /// - `ResourceNotFoundException` : Resource was not found. public func reserveContact(input: ReserveContactInput) async throws -> ReserveContactOutput { let context = Smithy.ContextBuilder() @@ -2493,7 +2494,7 @@ extension GroundStationClient { /// Performs the `UpdateEphemeris` operation on the `GroundStation` service. /// - /// Updates an existing ephemeris + /// Update an existing ephemeris. /// /// - Parameter input: [no documentation found] (Type: `UpdateEphemerisInput`) /// diff --git a/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/Models.swift b/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/Models.swift index af00efd3da3..ac175a672b7 100644 --- a/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/Models.swift +++ b/Sources/Services/AWSGroundStation/Sources/AWSGroundStation/Models.swift @@ -941,6 +941,202 @@ extension GroundStationClientTypes { } } +extension GroundStationClientTypes { + + /// Time-tagged azimuth elevation pointing data. Specifies the antenna pointing direction at a specific time offset from the segment's reference epoch. + public struct TimeAzEl: Swift.Sendable { + /// Azimuth angle at the specified time. Valid ranges by unit: + /// + /// * DEGREE_ANGLE: -180 to 360 degrees, measured clockwise from true north + /// + /// * RADIAN: -π to 2π radians, measured clockwise from true north + /// This member is required. + public var az: Swift.Double? + /// Time offset in atomic seconds from the segment's reference epoch. All dt values within a segment must be in ascending order with no duplicates. dt values may be: + /// + /// * negative + /// + /// * expressed as fractions of a second + /// + /// * expressed in scientific notation + /// This member is required. + public var dt: Swift.Double? + /// Elevation angle at the specified time. Valid ranges by unit: + /// + /// * DEGREE_ANGLE: -90 to 90 degrees, where 0 is the horizon, 90 is zenith, and negative values are below the horizon + /// + /// * RADIAN: -π/2 to π/2 radians, where 0 is the horizon, π/2 is zenith, and negative values are below the horizon + /// This member is required. + public var el: Swift.Double? + + public init( + az: Swift.Double? = nil, + dt: Swift.Double? = nil, + el: Swift.Double? = nil + ) { + self.az = az + self.dt = dt + self.el = el + } + } +} + +extension GroundStationClientTypes { + + /// Time range specified using ISO 8601 format timestamps. + public struct ISO8601TimeRange: Swift.Sendable { + /// End time in ISO 8601 format in Coordinated Universal Time (UTC). Example: 2024-01-15T12:00:00.000Z + /// This member is required. + public var endTime: Foundation.Date? + /// Start time in ISO 8601 format in Coordinated Universal Time (UTC). Example: 2026-11-15T10:28:48.000Z + /// This member is required. + public var startTime: Foundation.Date? + + public init( + endTime: Foundation.Date? = nil, + startTime: Foundation.Date? = nil + ) { + self.endTime = endTime + self.startTime = startTime + } + } +} + +extension GroundStationClientTypes { + + /// A time segment containing azimuth elevation pointing data. Each segment defines a continuous time period with pointing angle data points. AWS Ground Station uses 4th order Lagrange interpolation between the provided points, so each segment must contain at least five data points. + public struct AzElSegment: Swift.Sendable { + /// List of time-tagged azimuth elevation data points. Must contain at least five points to support 4th order Lagrange interpolation. Points must be in chronological order with no duplicates. + /// This member is required. + public var azElList: [GroundStationClientTypes.TimeAzEl]? + /// The reference time for this segment in ISO 8601 format in Coordinated Universal Time (UTC). All time values within the segment's [AzElSegment$azElList] are specified as offsets in atomic seconds from this reference epoch. Example: 2024-01-15T12:00:00.000Z + /// This member is required. + public var referenceEpoch: Foundation.Date? + /// The valid time range for this segment. Specifies the start and end timestamps in ISO 8601 format in Coordinated Universal Time (UTC). The segment's pointing data must cover this entire time range. + /// This member is required. + public var validTimeRange: GroundStationClientTypes.ISO8601TimeRange? + + public init( + azElList: [GroundStationClientTypes.TimeAzEl]? = nil, + referenceEpoch: Foundation.Date? = nil, + validTimeRange: GroundStationClientTypes.ISO8601TimeRange? = nil + ) { + self.azElList = azElList + self.referenceEpoch = referenceEpoch + self.validTimeRange = validTimeRange + } + } +} + +extension GroundStationClientTypes { + + /// Azimuth elevation segment collection. Contains five or more time-ordered segments that define antenna pointing angles over the ephemeris validity period. + public struct AzElSegments: Swift.Sendable { + /// The unit of measure for azimuth and elevation angles. All angles in all segments must use the same unit. + /// This member is required. + public var angleUnit: GroundStationClientTypes.AngleUnits? + /// List of azimuth elevation segments. Must contain between 1 and 100 segments. Segments must be in chronological order with no overlaps. + /// This member is required. + public var azElSegmentList: [GroundStationClientTypes.AzElSegment]? + + public init( + angleUnit: GroundStationClientTypes.AngleUnits? = nil, + azElSegmentList: [GroundStationClientTypes.AzElSegment]? = nil + ) { + self.angleUnit = angleUnit + self.azElSegmentList = azElSegmentList + } + } +} + +extension GroundStationClientTypes { + + /// Object stored in Amazon S3 containing ephemeris data. + public struct S3Object: Swift.Sendable { + /// An Amazon S3 Bucket name. + public var bucket: Swift.String? + /// An Amazon S3 key for the ephemeris. + public var key: Swift.String? + /// For versioned Amazon S3 objects, the version to use for the ephemeris. + public var version: Swift.String? + + public init( + bucket: Swift.String? = nil, + key: Swift.String? = nil, + version: Swift.String? = nil + ) { + self.bucket = bucket + self.key = key + self.version = version + } + } +} + +extension GroundStationClientTypes { + + /// Container for azimuth elevation segment data. Specify either [AzElSegmentsData$s3Object] to reference data in Amazon S3, or [AzElSegmentsData$azElData] to provide data inline. + public enum AzElSegmentsData: Swift.Sendable { + /// The Amazon S3 object containing azimuth elevation segment data. The Amazon S3 object must contain JSON-formatted azimuth elevation data matching the [AzElSegments] structure. + case s3object(GroundStationClientTypes.S3Object) + /// Azimuth elevation segment data provided directly in the request. Use this option for smaller datasets or when Amazon S3 access is not available. + case azeldata(GroundStationClientTypes.AzElSegments) + case sdkUnknown(Swift.String) + } +} + +extension GroundStationClientTypes { + + /// Azimuth elevation ephemeris data. Use this ephemeris type to provide pointing angles directly, rather than satellite orbital elements. Use this when you need precise antenna pointing but have imprecise or unknown satellite trajectory information. The azimuth elevation data specifies the antenna pointing direction at specific times relative to a ground station location. AWS Ground Station uses 4th order Lagrange interpolation to compute pointing angles between the provided data points. AWS Ground Station automatically filters interpolated pointing angles, including only those that are above the site mask elevation of the specified ground station. For more detail about providing azimuth elevation ephemerides to AWS Ground Station, see the [azimuth elevation ephemeris section](https://docs.aws.amazon.com/ground-station/latest/ug/providing-azimuth-elevation-ephemeris-data.html) of the AWS Ground Station User Guide. + public struct AzElEphemeris: Swift.Sendable { + /// Azimuth elevation segment data. You can provide data inline in the request or through an Amazon S3 object reference. + /// This member is required. + public var data: GroundStationClientTypes.AzElSegmentsData? + /// The ground station name for which you're providing azimuth elevation data. This ephemeris is specific to this ground station and can't be used at other locations. + /// This member is required. + public var groundStation: Swift.String? + + public init( + data: GroundStationClientTypes.AzElSegmentsData? = nil, + groundStation: Swift.String? = nil + ) { + self.data = data + self.groundStation = groundStation + } + } +} + +extension GroundStationClientTypes { + + /// Filter for selecting contacts that use a specific [AzElEphemeris]. + public struct AzElEphemerisFilter: Swift.Sendable { + /// Unique identifier of the azimuth elevation ephemeris. + /// This member is required. + public var id: Swift.String? + + public init( + id: Swift.String? = nil + ) { + self.id = id + } + } +} + +extension GroundStationClientTypes { + + /// Program track settings for [AzElEphemeris]. + public struct AzElProgramTrackSettings: Swift.Sendable { + /// Unique identifier of the azimuth elevation ephemeris. + /// This member is required. + public var ephemerisId: Swift.String? + + public init( + ephemerisId: Swift.String? = nil + ) { + self.ephemerisId = ephemerisId + } + } +} + /// public struct CancelContactInput: Swift.Sendable { /// UUID of a contact. @@ -1794,6 +1990,61 @@ extension GroundStationClientTypes { } } +extension GroundStationClientTypes { + + public enum EphemerisType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case azEl + case oem + case serviceManaged + case tle + case sdkUnknown(Swift.String) + + public static var allCases: [EphemerisType] { + return [ + .azEl, + .oem, + .serviceManaged, + .tle + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .azEl: return "AZ_EL" + case .oem: return "OEM" + case .serviceManaged: return "SERVICE_MANAGED" + case .tle: return "TLE" + case let .sdkUnknown(s): return s + } + } + } +} + +extension GroundStationClientTypes { + + /// Ephemeris data for a contact. + public struct EphemerisResponseData: Swift.Sendable { + /// Unique identifier of the ephemeris. Appears only for custom ephemerides. + public var ephemerisId: Swift.String? + /// Type of ephemeris. + /// This member is required. + public var ephemerisType: GroundStationClientTypes.EphemerisType? + + public init( + ephemerisId: Swift.String? = nil, + ephemerisType: GroundStationClientTypes.EphemerisType? = nil + ) { + self.ephemerisId = ephemerisId + self.ephemerisType = ephemerisType + } + } +} + extension GroundStationClientTypes { /// Elevation angle of the satellite in the sky during a contact. @@ -1815,6 +2066,32 @@ extension GroundStationClientTypes { } } +extension GroundStationClientTypes { + + /// Program track settings for an antenna during a contact. + public enum ProgramTrackSettings: Swift.Sendable { + /// Program track settings for [AzElEphemeris]. + case azel(GroundStationClientTypes.AzElProgramTrackSettings) + case sdkUnknown(Swift.String) + } +} + +extension GroundStationClientTypes { + + /// Overrides the default tracking configuration on an antenna during a contact. + public struct TrackingOverrides: Swift.Sendable { + /// Program track settings to override for antenna tracking during the contact. + /// This member is required. + public var programTrackSettings: GroundStationClientTypes.ProgramTrackSettings? + + public init( + programTrackSettings: GroundStationClientTypes.ProgramTrackSettings? = nil + ) { + self.programTrackSettings = programTrackSettings + } + } +} + /// public struct DescribeContactOutput: Swift.Sendable { /// UUID of a contact. @@ -1825,6 +2102,8 @@ public struct DescribeContactOutput: Swift.Sendable { public var dataflowList: [GroundStationClientTypes.DataflowDetail]? /// End time of a contact in UTC. public var endTime: Foundation.Date? + /// The ephemeris that determines antenna pointing directions for the contact. + public var ephemeris: GroundStationClientTypes.EphemerisResponseData? /// Error message for a contact. public var errorMessage: Swift.String? /// Ground station for a contact. @@ -1845,6 +2124,8 @@ public struct DescribeContactOutput: Swift.Sendable { public var startTime: Foundation.Date? /// Tags assigned to a contact. public var tags: [Swift.String: Swift.String]? + /// Tracking configuration overrides specified when the contact was reserved. + public var trackingOverrides: GroundStationClientTypes.TrackingOverrides? /// Projected time in UTC your satellite will set below the [receive mask](https://docs.aws.amazon.com/ground-station/latest/ug/site-masks.html). This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was active during contact execution for completed contacts. public var visibilityEndTime: Foundation.Date? /// Projected time in UTC your satellite will rise above the [receive mask](https://docs.aws.amazon.com/ground-station/latest/ug/site-masks.html). This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was active during contact execution for completed contacts. @@ -1855,6 +2136,7 @@ public struct DescribeContactOutput: Swift.Sendable { contactStatus: GroundStationClientTypes.ContactStatus? = nil, dataflowList: [GroundStationClientTypes.DataflowDetail]? = nil, endTime: Foundation.Date? = nil, + ephemeris: GroundStationClientTypes.EphemerisResponseData? = nil, errorMessage: Swift.String? = nil, groundStation: Swift.String? = nil, maximumElevation: GroundStationClientTypes.Elevation? = nil, @@ -1865,6 +2147,7 @@ public struct DescribeContactOutput: Swift.Sendable { satelliteArn: Swift.String? = nil, startTime: Foundation.Date? = nil, tags: [Swift.String: Swift.String]? = nil, + trackingOverrides: GroundStationClientTypes.TrackingOverrides? = nil, visibilityEndTime: Foundation.Date? = nil, visibilityStartTime: Foundation.Date? = nil ) { @@ -1872,6 +2155,7 @@ public struct DescribeContactOutput: Swift.Sendable { self.contactStatus = contactStatus self.dataflowList = dataflowList self.endTime = endTime + self.ephemeris = ephemeris self.errorMessage = errorMessage self.groundStation = groundStation self.maximumElevation = maximumElevation @@ -1882,16 +2166,29 @@ public struct DescribeContactOutput: Swift.Sendable { self.satelliteArn = satelliteArn self.startTime = startTime self.tags = tags + self.trackingOverrides = trackingOverrides self.visibilityEndTime = visibilityEndTime self.visibilityStartTime = visibilityStartTime } } +extension GroundStationClientTypes { + + /// Filter for selecting contacts that use a specific ephemeris". + public enum EphemerisFilter: Swift.Sendable { + /// Filter for [AzElEphemeris]. + case azel(GroundStationClientTypes.AzElEphemerisFilter) + case sdkUnknown(Swift.String) + } +} + /// public struct ListContactsInput: Swift.Sendable { /// End time of a contact in UTC. /// This member is required. public var endTime: Foundation.Date? + /// Filter for selecting contacts that use a specific ephemeris". + public var ephemeris: GroundStationClientTypes.EphemerisFilter? /// Name of a ground station. public var groundStation: Swift.String? /// Maximum number of contacts returned. @@ -1911,6 +2208,7 @@ public struct ListContactsInput: Swift.Sendable { public init( endTime: Foundation.Date? = nil, + ephemeris: GroundStationClientTypes.EphemerisFilter? = nil, groundStation: Swift.String? = nil, maxResults: Swift.Int? = nil, missionProfileArn: Swift.String? = nil, @@ -1920,6 +2218,7 @@ public struct ListContactsInput: Swift.Sendable { statusList: [GroundStationClientTypes.ContactStatus]? = nil ) { self.endTime = endTime + self.ephemeris = ephemeris self.groundStation = groundStation self.maxResults = maxResults self.missionProfileArn = missionProfileArn @@ -1940,6 +2239,8 @@ extension GroundStationClientTypes { public var contactStatus: GroundStationClientTypes.ContactStatus? /// End time of a contact in UTC. public var endTime: Foundation.Date? + /// The ephemeris that determines antenna pointing for the contact. + public var ephemeris: GroundStationClientTypes.EphemerisResponseData? /// Error message of a contact. public var errorMessage: Swift.String? /// Name of a ground station. @@ -1969,6 +2270,7 @@ extension GroundStationClientTypes { contactId: Swift.String? = nil, contactStatus: GroundStationClientTypes.ContactStatus? = nil, endTime: Foundation.Date? = nil, + ephemeris: GroundStationClientTypes.EphemerisResponseData? = nil, errorMessage: Swift.String? = nil, groundStation: Swift.String? = nil, maximumElevation: GroundStationClientTypes.Elevation? = nil, @@ -1985,6 +2287,7 @@ extension GroundStationClientTypes { self.contactId = contactId self.contactStatus = contactStatus self.endTime = endTime + self.ephemeris = ephemeris self.errorMessage = errorMessage self.groundStation = groundStation self.maximumElevation = maximumElevation @@ -2029,13 +2332,14 @@ public struct ReserveContactInput: Swift.Sendable { /// This member is required. public var missionProfileArn: Swift.String? /// ARN of a satellite - /// This member is required. public var satelliteArn: Swift.String? /// Start time of a contact in UTC. /// This member is required. public var startTime: Foundation.Date? /// Tags assigned to a contact. public var tags: [Swift.String: Swift.String]? + /// Tracking configuration overrides for the contact. + public var trackingOverrides: GroundStationClientTypes.TrackingOverrides? public init( endTime: Foundation.Date? = nil, @@ -2043,7 +2347,8 @@ public struct ReserveContactInput: Swift.Sendable { missionProfileArn: Swift.String? = nil, satelliteArn: Swift.String? = nil, startTime: Foundation.Date? = nil, - tags: [Swift.String: Swift.String]? = nil + tags: [Swift.String: Swift.String]? = nil, + trackingOverrides: GroundStationClientTypes.TrackingOverrides? = nil ) { self.endTime = endTime self.groundStation = groundStation @@ -2051,6 +2356,7 @@ public struct ReserveContactInput: Swift.Sendable { self.satelliteArn = satelliteArn self.startTime = startTime self.tags = tags + self.trackingOverrides = trackingOverrides } } @@ -2105,34 +2411,11 @@ public struct CreateDataflowEndpointGroupOutput: Swift.Sendable { extension GroundStationClientTypes { - /// Object stored in S3 containing ephemeris data. - public struct S3Object: Swift.Sendable { - /// An Amazon S3 Bucket name. - public var bucket: Swift.String? - /// An Amazon S3 key for the ephemeris. - public var key: Swift.String? - /// For versioned S3 objects, the version to use for the ephemeris. - public var version: Swift.String? - - public init( - bucket: Swift.String? = nil, - key: Swift.String? = nil, - version: Swift.String? = nil - ) { - self.bucket = bucket - self.key = key - self.version = version - } - } -} - -extension GroundStationClientTypes { - - /// Ephemeris data in Orbit Ephemeris Message (OEM) format. AWS Ground Station processes OEM Customer Provided Ephemerides according to the [CCSDS standard](https://public.ccsds.org/Pubs/502x0b3e1.pdf) with some extra restrictions. OEM files should be in KVN format. For more detail about the OEM format that AWS Ground Station supports, see [OEM ephemeris format](https://docs.aws.amazon.com/ground-station/latest/ug/providing-custom-ephemeris-data.html#oem-ephemeris-format) in the AWS Ground Station user guide. + /// Ephemeris data in Orbit Ephemeris Message (OEM) format. AWS Ground Station processes OEM ephemerides according to the [CCSDS standard](https://ccsds.org/wp-content/uploads/gravity_forms/5-448e85c647331d9cbaf66c096458bdd5/2025/01//502x0b3e1.pdf) with some extra restrictions. OEM files should be in KVN format. For more detail about the OEM format that AWS Ground Station supports, see [OEM ephemeris format](https://docs.aws.amazon.com/ground-station/latest/ug/providing-oem-ephemeris-data.html#oem-ephemeris-format) in the AWS Ground Station user guide. public struct OEMEphemeris: Swift.Sendable { - /// The data for an OEM ephemeris, supplied directly in the request rather than through an S3 object. + /// OEM data that you provide directly instead of using an Amazon S3 object. public var oemData: Swift.String? - /// Identifies the S3 object to be used as the ephemeris. + /// The Amazon S3 object that contains the ephemeris data. public var s3Object: GroundStationClientTypes.S3Object? public init( @@ -2149,10 +2432,10 @@ extension GroundStationClientTypes { /// A time range with a start and end time. public struct TimeRange: Swift.Sendable { - /// Time in UTC at which the time range ends. + /// Unix epoch timestamp in UTC at which the time range ends. /// This member is required. public var endTime: Foundation.Date? - /// Time in UTC at which the time range starts. + /// Unix epoch timestamp in UTC at which the time range starts. /// This member is required. public var startTime: Foundation.Date? @@ -2176,7 +2459,7 @@ extension GroundStationClientTypes { /// Second line of two-line element set (TLE) data. /// This member is required. public var tleLine2: Swift.String? - /// The valid time range for the TLE. Gaps or overlap are not permitted. + /// The valid time range for the TLE. Time ranges must be continuous without gaps or overlaps. /// This member is required. public var validTimeRange: GroundStationClientTypes.TimeRange? @@ -2194,11 +2477,11 @@ extension GroundStationClientTypes { extension GroundStationClientTypes { - /// Two-line element set (TLE) ephemeris. + /// Two-line element set (TLE) ephemeris. For more detail about providing Two-line element sets to AWS Ground Station, see the [TLE section](https://docs.aws.amazon.com/ground-station/latest/ug/providing-tle-ephemeris-data.html) of the AWS Ground Station user guide. public struct TLEEphemeris: Swift.Sendable { - /// Identifies the S3 object to be used as the ephemeris. + /// The Amazon S3 object that contains the ephemeris data. public var s3Object: GroundStationClientTypes.S3Object? - /// The data for a TLE ephemeris, supplied directly in the request rather than through an S3 object. + /// TLE data that you provide directly instead of using an Amazon S3 object. public var tleData: [GroundStationClientTypes.TLEData]? public init( @@ -2215,30 +2498,31 @@ extension GroundStationClientTypes { /// Ephemeris data. public enum EphemerisData: Swift.Sendable { - /// Two-line element set (TLE) ephemeris. + /// Two-line element set (TLE) ephemeris. For more detail about providing Two-line element sets to AWS Ground Station, see the [TLE section](https://docs.aws.amazon.com/ground-station/latest/ug/providing-tle-ephemeris-data.html) of the AWS Ground Station user guide. case tle(GroundStationClientTypes.TLEEphemeris) - /// Ephemeris data in Orbit Ephemeris Message (OEM) format. AWS Ground Station processes OEM Customer Provided Ephemerides according to the [CCSDS standard](https://public.ccsds.org/Pubs/502x0b3e1.pdf) with some extra restrictions. OEM files should be in KVN format. For more detail about the OEM format that AWS Ground Station supports, see [OEM ephemeris format](https://docs.aws.amazon.com/ground-station/latest/ug/providing-custom-ephemeris-data.html#oem-ephemeris-format) in the AWS Ground Station user guide. + /// Ephemeris data in Orbit Ephemeris Message (OEM) format. AWS Ground Station processes OEM ephemerides according to the [CCSDS standard](https://ccsds.org/wp-content/uploads/gravity_forms/5-448e85c647331d9cbaf66c096458bdd5/2025/01//502x0b3e1.pdf) with some extra restrictions. OEM files should be in KVN format. For more detail about the OEM format that AWS Ground Station supports, see [OEM ephemeris format](https://docs.aws.amazon.com/ground-station/latest/ug/providing-oem-ephemeris-data.html#oem-ephemeris-format) in the AWS Ground Station user guide. case oem(GroundStationClientTypes.OEMEphemeris) + /// Azimuth elevation ephemeris data. Use this ephemeris type to provide pointing angles directly, rather than satellite orbital elements. Use this when you need precise antenna pointing but have imprecise or unknown satellite trajectory information. The azimuth elevation data specifies the antenna pointing direction at specific times relative to a ground station location. AWS Ground Station uses 4th order Lagrange interpolation to compute pointing angles between the provided data points. AWS Ground Station automatically filters interpolated pointing angles, including only those that are above the site mask elevation of the specified ground station. For more detail about providing azimuth elevation ephemerides to AWS Ground Station, see the [azimuth elevation ephemeris section](https://docs.aws.amazon.com/ground-station/latest/ug/providing-azimuth-elevation-ephemeris-data.html) of the AWS Ground Station User Guide. + case azel(GroundStationClientTypes.AzElEphemeris) case sdkUnknown(Swift.String) } } public struct CreateEphemerisInput: Swift.Sendable { - /// Whether to set the ephemeris status to ENABLED after validation. Setting this to false will set the ephemeris status to DISABLED after validation. + /// Set to true to enable the ephemeris after validation. Set to false to keep it disabled. public var enabled: Swift.Bool? /// Ephemeris data. public var ephemeris: GroundStationClientTypes.EphemerisData? /// An overall expiration time for the ephemeris in UTC, after which it will become EXPIRED. public var expirationTime: Foundation.Date? - /// The ARN of a KMS key used to encrypt the ephemeris in Ground Station. + /// The ARN of the KMS key to use for encrypting the ephemeris. public var kmsKeyArn: Swift.String? - /// A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris. + /// A name that you can use to identify the ephemeris. /// This member is required. public var name: Swift.String? - /// Customer-provided priority score to establish the order in which overlapping ephemerides should be used. The default for customer-provided ephemeris priority is 1, and higher numbers take precedence. Priority must be 1 or greater + /// A priority score that determines which ephemeris to use when multiple ephemerides overlap. Higher numbers take precedence. The default is 1. Must be 1 or greater. public var priority: Swift.Int? - /// AWS Ground Station satellite ID for this ephemeris. - /// This member is required. + /// The satellite ID that associates this ephemeris with a satellite in AWS Ground Station. public var satelliteId: Swift.String? /// Tags assigned to an ephemeris. public var tags: [Swift.String: Swift.String]? @@ -2470,6 +2754,29 @@ public struct ListDataflowEndpointGroupsOutput: Swift.Sendable { } } +/// The specified resource is in use by non-terminal state contacts and cannot be modified or deleted. +public struct ResourceInUseException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ResourceInUseException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + public struct DeleteEphemerisInput: Swift.Sendable { /// The AWS Ground Station ephemeris ID. /// This member is required. @@ -2530,6 +2837,164 @@ public struct DescribeEphemerisInput: Swift.Sendable { } } +extension GroundStationClientTypes { + + public enum EphemerisErrorCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case azElSegmentsOutOfOrder + case azElSegmentEndTimeBeforeStartTime + case azElSegmentEndTimeInvalid + case azElSegmentEndTimeTooLate + case azElSegmentListMissing + case azElSegmentReferenceEpochInvalid + case azElSegmentStartTimeInvalid + case azElSegmentTimesOverlap + case azElSegmentValidTimeRangeInvalid + case azElTotalDurationExceeded + case centerBodyUnsupported + case creationDateMissing + case endTimeInPast + case expirationTimeTooEarly + case fileFormatInvalid + case insufficientKmsPermissions + case insufficientTimeAzEl + case internalError + case interpolationDegreeInvalid + case interpolationMissing + case meanMotionInvalid + case mismatchedSatcatId + case objectIdMissing + case objectNameMissing + case oemVersionUnsupported + case originatorMissing + case refFrameEpochUnsupported + case refFrameUnsupported + case startTimeInFuture + case startTimeMetadataTooEarly + case stopTimeMetadataTooLate + case timeAzElAngleUnitsInvalid + case timeAzElAzDegreeRangeInvalid + case timeAzElAzRadianRangeInvalid + case timeAzElElDegreeRangeInvalid + case timeAzElElRadianRangeInvalid + case timeAzElItemsOutOfOrder + case timeSystemUnsupported + case sdkUnknown(Swift.String) + + public static var allCases: [EphemerisErrorCode] { + return [ + .azElSegmentsOutOfOrder, + .azElSegmentEndTimeBeforeStartTime, + .azElSegmentEndTimeInvalid, + .azElSegmentEndTimeTooLate, + .azElSegmentListMissing, + .azElSegmentReferenceEpochInvalid, + .azElSegmentStartTimeInvalid, + .azElSegmentTimesOverlap, + .azElSegmentValidTimeRangeInvalid, + .azElTotalDurationExceeded, + .centerBodyUnsupported, + .creationDateMissing, + .endTimeInPast, + .expirationTimeTooEarly, + .fileFormatInvalid, + .insufficientKmsPermissions, + .insufficientTimeAzEl, + .internalError, + .interpolationDegreeInvalid, + .interpolationMissing, + .meanMotionInvalid, + .mismatchedSatcatId, + .objectIdMissing, + .objectNameMissing, + .oemVersionUnsupported, + .originatorMissing, + .refFrameEpochUnsupported, + .refFrameUnsupported, + .startTimeInFuture, + .startTimeMetadataTooEarly, + .stopTimeMetadataTooLate, + .timeAzElAngleUnitsInvalid, + .timeAzElAzDegreeRangeInvalid, + .timeAzElAzRadianRangeInvalid, + .timeAzElElDegreeRangeInvalid, + .timeAzElElRadianRangeInvalid, + .timeAzElItemsOutOfOrder, + .timeSystemUnsupported + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .azElSegmentsOutOfOrder: return "AZ_EL_SEGMENTS_OUT_OF_ORDER" + case .azElSegmentEndTimeBeforeStartTime: return "AZ_EL_SEGMENT_END_TIME_BEFORE_START_TIME" + case .azElSegmentEndTimeInvalid: return "AZ_EL_SEGMENT_END_TIME_INVALID" + case .azElSegmentEndTimeTooLate: return "AZ_EL_SEGMENT_END_TIME_TOO_LATE" + case .azElSegmentListMissing: return "AZ_EL_SEGMENT_LIST_MISSING" + case .azElSegmentReferenceEpochInvalid: return "AZ_EL_SEGMENT_REFERENCE_EPOCH_INVALID" + case .azElSegmentStartTimeInvalid: return "AZ_EL_SEGMENT_START_TIME_INVALID" + case .azElSegmentTimesOverlap: return "AZ_EL_SEGMENT_TIMES_OVERLAP" + case .azElSegmentValidTimeRangeInvalid: return "AZ_EL_SEGMENT_VALID_TIME_RANGE_INVALID" + case .azElTotalDurationExceeded: return "AZ_EL_TOTAL_DURATION_EXCEEDED" + case .centerBodyUnsupported: return "CENTER_BODY_UNSUPPORTED" + case .creationDateMissing: return "CREATION_DATE_MISSING" + case .endTimeInPast: return "END_TIME_IN_PAST" + case .expirationTimeTooEarly: return "EXPIRATION_TIME_TOO_EARLY" + case .fileFormatInvalid: return "FILE_FORMAT_INVALID" + case .insufficientKmsPermissions: return "INSUFFICIENT_KMS_PERMISSIONS" + case .insufficientTimeAzEl: return "INSUFFICIENT_TIME_AZ_EL" + case .internalError: return "INTERNAL_ERROR" + case .interpolationDegreeInvalid: return "INTERPOLATION_DEGREE_INVALID" + case .interpolationMissing: return "INTERPOLATION_MISSING" + case .meanMotionInvalid: return "MEAN_MOTION_INVALID" + case .mismatchedSatcatId: return "MISMATCHED_SATCAT_ID" + case .objectIdMissing: return "OBJECT_ID_MISSING" + case .objectNameMissing: return "OBJECT_NAME_MISSING" + case .oemVersionUnsupported: return "OEM_VERSION_UNSUPPORTED" + case .originatorMissing: return "ORIGINATOR_MISSING" + case .refFrameEpochUnsupported: return "REF_FRAME_EPOCH_UNSUPPORTED" + case .refFrameUnsupported: return "REF_FRAME_UNSUPPORTED" + case .startTimeInFuture: return "START_TIME_IN_FUTURE" + case .startTimeMetadataTooEarly: return "START_TIME_METADATA_TOO_EARLY" + case .stopTimeMetadataTooLate: return "STOP_TIME_METADATA_TOO_LATE" + case .timeAzElAngleUnitsInvalid: return "TIME_AZ_EL_ANGLE_UNITS_INVALID" + case .timeAzElAzDegreeRangeInvalid: return "TIME_AZ_EL_AZ_DEGREE_RANGE_INVALID" + case .timeAzElAzRadianRangeInvalid: return "TIME_AZ_EL_AZ_RADIAN_RANGE_INVALID" + case .timeAzElElDegreeRangeInvalid: return "TIME_AZ_EL_EL_DEGREE_RANGE_INVALID" + case .timeAzElElRadianRangeInvalid: return "TIME_AZ_EL_EL_RADIAN_RANGE_INVALID" + case .timeAzElItemsOutOfOrder: return "TIME_AZ_EL_ITEMS_OUT_OF_ORDER" + case .timeSystemUnsupported: return "TIME_SYSTEM_UNSUPPORTED" + case let .sdkUnknown(s): return s + } + } + } +} + +extension GroundStationClientTypes { + + /// Detailed error information for ephemeris validation failures. Provides an error code and descriptive message to help diagnose and resolve validation issues. + public struct EphemerisErrorReason: Swift.Sendable { + /// The error code identifying the type of validation failure. See the [Troubleshooting Invalid Ephemerides guide](https://docs.aws.amazon.com/ground-station/latest/ug/troubleshooting-invalid-ephemerides.html) for error code details. + /// This member is required. + public var errorCode: GroundStationClientTypes.EphemerisErrorCode? + /// A human-readable message describing the validation failure. Provides specific details about what failed and may include suggestions for remediation. + /// This member is required. + public var errorMessage: Swift.String? + + public init( + errorCode: GroundStationClientTypes.EphemerisErrorCode? = nil, + errorMessage: Swift.String? = nil + ) { + self.errorCode = errorCode + self.errorMessage = errorMessage + } + } +} + extension GroundStationClientTypes { public enum EphemerisInvalidReason: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -2620,7 +3085,7 @@ extension GroundStationClientTypes { public struct EphemerisDescription: Swift.Sendable { /// Supplied ephemeris data. public var ephemerisData: Swift.String? - /// Source S3 object used for the ephemeris. + /// Source Amazon S3 object used for the ephemeris. public var sourceS3Object: GroundStationClientTypes.S3Object? public init( @@ -2641,6 +3106,8 @@ extension GroundStationClientTypes { case tle(GroundStationClientTypes.EphemerisDescription) /// Description of ephemeris. case oem(GroundStationClientTypes.EphemerisDescription) + /// Description of ephemeris. + case azel(GroundStationClientTypes.EphemerisDescription) case sdkUnknown(Swift.String) } } @@ -2652,11 +3119,13 @@ public struct DescribeEphemerisOutput: Swift.Sendable { public var enabled: Swift.Bool? /// The AWS Ground Station ephemeris ID. public var ephemerisId: Swift.String? - /// Reason that an ephemeris failed validation. Only provided for ephemerides with INVALID status. + /// Detailed error information for ephemerides with INVALID status. Provides specific error codes and messages to help diagnose validation failures. + public var errorReasons: [GroundStationClientTypes.EphemerisErrorReason]? + /// Reason that an ephemeris failed validation. Appears only when the status is INVALID. public var invalidReason: GroundStationClientTypes.EphemerisInvalidReason? - /// A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris. + /// A name that you can use to identify the ephemeris. public var name: Swift.String? - /// Customer-provided priority score to establish the order in which overlapping ephemerides should be used. The default for customer-provided ephemeris priority is 1, and higher numbers take precedence. Priority must be 1 or greater + /// A priority score that determines which ephemeris to use when multiple ephemerides overlap. Higher numbers take precedence. The default is 1. Must be 1 or greater. public var priority: Swift.Int? /// The AWS Ground Station satellite ID associated with ephemeris. public var satelliteId: Swift.String? @@ -2671,6 +3140,7 @@ public struct DescribeEphemerisOutput: Swift.Sendable { creationTime: Foundation.Date? = nil, enabled: Swift.Bool? = nil, ephemerisId: Swift.String? = nil, + errorReasons: [GroundStationClientTypes.EphemerisErrorReason]? = nil, invalidReason: GroundStationClientTypes.EphemerisInvalidReason? = nil, name: Swift.String? = nil, priority: Swift.Int? = nil, @@ -2682,6 +3152,7 @@ public struct DescribeEphemerisOutput: Swift.Sendable { self.creationTime = creationTime self.enabled = enabled self.ephemerisId = ephemerisId + self.errorReasons = errorReasons self.invalidReason = invalidReason self.name = name self.priority = priority @@ -2702,11 +3173,13 @@ extension GroundStationClientTypes { public var enabled: Swift.Bool? /// The AWS Ground Station ephemeris ID. public var ephemerisId: Swift.String? - /// A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris. + /// The type of ephemeris. + public var ephemerisType: GroundStationClientTypes.EphemerisType? + /// A name that you can use to identify the ephemeris. public var name: Swift.String? - /// Customer-provided priority score to establish the order in which overlapping ephemerides should be used. The default for customer-provided ephemeris priority is 1, and higher numbers take precedence. Priority must be 1 or greater + /// A priority score that determines which ephemeris to use when multiple ephemerides overlap. Higher numbers take precedence. The default is 1. Must be 1 or greater. public var priority: Swift.Int? - /// Source S3 object used for the ephemeris. + /// Source Amazon S3 object used for the ephemeris. public var sourceS3Object: GroundStationClientTypes.S3Object? /// The status of the ephemeris. public var status: GroundStationClientTypes.EphemerisStatus? @@ -2715,6 +3188,7 @@ extension GroundStationClientTypes { creationTime: Foundation.Date? = nil, enabled: Swift.Bool? = nil, ephemerisId: Swift.String? = nil, + ephemerisType: GroundStationClientTypes.EphemerisType? = nil, name: Swift.String? = nil, priority: Swift.Int? = nil, sourceS3Object: GroundStationClientTypes.S3Object? = nil, @@ -2723,6 +3197,7 @@ extension GroundStationClientTypes { self.creationTime = creationTime self.enabled = enabled self.ephemerisId = ephemerisId + self.ephemerisType = ephemerisType self.name = name self.priority = priority self.sourceS3Object = sourceS3Object @@ -2732,17 +3207,18 @@ extension GroundStationClientTypes { } public struct ListEphemeridesInput: Swift.Sendable { - /// The end time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the startTime and endTime. + /// The end time for the list operation in UTC. Returns ephemerides with expiration times within your specified time range. /// This member is required. public var endTime: Foundation.Date? + /// Filter ephemerides by type. If not specified, all ephemeris types will be returned. + public var ephemerisType: GroundStationClientTypes.EphemerisType? /// Maximum number of ephemerides to return. public var maxResults: Swift.Int? /// Pagination token. public var nextToken: Swift.String? /// The AWS Ground Station satellite ID to list ephemeris for. - /// This member is required. public var satelliteId: Swift.String? - /// The start time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the startTime and endTime. + /// The start time for the list operation in UTC. Returns ephemerides with expiration times within your specified time range. /// This member is required. public var startTime: Foundation.Date? /// The list of ephemeris status to return. @@ -2750,6 +3226,7 @@ public struct ListEphemeridesInput: Swift.Sendable { public init( endTime: Foundation.Date? = nil, + ephemerisType: GroundStationClientTypes.EphemerisType? = nil, maxResults: Swift.Int? = nil, nextToken: Swift.String? = nil, satelliteId: Swift.String? = nil, @@ -2757,6 +3234,7 @@ public struct ListEphemeridesInput: Swift.Sendable { statusList: [GroundStationClientTypes.EphemerisStatus]? = nil ) { self.endTime = endTime + self.ephemerisType = ephemerisType self.maxResults = maxResults self.nextToken = nextToken self.satelliteId = satelliteId @@ -2781,15 +3259,15 @@ public struct ListEphemeridesOutput: Swift.Sendable { } public struct UpdateEphemerisInput: Swift.Sendable { - /// Whether the ephemeris is enabled or not. Changing this value will not require the ephemeris to be re-validated. + /// Enable or disable the ephemeris. Changing this value doesn't require re-validation. /// This member is required. public var enabled: Swift.Bool? /// The AWS Ground Station ephemeris ID. /// This member is required. public var ephemerisId: Swift.String? - /// A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris. + /// A name that you can use to identify the ephemeris. public var name: Swift.String? - /// Customer-provided priority score to establish the order in which overlapping ephemerides should be used. The default for customer-provided ephemeris priority is 1, and higher numbers take precedence. Priority must be 1 or greater + /// A priority score that determines which ephemeris to use when multiple ephemerides overlap. Higher numbers take precedence. The default is 1. Must be 1 or greater. public var priority: Swift.Int? public init( @@ -3819,6 +4297,7 @@ extension ListContactsInput { static func write(value: ListContactsInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["endTime"].writeTimestamp(value.endTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) + try writer["ephemeris"].write(value.ephemeris, with: GroundStationClientTypes.EphemerisFilter.write(value:to:)) try writer["groundStation"].write(value.groundStation) try writer["maxResults"].write(value.maxResults) try writer["missionProfileArn"].write(value.missionProfileArn) @@ -3834,6 +4313,7 @@ extension ListEphemeridesInput { static func write(value: ListEphemeridesInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["endTime"].writeTimestamp(value.endTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) + try writer["ephemerisType"].write(value.ephemerisType) try writer["satelliteId"].write(value.satelliteId) try writer["startTime"].writeTimestamp(value.startTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) try writer["statusList"].writeList(value.statusList, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "member", isFlattened: false) @@ -3860,6 +4340,7 @@ extension ReserveContactInput { try writer["satelliteArn"].write(value.satelliteArn) try writer["startTime"].writeTimestamp(value.startTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + try writer["trackingOverrides"].write(value.trackingOverrides, with: GroundStationClientTypes.TrackingOverrides.write(value:to:)) } } @@ -4038,6 +4519,7 @@ extension DescribeContactOutput { value.contactStatus = try reader["contactStatus"].readIfPresent() value.dataflowList = try reader["dataflowList"].readListIfPresent(memberReadingClosure: GroundStationClientTypes.DataflowDetail.read(from:), memberNodeInfo: "member", isFlattened: false) value.endTime = try reader["endTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.ephemeris = try reader["ephemeris"].readIfPresent(with: GroundStationClientTypes.EphemerisResponseData.read(from:)) value.errorMessage = try reader["errorMessage"].readIfPresent() value.groundStation = try reader["groundStation"].readIfPresent() value.maximumElevation = try reader["maximumElevation"].readIfPresent(with: GroundStationClientTypes.Elevation.read(from:)) @@ -4048,6 +4530,7 @@ extension DescribeContactOutput { value.satelliteArn = try reader["satelliteArn"].readIfPresent() value.startTime = try reader["startTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.trackingOverrides = try reader["trackingOverrides"].readIfPresent(with: GroundStationClientTypes.TrackingOverrides.read(from:)) value.visibilityEndTime = try reader["visibilityEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.visibilityStartTime = try reader["visibilityStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) return value @@ -4064,6 +4547,7 @@ extension DescribeEphemerisOutput { value.creationTime = try reader["creationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.enabled = try reader["enabled"].readIfPresent() value.ephemerisId = try reader["ephemerisId"].readIfPresent() + value.errorReasons = try reader["errorReasons"].readListIfPresent(memberReadingClosure: GroundStationClientTypes.EphemerisErrorReason.read(from:), memberNodeInfo: "member", isFlattened: false) value.invalidReason = try reader["invalidReason"].readIfPresent() value.name = try reader["name"].readIfPresent() value.priority = try reader["priority"].readIfPresent() @@ -4491,6 +4975,7 @@ enum DeleteEphemerisOutputError { switch baseError.code { case "DependencyException": return try DependencyException.makeError(baseError: baseError) case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) + case "ResourceInUseException": return try ResourceInUseException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -4795,6 +5280,7 @@ enum ReserveContactOutputError { switch baseError.code { case "DependencyException": return try DependencyException.makeError(baseError: baseError) case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) + case "ResourceLimitExceededException": return try ResourceLimitExceededException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -4952,6 +5438,19 @@ extension ResourceLimitExceededException { } } +extension ResourceInUseException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceInUseException { + let reader = baseError.errorBodyReader + var value = ResourceInUseException() + value.properties.message = try reader["message"].readIfPresent() + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension GroundStationClientTypes.Elevation { static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.Elevation { @@ -5211,6 +5710,71 @@ extension GroundStationClientTypes.Source { } } +extension GroundStationClientTypes.TrackingOverrides { + + static func write(value: GroundStationClientTypes.TrackingOverrides?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["programTrackSettings"].write(value.programTrackSettings, with: GroundStationClientTypes.ProgramTrackSettings.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.TrackingOverrides { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = GroundStationClientTypes.TrackingOverrides() + value.programTrackSettings = try reader["programTrackSettings"].readIfPresent(with: GroundStationClientTypes.ProgramTrackSettings.read(from:)) + return value + } +} + +extension GroundStationClientTypes.ProgramTrackSettings { + + static func write(value: GroundStationClientTypes.ProgramTrackSettings?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .azel(azel): + try writer["azEl"].write(azel, with: GroundStationClientTypes.AzElProgramTrackSettings.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.ProgramTrackSettings { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "azEl": + return .azel(try reader["azEl"].read(with: GroundStationClientTypes.AzElProgramTrackSettings.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension GroundStationClientTypes.AzElProgramTrackSettings { + + static func write(value: GroundStationClientTypes.AzElProgramTrackSettings?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["ephemerisId"].write(value.ephemerisId) + } + + static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.AzElProgramTrackSettings { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = GroundStationClientTypes.AzElProgramTrackSettings() + value.ephemerisId = try reader["ephemerisId"].readIfPresent() ?? "" + return value + } +} + +extension GroundStationClientTypes.EphemerisResponseData { + + static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.EphemerisResponseData { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = GroundStationClientTypes.EphemerisResponseData() + value.ephemerisId = try reader["ephemerisId"].readIfPresent() + value.ephemerisType = try reader["ephemerisType"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + extension GroundStationClientTypes.EphemerisTypeDescription { static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.EphemerisTypeDescription { @@ -5221,6 +5785,8 @@ extension GroundStationClientTypes.EphemerisTypeDescription { return .tle(try reader["tle"].read(with: GroundStationClientTypes.EphemerisDescription.read(from:))) case "oem": return .oem(try reader["oem"].read(with: GroundStationClientTypes.EphemerisDescription.read(from:))) + case "azEl": + return .azel(try reader["azEl"].read(with: GroundStationClientTypes.EphemerisDescription.read(from:))) default: return .sdkUnknown(name ?? "") } @@ -5257,6 +5823,17 @@ extension GroundStationClientTypes.S3Object { } } +extension GroundStationClientTypes.EphemerisErrorReason { + + static func read(from reader: SmithyJSON.Reader) throws -> GroundStationClientTypes.EphemerisErrorReason { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = GroundStationClientTypes.EphemerisErrorReason() + value.errorCode = try reader["errorCode"].readIfPresent() ?? .sdkUnknown("") + value.errorMessage = try reader["errorMessage"].readIfPresent() ?? "" + return value + } +} + extension GroundStationClientTypes.ConfigTypeData { static func write(value: GroundStationClientTypes.ConfigTypeData?, to writer: SmithyJSON.Writer) throws { @@ -5621,6 +6198,7 @@ extension GroundStationClientTypes.ContactData { value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) value.visibilityStartTime = try reader["visibilityStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.visibilityEndTime = try reader["visibilityEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.ephemeris = try reader["ephemeris"].readIfPresent(with: GroundStationClientTypes.EphemerisResponseData.read(from:)) return value } } @@ -5642,6 +6220,7 @@ extension GroundStationClientTypes.EphemerisItem { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = GroundStationClientTypes.EphemerisItem() value.ephemerisId = try reader["ephemerisId"].readIfPresent() + value.ephemerisType = try reader["ephemerisType"].readIfPresent() value.status = try reader["status"].readIfPresent() value.priority = try reader["priority"].readIfPresent() value.enabled = try reader["enabled"].readIfPresent() @@ -5696,6 +6275,8 @@ extension GroundStationClientTypes.EphemerisData { static func write(value: GroundStationClientTypes.EphemerisData?, to writer: SmithyJSON.Writer) throws { guard let value else { return } switch value { + case let .azel(azel): + try writer["azEl"].write(azel, with: GroundStationClientTypes.AzElEphemeris.write(value:to:)) case let .oem(oem): try writer["oem"].write(oem, with: GroundStationClientTypes.OEMEphemeris.write(value:to:)) case let .tle(tle): @@ -5706,6 +6287,68 @@ extension GroundStationClientTypes.EphemerisData { } } +extension GroundStationClientTypes.AzElEphemeris { + + static func write(value: GroundStationClientTypes.AzElEphemeris?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["data"].write(value.data, with: GroundStationClientTypes.AzElSegmentsData.write(value:to:)) + try writer["groundStation"].write(value.groundStation) + } +} + +extension GroundStationClientTypes.AzElSegmentsData { + + static func write(value: GroundStationClientTypes.AzElSegmentsData?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .azeldata(azeldata): + try writer["azElData"].write(azeldata, with: GroundStationClientTypes.AzElSegments.write(value:to:)) + case let .s3object(s3object): + try writer["s3Object"].write(s3object, with: GroundStationClientTypes.S3Object.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } +} + +extension GroundStationClientTypes.AzElSegments { + + static func write(value: GroundStationClientTypes.AzElSegments?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["angleUnit"].write(value.angleUnit) + try writer["azElSegmentList"].writeList(value.azElSegmentList, memberWritingClosure: GroundStationClientTypes.AzElSegment.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } +} + +extension GroundStationClientTypes.AzElSegment { + + static func write(value: GroundStationClientTypes.AzElSegment?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["azElList"].writeList(value.azElList, memberWritingClosure: GroundStationClientTypes.TimeAzEl.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["referenceEpoch"].writeTimestamp(value.referenceEpoch, format: SmithyTimestamps.TimestampFormat.dateTime) + try writer["validTimeRange"].write(value.validTimeRange, with: GroundStationClientTypes.ISO8601TimeRange.write(value:to:)) + } +} + +extension GroundStationClientTypes.TimeAzEl { + + static func write(value: GroundStationClientTypes.TimeAzEl?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["az"].write(value.az) + try writer["dt"].write(value.dt) + try writer["el"].write(value.el) + } +} + +extension GroundStationClientTypes.ISO8601TimeRange { + + static func write(value: GroundStationClientTypes.ISO8601TimeRange?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["endTime"].writeTimestamp(value.endTime, format: SmithyTimestamps.TimestampFormat.dateTime) + try writer["startTime"].writeTimestamp(value.startTime, format: SmithyTimestamps.TimestampFormat.dateTime) + } +} + extension GroundStationClientTypes.OEMEphemeris { static func write(value: GroundStationClientTypes.OEMEphemeris?, to writer: SmithyJSON.Writer) throws { @@ -5743,6 +6386,27 @@ extension GroundStationClientTypes.TimeRange { } } +extension GroundStationClientTypes.EphemerisFilter { + + static func write(value: GroundStationClientTypes.EphemerisFilter?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .azel(azel): + try writer["azEl"].write(azel, with: GroundStationClientTypes.AzElEphemerisFilter.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } +} + +extension GroundStationClientTypes.AzElEphemerisFilter { + + static func write(value: GroundStationClientTypes.AzElEphemerisFilter?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["id"].write(value.id) + } +} + extension GroundStationClientTypes.DiscoveryData { static func write(value: GroundStationClientTypes.DiscoveryData?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/GuardDutyClient.swift b/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/GuardDutyClient.swift index dce65465f28..f5e8d0e0d59 100644 --- a/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/GuardDutyClient.swift +++ b/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/GuardDutyClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class GuardDutyClient: ClientRuntime.Client { +public class GuardDutyClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "GuardDutyClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: GuardDutyClient.GuardDutyClientConfiguration let serviceName = "GuardDuty" diff --git a/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/Models.swift b/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/Models.swift index ecf1c8375e3..9d6a65a88ec 100644 --- a/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/Models.swift +++ b/Sources/Services/AWSGuardDuty/Sources/AWSGuardDuty/Models.swift @@ -10220,7 +10220,7 @@ public struct ListIPSetsOutput: Swift.Sendable { } public struct ListMalwareProtectionPlansInput: Swift.Sendable { - /// You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data. + /// You can use this parameter when paginating results. Set the value of this parameter to null on your first call to the list action. For subsequent calls to the action, fill nextToken in the request with the value of NextToken from the previous response to continue listing data. The default page size is 100 plans. public var nextToken: Swift.String? public init( @@ -10748,6 +10748,11 @@ public struct UpdateFindingsFeedbackInput: Swift.Sendable { } } +extension UpdateFindingsFeedbackInput: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "UpdateFindingsFeedbackInput(detectorId: \(Swift.String(describing: detectorId)), feedback: \(Swift.String(describing: feedback)), findingIds: \(Swift.String(describing: findingIds)), comments: \"CONTENT_REDACTED\")"} +} + public struct UpdateFindingsFeedbackOutput: Swift.Sendable { public init() { } diff --git a/Sources/Services/AWSHealth/Sources/AWSHealth/HealthClient.swift b/Sources/Services/AWSHealth/Sources/AWSHealth/HealthClient.swift index 62d2f6fed91..531e821f7d9 100644 --- a/Sources/Services/AWSHealth/Sources/AWSHealth/HealthClient.swift +++ b/Sources/Services/AWSHealth/Sources/AWSHealth/HealthClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class HealthClient: ClientRuntime.Client { +public class HealthClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "HealthClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: HealthClient.HealthClientConfiguration let serviceName = "Health" diff --git a/Sources/Services/AWSHealthLake/Sources/AWSHealthLake/HealthLakeClient.swift b/Sources/Services/AWSHealthLake/Sources/AWSHealthLake/HealthLakeClient.swift index 247cf660efe..86c8260e937 100644 --- a/Sources/Services/AWSHealthLake/Sources/AWSHealthLake/HealthLakeClient.swift +++ b/Sources/Services/AWSHealthLake/Sources/AWSHealthLake/HealthLakeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class HealthLakeClient: ClientRuntime.Client { +public class HealthLakeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "HealthLakeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: HealthLakeClient.HealthLakeClientConfiguration let serviceName = "HealthLake" diff --git a/Sources/Services/AWSIAM/Sources/AWSIAM/IAMClient.swift b/Sources/Services/AWSIAM/Sources/AWSIAM/IAMClient.swift index ee8d85b56b5..bb01756d22c 100644 --- a/Sources/Services/AWSIAM/Sources/AWSIAM/IAMClient.swift +++ b/Sources/Services/AWSIAM/Sources/AWSIAM/IAMClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IAMClient: ClientRuntime.Client { +public class IAMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IAMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IAMClient.IAMClientConfiguration let serviceName = "IAM" @@ -380,6 +379,7 @@ extension IAMClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again. /// - `InvalidInputException` : The request was rejected because an invalid or out-of-range value was supplied for an input parameter. /// - `LimitExceededException` : The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded. /// - `NoSuchEntityException` : The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource. @@ -9051,6 +9051,7 @@ extension IAMClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again. /// - `InvalidInputException` : The request was rejected because an invalid or out-of-range value was supplied for an input parameter. /// - `NoSuchEntityException` : The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource. /// - `ServiceFailureException` : The request processing has failed because of an unknown error, exception or failure. @@ -11279,6 +11280,7 @@ extension IAMClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again. /// - `InvalidInputException` : The request was rejected because an invalid or out-of-range value was supplied for an input parameter. /// - `NoSuchEntityException` : The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource. /// - `ServiceFailureException` : The request processing has failed because of an unknown error, exception or failure. @@ -11489,6 +11491,7 @@ extension IAMClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ + /// - `ConcurrentModificationException` : The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again. /// - `InvalidInputException` : The request was rejected because an invalid or out-of-range value was supplied for an input parameter. /// - `LimitExceededException` : The request was rejected because it attempted to create resources beyond the current Amazon Web Services account limits. The error message describes the limit exceeded. /// - `NoSuchEntityException` : The request was rejected because it referenced a resource entity that does not exist. The error message describes the resource. diff --git a/Sources/Services/AWSIAM/Sources/AWSIAM/Models.swift b/Sources/Services/AWSIAM/Sources/AWSIAM/Models.swift index f8e4986e564..658e837d5ae 100644 --- a/Sources/Services/AWSIAM/Sources/AWSIAM/Models.swift +++ b/Sources/Services/AWSIAM/Sources/AWSIAM/Models.swift @@ -653,6 +653,29 @@ public struct AccountNotManagementOrDelegatedAdministratorException: ClientRunti } } +/// The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again. +public struct ConcurrentModificationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ConcurrentModification" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + /// The request was rejected because an invalid or out-of-range value was supplied for an input parameter. public struct InvalidInputException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -1156,29 +1179,6 @@ public struct CreateAccessKeyOutput: Swift.Sendable { } } -/// The request was rejected because multiple requests to change this object were submitted simultaneously. Wait a few minutes and submit your request again. -public struct ConcurrentModificationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConcurrentModification" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - public struct CreateAccountAliasInput: Swift.Sendable { /// The account alias to create. This parameter allows (through its [regex pattern](http://wikipedia.org/wiki/regex)) a string of characters consisting of lowercase letters, digits, and dashes. You cannot start or finish with a dash, nor can you have two dashes in a row. /// This member is required. @@ -3389,6 +3389,7 @@ extension IAMClientTypes { case accountmfaenabled case accountpasswordpresent case accountsigningcertificatespresent + case assumerolepolicysizequota case attachedpoliciespergroupquota case attachedpoliciesperrolequota case attachedpoliciesperuserquota @@ -3397,6 +3398,8 @@ extension IAMClientTypes { case groups case groupsperuserquota case groupsquota + case instanceprofiles + case instanceprofilesquota case mfadevices case mfadevicesinuse case policies @@ -3404,6 +3407,10 @@ extension IAMClientTypes { case policysizequota case policyversionsinuse case policyversionsinusequota + case providers + case rolepolicysizequota + case roles + case rolesquota case servercertificates case servercertificatesquota case signingcertificatesperuserquota @@ -3420,6 +3427,7 @@ extension IAMClientTypes { .accountmfaenabled, .accountpasswordpresent, .accountsigningcertificatespresent, + .assumerolepolicysizequota, .attachedpoliciespergroupquota, .attachedpoliciesperrolequota, .attachedpoliciesperuserquota, @@ -3428,6 +3436,8 @@ extension IAMClientTypes { .groups, .groupsperuserquota, .groupsquota, + .instanceprofiles, + .instanceprofilesquota, .mfadevices, .mfadevicesinuse, .policies, @@ -3435,6 +3445,10 @@ extension IAMClientTypes { .policysizequota, .policyversionsinuse, .policyversionsinusequota, + .providers, + .rolepolicysizequota, + .roles, + .rolesquota, .servercertificates, .servercertificatesquota, .signingcertificatesperuserquota, @@ -3457,6 +3471,7 @@ extension IAMClientTypes { case .accountmfaenabled: return "AccountMFAEnabled" case .accountpasswordpresent: return "AccountPasswordPresent" case .accountsigningcertificatespresent: return "AccountSigningCertificatesPresent" + case .assumerolepolicysizequota: return "AssumeRolePolicySizeQuota" case .attachedpoliciespergroupquota: return "AttachedPoliciesPerGroupQuota" case .attachedpoliciesperrolequota: return "AttachedPoliciesPerRoleQuota" case .attachedpoliciesperuserquota: return "AttachedPoliciesPerUserQuota" @@ -3465,6 +3480,8 @@ extension IAMClientTypes { case .groups: return "Groups" case .groupsperuserquota: return "GroupsPerUserQuota" case .groupsquota: return "GroupsQuota" + case .instanceprofiles: return "InstanceProfiles" + case .instanceprofilesquota: return "InstanceProfilesQuota" case .mfadevices: return "MFADevices" case .mfadevicesinuse: return "MFADevicesInUse" case .policies: return "Policies" @@ -3472,6 +3489,10 @@ extension IAMClientTypes { case .policysizequota: return "PolicySizeQuota" case .policyversionsinuse: return "PolicyVersionsInUse" case .policyversionsinusequota: return "PolicyVersionsInUseQuota" + case .providers: return "Providers" + case .rolepolicysizequota: return "RolePolicySizeQuota" + case .roles: return "Roles" + case .rolesquota: return "RolesQuota" case .servercertificates: return "ServerCertificates" case .servercertificatesquota: return "ServerCertificatesQuota" case .signingcertificatesperuserquota: return "SigningCertificatesPerUserQuota" @@ -13175,6 +13196,7 @@ enum AddClientIDToOpenIDConnectProviderOutputError { let baseError = try AWSClientRuntime.AWSQueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) if let error = baseError.customError() { return error } switch baseError.code { + case "ConcurrentModification": return try ConcurrentModificationException.makeError(baseError: baseError) case "InvalidInput": return try InvalidInputException.makeError(baseError: baseError) case "LimitExceeded": return try LimitExceededException.makeError(baseError: baseError) case "NoSuchEntity": return try NoSuchEntityException.makeError(baseError: baseError) @@ -15137,6 +15159,7 @@ enum RemoveClientIDFromOpenIDConnectProviderOutputError { let baseError = try AWSClientRuntime.AWSQueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) if let error = baseError.customError() { return error } switch baseError.code { + case "ConcurrentModification": return try ConcurrentModificationException.makeError(baseError: baseError) case "InvalidInput": return try InvalidInputException.makeError(baseError: baseError) case "NoSuchEntity": return try NoSuchEntityException.makeError(baseError: baseError) case "ServiceFailure": return try ServiceFailureException.makeError(baseError: baseError) @@ -15645,6 +15668,7 @@ enum UpdateOpenIDConnectProviderThumbprintOutputError { let baseError = try AWSClientRuntime.AWSQueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) if let error = baseError.customError() { return error } switch baseError.code { + case "ConcurrentModification": return try ConcurrentModificationException.makeError(baseError: baseError) case "InvalidInput": return try InvalidInputException.makeError(baseError: baseError) case "NoSuchEntity": return try NoSuchEntityException.makeError(baseError: baseError) case "ServiceFailure": return try ServiceFailureException.makeError(baseError: baseError) @@ -15693,6 +15717,7 @@ enum UpdateSAMLProviderOutputError { let baseError = try AWSClientRuntime.AWSQueryError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) if let error = baseError.customError() { return error } switch baseError.code { + case "ConcurrentModification": return try ConcurrentModificationException.makeError(baseError: baseError) case "InvalidInput": return try InvalidInputException.makeError(baseError: baseError) case "LimitExceeded": return try LimitExceededException.makeError(baseError: baseError) case "NoSuchEntity": return try NoSuchEntityException.makeError(baseError: baseError) @@ -15843,6 +15868,19 @@ enum UploadSSHPublicKeyOutputError { } } +extension ConcurrentModificationException { + + static func makeError(baseError: AWSClientRuntime.AWSQueryError) throws -> ConcurrentModificationException { + let reader = baseError.errorBodyReader + var value = ConcurrentModificationException() + value.properties.message = try reader["message"].readIfPresent() + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension InvalidInputException { static func makeError(baseError: AWSClientRuntime.AWSQueryError) throws -> InvalidInputException { @@ -15973,19 +16011,6 @@ extension PasswordPolicyViolationException { } } -extension ConcurrentModificationException { - - static func makeError(baseError: AWSClientRuntime.AWSQueryError) throws -> ConcurrentModificationException { - let reader = baseError.errorBodyReader - var value = ConcurrentModificationException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - extension OpenIdIdpCommunicationErrorException { static func makeError(baseError: AWSClientRuntime.AWSQueryError) throws -> OpenIdIdpCommunicationErrorException { diff --git a/Sources/Services/AWSIAM/Tests/AWSIAMTests/EndpointResolverTest.swift b/Sources/Services/AWSIAM/Tests/AWSIAMTests/EndpointResolverTest.swift index 4cf23f70284..1e9868b0cf4 100644 --- a/Sources/Services/AWSIAM/Tests/AWSIAMTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSIAM/Tests/AWSIAMTests/EndpointResolverTest.swift @@ -293,11 +293,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -309,23 +309,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -336,23 +336,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -363,21 +363,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -390,21 +390,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -417,21 +417,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -444,21 +444,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -471,21 +471,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -498,21 +498,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -525,21 +525,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -552,22 +552,22 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -579,23 +579,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -606,23 +606,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -633,21 +633,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam-fips.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -660,13 +660,13 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://iam.us-gov.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSIVSRealTime/Sources/AWSIVSRealTime/IVSRealTimeClient.swift b/Sources/Services/AWSIVSRealTime/Sources/AWSIVSRealTime/IVSRealTimeClient.swift index 1ed3bd77440..f2e7d2871ef 100644 --- a/Sources/Services/AWSIVSRealTime/Sources/AWSIVSRealTime/IVSRealTimeClient.swift +++ b/Sources/Services/AWSIVSRealTime/Sources/AWSIVSRealTime/IVSRealTimeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IVSRealTimeClient: ClientRuntime.Client { +public class IVSRealTimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IVSRealTimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IVSRealTimeClient.IVSRealTimeClientConfiguration let serviceName = "IVS RealTime" diff --git a/Sources/Services/AWSIdentitystore/Sources/AWSIdentitystore/IdentitystoreClient.swift b/Sources/Services/AWSIdentitystore/Sources/AWSIdentitystore/IdentitystoreClient.swift index 0f2e9443d43..5b76492eaa3 100644 --- a/Sources/Services/AWSIdentitystore/Sources/AWSIdentitystore/IdentitystoreClient.swift +++ b/Sources/Services/AWSIdentitystore/Sources/AWSIdentitystore/IdentitystoreClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IdentitystoreClient: ClientRuntime.Client { +public class IdentitystoreClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IdentitystoreClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IdentitystoreClient.IdentitystoreClientConfiguration let serviceName = "identitystore" diff --git a/Sources/Services/AWSImagebuilder/Sources/AWSImagebuilder/ImagebuilderClient.swift b/Sources/Services/AWSImagebuilder/Sources/AWSImagebuilder/ImagebuilderClient.swift index 4668c3b1367..5f3f649e400 100644 --- a/Sources/Services/AWSImagebuilder/Sources/AWSImagebuilder/ImagebuilderClient.swift +++ b/Sources/Services/AWSImagebuilder/Sources/AWSImagebuilder/ImagebuilderClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ImagebuilderClient: ClientRuntime.Client { +public class ImagebuilderClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ImagebuilderClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ImagebuilderClient.ImagebuilderClientConfiguration let serviceName = "imagebuilder" diff --git a/Sources/Services/AWSInspector/Sources/AWSInspector/InspectorClient.swift b/Sources/Services/AWSInspector/Sources/AWSInspector/InspectorClient.swift index 12cea66e08c..397921c01e2 100644 --- a/Sources/Services/AWSInspector/Sources/AWSInspector/InspectorClient.swift +++ b/Sources/Services/AWSInspector/Sources/AWSInspector/InspectorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class InspectorClient: ClientRuntime.Client { +public class InspectorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "InspectorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: InspectorClient.InspectorClientConfiguration let serviceName = "Inspector" diff --git a/Sources/Services/AWSInspector2/Sources/AWSInspector2/Inspector2Client.swift b/Sources/Services/AWSInspector2/Sources/AWSInspector2/Inspector2Client.swift index 9145dd17269..de74ad4ca32 100644 --- a/Sources/Services/AWSInspector2/Sources/AWSInspector2/Inspector2Client.swift +++ b/Sources/Services/AWSInspector2/Sources/AWSInspector2/Inspector2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Inspector2Client: ClientRuntime.Client { +public class Inspector2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "Inspector2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Inspector2Client.Inspector2ClientConfiguration let serviceName = "Inspector2" diff --git a/Sources/Services/AWSInspectorScan/Sources/AWSInspectorScan/InspectorScanClient.swift b/Sources/Services/AWSInspectorScan/Sources/AWSInspectorScan/InspectorScanClient.swift index 151e3247894..8579b69f3d3 100644 --- a/Sources/Services/AWSInspectorScan/Sources/AWSInspectorScan/InspectorScanClient.swift +++ b/Sources/Services/AWSInspectorScan/Sources/AWSInspectorScan/InspectorScanClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class InspectorScanClient: ClientRuntime.Client { +public class InspectorScanClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "InspectorScanClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: InspectorScanClient.InspectorScanClientConfiguration let serviceName = "Inspector Scan" diff --git a/Sources/Services/AWSInternetMonitor/Sources/AWSInternetMonitor/InternetMonitorClient.swift b/Sources/Services/AWSInternetMonitor/Sources/AWSInternetMonitor/InternetMonitorClient.swift index 085101fd9bc..54e9890b6ba 100644 --- a/Sources/Services/AWSInternetMonitor/Sources/AWSInternetMonitor/InternetMonitorClient.swift +++ b/Sources/Services/AWSInternetMonitor/Sources/AWSInternetMonitor/InternetMonitorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class InternetMonitorClient: ClientRuntime.Client { +public class InternetMonitorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "InternetMonitorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: InternetMonitorClient.InternetMonitorClientConfiguration let serviceName = "InternetMonitor" diff --git a/Sources/Services/AWSInvoicing/Sources/AWSInvoicing/InvoicingClient.swift b/Sources/Services/AWSInvoicing/Sources/AWSInvoicing/InvoicingClient.swift index d4f1697ed13..35bc685972c 100644 --- a/Sources/Services/AWSInvoicing/Sources/AWSInvoicing/InvoicingClient.swift +++ b/Sources/Services/AWSInvoicing/Sources/AWSInvoicing/InvoicingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class InvoicingClient: ClientRuntime.Client { +public class InvoicingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "InvoicingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: InvoicingClient.InvoicingClientConfiguration let serviceName = "Invoicing" diff --git a/Sources/Services/AWSIoT/Sources/AWSIoT/IoTClient.swift b/Sources/Services/AWSIoT/Sources/AWSIoT/IoTClient.swift index 17db20b9bcb..df5f5bf467d 100644 --- a/Sources/Services/AWSIoT/Sources/AWSIoT/IoTClient.swift +++ b/Sources/Services/AWSIoT/Sources/AWSIoT/IoTClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTClient: ClientRuntime.Client { +public class IoTClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTClient.IoTClientConfiguration let serviceName = "IoT" diff --git a/Sources/Services/AWSIoTAnalytics/Sources/AWSIoTAnalytics/IoTAnalyticsClient.swift b/Sources/Services/AWSIoTAnalytics/Sources/AWSIoTAnalytics/IoTAnalyticsClient.swift index c6a176c423c..603d7e69bb7 100644 --- a/Sources/Services/AWSIoTAnalytics/Sources/AWSIoTAnalytics/IoTAnalyticsClient.swift +++ b/Sources/Services/AWSIoTAnalytics/Sources/AWSIoTAnalytics/IoTAnalyticsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTAnalyticsClient: ClientRuntime.Client { +public class IoTAnalyticsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTAnalyticsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTAnalyticsClient.IoTAnalyticsClientConfiguration let serviceName = "IoTAnalytics" diff --git a/Sources/Services/AWSIoTDataPlane/Sources/AWSIoTDataPlane/IoTDataPlaneClient.swift b/Sources/Services/AWSIoTDataPlane/Sources/AWSIoTDataPlane/IoTDataPlaneClient.swift index ab7b2e19258..02a02e131da 100644 --- a/Sources/Services/AWSIoTDataPlane/Sources/AWSIoTDataPlane/IoTDataPlaneClient.swift +++ b/Sources/Services/AWSIoTDataPlane/Sources/AWSIoTDataPlane/IoTDataPlaneClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTDataPlaneClient: ClientRuntime.Client { +public class IoTDataPlaneClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTDataPlaneClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTDataPlaneClient.IoTDataPlaneClientConfiguration let serviceName = "IoT Data Plane" diff --git a/Sources/Services/AWSIoTEvents/Sources/AWSIoTEvents/IoTEventsClient.swift b/Sources/Services/AWSIoTEvents/Sources/AWSIoTEvents/IoTEventsClient.swift index c5baa3a1fc2..db03ea193b0 100644 --- a/Sources/Services/AWSIoTEvents/Sources/AWSIoTEvents/IoTEventsClient.swift +++ b/Sources/Services/AWSIoTEvents/Sources/AWSIoTEvents/IoTEventsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTEventsClient: ClientRuntime.Client { +public class IoTEventsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTEventsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTEventsClient.IoTEventsClientConfiguration let serviceName = "IoT Events" diff --git a/Sources/Services/AWSIoTEventsData/Sources/AWSIoTEventsData/IoTEventsDataClient.swift b/Sources/Services/AWSIoTEventsData/Sources/AWSIoTEventsData/IoTEventsDataClient.swift index ab53341ffa2..a3a402dbe70 100644 --- a/Sources/Services/AWSIoTEventsData/Sources/AWSIoTEventsData/IoTEventsDataClient.swift +++ b/Sources/Services/AWSIoTEventsData/Sources/AWSIoTEventsData/IoTEventsDataClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTEventsDataClient: ClientRuntime.Client { +public class IoTEventsDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTEventsDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTEventsDataClient.IoTEventsDataClientConfiguration let serviceName = "IoT Events Data" diff --git a/Sources/Services/AWSIoTFleetHub/Dependencies.json b/Sources/Services/AWSIoTFleetHub/Dependencies.json deleted file mode 100644 index 500470a5b78..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Dependencies.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - "AWSClientRuntime", - "AWSSDKChecksums", - "AWSSDKHTTPAuth", - "AWSSDKIdentity", - "ClientRuntime", - "Smithy", - "SmithyHTTPAPI", - "SmithyHTTPAuthAPI", - "SmithyIdentity", - "SmithyJSON", - "SmithyReadWrite", - "SmithyRetries", - "SmithyRetriesAPI", - "SmithyTestUtil" -] diff --git a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/AuthSchemeResolver.swift b/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/AuthSchemeResolver.swift deleted file mode 100644 index 56d211a96ad..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/AuthSchemeResolver.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class Smithy.Context -import enum Smithy.ClientError -import enum SmithyHTTPAuthAPI.SigningPropertyKeys -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters -import struct SmithyHTTPAuthAPI.AuthOption - -public struct IoTFleetHubAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - public let authSchemePreference: [String]? - public let operation: Swift.String - // Region is used for SigV4 auth scheme - public let region: Swift.String? -} - -public protocol IoTFleetHubAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { - // Intentionally empty. - // This is the parent protocol that all auth scheme resolver implementations of - // the service IoTFleetHub must conform to. -} - -public struct DefaultIoTFleetHubAuthSchemeResolver: IoTFleetHubAuthSchemeResolver { - - public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { - var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? IoTFleetHubAuthSchemeResolverParameters else { - throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") - } - switch serviceParams.operation { - default: - var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "iotfleethub") - guard let region = serviceParams.region else { - throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") - } - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingRegion, value: region) - validAuthOptions.append(sigv4Option) - } - return self.reprioritizeAuthOptions(authSchemePreference: serviceParams.authSchemePreference, authOptions: validAuthOptions) - } - - public func constructParameters(context: Smithy.Context) throws -> SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - guard let opName = context.getOperation() else { - throw Smithy.ClientError.dataNotFound("Operation name not configured in middleware context for auth scheme resolver params construction.") - } - let authSchemePreference = context.getAuthSchemePreference() - let opRegion = context.getRegion() - return IoTFleetHubAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) - } -} diff --git a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Endpoints.swift b/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Endpoints.swift deleted file mode 100644 index d54ed450011..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Endpoints.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class ClientRuntime.EndpointsRequestContext -import let AWSClientRuntime.awsPartitionJSON -import protocol ClientRuntime.EndpointsRequestContextProviding -import struct ClientRuntime.DefaultEndpointResolver -import struct ClientRuntime.StaticEndpointResolver -import struct SmithyHTTPAPI.Endpoint - -public struct EndpointParams: Sendable { - /// Override the endpoint used to send this request - public let endpoint: Swift.String? - /// The AWS region used to dispatch the request. - public let region: Swift.String? - /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. - public let useDualStack: Swift.Bool - /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. - public let useFIPS: Swift.Bool - - public init( - endpoint: Swift.String? = nil, - region: Swift.String? = nil, - useDualStack: Swift.Bool = false, - useFIPS: Swift.Bool = false - ) - { - self.endpoint = endpoint - self.region = region - self.useDualStack = useDualStack - self.useFIPS = useFIPS - } -} - -extension EndpointParams: ClientRuntime.EndpointsRequestContextProviding { - - public var context: ClientRuntime.EndpointsRequestContext { - get throws { - let context = try ClientRuntime.EndpointsRequestContext() - try context.add(name: "Endpoint", value: self.endpoint) - try context.add(name: "Region", value: self.region) - try context.add(name: "UseDualStack", value: self.useDualStack) - try context.add(name: "UseFIPS", value: self.useFIPS) - return context - } - } -} - -public protocol EndpointResolver { - func resolve(params: EndpointParams) throws -> SmithyHTTPAPI.Endpoint -} - -typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver - -extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://api.fleethub.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://api.fleethub.iot-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://api.fleethub.iot.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://api.fleethub.iot.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" - - init() throws { - try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) - } -} - -extension DefaultEndpointResolver: EndpointResolver {} - -typealias StaticEndpointResolver = ClientRuntime.StaticEndpointResolver - -extension StaticEndpointResolver: EndpointResolver {} diff --git a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/IoTFleetHubClient.swift b/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/IoTFleetHubClient.swift deleted file mode 100644 index 6821c1ec86e..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/IoTFleetHubClient.swift +++ /dev/null @@ -1,928 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSClientRuntime.AWSClientConfigDefaultsProvider -import class AWSClientRuntime.AmzSdkRequestMiddleware -import class AWSClientRuntime.DefaultAWSClientPlugin -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import class ClientRuntime.ClientBuilder -import class ClientRuntime.DefaultClientPlugin -import class ClientRuntime.HttpClientConfiguration -import class ClientRuntime.OrchestratorBuilder -import class ClientRuntime.OrchestratorTelemetry -import class ClientRuntime.SdkHttpClient -import class Smithy.Context -import class Smithy.ContextBuilder -import class SmithyHTTPAPI.HTTPRequest -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum AWSClientRuntime.AWSClockSkewProvider -import enum AWSClientRuntime.AWSRetryErrorInfoProvider -import enum AWSClientRuntime.AWSRetryMode -import enum AWSSDKChecksums.AWSChecksumCalculationMode -import enum ClientRuntime.ClientLogMode -import enum ClientRuntime.DefaultTelemetry -import enum ClientRuntime.OrchestratorMetricsAttributesKeys -import protocol AWSClientRuntime.AWSDefaultClientConfiguration -import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client -import protocol ClientRuntime.DefaultClientConfiguration -import protocol ClientRuntime.DefaultHttpClientConfiguration -import protocol ClientRuntime.HttpInterceptorProvider -import protocol ClientRuntime.IdempotencyTokenGenerator -import protocol ClientRuntime.InterceptorProvider -import protocol ClientRuntime.TelemetryProvider -import protocol Smithy.LogAgent -import protocol SmithyHTTPAPI.HTTPClient -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(AWSEndpointResolverMiddleware) import struct AWSClientRuntime.AWSEndpointResolverMiddleware -import struct AWSClientRuntime.AmzSdkInvocationIdMiddleware -import struct AWSClientRuntime.UserAgentMiddleware -import struct AWSSDKHTTPAuth.SigV4AuthScheme -import struct ClientRuntime.AuthSchemeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.BodyMiddleware -import struct ClientRuntime.ContentLengthMiddleware -import struct ClientRuntime.ContentTypeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware -import struct ClientRuntime.IdempotencyTokenMiddleware -import struct ClientRuntime.LoggerMiddleware -import struct ClientRuntime.QueryItemMiddleware -import struct ClientRuntime.SignerMiddleware -import struct ClientRuntime.URLHostMiddleware -import struct ClientRuntime.URLPathMiddleware -import struct Smithy.Attributes -import struct SmithyIdentity.BearerTokenIdentity -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import struct SmithyRetries.DefaultRetryStrategy -import struct SmithyRetriesAPI.RetryStrategyOptions -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class IoTFleetHubClient: ClientRuntime.Client { - public static let clientName = "IoTFleetHubClient" - public static let version = "1.5.61" - let client: ClientRuntime.SdkHttpClient - let config: IoTFleetHubClient.IoTFleetHubClientConfiguration - let serviceName = "IoTFleetHub" - - public required init(config: IoTFleetHubClient.IoTFleetHubClientConfiguration) { - client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) - self.config = config - } - - public convenience init(region: Swift.String) throws { - let config = try IoTFleetHubClient.IoTFleetHubClientConfiguration(region: region) - self.init(config: config) - } - - public convenience required init() async throws { - let config = try await IoTFleetHubClient.IoTFleetHubClientConfiguration() - self.init(config: config) - } -} - -extension IoTFleetHubClient { - - public class IoTFleetHubClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { - public var useFIPS: Swift.Bool? - public var useDualStack: Swift.Bool? - public var appID: Swift.String? - public var awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver - public var awsRetryMode: AWSClientRuntime.AWSRetryMode - public var maxAttempts: Swift.Int? - public var requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode - public var responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode - public var ignoreConfiguredEndpointURLs: Swift.Bool? - public var region: Swift.String? - public var signingRegion: Swift.String? - public var endpointResolver: EndpointResolver - public var telemetryProvider: ClientRuntime.TelemetryProvider - public var retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions - public var clientLogMode: ClientRuntime.ClientLogMode - public var endpoint: Swift.String? - public var idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator - public var httpClientEngine: SmithyHTTPAPI.HTTPClient - public var httpClientConfiguration: ClientRuntime.HttpClientConfiguration - public var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - public var authSchemePreference: [String]? - public var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver - public var bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver - public private(set) var interceptorProviders: [ClientRuntime.InterceptorProvider] - public private(set) var httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - public let logger: Smithy.LogAgent - - private init( - _ useFIPS: Swift.Bool?, - _ useDualStack: Swift.Bool?, - _ appID: Swift.String?, - _ awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver, - _ awsRetryMode: AWSClientRuntime.AWSRetryMode, - _ maxAttempts: Swift.Int?, - _ requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ ignoreConfiguredEndpointURLs: Swift.Bool?, - _ region: Swift.String?, - _ signingRegion: Swift.String?, - _ endpointResolver: EndpointResolver, - _ telemetryProvider: ClientRuntime.TelemetryProvider, - _ retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions, - _ clientLogMode: ClientRuntime.ClientLogMode, - _ endpoint: Swift.String?, - _ idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator, - _ httpClientEngine: SmithyHTTPAPI.HTTPClient, - _ httpClientConfiguration: ClientRuntime.HttpClientConfiguration, - _ authSchemes: SmithyHTTPAuthAPI.AuthSchemes?, - _ authSchemePreference: [String]?, - _ authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver, - _ bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver, - _ interceptorProviders: [ClientRuntime.InterceptorProvider], - _ httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - ) { - self.useFIPS = useFIPS - self.useDualStack = useDualStack - self.appID = appID - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.awsRetryMode = awsRetryMode - self.maxAttempts = maxAttempts - self.requestChecksumCalculation = requestChecksumCalculation - self.responseChecksumValidation = responseChecksumValidation - self.ignoreConfiguredEndpointURLs = ignoreConfiguredEndpointURLs - self.region = region - self.signingRegion = signingRegion - self.endpointResolver = endpointResolver - self.telemetryProvider = telemetryProvider - self.retryStrategyOptions = retryStrategyOptions - self.clientLogMode = clientLogMode - self.endpoint = endpoint - self.idempotencyTokenGenerator = idempotencyTokenGenerator - self.httpClientEngine = httpClientEngine - self.httpClientConfiguration = httpClientConfiguration - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference - self.authSchemeResolver = authSchemeResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - self.interceptorProviders = interceptorProviders - self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: IoTFleetHubClient.clientName) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - region, - signingRegion, - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultIoTFleetHubAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) async throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultIoTFleetHubAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience required init() async throws { - try await self.init( - useFIPS: nil, - useDualStack: nil, - appID: nil, - awsCredentialIdentityResolver: nil, - awsRetryMode: nil, - maxAttempts: nil, - requestChecksumCalculation: nil, - responseChecksumValidation: nil, - ignoreConfiguredEndpointURLs: nil, - region: nil, - signingRegion: nil, - endpointResolver: nil, - telemetryProvider: nil, - retryStrategyOptions: nil, - clientLogMode: nil, - endpoint: nil, - idempotencyTokenGenerator: nil, - httpClientEngine: nil, - httpClientConfiguration: nil, - authSchemes: nil, - authSchemePreference: nil, - authSchemeResolver: nil, - bearerTokenIdentityResolver: nil, - interceptorProviders: nil, - httpInterceptorProviders: nil - ) - } - - public convenience init(region: Swift.String) throws { - self.init( - nil, - nil, - try AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - nil, - try AWSClientConfigDefaultsProvider.requestChecksumCalculation(), - try AWSClientConfigDefaultsProvider.responseChecksumValidation(), - nil, - region, - region, - try DefaultEndpointResolver(), - ClientRuntime.DefaultTelemetry.provider, - try AWSClientConfigDefaultsProvider.retryStrategyOptions(), - AWSClientConfigDefaultsProvider.clientLogMode(), - nil, - AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - AWSClientConfigDefaultsProvider.httpClientEngine(), - AWSClientConfigDefaultsProvider.httpClientConfiguration(), - [AWSSDKHTTPAuth.SigV4AuthScheme()], - nil, - DefaultIoTFleetHubAuthSchemeResolver(), - SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - [], - [] - ) - } - - public var partitionID: String? { - return "\(IoTFleetHubClient.clientName) - \(region ?? "")" - } - - public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { - self.interceptorProviders.append(provider) - } - - public func addInterceptorProvider(_ provider: ClientRuntime.HttpInterceptorProvider) { - self.httpInterceptorProviders.append(provider) - } - - } - - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ - ClientRuntime.DefaultClientPlugin(), - AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), - DefaultAWSAuthSchemePlugin() - ]) - } -} - -extension IoTFleetHubClient { - /// Performs the `CreateApplication` operation on the `IoTFleetHub` service. - /// - /// Creates a Fleet Hub for IoT Device Management web application. When creating a Fleet Hub application, you must create an organization instance of IAM Identity Center if you don't already have one. The Fleet Hub application you create must also be in the same Amazon Web Services Region of the organization instance of IAM Identity Center. For more information see [Enabling IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/get-set-up-for-idc.html) and [Organization instances of IAM Identity Center](https://docs.aws.amazon.com/singlesignon/latest/userguide/organization-instances-identity-center.html). - /// - /// - Parameter input: [no documentation found] (Type: `CreateApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `LimitExceededException` : A limit has been exceeded. - /// - `ThrottlingException` : The rate exceeds the limit. - public func createApplication(input: CreateApplicationInput) async throws -> CreateApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateApplicationOutput.httpOutput(from:), CreateApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteApplication` operation on the `IoTFleetHub` service. - /// - /// Deletes a Fleet Hub for IoT Device Management web application. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : The rate exceeds the limit. - public func deleteApplication(input: DeleteApplicationInput) async throws -> DeleteApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "deleteApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(DeleteApplicationInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteApplicationOutput.httpOutput(from:), DeleteApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeApplication` operation on the `IoTFleetHub` service. - /// - /// Gets information about a Fleet Hub for IoT Device Management web application. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : The rate exceeds the limit. - public func describeApplication(input: DescribeApplicationInput) async throws -> DescribeApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeApplicationOutput.httpOutput(from:), DescribeApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListApplications` operation on the `IoTFleetHub` service. - /// - /// Gets a list of Fleet Hub for IoT Device Management web applications for the current account. - /// - /// - Parameter input: [no documentation found] (Type: `ListApplicationsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListApplicationsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ThrottlingException` : The rate exceeds the limit. - public func listApplications(input: ListApplicationsInput) async throws -> ListApplicationsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listApplications") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListApplicationsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListApplicationsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListApplicationsOutput.httpOutput(from:), ListApplicationsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListApplications") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListTagsForResource` operation on the `IoTFleetHub` service. - /// - /// Lists the tags for the specified resource. - /// - /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ResourceNotFoundException` : The specified resource does not exist. - public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listTagsForResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `TagResource` operation on the `IoTFleetHub` service. - /// - /// Adds to or modifies the tags of the specified resource. Tags are metadata which can be used to manage a resource. - /// - /// - Parameter input: [no documentation found] (Type: `TagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `TagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ResourceNotFoundException` : The specified resource does not exist. - public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "tagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(TagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: TagResourceInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(TagResourceOutput.httpOutput(from:), TagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "TagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UntagResource` operation on the `IoTFleetHub` service. - /// - /// Removes the specified tags (metadata) from the resource. - /// - /// - Parameter input: [no documentation found] (Type: `UntagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `UntagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ResourceNotFoundException` : The specified resource does not exist. - public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "untagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UntagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(UntagResourceInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UntagResourceOutput.httpOutput(from:), UntagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UntagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateApplication` operation on the `IoTFleetHub` service. - /// - /// Updates information about a Fleet Hub for IoT Device Management web application. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `ConflictException` : The request conflicts with the current state of the resource. - /// - `InternalFailureException` : An unexpected error has occurred. - /// - `InvalidRequestException` : The request is not valid. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : The rate exceeds the limit. - public func updateApplication(input: UpdateApplicationInput) async throws -> UpdateApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .patch) - .withServiceName(value: serviceName) - .withOperation(value: "updateApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "iotfleethub") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateApplicationOutput.httpOutput(from:), UpdateApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoTFleetHub", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTFleetHubClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTFleetHub") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } -} diff --git a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Models.swift b/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Models.swift deleted file mode 100644 index 76da92700e3..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Models.swift +++ /dev/null @@ -1,970 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum Smithy.ClientError -import enum SmithyReadWrite.ReaderError -@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures -@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError -import struct Smithy.URIQueryItem - -extension IoTFleetHubClientTypes { - - public enum ApplicationState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case createFailed - case creating - case deleteFailed - case deleting - case sdkUnknown(Swift.String) - - public static var allCases: [ApplicationState] { - return [ - .active, - .createFailed, - .creating, - .deleteFailed, - .deleting - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "ACTIVE" - case .createFailed: return "CREATE_FAILED" - case .creating: return "CREATING" - case .deleteFailed: return "DELETE_FAILED" - case .deleting: return "DELETING" - case let .sdkUnknown(s): return s - } - } - } -} - -extension IoTFleetHubClientTypes { - - /// A summary of information about a Fleet Hub for IoT Device Management web application. - public struct ApplicationSummary: Swift.Sendable { - /// The date (in Unix epoch time) when the web application was created. - public var applicationCreationDate: Swift.Int - /// An optional description of the web application. - public var applicationDescription: Swift.String? - /// The unique Id of the web application. - /// This member is required. - public var applicationId: Swift.String? - /// The date (in Unix epoch time) when the web application was last updated. - public var applicationLastUpdateDate: Swift.Int - /// The name of the web application. - /// This member is required. - public var applicationName: Swift.String? - /// The current state of the web application. - public var applicationState: IoTFleetHubClientTypes.ApplicationState? - /// The URL of the web application. - /// This member is required. - public var applicationUrl: Swift.String? - - public init( - applicationCreationDate: Swift.Int = 0, - applicationDescription: Swift.String? = nil, - applicationId: Swift.String? = nil, - applicationLastUpdateDate: Swift.Int = 0, - applicationName: Swift.String? = nil, - applicationState: IoTFleetHubClientTypes.ApplicationState? = nil, - applicationUrl: Swift.String? = nil - ) { - self.applicationCreationDate = applicationCreationDate - self.applicationDescription = applicationDescription - self.applicationId = applicationId - self.applicationLastUpdateDate = applicationLastUpdateDate - self.applicationName = applicationName - self.applicationState = applicationState - self.applicationUrl = applicationUrl - } - } -} - -/// An unexpected error has occurred. -public struct InternalFailureException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InternalFailureException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// The request is not valid. -public struct InvalidRequestException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InvalidRequestException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// A limit has been exceeded. -public struct LimitExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "LimitExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// The rate exceeds the limit. -public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ThrottlingException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -public struct CreateApplicationInput: Swift.Sendable { - /// An optional description of the web application. - public var applicationDescription: Swift.String? - /// The name of the web application. - /// This member is required. - public var applicationName: Swift.String? - /// A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required. - public var clientToken: Swift.String? - /// The ARN of the role that the web application assumes when it interacts with Amazon Web Services IoT Core. The name of the role must be in the form AWSIotFleetHub_random_string . - /// This member is required. - public var roleArn: Swift.String? - /// A set of key/value pairs that you can use to manage the web application resource. - public var tags: [Swift.String: Swift.String]? - - public init( - applicationDescription: Swift.String? = nil, - applicationName: Swift.String? = nil, - clientToken: Swift.String? = nil, - roleArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.applicationDescription = applicationDescription - self.applicationName = applicationName - self.clientToken = clientToken - self.roleArn = roleArn - self.tags = tags - } -} - -public struct CreateApplicationOutput: Swift.Sendable { - /// The ARN of the web application. - /// This member is required. - public var applicationArn: Swift.String? - /// The unique Id of the web application. - /// This member is required. - public var applicationId: Swift.String? - - public init( - applicationArn: Swift.String? = nil, - applicationId: Swift.String? = nil - ) { - self.applicationArn = applicationArn - self.applicationId = applicationId - } -} - -/// The specified resource does not exist. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -public struct DeleteApplicationInput: Swift.Sendable { - /// The unique Id of the web application. - /// This member is required. - public var applicationId: Swift.String? - /// A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required. - public var clientToken: Swift.String? - - public init( - applicationId: Swift.String? = nil, - clientToken: Swift.String? = nil - ) { - self.applicationId = applicationId - self.clientToken = clientToken - } -} - -public struct DeleteApplicationOutput: Swift.Sendable { - - public init() { } -} - -public struct DescribeApplicationInput: Swift.Sendable { - /// The unique Id of the web application. - /// This member is required. - public var applicationId: Swift.String? - - public init( - applicationId: Swift.String? = nil - ) { - self.applicationId = applicationId - } -} - -public struct DescribeApplicationOutput: Swift.Sendable { - /// The ARN of the web application. - /// This member is required. - public var applicationArn: Swift.String? - /// The date (in Unix epoch time) when the application was created. - /// This member is required. - public var applicationCreationDate: Swift.Int - /// An optional description of the web application. - public var applicationDescription: Swift.String? - /// The unique Id of the web application. - /// This member is required. - public var applicationId: Swift.String? - /// The date (in Unix epoch time) when the application was last updated. - /// This member is required. - public var applicationLastUpdateDate: Swift.Int - /// The name of the web application. - /// This member is required. - public var applicationName: Swift.String? - /// The current state of the web application. - /// This member is required. - public var applicationState: IoTFleetHubClientTypes.ApplicationState? - /// The URL of the web application. - /// This member is required. - public var applicationUrl: Swift.String? - /// A message that explains any failures included in the applicationState response field. This message explains failures in the CreateApplication and DeleteApplication actions. - public var errorMessage: Swift.String? - /// The ARN of the role that the web application assumes when it interacts with Amazon Web Services IoT Core. - /// This member is required. - public var roleArn: Swift.String? - /// The Id of the single sign-on client that you use to authenticate and authorize users on the web application. - public var ssoClientId: Swift.String? - /// A set of key/value pairs that you can use to manage the web application resource. - public var tags: [Swift.String: Swift.String]? - - public init( - applicationArn: Swift.String? = nil, - applicationCreationDate: Swift.Int = 0, - applicationDescription: Swift.String? = nil, - applicationId: Swift.String? = nil, - applicationLastUpdateDate: Swift.Int = 0, - applicationName: Swift.String? = nil, - applicationState: IoTFleetHubClientTypes.ApplicationState? = nil, - applicationUrl: Swift.String? = nil, - errorMessage: Swift.String? = nil, - roleArn: Swift.String? = nil, - ssoClientId: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.applicationArn = applicationArn - self.applicationCreationDate = applicationCreationDate - self.applicationDescription = applicationDescription - self.applicationId = applicationId - self.applicationLastUpdateDate = applicationLastUpdateDate - self.applicationName = applicationName - self.applicationState = applicationState - self.applicationUrl = applicationUrl - self.errorMessage = errorMessage - self.roleArn = roleArn - self.ssoClientId = ssoClientId - self.tags = tags - } -} - -public struct ListApplicationsInput: Swift.Sendable { - /// A token used to get the next set of results. - public var nextToken: Swift.String? - - public init( - nextToken: Swift.String? = nil - ) { - self.nextToken = nextToken - } -} - -public struct ListApplicationsOutput: Swift.Sendable { - /// An array of objects that provide summaries of information about the web applications in the list. - public var applicationSummaries: [IoTFleetHubClientTypes.ApplicationSummary]? - /// A token used to get the next set of results. - public var nextToken: Swift.String? - - public init( - applicationSummaries: [IoTFleetHubClientTypes.ApplicationSummary]? = nil, - nextToken: Swift.String? = nil - ) { - self.applicationSummaries = applicationSummaries - self.nextToken = nextToken - } -} - -public struct ListTagsForResourceInput: Swift.Sendable { - /// The ARN of the resource. - /// This member is required. - public var resourceArn: Swift.String? - - public init( - resourceArn: Swift.String? = nil - ) { - self.resourceArn = resourceArn - } -} - -public struct ListTagsForResourceOutput: Swift.Sendable { - /// The list of tags assigned to the resource. - public var tags: [Swift.String: Swift.String]? - - public init( - tags: [Swift.String: Swift.String]? = nil - ) { - self.tags = tags - } -} - -public struct TagResourceInput: Swift.Sendable { - /// The ARN of the resource. - /// This member is required. - public var resourceArn: Swift.String? - /// The new or modified tags for the resource. - /// This member is required. - public var tags: [Swift.String: Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tags = tags - } -} - -public struct TagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UntagResourceInput: Swift.Sendable { - /// The ARN of the resource. - /// This member is required. - public var resourceArn: Swift.String? - /// A list of the keys of the tags to be removed from the resource. - /// This member is required. - public var tagKeys: [Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tagKeys: [Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } -} - -public struct UntagResourceOutput: Swift.Sendable { - - public init() { } -} - -/// The request conflicts with the current state of the resource. -public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConflictException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -public struct UpdateApplicationInput: Swift.Sendable { - /// An optional description of the web application. - public var applicationDescription: Swift.String? - /// The unique Id of the web application. - /// This member is required. - public var applicationId: Swift.String? - /// The name of the web application. - public var applicationName: Swift.String? - /// A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. Don't reuse this client token if a new idempotent request is required. - public var clientToken: Swift.String? - - public init( - applicationDescription: Swift.String? = nil, - applicationId: Swift.String? = nil, - applicationName: Swift.String? = nil, - clientToken: Swift.String? = nil - ) { - self.applicationDescription = applicationDescription - self.applicationId = applicationId - self.applicationName = applicationName - self.clientToken = clientToken - } -} - -public struct UpdateApplicationOutput: Swift.Sendable { - - public init() { } -} - -extension CreateApplicationInput { - - static func urlPathProvider(_ value: CreateApplicationInput) -> Swift.String? { - return "/applications" - } -} - -extension DeleteApplicationInput { - - static func urlPathProvider(_ value: DeleteApplicationInput) -> Swift.String? { - guard let applicationId = value.applicationId else { - return nil - } - return "/applications/\(applicationId.urlPercentEncoding())" - } -} - -extension DeleteApplicationInput { - - static func queryItemProvider(_ value: DeleteApplicationInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let clientToken = value.clientToken { - let clientTokenQueryItem = Smithy.URIQueryItem(name: "clientToken".urlPercentEncoding(), value: Swift.String(clientToken).urlPercentEncoding()) - items.append(clientTokenQueryItem) - } - return items - } -} - -extension DescribeApplicationInput { - - static func urlPathProvider(_ value: DescribeApplicationInput) -> Swift.String? { - guard let applicationId = value.applicationId else { - return nil - } - return "/applications/\(applicationId.urlPercentEncoding())" - } -} - -extension ListApplicationsInput { - - static func urlPathProvider(_ value: ListApplicationsInput) -> Swift.String? { - return "/applications" - } -} - -extension ListApplicationsInput { - - static func queryItemProvider(_ value: ListApplicationsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - return items - } -} - -extension ListTagsForResourceInput { - - static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension TagResourceInput { - - static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - guard let tagKeys = value.tagKeys else { - let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." - throw Smithy.ClientError.unknownError(message) - } - tagKeys.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - return items - } -} - -extension UpdateApplicationInput { - - static func urlPathProvider(_ value: UpdateApplicationInput) -> Swift.String? { - guard let applicationId = value.applicationId else { - return nil - } - return "/applications/\(applicationId.urlPercentEncoding())" - } -} - -extension CreateApplicationInput { - - static func write(value: CreateApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["applicationDescription"].write(value.applicationDescription) - try writer["applicationName"].write(value.applicationName) - try writer["clientToken"].write(value.clientToken) - try writer["roleArn"].write(value.roleArn) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension TagResourceInput { - - static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension UpdateApplicationInput { - - static func write(value: UpdateApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["applicationDescription"].write(value.applicationDescription) - try writer["applicationName"].write(value.applicationName) - try writer["clientToken"].write(value.clientToken) - } -} - -extension CreateApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateApplicationOutput() - value.applicationArn = try reader["applicationArn"].readIfPresent() ?? "" - value.applicationId = try reader["applicationId"].readIfPresent() ?? "" - return value - } -} - -extension DeleteApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteApplicationOutput { - return DeleteApplicationOutput() - } -} - -extension DescribeApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeApplicationOutput() - value.applicationArn = try reader["applicationArn"].readIfPresent() ?? "" - value.applicationCreationDate = try reader["applicationCreationDate"].readIfPresent() ?? 0 - value.applicationDescription = try reader["applicationDescription"].readIfPresent() - value.applicationId = try reader["applicationId"].readIfPresent() ?? "" - value.applicationLastUpdateDate = try reader["applicationLastUpdateDate"].readIfPresent() ?? 0 - value.applicationName = try reader["applicationName"].readIfPresent() ?? "" - value.applicationState = try reader["applicationState"].readIfPresent() ?? .sdkUnknown("") - value.applicationUrl = try reader["applicationUrl"].readIfPresent() ?? "" - value.errorMessage = try reader["errorMessage"].readIfPresent() - value.roleArn = try reader["roleArn"].readIfPresent() ?? "" - value.ssoClientId = try reader["ssoClientId"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension ListApplicationsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListApplicationsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListApplicationsOutput() - value.applicationSummaries = try reader["applicationSummaries"].readListIfPresent(memberReadingClosure: IoTFleetHubClientTypes.ApplicationSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["nextToken"].readIfPresent() - return value - } -} - -extension ListTagsForResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTagsForResourceOutput() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension TagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { - return TagResourceOutput() - } -} - -extension UntagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { - return UntagResourceOutput() - } -} - -extension UpdateApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateApplicationOutput { - return UpdateApplicationOutput() - } -} - -enum CreateApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListApplicationsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTagsForResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum TagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UntagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalFailureException": return try InternalFailureException.makeError(baseError: baseError) - case "InvalidRequestException": return try InvalidRequestException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension InternalFailureException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalFailureException { - let reader = baseError.errorBodyReader - var value = InternalFailureException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension InvalidRequestException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InvalidRequestException { - let reader = baseError.errorBodyReader - var value = InvalidRequestException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension LimitExceededException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> LimitExceededException { - let reader = baseError.errorBodyReader - var value = LimitExceededException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ThrottlingException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { - let reader = baseError.errorBodyReader - var value = ThrottlingException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceNotFoundException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { - let reader = baseError.errorBodyReader - var value = ResourceNotFoundException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ConflictException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ConflictException { - let reader = baseError.errorBodyReader - var value = ConflictException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension IoTFleetHubClientTypes.ApplicationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> IoTFleetHubClientTypes.ApplicationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = IoTFleetHubClientTypes.ApplicationSummary() - value.applicationId = try reader["applicationId"].readIfPresent() ?? "" - value.applicationName = try reader["applicationName"].readIfPresent() ?? "" - value.applicationDescription = try reader["applicationDescription"].readIfPresent() - value.applicationUrl = try reader["applicationUrl"].readIfPresent() ?? "" - value.applicationCreationDate = try reader["applicationCreationDate"].readIfPresent() ?? 0 - value.applicationLastUpdateDate = try reader["applicationLastUpdateDate"].readIfPresent() ?? 0 - value.applicationState = try reader["applicationState"].readIfPresent() - return value - } -} - -public enum IoTFleetHubClientTypes {} diff --git a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Paginators.swift b/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Paginators.swift deleted file mode 100644 index bf35c35a74b..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Paginators.swift +++ /dev/null @@ -1,41 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import protocol ClientRuntime.PaginateToken -import struct ClientRuntime.PaginatorSequence - -extension IoTFleetHubClient { - /// Paginate over `[ListApplicationsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListApplicationsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListApplicationsOutput` - public func listApplicationsPaginated(input: ListApplicationsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listApplications(input:)) - } -} - -extension ListApplicationsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListApplicationsInput { - return ListApplicationsInput( - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListApplicationsInput, OperationStackOutput == ListApplicationsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listApplicationsPaginated` - /// to access the nested member `[IoTFleetHubClientTypes.ApplicationSummary]` - /// - Returns: `[IoTFleetHubClientTypes.ApplicationSummary]` - public func applicationSummaries() async throws -> [IoTFleetHubClientTypes.ApplicationSummary] { - return try await self.asyncCompactMap { item in item.applicationSummaries } - } -} diff --git a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Plugins.swift b/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Plugins.swift deleted file mode 100644 index 253b8920ba7..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Sources/AWSIoTFleetHub/Plugins.swift +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import protocol ClientRuntime.ClientConfiguration -import protocol ClientRuntime.Plugin -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -import struct AWSSDKHTTPAuth.SigV4AuthScheme -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class IoTFleetHubClientEndpointPlugin: Plugin { - private var endpointResolver: EndpointResolver - - public init(endpointResolver: EndpointResolver) { - self.endpointResolver = endpointResolver - } - - public convenience init() throws { - self.init(endpointResolver: try DefaultEndpointResolver()) - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? IoTFleetHubClient.IoTFleetHubClientConfiguration { - config.endpointResolver = self.endpointResolver - } - } -} - -public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { - - public init() {} - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? IoTFleetHubClient.IoTFleetHubClientConfiguration { - config.authSchemeResolver = DefaultIoTFleetHubAuthSchemeResolver() - config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] - config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() - config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() - } - } -} - -public class IoTFleetHubClientAuthSchemePlugin: ClientRuntime.Plugin { - private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - private var authSchemePreference: [String] - private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? - private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? - private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: IoTFleetHubAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { - self.authSchemeResolver = authSchemeResolver - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference ?? [] - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? IoTFleetHubClient.IoTFleetHubClientConfiguration { - if (self.authSchemes != nil) { - config.authSchemes = self.authSchemes - } - config.authSchemePreference = self.authSchemePreference - if (self.authSchemeResolver != nil) { - config.authSchemeResolver = self.authSchemeResolver! - } - if (self.awsCredentialIdentityResolver != nil) { - config.awsCredentialIdentityResolver = self.awsCredentialIdentityResolver! - } - if (self.bearerTokenIdentityResolver != nil) { - config.bearerTokenIdentityResolver = self.bearerTokenIdentityResolver! - } - } - } -} diff --git a/Sources/Services/AWSIoTFleetHub/Tests/AWSIoTFleetHubTests/EndpointResolverTest.swift b/Sources/Services/AWSIoTFleetHub/Tests/AWSIoTFleetHubTests/EndpointResolverTest.swift deleted file mode 100644 index 058e66120e9..00000000000 --- a/Sources/Services/AWSIoTFleetHub/Tests/AWSIoTFleetHubTests/EndpointResolverTest.swift +++ /dev/null @@ -1,741 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@testable import AWSIoTFleetHub -import XCTest -import enum ClientRuntime.EndpointError -import enum SmithyHTTPAPI.EndpointPropertyValue -import enum SmithyTestUtil.TestInitializer -import struct SmithyHTTPAPI.Endpoint -import struct SmithyHTTPAPI.Headers - -class EndpointResolverTest: XCTestCase { - - override class func setUp() { - SmithyTestUtil.TestInitializer.initialize() - } - - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled - func testResolve1() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-northeast-2 with FIPS disabled and DualStack disabled - func testResolve2() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.ap-northeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-south-1 with FIPS disabled and DualStack disabled - func testResolve3() throws { - let endpointParams = EndpointParams( - region: "ap-south-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.ap-south-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-1 with FIPS disabled and DualStack disabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.ap-southeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-2 with FIPS disabled and DualStack disabled - func testResolve5() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.ap-southeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ca-central-1 with FIPS disabled and DualStack disabled - func testResolve6() throws { - let endpointParams = EndpointParams( - region: "ca-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.ca-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ca-central-1 with FIPS enabled and DualStack disabled - func testResolve7() throws { - let endpointParams = EndpointParams( - region: "ca-central-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.ca-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-central-1 with FIPS disabled and DualStack disabled - func testResolve8() throws { - let endpointParams = EndpointParams( - region: "eu-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.eu-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-north-1 with FIPS disabled and DualStack disabled - func testResolve9() throws { - let endpointParams = EndpointParams( - region: "eu-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.eu-north-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-1 with FIPS disabled and DualStack disabled - func testResolve10() throws { - let endpointParams = EndpointParams( - region: "eu-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.eu-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-2 with FIPS disabled and DualStack disabled - func testResolve11() throws { - let endpointParams = EndpointParams( - region: "eu-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.eu-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve12() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack disabled - func testResolve13() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS disabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS enabled and DualStack disabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS disabled and DualStack disabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS enabled and DualStack disabled - func testResolve17() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve18() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve19() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve20() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve21() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve22() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve23() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve24() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve26() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve27() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve28() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve29() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve30() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve31() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://api.fleethub.iot.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve32() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve33() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve34() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve35() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// Missing region - func testResolve36() throws { - let endpointParams = EndpointParams( - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } - } - -} diff --git a/Sources/Services/AWSIoTFleetWise/Sources/AWSIoTFleetWise/IoTFleetWiseClient.swift b/Sources/Services/AWSIoTFleetWise/Sources/AWSIoTFleetWise/IoTFleetWiseClient.swift index a677b3fb9ed..71754e31295 100644 --- a/Sources/Services/AWSIoTFleetWise/Sources/AWSIoTFleetWise/IoTFleetWiseClient.swift +++ b/Sources/Services/AWSIoTFleetWise/Sources/AWSIoTFleetWise/IoTFleetWiseClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTFleetWiseClient: ClientRuntime.Client { +public class IoTFleetWiseClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTFleetWiseClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTFleetWiseClient.IoTFleetWiseClientConfiguration let serviceName = "IoTFleetWise" diff --git a/Sources/Services/AWSIoTJobsDataPlane/Sources/AWSIoTJobsDataPlane/IoTJobsDataPlaneClient.swift b/Sources/Services/AWSIoTJobsDataPlane/Sources/AWSIoTJobsDataPlane/IoTJobsDataPlaneClient.swift index 2c3993354e0..616bfc795ca 100644 --- a/Sources/Services/AWSIoTJobsDataPlane/Sources/AWSIoTJobsDataPlane/IoTJobsDataPlaneClient.swift +++ b/Sources/Services/AWSIoTJobsDataPlane/Sources/AWSIoTJobsDataPlane/IoTJobsDataPlaneClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTJobsDataPlaneClient: ClientRuntime.Client { +public class IoTJobsDataPlaneClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTJobsDataPlaneClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTJobsDataPlaneClient.IoTJobsDataPlaneClientConfiguration let serviceName = "IoT Jobs Data Plane" diff --git a/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/IoTManagedIntegrationsClient.swift b/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/IoTManagedIntegrationsClient.swift index 5888a9a6fa2..3fbcaea160b 100644 --- a/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/IoTManagedIntegrationsClient.swift +++ b/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/IoTManagedIntegrationsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTManagedIntegrationsClient: ClientRuntime.Client { +public class IoTManagedIntegrationsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTManagedIntegrationsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTManagedIntegrationsClient.IoTManagedIntegrationsClientConfiguration let serviceName = "IoT Managed Integrations" @@ -389,6 +388,7 @@ extension IoTManagedIntegrationsClient { /// - `ResourceNotFoundException` : The specified resource does not exist. /// - `ServiceUnavailableException` : The service is temporarily unavailable. /// - `ThrottlingException` : The rate exceeds the limit. + /// - `UnauthorizedException` : You are not authorized to perform this operation. /// - `ValidationException` : A validation error occurred when performing the API request. public func createAccountAssociation(input: CreateAccountAssociationInput) async throws -> CreateAccountAssociationOutput { let context = Smithy.ContextBuilder() @@ -534,7 +534,9 @@ extension IoTManagedIntegrationsClient { /// - `AccessDeniedException` : User is not authorized. /// - `ConflictException` : There is a conflict with the request. /// - `InternalServerException` : Internal error from the service that indicates an unexpected error or that the service is unavailable. + /// - `ResourceNotFoundException` : The specified resource does not exist. /// - `ThrottlingException` : The rate exceeds the limit. + /// - `UnauthorizedException` : You are not authorized to perform this operation. /// - `ValidationException` : A validation error occurred when performing the API request. public func createConnectorDestination(input: CreateConnectorDestinationInput) async throws -> CreateConnectorDestinationOutput { let context = Smithy.ContextBuilder() @@ -595,7 +597,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `CreateCredentialLocker` operation on the `IoTManagedIntegrations` service. /// - /// Create a product credential locker. This operation will trigger the creation of all the manufacturing resources including the Wi-Fi setup key pair and device certificate. + /// Create a credential locker. This operation will not trigger the creation of all the manufacturing resources. /// /// - Parameter input: [no documentation found] (Type: `CreateCredentialLockerInput`) /// @@ -670,7 +672,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `CreateDestination` operation on the `IoTManagedIntegrations` service. /// - /// Create a destination. IoT managed integrations uses the destination to determine where to deliver notifications for a device. + /// Create a notification destination such as Kinesis Data Streams that receive events and notifications from Managed integrations. Managed integrations uses the destination to determine where to deliver notifications. /// /// - Parameter input: [no documentation found] (Type: `CreateDestinationInput`) /// @@ -817,7 +819,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `CreateManagedThing` operation on the `IoTManagedIntegrations` service. /// - /// Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a protocol-specific format. + /// Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a data model format defined by Managed integrations. /// /// - Parameter input: [no documentation found] (Type: `CreateManagedThingInput`) /// @@ -966,7 +968,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `CreateOtaTask` operation on the `IoTManagedIntegrations` service. /// - /// Create an over-the-air (OTA) task to update a device. + /// Create an over-the-air (OTA) task to target a device. /// /// - Parameter input: [no documentation found] (Type: `CreateOtaTaskInput`) /// @@ -1190,7 +1192,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `DeleteAccountAssociation` operation on the `IoTManagedIntegrations` service. /// - /// Remove a third party account and related devices from an end user. + /// Remove a third-party account association for an end user. You must first call the DeregisterAccountAssociation to remove the connection between the managed thing and the third-party account before calling the DeleteAccountAssociation API. /// /// - Parameter input: [no documentation found] (Type: `DeleteAccountAssociationInput`) /// @@ -1273,6 +1275,7 @@ extension IoTManagedIntegrationsClient { /// - `InternalServerException` : Internal error from the service that indicates an unexpected error or that the service is unavailable. /// - `ResourceNotFoundException` : The specified resource does not exist. /// - `ThrottlingException` : The rate exceeds the limit. + /// - `UnauthorizedException` : You are not authorized to perform this operation. /// - `ValidationException` : A validation error occurred when performing the API request. public func deleteCloudConnector(input: DeleteCloudConnectorInput) async throws -> DeleteCloudConnectorOutput { let context = Smithy.ContextBuilder() @@ -1329,7 +1332,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `DeleteConnectorDestination` operation on the `IoTManagedIntegrations` service. /// - /// Delete a connector destination for connecting a cloud-to-cloud (C2C) connector to the customer's Amazon Web Services account. + /// Delete a connector destination linked to a cloud-to-cloud (C2C) connector. Deletion can't be done if the account association has used this connector destination. /// /// - Parameter input: [no documentation found] (Type: `DeleteConnectorDestinationInput`) /// @@ -1468,7 +1471,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `DeleteDestination` operation on the `IoTManagedIntegrations` service. /// - /// Deletes a customer-managed destination specified by id. + /// Deletes a notification destination specified by name. /// /// - Parameter input: [no documentation found] (Type: `DeleteDestinationInput`) /// @@ -1606,7 +1609,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `DeleteManagedThing` operation on the `IoTManagedIntegrations` service. /// - /// Delete a managed thing. If a controller is deleted, all of the devices connected to it will have their status changed to PENDING. It is not possible to remove a cloud device. + /// Delete a managed thing. For direct-connected and hub-connected devices connecting with Managed integrations via a controller, all of the devices connected to it will have their status changed to PENDING. It is not possible to remove a cloud-to-cloud device. /// /// - Parameter input: [no documentation found] (Type: `DeleteManagedThingInput`) /// @@ -1958,7 +1961,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `DeregisterAccountAssociation` operation on the `IoTManagedIntegrations` service. /// - /// Deregisters an account association, removing the connection between a managed thing and a third-party account. + /// Deregister an account association from a managed thing. /// /// - Parameter input: Request for deregister a managed thing from account association (Type: `DeregisterAccountAssociationInput`) /// @@ -2100,7 +2103,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetCloudConnector` operation on the `IoTManagedIntegrations` service. /// - /// Gets all the information about a connector for a connector developer. + /// Get configuration details for a cloud connector. /// /// - Parameter input: [no documentation found] (Type: `GetCloudConnectorInput`) /// @@ -2169,7 +2172,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetConnectorDestination` operation on the `IoTManagedIntegrations` service. /// - /// Get a connector destination of a cloud-to-cloud (C2C) connector connecting to a customer's Amazon Web Services account. + /// Get connector destination details linked to a cloud-to-cloud (C2C) connector. /// /// - Parameter input: [no documentation found] (Type: `GetConnectorDestinationInput`) /// @@ -2450,7 +2453,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetDestination` operation on the `IoTManagedIntegrations` service. /// - /// Gets a destination by ID. + /// Gets a destination by name. /// /// - Parameter input: [no documentation found] (Type: `GetDestinationInput`) /// @@ -2729,7 +2732,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetManagedThing` operation on the `IoTManagedIntegrations` service. /// - /// Get the attributes and capabilities associated with a managed thing. + /// Get details of a managed thing including its attributes and capabilities. /// /// - Parameter input: [no documentation found] (Type: `GetManagedThingInput`) /// @@ -2869,6 +2872,77 @@ extension IoTManagedIntegrationsClient { return try await op.execute(input: input) } + /// Performs the `GetManagedThingCertificate` operation on the `IoTManagedIntegrations` service. + /// + /// Retrieves the certificate PEM for a managed IoT thing. + /// + /// - Parameter input: [no documentation found] (Type: `GetManagedThingCertificateInput`) + /// + /// - Returns: [no documentation found] (Type: `GetManagedThingCertificateOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : User is not authorized. + /// - `InternalServerException` : Internal error from the service that indicates an unexpected error or that the service is unavailable. + /// - `ResourceNotFoundException` : The specified resource does not exist. + /// - `ServiceUnavailableException` : The service is temporarily unavailable. + /// - `ThrottlingException` : The rate exceeds the limit. + /// - `UnauthorizedException` : You are not authorized to perform this operation. + /// - `ValidationException` : A validation error occurred when performing the API request. + public func getManagedThingCertificate(input: GetManagedThingCertificateInput) async throws -> GetManagedThingCertificateOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getManagedThingCertificate") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "iotmanagedintegrations") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetManagedThingCertificateInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetManagedThingCertificateOutput.httpOutput(from:), GetManagedThingCertificateOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("IoT Managed Integrations", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: IoTManagedIntegrationsClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "IoTManagedIntegrations") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetManagedThingCertificate") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetManagedThingConnectivityData` operation on the `IoTManagedIntegrations` service. /// /// Get the connectivity status of a managed thing. @@ -3084,7 +3158,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetNotificationConfiguration` operation on the `IoTManagedIntegrations` service. /// - /// Get a notification configuration. + /// Get a notification configuration for a specified event type. /// /// - Parameter input: [no documentation found] (Type: `GetNotificationConfigurationInput`) /// @@ -3153,7 +3227,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetOtaTask` operation on the `IoTManagedIntegrations` service. /// - /// Get the over-the-air (OTA) task. + /// Get details of the over-the-air (OTA) task by its task id. /// /// - Parameter input: [no documentation found] (Type: `GetOtaTaskInput`) /// @@ -3362,7 +3436,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `GetRuntimeLogConfiguration` operation on the `IoTManagedIntegrations` service. /// - /// Get the runtime log configuration for a specific managed thing or for all managed things as a group. + /// Get the runtime log configuration for a specific managed thing. /// /// - Parameter input: [no documentation found] (Type: `GetRuntimeLogConfigurationInput`) /// @@ -3573,7 +3647,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `ListCloudConnectors` operation on the `IoTManagedIntegrations` service. /// - /// Returns a list of connectors based on permissions. + /// Returns a list of connectors filtered by its Lambda Amazon Resource Name (ARN) and type. /// /// - Parameter input: [no documentation found] (Type: `ListCloudConnectorsInput`) /// @@ -3781,7 +3855,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `ListDestinations` operation on the `IoTManagedIntegrations` service. /// - /// List all destination names under one Amazon Web Services account. + /// List all notification destinations. /// /// - Parameter input: [no documentation found] (Type: `ListDestinationsInput`) /// @@ -5125,7 +5199,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `ResetRuntimeLogConfiguration` operation on the `IoTManagedIntegrations` service. /// - /// Reset a runtime log configuration for a specific managed thing or for all managed things as a group. + /// Reset a runtime log configuration for a specific managed thing. /// /// - Parameter input: [no documentation found] (Type: `ResetRuntimeLogConfigurationInput`) /// @@ -5411,7 +5485,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `StartDeviceDiscovery` operation on the `IoTManagedIntegrations` service. /// - /// This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is passed as a message to the controller telling it to start the discovery. + /// This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is delivered as a message to the controller instructing it to start the discovery. /// /// - Parameter input: [no documentation found] (Type: `StartDeviceDiscoveryInput`) /// @@ -5715,6 +5789,7 @@ extension IoTManagedIntegrationsClient { /// - `InternalServerException` : Internal error from the service that indicates an unexpected error or that the service is unavailable. /// - `ResourceNotFoundException` : The specified resource does not exist. /// - `ThrottlingException` : The rate exceeds the limit. + /// - `UnauthorizedException` : You are not authorized to perform this operation. /// - `ValidationException` : A validation error occurred when performing the API request. public func updateCloudConnector(input: UpdateCloudConnectorInput) async throws -> UpdateCloudConnectorOutput { let context = Smithy.ContextBuilder() @@ -5846,7 +5921,7 @@ extension IoTManagedIntegrationsClient { /// Performs the `UpdateDestination` operation on the `IoTManagedIntegrations` service. /// - /// Update a destination specified by id. + /// Update a destination specified by name. /// /// - Parameter input: [no documentation found] (Type: `UpdateDestinationInput`) /// diff --git a/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/Models.swift b/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/Models.swift index 9199c64e277..ac43fddfb88 100644 --- a/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/Models.swift +++ b/Sources/Services/AWSIoTManagedIntegrations/Sources/AWSIoTManagedIntegrations/Models.swift @@ -453,6 +453,29 @@ public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime. } } +/// You are not authorized to perform this operation. +public struct UnauthorizedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "UnauthorizedException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + /// A validation error occurred when performing the API request. public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -1972,29 +1995,6 @@ public struct CreateEventLogConfigurationOutput: Swift.Sendable { } } -/// You are not authorized to perform this operation. -public struct UnauthorizedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "UnauthorizedException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - extension IoTManagedIntegrationsClientTypes { public enum Role: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -4286,6 +4286,33 @@ public struct GetManagedThingCapabilitiesOutput: Swift.Sendable { } } +public struct GetManagedThingCertificateInput: Swift.Sendable { + /// The identifier of the managed thing. + /// This member is required. + public var identifier: Swift.String? + + public init( + identifier: Swift.String? = nil + ) { + self.identifier = identifier + } +} + +public struct GetManagedThingCertificateOutput: Swift.Sendable { + /// The PEM-encoded certificate for the managed thing. + public var certificatePem: Swift.String? + /// The identifier of the managed thing. + public var managedThingId: Swift.String? + + public init( + certificatePem: Swift.String? = nil, + managedThingId: Swift.String? = nil + ) { + self.certificatePem = certificatePem + self.managedThingId = managedThingId + } +} + public struct GetManagedThingConnectivityDataInput: Swift.Sendable { /// The identifier of a managed thing. /// This member is required. @@ -4711,7 +4738,7 @@ public struct GetProvisioningProfileOutput: Swift.Sendable { public var arn: Swift.String? /// The id of the claim certificate. public var claimCertificate: Swift.String? - /// The provisioning profile id.. + /// The provisioning profile id. public var id: Swift.String? /// The name of the provisioning template. public var name: Swift.String? @@ -5162,7 +5189,7 @@ public struct SendManagedThingCommandInput: Swift.Sendable { } public struct SendManagedThingCommandOutput: Swift.Sendable { - /// The trace request identifier. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner. + /// The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch. public var traceId: Swift.String? public init( @@ -6080,7 +6107,7 @@ public struct SendConnectorEventInput: Swift.Sendable { public var operationVersion: Swift.String? /// The status code of the Open Connectivity Foundation (OCF) operation being performed on the managed thing. public var statusCode: Swift.Int? - /// The trace request identifier used to correlate a command request and response. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner. + /// The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch. public var traceId: Swift.String? /// The id of the third-party cloud provider. public var userId: Swift.String? @@ -6495,6 +6522,16 @@ extension GetManagedThingCapabilitiesInput { } } +extension GetManagedThingCertificateInput { + + static func urlPathProvider(_ value: GetManagedThingCertificateInput) -> Swift.String? { + guard let identifier = value.identifier else { + return nil + } + return "/managed-things-certificate/\(identifier.urlPercentEncoding())" + } +} + extension GetManagedThingConnectivityDataInput { static func urlPathProvider(_ value: GetManagedThingConnectivityDataInput) -> Swift.String? { @@ -8082,6 +8119,19 @@ extension GetManagedThingCapabilitiesOutput { } } +extension GetManagedThingCertificateOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetManagedThingCertificateOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetManagedThingCertificateOutput() + value.certificatePem = try reader["CertificatePem"].readIfPresent() + value.managedThingId = try reader["ManagedThingId"].readIfPresent() + return value + } +} + extension GetManagedThingConnectivityDataOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetManagedThingConnectivityDataOutput { @@ -8662,6 +8712,7 @@ enum CreateAccountAssociationOutputError { case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ServiceUnavailableException": return try ServiceUnavailableException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnauthorizedException": return try UnauthorizedException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -8697,7 +8748,9 @@ enum CreateConnectorDestinationOutputError { case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) case "ConflictException": return try ConflictException.makeError(baseError: baseError) case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnauthorizedException": return try UnauthorizedException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -8890,6 +8943,7 @@ enum DeleteCloudConnectorOutputError { case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnauthorizedException": return try UnauthorizedException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -9312,6 +9366,26 @@ enum GetManagedThingCapabilitiesOutputError { } } +enum GetManagedThingCertificateOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceUnavailableException": return try ServiceUnavailableException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnauthorizedException": return try UnauthorizedException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetManagedThingConnectivityDataOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -10069,6 +10143,7 @@ enum UpdateCloudConnectorOutputError { case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "UnauthorizedException": return try UnauthorizedException.makeError(baseError: baseError) case "ValidationException": return try ValidationException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -10266,11 +10341,11 @@ extension ThrottlingException { } } -extension ValidationException { +extension UnauthorizedException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ValidationException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> UnauthorizedException { let reader = baseError.errorBodyReader - var value = ValidationException() + var value = UnauthorizedException() value.properties.message = try reader["Message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID @@ -10279,11 +10354,11 @@ extension ValidationException { } } -extension ServiceQuotaExceededException { +extension ValidationException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ValidationException { let reader = baseError.errorBodyReader - var value = ServiceQuotaExceededException() + var value = ValidationException() value.properties.message = try reader["Message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID @@ -10292,11 +10367,11 @@ extension ServiceQuotaExceededException { } } -extension UnauthorizedException { +extension ServiceQuotaExceededException { - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> UnauthorizedException { + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { let reader = baseError.errorBodyReader - var value = UnauthorizedException() + var value = ServiceQuotaExceededException() value.properties.message = try reader["Message"].readIfPresent() value.httpResponse = baseError.httpResponse value.requestID = baseError.requestID diff --git a/Sources/Services/AWSIoTSecureTunneling/Sources/AWSIoTSecureTunneling/IoTSecureTunnelingClient.swift b/Sources/Services/AWSIoTSecureTunneling/Sources/AWSIoTSecureTunneling/IoTSecureTunnelingClient.swift index 86c7f2bb2bf..41376b489a7 100644 --- a/Sources/Services/AWSIoTSecureTunneling/Sources/AWSIoTSecureTunneling/IoTSecureTunnelingClient.swift +++ b/Sources/Services/AWSIoTSecureTunneling/Sources/AWSIoTSecureTunneling/IoTSecureTunnelingClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTSecureTunnelingClient: ClientRuntime.Client { +public class IoTSecureTunnelingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTSecureTunnelingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTSecureTunnelingClient.IoTSecureTunnelingClientConfiguration let serviceName = "IoTSecureTunneling" diff --git a/Sources/Services/AWSIoTSiteWise/Sources/AWSIoTSiteWise/IoTSiteWiseClient.swift b/Sources/Services/AWSIoTSiteWise/Sources/AWSIoTSiteWise/IoTSiteWiseClient.swift index 24aef95e387..b74a346cc9a 100644 --- a/Sources/Services/AWSIoTSiteWise/Sources/AWSIoTSiteWise/IoTSiteWiseClient.swift +++ b/Sources/Services/AWSIoTSiteWise/Sources/AWSIoTSiteWise/IoTSiteWiseClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTSiteWiseClient: ClientRuntime.Client { +public class IoTSiteWiseClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTSiteWiseClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTSiteWiseClient.IoTSiteWiseClientConfiguration let serviceName = "IoTSiteWise" diff --git a/Sources/Services/AWSIoTThingsGraph/Sources/AWSIoTThingsGraph/IoTThingsGraphClient.swift b/Sources/Services/AWSIoTThingsGraph/Sources/AWSIoTThingsGraph/IoTThingsGraphClient.swift index 9f4ad945494..a6981acbd9f 100644 --- a/Sources/Services/AWSIoTThingsGraph/Sources/AWSIoTThingsGraph/IoTThingsGraphClient.swift +++ b/Sources/Services/AWSIoTThingsGraph/Sources/AWSIoTThingsGraph/IoTThingsGraphClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTThingsGraphClient: ClientRuntime.Client { +public class IoTThingsGraphClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTThingsGraphClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTThingsGraphClient.IoTThingsGraphClientConfiguration let serviceName = "IoTThingsGraph" diff --git a/Sources/Services/AWSIoTTwinMaker/Sources/AWSIoTTwinMaker/IoTTwinMakerClient.swift b/Sources/Services/AWSIoTTwinMaker/Sources/AWSIoTTwinMaker/IoTTwinMakerClient.swift index f0f36f755d9..e63cb430261 100644 --- a/Sources/Services/AWSIoTTwinMaker/Sources/AWSIoTTwinMaker/IoTTwinMakerClient.swift +++ b/Sources/Services/AWSIoTTwinMaker/Sources/AWSIoTTwinMaker/IoTTwinMakerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTTwinMakerClient: ClientRuntime.Client { +public class IoTTwinMakerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTTwinMakerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTTwinMakerClient.IoTTwinMakerClientConfiguration let serviceName = "IoTTwinMaker" diff --git a/Sources/Services/AWSIoTWireless/Sources/AWSIoTWireless/IoTWirelessClient.swift b/Sources/Services/AWSIoTWireless/Sources/AWSIoTWireless/IoTWirelessClient.swift index fa3c064dc41..2021146fcf6 100644 --- a/Sources/Services/AWSIoTWireless/Sources/AWSIoTWireless/IoTWirelessClient.swift +++ b/Sources/Services/AWSIoTWireless/Sources/AWSIoTWireless/IoTWirelessClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IoTWirelessClient: ClientRuntime.Client { +public class IoTWirelessClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IoTWirelessClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IoTWirelessClient.IoTWirelessClientConfiguration let serviceName = "IoT Wireless" diff --git a/Sources/Services/AWSIotDeviceAdvisor/Sources/AWSIotDeviceAdvisor/IotDeviceAdvisorClient.swift b/Sources/Services/AWSIotDeviceAdvisor/Sources/AWSIotDeviceAdvisor/IotDeviceAdvisorClient.swift index d8b556a5289..90b1409e6f9 100644 --- a/Sources/Services/AWSIotDeviceAdvisor/Sources/AWSIotDeviceAdvisor/IotDeviceAdvisorClient.swift +++ b/Sources/Services/AWSIotDeviceAdvisor/Sources/AWSIotDeviceAdvisor/IotDeviceAdvisorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IotDeviceAdvisorClient: ClientRuntime.Client { +public class IotDeviceAdvisorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IotDeviceAdvisorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IotDeviceAdvisorClient.IotDeviceAdvisorClientConfiguration let serviceName = "IotDeviceAdvisor" diff --git a/Sources/Services/AWSIvs/Sources/AWSIvs/IvsClient.swift b/Sources/Services/AWSIvs/Sources/AWSIvs/IvsClient.swift index 982f440ecb9..3064a45bb5f 100644 --- a/Sources/Services/AWSIvs/Sources/AWSIvs/IvsClient.swift +++ b/Sources/Services/AWSIvs/Sources/AWSIvs/IvsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IvsClient: ClientRuntime.Client { +public class IvsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IvsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IvsClient.IvsClientConfiguration let serviceName = "ivs" diff --git a/Sources/Services/AWSIvschat/Sources/AWSIvschat/IvschatClient.swift b/Sources/Services/AWSIvschat/Sources/AWSIvschat/IvschatClient.swift index 5796d864cab..8ff2f7198f2 100644 --- a/Sources/Services/AWSIvschat/Sources/AWSIvschat/IvschatClient.swift +++ b/Sources/Services/AWSIvschat/Sources/AWSIvschat/IvschatClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class IvschatClient: ClientRuntime.Client { +public class IvschatClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "IvschatClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: IvschatClient.IvschatClientConfiguration let serviceName = "ivschat" diff --git a/Sources/Services/AWSKMS/Sources/AWSKMS/KMSClient.swift b/Sources/Services/AWSKMS/Sources/AWSKMS/KMSClient.swift index b9232c02896..be43210a3ee 100644 --- a/Sources/Services/AWSKMS/Sources/AWSKMS/KMSClient.swift +++ b/Sources/Services/AWSKMS/Sources/AWSKMS/KMSClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KMSClient: ClientRuntime.Client { +public class KMSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KMSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KMSClient.KMSClientConfiguration let serviceName = "KMS" diff --git a/Sources/Services/AWSKMS/Sources/AWSKMS/Models.swift b/Sources/Services/AWSKMS/Sources/AWSKMS/Models.swift index c6b3e065135..fab426ae747 100644 --- a/Sources/Services/AWSKMS/Sources/AWSKMS/Models.swift +++ b/Sources/Services/AWSKMS/Sources/AWSKMS/Models.swift @@ -1116,6 +1116,8 @@ public struct CreateCustomKeyStoreInput: Swift.Sendable { /// /// * External key stores with VPC_ENDPOINT_SERVICE connectivity can share an Amazon VPC, but each external key store must have its own VPC endpoint service and private DNS name. public var xksProxyVpcEndpointServiceName: Swift.String? + /// Specifies the Amazon Web Services account ID that owns the Amazon VPC service endpoint for the interface that is used to communicate with your external key store proxy (XKS proxy). This parameter is optional. If not provided, the Amazon Web Services account ID calling the action will be used. + public var xksProxyVpcEndpointServiceOwner: Swift.String? public init( cloudHsmClusterId: Swift.String? = nil, @@ -1127,7 +1129,8 @@ public struct CreateCustomKeyStoreInput: Swift.Sendable { xksProxyConnectivity: KMSClientTypes.XksProxyConnectivityType? = nil, xksProxyUriEndpoint: Swift.String? = nil, xksProxyUriPath: Swift.String? = nil, - xksProxyVpcEndpointServiceName: Swift.String? = nil + xksProxyVpcEndpointServiceName: Swift.String? = nil, + xksProxyVpcEndpointServiceOwner: Swift.String? = nil ) { self.cloudHsmClusterId = cloudHsmClusterId self.customKeyStoreName = customKeyStoreName @@ -1139,12 +1142,13 @@ public struct CreateCustomKeyStoreInput: Swift.Sendable { self.xksProxyUriEndpoint = xksProxyUriEndpoint self.xksProxyUriPath = xksProxyUriPath self.xksProxyVpcEndpointServiceName = xksProxyVpcEndpointServiceName + self.xksProxyVpcEndpointServiceOwner = xksProxyVpcEndpointServiceOwner } } extension CreateCustomKeyStoreInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CreateCustomKeyStoreInput(cloudHsmClusterId: \(Swift.String(describing: cloudHsmClusterId)), customKeyStoreName: \(Swift.String(describing: customKeyStoreName)), customKeyStoreType: \(Swift.String(describing: customKeyStoreType)), trustAnchorCertificate: \(Swift.String(describing: trustAnchorCertificate)), xksProxyAuthenticationCredential: \(Swift.String(describing: xksProxyAuthenticationCredential)), xksProxyConnectivity: \(Swift.String(describing: xksProxyConnectivity)), xksProxyUriEndpoint: \(Swift.String(describing: xksProxyUriEndpoint)), xksProxyUriPath: \(Swift.String(describing: xksProxyUriPath)), xksProxyVpcEndpointServiceName: \(Swift.String(describing: xksProxyVpcEndpointServiceName)), keyStorePassword: \"CONTENT_REDACTED\")"} + "CreateCustomKeyStoreInput(cloudHsmClusterId: \(Swift.String(describing: cloudHsmClusterId)), customKeyStoreName: \(Swift.String(describing: customKeyStoreName)), customKeyStoreType: \(Swift.String(describing: customKeyStoreType)), trustAnchorCertificate: \(Swift.String(describing: trustAnchorCertificate)), xksProxyAuthenticationCredential: \(Swift.String(describing: xksProxyAuthenticationCredential)), xksProxyConnectivity: \(Swift.String(describing: xksProxyConnectivity)), xksProxyUriEndpoint: \(Swift.String(describing: xksProxyUriEndpoint)), xksProxyUriPath: \(Swift.String(describing: xksProxyUriPath)), xksProxyVpcEndpointServiceName: \(Swift.String(describing: xksProxyVpcEndpointServiceName)), xksProxyVpcEndpointServiceOwner: \(Swift.String(describing: xksProxyVpcEndpointServiceOwner)), keyStorePassword: \"CONTENT_REDACTED\")"} } public struct CreateCustomKeyStoreOutput: Swift.Sendable { @@ -2398,26 +2402,30 @@ extension KMSClientTypes { public var uriPath: Swift.String? /// The Amazon VPC endpoint service used to communicate with the external key store proxy. This field appears only when the external key store proxy uses an Amazon VPC endpoint service to communicate with KMS. public var vpcEndpointServiceName: Swift.String? + /// The Amazon Web Services account ID that owns the Amazon VPC endpoint service used to communicate with the external key store proxy (XKS). This field appears only when the XKS uses an VPC endpoint service to communicate with KMS. + public var vpcEndpointServiceOwner: Swift.String? public init( accessKeyId: Swift.String? = nil, connectivity: KMSClientTypes.XksProxyConnectivityType? = nil, uriEndpoint: Swift.String? = nil, uriPath: Swift.String? = nil, - vpcEndpointServiceName: Swift.String? = nil + vpcEndpointServiceName: Swift.String? = nil, + vpcEndpointServiceOwner: Swift.String? = nil ) { self.accessKeyId = accessKeyId self.connectivity = connectivity self.uriEndpoint = uriEndpoint self.uriPath = uriPath self.vpcEndpointServiceName = vpcEndpointServiceName + self.vpcEndpointServiceOwner = vpcEndpointServiceOwner } } } extension KMSClientTypes.XksProxyConfigurationType: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "XksProxyConfigurationType(connectivity: \(Swift.String(describing: connectivity)), uriEndpoint: \(Swift.String(describing: uriEndpoint)), uriPath: \(Swift.String(describing: uriPath)), vpcEndpointServiceName: \(Swift.String(describing: vpcEndpointServiceName)), accessKeyId: \"CONTENT_REDACTED\")"} + "XksProxyConfigurationType(connectivity: \(Swift.String(describing: connectivity)), uriEndpoint: \(Swift.String(describing: uriEndpoint)), uriPath: \(Swift.String(describing: uriPath)), vpcEndpointServiceName: \(Swift.String(describing: vpcEndpointServiceName)), vpcEndpointServiceOwner: \(Swift.String(describing: vpcEndpointServiceOwner)), accessKeyId: \"CONTENT_REDACTED\")"} } extension KMSClientTypes { @@ -5227,6 +5235,8 @@ public struct UpdateCustomKeyStoreInput: Swift.Sendable { public var xksProxyUriPath: Swift.String? /// Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external key store proxy (XKS proxy). This parameter is valid when the CustomKeyStoreType is EXTERNAL_KEY_STORE and the XksProxyConnectivity is VPC_ENDPOINT_SERVICE. To change this value, the external key store must be disconnected. public var xksProxyVpcEndpointServiceName: Swift.String? + /// Changes the Amazon Web Services account ID that KMS uses to identify the Amazon VPC endpoint service for your external key store proxy (XKS proxy). This parameter is optional. If not specified, the current Amazon Web Services account ID for the VPC endpoint service will not be updated. To change this value, the external key store must be disconnected. + public var xksProxyVpcEndpointServiceOwner: Swift.String? public init( cloudHsmClusterId: Swift.String? = nil, @@ -5237,7 +5247,8 @@ public struct UpdateCustomKeyStoreInput: Swift.Sendable { xksProxyConnectivity: KMSClientTypes.XksProxyConnectivityType? = nil, xksProxyUriEndpoint: Swift.String? = nil, xksProxyUriPath: Swift.String? = nil, - xksProxyVpcEndpointServiceName: Swift.String? = nil + xksProxyVpcEndpointServiceName: Swift.String? = nil, + xksProxyVpcEndpointServiceOwner: Swift.String? = nil ) { self.cloudHsmClusterId = cloudHsmClusterId self.customKeyStoreId = customKeyStoreId @@ -5248,12 +5259,13 @@ public struct UpdateCustomKeyStoreInput: Swift.Sendable { self.xksProxyUriEndpoint = xksProxyUriEndpoint self.xksProxyUriPath = xksProxyUriPath self.xksProxyVpcEndpointServiceName = xksProxyVpcEndpointServiceName + self.xksProxyVpcEndpointServiceOwner = xksProxyVpcEndpointServiceOwner } } extension UpdateCustomKeyStoreInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "UpdateCustomKeyStoreInput(cloudHsmClusterId: \(Swift.String(describing: cloudHsmClusterId)), customKeyStoreId: \(Swift.String(describing: customKeyStoreId)), newCustomKeyStoreName: \(Swift.String(describing: newCustomKeyStoreName)), xksProxyAuthenticationCredential: \(Swift.String(describing: xksProxyAuthenticationCredential)), xksProxyConnectivity: \(Swift.String(describing: xksProxyConnectivity)), xksProxyUriEndpoint: \(Swift.String(describing: xksProxyUriEndpoint)), xksProxyUriPath: \(Swift.String(describing: xksProxyUriPath)), xksProxyVpcEndpointServiceName: \(Swift.String(describing: xksProxyVpcEndpointServiceName)), keyStorePassword: \"CONTENT_REDACTED\")"} + "UpdateCustomKeyStoreInput(cloudHsmClusterId: \(Swift.String(describing: cloudHsmClusterId)), customKeyStoreId: \(Swift.String(describing: customKeyStoreId)), newCustomKeyStoreName: \(Swift.String(describing: newCustomKeyStoreName)), xksProxyAuthenticationCredential: \(Swift.String(describing: xksProxyAuthenticationCredential)), xksProxyConnectivity: \(Swift.String(describing: xksProxyConnectivity)), xksProxyUriEndpoint: \(Swift.String(describing: xksProxyUriEndpoint)), xksProxyUriPath: \(Swift.String(describing: xksProxyUriPath)), xksProxyVpcEndpointServiceName: \(Swift.String(describing: xksProxyVpcEndpointServiceName)), xksProxyVpcEndpointServiceOwner: \(Swift.String(describing: xksProxyVpcEndpointServiceOwner)), keyStorePassword: \"CONTENT_REDACTED\")"} } public struct UpdateCustomKeyStoreOutput: Swift.Sendable { @@ -5862,6 +5874,7 @@ extension CreateCustomKeyStoreInput { try writer["XksProxyUriEndpoint"].write(value.xksProxyUriEndpoint) try writer["XksProxyUriPath"].write(value.xksProxyUriPath) try writer["XksProxyVpcEndpointServiceName"].write(value.xksProxyVpcEndpointServiceName) + try writer["XksProxyVpcEndpointServiceOwner"].write(value.xksProxyVpcEndpointServiceOwner) } } @@ -6352,6 +6365,7 @@ extension UpdateCustomKeyStoreInput { try writer["XksProxyUriEndpoint"].write(value.xksProxyUriEndpoint) try writer["XksProxyUriPath"].write(value.xksProxyUriPath) try writer["XksProxyVpcEndpointServiceName"].write(value.xksProxyVpcEndpointServiceName) + try writer["XksProxyVpcEndpointServiceOwner"].write(value.xksProxyVpcEndpointServiceOwner) } } @@ -8822,6 +8836,7 @@ extension KMSClientTypes.XksProxyConfigurationType { value.uriEndpoint = try reader["UriEndpoint"].readIfPresent() value.uriPath = try reader["UriPath"].readIfPresent() value.vpcEndpointServiceName = try reader["VpcEndpointServiceName"].readIfPresent() + value.vpcEndpointServiceOwner = try reader["VpcEndpointServiceOwner"].readIfPresent() return value } } diff --git a/Sources/Services/AWSKafka/Sources/AWSKafka/KafkaClient.swift b/Sources/Services/AWSKafka/Sources/AWSKafka/KafkaClient.swift index d3f6364c3c4..5422aa89ff5 100644 --- a/Sources/Services/AWSKafka/Sources/AWSKafka/KafkaClient.swift +++ b/Sources/Services/AWSKafka/Sources/AWSKafka/KafkaClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KafkaClient: ClientRuntime.Client { +public class KafkaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KafkaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KafkaClient.KafkaClientConfiguration let serviceName = "Kafka" diff --git a/Sources/Services/AWSKafkaConnect/Sources/AWSKafkaConnect/KafkaConnectClient.swift b/Sources/Services/AWSKafkaConnect/Sources/AWSKafkaConnect/KafkaConnectClient.swift index e43cde6a6ce..d09bee06d6b 100644 --- a/Sources/Services/AWSKafkaConnect/Sources/AWSKafkaConnect/KafkaConnectClient.swift +++ b/Sources/Services/AWSKafkaConnect/Sources/AWSKafkaConnect/KafkaConnectClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KafkaConnectClient: ClientRuntime.Client { +public class KafkaConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KafkaConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KafkaConnectClient.KafkaConnectClientConfiguration let serviceName = "KafkaConnect" diff --git a/Sources/Services/AWSKendra/Sources/AWSKendra/KendraClient.swift b/Sources/Services/AWSKendra/Sources/AWSKendra/KendraClient.swift index e7d2929033a..368d0e6d6ec 100644 --- a/Sources/Services/AWSKendra/Sources/AWSKendra/KendraClient.swift +++ b/Sources/Services/AWSKendra/Sources/AWSKendra/KendraClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KendraClient: ClientRuntime.Client { +public class KendraClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KendraClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KendraClient.KendraClientConfiguration let serviceName = "kendra" diff --git a/Sources/Services/AWSKendraRanking/Sources/AWSKendraRanking/KendraRankingClient.swift b/Sources/Services/AWSKendraRanking/Sources/AWSKendraRanking/KendraRankingClient.swift index e6b06932520..39e676dd36c 100644 --- a/Sources/Services/AWSKendraRanking/Sources/AWSKendraRanking/KendraRankingClient.swift +++ b/Sources/Services/AWSKendraRanking/Sources/AWSKendraRanking/KendraRankingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KendraRankingClient: ClientRuntime.Client { +public class KendraRankingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KendraRankingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KendraRankingClient.KendraRankingClientConfiguration let serviceName = "Kendra Ranking" diff --git a/Sources/Services/AWSKeyspaces/Sources/AWSKeyspaces/KeyspacesClient.swift b/Sources/Services/AWSKeyspaces/Sources/AWSKeyspaces/KeyspacesClient.swift index ac60bb4e7b9..5ec6d5152c0 100644 --- a/Sources/Services/AWSKeyspaces/Sources/AWSKeyspaces/KeyspacesClient.swift +++ b/Sources/Services/AWSKeyspaces/Sources/AWSKeyspaces/KeyspacesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KeyspacesClient: ClientRuntime.Client { +public class KeyspacesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KeyspacesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KeyspacesClient.KeyspacesClientConfiguration let serviceName = "Keyspaces" diff --git a/Sources/Services/AWSKeyspacesStreams/Sources/AWSKeyspacesStreams/KeyspacesStreamsClient.swift b/Sources/Services/AWSKeyspacesStreams/Sources/AWSKeyspacesStreams/KeyspacesStreamsClient.swift index 377ddf642ce..f592f92b1e8 100644 --- a/Sources/Services/AWSKeyspacesStreams/Sources/AWSKeyspacesStreams/KeyspacesStreamsClient.swift +++ b/Sources/Services/AWSKeyspacesStreams/Sources/AWSKeyspacesStreams/KeyspacesStreamsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KeyspacesStreamsClient: ClientRuntime.Client { +public class KeyspacesStreamsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KeyspacesStreamsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KeyspacesStreamsClient.KeyspacesStreamsClientConfiguration let serviceName = "KeyspacesStreams" diff --git a/Sources/Services/AWSKinesis/Sources/AWSKinesis/KinesisClient.swift b/Sources/Services/AWSKinesis/Sources/AWSKinesis/KinesisClient.swift index 99576184ccf..c0e41c489f8 100644 --- a/Sources/Services/AWSKinesis/Sources/AWSKinesis/KinesisClient.swift +++ b/Sources/Services/AWSKinesis/Sources/AWSKinesis/KinesisClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisClient: ClientRuntime.Client { +public class KinesisClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisClient.KinesisClientConfiguration let serviceName = "Kinesis" @@ -1987,7 +1986,7 @@ extension KinesisClient { /// Performs the `PutRecord` operation on the `Kinesis` service. /// - /// Writes a single data record into an Amazon Kinesis data stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second. When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API. You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine the shard to which a given data record belongs. Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see [Adding Data to a Stream](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) in the Amazon Kinesis Data Streams Developer Guide. PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record. Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see [Adding Data to a Stream](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) in the Amazon Kinesis Data Streams Developer Guide. After you write a record to a stream, you cannot modify that record or its order within the stream. If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use [IncreaseStreamRetentionPeriod] or [DecreaseStreamRetentionPeriod] to modify this retention period. + /// Writes a single data record into an Amazon Kinesis data stream. Call PutRecord to send data into the stream for real-time ingestion and subsequent processing, one record at a time. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 10 MiB per second. When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API. You must specify the name of the stream that captures, stores, and transports the data; a partition key; and the data blob itself. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Data Streams to distribute data across shards. Kinesis Data Streams segregates the data records that belong to a stream into multiple shards, using the partition key associated with each data record to determine the shard to which a given data record belongs. Partition keys are Unicode strings, with a maximum length limit of 256 characters for each key. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards using the hash key ranges of the shards. You can override hashing the partition key to determine the shard by explicitly specifying a hash value using the ExplicitHashKey parameter. For more information, see [Adding Data to a Stream](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) in the Amazon Kinesis Data Streams Developer Guide. PutRecord returns the shard ID of where the data record was placed and the sequence number that was assigned to the data record. Sequence numbers increase over time and are specific to a shard within a stream, not across all shards within a stream. To guarantee strictly increasing ordering, write serially to a shard and use the SequenceNumberForOrdering parameter. For more information, see [Adding Data to a Stream](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) in the Amazon Kinesis Data Streams Developer Guide. After you write a record to a stream, you cannot modify that record or its order within the stream. If a PutRecord request cannot be processed because of insufficient provisioned throughput on the shard involved in the request, PutRecord throws ProvisionedThroughputExceededException. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use [IncreaseStreamRetentionPeriod] or [DecreaseStreamRetentionPeriod] to modify this retention period. /// /// - Parameter input: Represents the input for PutRecord. (Type: `PutRecordInput`) /// @@ -2066,7 +2065,7 @@ extension KinesisClient { /// Performs the `PutRecords` operation on the `Kinesis` service. /// - /// Writes multiple data records into a Kinesis data stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing. When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API. Each PutRecords request can support up to 500 records. Each record in the request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MiB per second. You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Data Streams as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see [Adding Data to a Stream](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) in the Amazon Kinesis Data Streams Developer Guide. Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see [Adding Multiple Records with PutRecords](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-putrecords) in the Amazon Kinesis Data Streams Developer Guide. The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array. The response Records array includes both successfully and unsuccessfully processed records. Kinesis Data Streams attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records. As a result, PutRecords doesn't guarantee the ordering of records. If you need to read records in the same order they are written to the stream, use [PutRecord] instead of PutRecords, and write to the same shard. A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see [Adding Multiple Records with PutRecords](https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-add-data-to-stream.html#kinesis-using-sdk-java-putrecords) in the Amazon Kinesis Data Streams Developer Guide. After you write a record to a stream, you cannot modify that record or its order within the stream. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use [IncreaseStreamRetentionPeriod] or [DecreaseStreamRetentionPeriod] to modify this retention period. + /// Writes multiple data records into a Kinesis data stream in a single call (also referred to as a PutRecords request). Use this operation to send data into the stream for data ingestion and processing. When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API. Each PutRecords request can support up to 500 records. Each record in the request can be as large as 10 MiB, up to a limit of 10 MiB for the entire request, including partition keys. Each shard can support writes up to 1,000 records per second, up to a maximum data write total of 1 MB per second. You must specify the name of the stream that captures, stores, and transports the data; and an array of request Records, with each record in the array requiring a partition key and data blob. The record size limit applies to the total size of the partition key and data blob. The data blob can be any type of data; for example, a segment from a log file, geographic/location data, website clickstream data, and so on. The partition key is used by Kinesis Data Streams as input to a hash function that maps the partition key and associated data to a specific shard. An MD5 hash function is used to map partition keys to 128-bit integer values and to map associated data records to shards. As a result of this hashing mechanism, all data records with the same partition key map to the same shard within the stream. For more information, see [Adding Data to a Stream](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-add-data-to-stream) in the Amazon Kinesis Data Streams Developer Guide. Each record in the Records array may include an optional parameter, ExplicitHashKey, which overrides the partition key to shard mapping. This parameter allows a data producer to determine explicitly the shard where the record is stored. For more information, see [Adding Multiple Records with PutRecords](https://docs.aws.amazon.com/kinesis/latest/dev/developing-producers-with-sdk.html#kinesis-using-sdk-java-putrecords) in the Amazon Kinesis Data Streams Developer Guide. The PutRecords response includes an array of response Records. Each record in the response array directly correlates with a record in the request array using natural ordering, from the top to the bottom of the request and response. The response Records array always includes the same number of records as the request array. The response Records array includes both successfully and unsuccessfully processed records. Kinesis Data Streams attempts to process all records in each PutRecords request. A single record failure does not stop the processing of subsequent records. As a result, PutRecords doesn't guarantee the ordering of records. If you need to read records in the same order they are written to the stream, use [PutRecord] instead of PutRecords, and write to the same shard. A successfully processed record includes ShardId and SequenceNumber values. The ShardId parameter identifies the shard in the stream where the record is stored. The SequenceNumber parameter is an identifier assigned to the put record, unique to all records in the stream. An unsuccessfully processed record includes ErrorCode and ErrorMessage values. ErrorCode reflects the type of error and can be one of the following values: ProvisionedThroughputExceededException or InternalFailure. ErrorMessage provides more detailed information about the ProvisionedThroughputExceededException exception including the account ID, stream name, and shard ID of the record that was throttled. For more information about partially successful responses, see [Adding Multiple Records with PutRecords](https://docs.aws.amazon.com/kinesis/latest/dev/kinesis-using-sdk-java-add-data-to-stream.html#kinesis-using-sdk-java-putrecords) in the Amazon Kinesis Data Streams Developer Guide. After you write a record to a stream, you cannot modify that record or its order within the stream. By default, data records are accessible for 24 hours from the time that they are added to a stream. You can use [IncreaseStreamRetentionPeriod] or [DecreaseStreamRetentionPeriod] to modify this retention period. /// /// - Parameter input: A PutRecords request. (Type: `PutRecordsInput`) /// @@ -2813,6 +2812,80 @@ extension KinesisClient { return try await op.execute(input: input) } + /// Performs the `UpdateMaxRecordSize` operation on the `Kinesis` service. + /// + /// This allows you to update the MaxRecordSize of a single record that you can write to, and read from a stream. You can ingest and digest single records up to 10240 KiB. + /// + /// - Parameter input: [no documentation found] (Type: `UpdateMaxRecordSizeInput`) + /// + /// - Returns: [no documentation found] (Type: `UpdateMaxRecordSizeOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Specifies that you do not have the permissions required to perform this operation. + /// - `InvalidArgumentException` : A specified parameter exceeds its restrictions, is not supported, or can't be used. For more information, see the returned message. + /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. + /// - `ResourceInUseException` : The resource is not available for this operation. For successful operation, the resource must be in the ACTIVE state. + /// - `ResourceNotFoundException` : The requested resource could not be found. The stream might not be specified correctly. + /// - `ValidationException` : Specifies that you tried to invoke this API for a data stream with the on-demand capacity mode. This API is only supported for data streams with the provisioned capacity mode. + public func updateMaxRecordSize(input: UpdateMaxRecordSizeInput) async throws -> UpdateMaxRecordSizeOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "updateMaxRecordSize") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "kinesis") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateMaxRecordSizeInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateMaxRecordSizeOutput.httpOutput(from:), UpdateMaxRecordSizeOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("Kinesis", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, operationType: "control", region: config.region, streamARN: input.streamARN, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "Kinesis_20131202.UpdateMaxRecordSize")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateMaxRecordSizeInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: KinesisClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "Kinesis") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateMaxRecordSize") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `UpdateShardCount` operation on the `Kinesis` service. /// /// Updates the shard count of the specified stream to the specified number of shards. This API is only supported for the data streams with the provisioned capacity mode. When invoking this API, you must use either the StreamARN or the StreamName parameter, or both. It is recommended that you use the StreamARN input parameter when you invoke this API. Updating the shard count is an asynchronous operation. Upon receiving the request, Kinesis Data Streams returns immediately and sets the status of the stream to UPDATING. After the update is complete, Kinesis Data Streams sets the status of the stream back to ACTIVE. Depending on the size of the stream, the scaling action could take a few minutes to complete. You can continue to read and write data to your stream while its status is UPDATING. To update the shard count, Kinesis Data Streams performs splits or merges on individual shards. This can cause short-lived shards to be created, in addition to the final shards. These short-lived shards count towards your total shard limit for your account in the Region. When using this operation, we recommend that you specify a target shard count that is a multiple of 25% (25%, 50%, 75%, 100%). You can specify any target value within your shard limit. However, if you specify a target that isn't a multiple of 25%, the scaling action might take longer to complete. This operation has the following default limits. By default, you cannot do the following: diff --git a/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift b/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift index 39fa82ed04c..424dc7c8b7b 100644 --- a/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift +++ b/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift @@ -110,6 +110,11 @@ public struct UntagResourceOutput: Swift.Sendable { public init() { } } +public struct UpdateMaxRecordSizeOutput: Swift.Sendable { + + public init() { } +} + public struct UpdateStreamModeOutput: Swift.Sendable { public init() { } @@ -448,6 +453,8 @@ extension KinesisClientTypes { /// Represents the input for CreateStream. public struct CreateStreamInput: Swift.Sendable { + /// The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream. + public var maxRecordSizeInKiB: Swift.Int? /// The number of shards that the stream will use. The throughput of the stream is a function of the number of shards; more shards are required for greater provisioned throughput. public var shardCount: Swift.Int? /// Indicates the capacity mode of the data stream. Currently, in Kinesis Data Streams, you can choose between an on-demand capacity mode and a provisioned capacity mode for your data streams. @@ -459,11 +466,13 @@ public struct CreateStreamInput: Swift.Sendable { public var tags: [Swift.String: Swift.String]? public init( + maxRecordSizeInKiB: Swift.Int? = nil, shardCount: Swift.Int? = nil, streamModeDetails: KinesisClientTypes.StreamModeDetails? = nil, streamName: Swift.String? = nil, tags: [Swift.String: Swift.String]? = nil ) { + self.maxRecordSizeInKiB = maxRecordSizeInKiB self.shardCount = shardCount self.streamModeDetails = streamModeDetails self.streamName = streamName @@ -969,6 +978,8 @@ extension KinesisClientTypes { /// /// * Master key owned by Kinesis Data Streams: alias/aws/kinesis public var keyId: Swift.String? + /// The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream. + public var maxRecordSizeInKiB: Swift.Int? /// The number of open shards in the stream. /// This member is required. public var openShardCount: Swift.Int? @@ -1003,6 +1014,7 @@ extension KinesisClientTypes { encryptionType: KinesisClientTypes.EncryptionType? = nil, enhancedMonitoring: [KinesisClientTypes.EnhancedMetrics]? = nil, keyId: Swift.String? = nil, + maxRecordSizeInKiB: Swift.Int? = nil, openShardCount: Swift.Int? = nil, retentionPeriodHours: Swift.Int? = nil, streamARN: Swift.String? = nil, @@ -1015,6 +1027,7 @@ extension KinesisClientTypes { self.encryptionType = encryptionType self.enhancedMonitoring = enhancedMonitoring self.keyId = keyId + self.maxRecordSizeInKiB = maxRecordSizeInKiB self.openShardCount = openShardCount self.retentionPeriodHours = retentionPeriodHours self.streamARN = streamARN @@ -2464,6 +2477,22 @@ public struct UntagResourceInput: Swift.Sendable { } } +public struct UpdateMaxRecordSizeInput: Swift.Sendable { + /// The maximum record size of a single record in KiB that you can write to, and read from a stream. Specify a value between 1024 and 10240 KiB (1 to 10 MiB). If you specify a value that is out of this range, UpdateMaxRecordSize sends back an ValidationException message. + /// This member is required. + public var maxRecordSizeInKiB: Swift.Int? + /// The Amazon Resource Name (ARN) of the stream for the MaxRecordSize update. + public var streamARN: Swift.String? + + public init( + maxRecordSizeInKiB: Swift.Int? = nil, + streamARN: Swift.String? = nil + ) { + self.maxRecordSizeInKiB = maxRecordSizeInKiB + self.streamARN = streamARN + } +} + extension KinesisClientTypes { public enum ScalingType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -2794,6 +2823,13 @@ extension UntagResourceInput { } } +extension UpdateMaxRecordSizeInput { + + static func urlPathProvider(_ value: UpdateMaxRecordSizeInput) -> Swift.String? { + return "/" + } +} + extension UpdateShardCountInput { static func urlPathProvider(_ value: UpdateShardCountInput) -> Swift.String? { @@ -2822,6 +2858,7 @@ extension CreateStreamInput { static func write(value: CreateStreamInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["MaxRecordSizeInKiB"].write(value.maxRecordSizeInKiB) try writer["ShardCount"].write(value.shardCount) try writer["StreamModeDetails"].write(value.streamModeDetails, with: KinesisClientTypes.StreamModeDetails.write(value:to:)) try writer["StreamName"].write(value.streamName) @@ -3144,6 +3181,15 @@ extension UntagResourceInput { } } +extension UpdateMaxRecordSizeInput { + + static func write(value: UpdateMaxRecordSizeInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["MaxRecordSizeInKiB"].write(value.maxRecordSizeInKiB) + try writer["StreamARN"].write(value.streamARN) + } +} + extension UpdateShardCountInput { static func write(value: UpdateShardCountInput?, to writer: SmithyJSON.Writer) throws { @@ -3508,6 +3554,13 @@ extension UntagResourceOutput { } } +extension UpdateMaxRecordSizeOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateMaxRecordSizeOutput { + return UpdateMaxRecordSizeOutput() + } +} + extension UpdateShardCountOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateShardCountOutput { @@ -4136,6 +4189,25 @@ enum UntagResourceOutputError { } } +enum UpdateMaxRecordSizeOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InvalidArgumentException": return try InvalidArgumentException.makeError(baseError: baseError) + case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) + case "ResourceInUseException": return try ResourceInUseException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum UpdateShardCountOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -4550,6 +4622,7 @@ extension KinesisClientTypes.StreamDescriptionSummary { value.keyId = try reader["KeyId"].readIfPresent() value.openShardCount = try reader["OpenShardCount"].readIfPresent() ?? 0 value.consumerCount = try reader["ConsumerCount"].readIfPresent() + value.maxRecordSizeInKiB = try reader["MaxRecordSizeInKiB"].readIfPresent() return value } } diff --git a/Sources/Services/AWSKinesisAnalytics/Sources/AWSKinesisAnalytics/KinesisAnalyticsClient.swift b/Sources/Services/AWSKinesisAnalytics/Sources/AWSKinesisAnalytics/KinesisAnalyticsClient.swift index 5611c0df2a1..bf48953d04f 100644 --- a/Sources/Services/AWSKinesisAnalytics/Sources/AWSKinesisAnalytics/KinesisAnalyticsClient.swift +++ b/Sources/Services/AWSKinesisAnalytics/Sources/AWSKinesisAnalytics/KinesisAnalyticsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisAnalyticsClient: ClientRuntime.Client { +public class KinesisAnalyticsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisAnalyticsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisAnalyticsClient.KinesisAnalyticsClientConfiguration let serviceName = "Kinesis Analytics" diff --git a/Sources/Services/AWSKinesisAnalyticsV2/Sources/AWSKinesisAnalyticsV2/KinesisAnalyticsV2Client.swift b/Sources/Services/AWSKinesisAnalyticsV2/Sources/AWSKinesisAnalyticsV2/KinesisAnalyticsV2Client.swift index 49727dc5837..c71ac7bd063 100644 --- a/Sources/Services/AWSKinesisAnalyticsV2/Sources/AWSKinesisAnalyticsV2/KinesisAnalyticsV2Client.swift +++ b/Sources/Services/AWSKinesisAnalyticsV2/Sources/AWSKinesisAnalyticsV2/KinesisAnalyticsV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisAnalyticsV2Client: ClientRuntime.Client { +public class KinesisAnalyticsV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisAnalyticsV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisAnalyticsV2Client.KinesisAnalyticsV2ClientConfiguration let serviceName = "Kinesis Analytics V2" diff --git a/Sources/Services/AWSKinesisVideo/Sources/AWSKinesisVideo/KinesisVideoClient.swift b/Sources/Services/AWSKinesisVideo/Sources/AWSKinesisVideo/KinesisVideoClient.swift index 7cb2d6d098d..09a38015b62 100644 --- a/Sources/Services/AWSKinesisVideo/Sources/AWSKinesisVideo/KinesisVideoClient.swift +++ b/Sources/Services/AWSKinesisVideo/Sources/AWSKinesisVideo/KinesisVideoClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisVideoClient: ClientRuntime.Client { +public class KinesisVideoClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisVideoClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisVideoClient.KinesisVideoClientConfiguration let serviceName = "Kinesis Video" diff --git a/Sources/Services/AWSKinesisVideoArchivedMedia/Sources/AWSKinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.swift b/Sources/Services/AWSKinesisVideoArchivedMedia/Sources/AWSKinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.swift index b310375e97d..ecc5ff09deb 100644 --- a/Sources/Services/AWSKinesisVideoArchivedMedia/Sources/AWSKinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.swift +++ b/Sources/Services/AWSKinesisVideoArchivedMedia/Sources/AWSKinesisVideoArchivedMedia/KinesisVideoArchivedMediaClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisVideoArchivedMediaClient: ClientRuntime.Client { +public class KinesisVideoArchivedMediaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisVideoArchivedMediaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisVideoArchivedMediaClient.KinesisVideoArchivedMediaClientConfiguration let serviceName = "Kinesis Video Archived Media" diff --git a/Sources/Services/AWSKinesisVideoMedia/Sources/AWSKinesisVideoMedia/KinesisVideoMediaClient.swift b/Sources/Services/AWSKinesisVideoMedia/Sources/AWSKinesisVideoMedia/KinesisVideoMediaClient.swift index c020fa98d21..42e0aab32d4 100644 --- a/Sources/Services/AWSKinesisVideoMedia/Sources/AWSKinesisVideoMedia/KinesisVideoMediaClient.swift +++ b/Sources/Services/AWSKinesisVideoMedia/Sources/AWSKinesisVideoMedia/KinesisVideoMediaClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisVideoMediaClient: ClientRuntime.Client { +public class KinesisVideoMediaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisVideoMediaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisVideoMediaClient.KinesisVideoMediaClientConfiguration let serviceName = "Kinesis Video Media" diff --git a/Sources/Services/AWSKinesisVideoSignaling/Sources/AWSKinesisVideoSignaling/KinesisVideoSignalingClient.swift b/Sources/Services/AWSKinesisVideoSignaling/Sources/AWSKinesisVideoSignaling/KinesisVideoSignalingClient.swift index 69da10b6ed2..a690f33fb15 100644 --- a/Sources/Services/AWSKinesisVideoSignaling/Sources/AWSKinesisVideoSignaling/KinesisVideoSignalingClient.swift +++ b/Sources/Services/AWSKinesisVideoSignaling/Sources/AWSKinesisVideoSignaling/KinesisVideoSignalingClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisVideoSignalingClient: ClientRuntime.Client { +public class KinesisVideoSignalingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisVideoSignalingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisVideoSignalingClient.KinesisVideoSignalingClientConfiguration let serviceName = "Kinesis Video Signaling" diff --git a/Sources/Services/AWSKinesisVideoWebRTCStorage/Sources/AWSKinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.swift b/Sources/Services/AWSKinesisVideoWebRTCStorage/Sources/AWSKinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.swift index b2ecfe40794..c268b123b95 100644 --- a/Sources/Services/AWSKinesisVideoWebRTCStorage/Sources/AWSKinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.swift +++ b/Sources/Services/AWSKinesisVideoWebRTCStorage/Sources/AWSKinesisVideoWebRTCStorage/KinesisVideoWebRTCStorageClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class KinesisVideoWebRTCStorageClient: ClientRuntime.Client { +public class KinesisVideoWebRTCStorageClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "KinesisVideoWebRTCStorageClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: KinesisVideoWebRTCStorageClient.KinesisVideoWebRTCStorageClientConfiguration let serviceName = "Kinesis Video WebRTC Storage" diff --git a/Sources/Services/AWSLakeFormation/Sources/AWSLakeFormation/LakeFormationClient.swift b/Sources/Services/AWSLakeFormation/Sources/AWSLakeFormation/LakeFormationClient.swift index f3e0c67d6db..8604c26cd98 100644 --- a/Sources/Services/AWSLakeFormation/Sources/AWSLakeFormation/LakeFormationClient.swift +++ b/Sources/Services/AWSLakeFormation/Sources/AWSLakeFormation/LakeFormationClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LakeFormationClient: ClientRuntime.Client { +public class LakeFormationClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LakeFormationClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LakeFormationClient.LakeFormationClientConfiguration let serviceName = "LakeFormation" diff --git a/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift b/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift index 12b321ebaa7..ad42f154cf5 100644 --- a/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift +++ b/Sources/Services/AWSLambda/Sources/AWSLambda/LambdaClient.swift @@ -34,7 +34,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -71,9 +71,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LambdaClient: ClientRuntime.Client { +public class LambdaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LambdaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LambdaClient.LambdaClientConfiguration let serviceName = "Lambda" @@ -1150,7 +1149,7 @@ extension LambdaClient { /// Performs the `DeleteFunction` operation on the `Lambda` service. /// - /// Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted. This doesn't require the user to have explicit permissions for [DeleteAlias]. To delete Lambda event source mappings that invoke a function, use [DeleteEventSourceMapping]. For Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you originally configured it. + /// Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted. This doesn't require the user to have explicit permissions for [DeleteAlias]. A deleted Lambda function cannot be recovered. Ensure that you specify the correct function name and version before deleting. To delete Lambda event source mappings that invoke a function, use [DeleteEventSourceMapping]. For Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you originally configured it. /// /// - Parameter input: [no documentation found] (Type: `DeleteFunctionInput`) /// @@ -2796,7 +2795,7 @@ extension LambdaClient { /// Performs the `Invoke` operation on the `Lambda` service. /// - /// Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only. For [synchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html), details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the [execution log](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) and [trace](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html). When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see [Error handling and automatic retries in Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html). For [asynchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html), Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a [dead-letter queue](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, [quota](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded). For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings. This operation requires permission for the [lambda:InvokeFunction](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html) action. For details on how to set up permissions for cross-account invocations, see [Granting function access to other accounts](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#permissions-resource-xaccountinvoke). + /// Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only. For synchronous invocations, the maximum payload size is 6 MB. For asynchronous invocations, the maximum payload size is 1 MB. For [synchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-sync.html), details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the [execution log](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions.html) and [trace](https://docs.aws.amazon.com/lambda/latest/dg/lambda-x-ray.html). When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see [Error handling and automatic retries in Lambda](https://docs.aws.amazon.com/lambda/latest/dg/invocation-retries.html). For [asynchronous invocation](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html), Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a [dead-letter queue](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-dlq). The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, [quota](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html) errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded). For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings. This operation requires permission for the [lambda:InvokeFunction](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_awslambda.html) action. For details on how to set up permissions for cross-account invocations, see [Granting function access to other accounts](https://docs.aws.amazon.com/lambda/latest/dg/access-control-resource-based.html#permissions-resource-xaccountinvoke). /// /// - Parameter input: [no documentation found] (Type: `InvokeInput`) /// @@ -2828,6 +2827,7 @@ extension LambdaClient { /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ResourceNotReadyException` : The function is inactive and its VPC connection is no longer available. Wait for the VPC connection to reestablish and try again. + /// - `SerializedRequestEntityTooLargeException` : The processed request payload exceeded the Invoke request body size limit for asynchronous invocations. While the event payload may be under 1 MB, the size after internal serialization exceeds the maximum allowed size for asynchronous invocations. /// - `ServiceException` : The Lambda service encountered an internal error. /// - `SnapStartException` : The afterRestore()[runtime hook](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-runtime-hooks.html) encountered an error. For more information, check the Amazon CloudWatch logs. /// - `SnapStartNotReadyException` : Lambda is initializing your function. You can invoke the function when the [function state](https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html) becomes Active. @@ -2895,7 +2895,7 @@ extension LambdaClient { /// Performs the `InvokeAsync` operation on the `Lambda` service. /// - /// For asynchronous function invocation, use [Invoke]. Invokes a function asynchronously. If you do use the InvokeAsync action, note that it doesn't support the use of X-Ray active tracing. Trace ID is not propagated to the function, even if X-Ray active tracing is turned on. + /// For asynchronous function invocation, use [Invoke]. Invokes a function asynchronously. The payload limit is 256KB. For larger payloads, for up to 1MB, use [Invoke]. If you do use the InvokeAsync action, note that it doesn't support the use of X-Ray active tracing. Trace ID is not propagated to the function, even if X-Ray active tracing is turned on. @available(*, deprecated) /// /// - Parameter input: [no documentation found] (Type: `InvokeAsyncInput`) @@ -3000,6 +3000,7 @@ extension LambdaClient { /// - `ResourceConflictException` : The resource already exists, or another operation is in progress. /// - `ResourceNotFoundException` : The resource specified in the request does not exist. /// - `ResourceNotReadyException` : The function is inactive and its VPC connection is no longer available. Wait for the VPC connection to reestablish and try again. + /// - `SerializedRequestEntityTooLargeException` : The processed request payload exceeded the Invoke request body size limit for asynchronous invocations. While the event payload may be under 1 MB, the size after internal serialization exceeds the maximum allowed size for asynchronous invocations. /// - `ServiceException` : The Lambda service encountered an internal error. /// - `SnapStartException` : The afterRestore()[runtime hook](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-runtime-hooks.html) encountered an error. For more information, check the Amazon CloudWatch logs. /// - `SnapStartNotReadyException` : Lambda is initializing your function. You can invoke the function when the [function state](https://docs.aws.amazon.com/lambda/latest/dg/functions-states.html) becomes Active. diff --git a/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift b/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift index 120d825c1b9..e65210f40fe 100644 --- a/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift +++ b/Sources/Services/AWSLambda/Sources/AWSLambda/Models.swift @@ -492,9 +492,9 @@ public struct AddPermissionInput: Swift.Sendable { /// You can append a version number or alias to any of the formats. The length constraint applies only to the full ARN. If you specify only the function name, it is limited to 64 characters in length. /// This member is required. public var functionName: Swift.String? - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). public var functionUrlAuthType: LambdaClientTypes.FunctionUrlAuthType? - /// Restricts the lambda:InvokeFunction action to calls coming from a function URL. When set to true, this prevents the principal from invoking the function by any means other than the function URL. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// Restricts the lambda:InvokeFunction action to function URL calls. When set to true, this prevents the principal from invoking the function by any means other than the function URL. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). public var invokedViaFunctionUrl: Swift.Bool? /// The Amazon Web Services service, Amazon Web Services account, IAM user, or IAM role that invokes the function. If you specify a service, use SourceArn or SourceAccount to limit who can invoke the function through that service. /// This member is required. @@ -1133,7 +1133,7 @@ extension LambdaClientTypes { /// A destination for events that failed processing. For more information, see [Adding a destination](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html#invocation-async-destinations). public struct OnFailure: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the destination resource. To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination. To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination. + /// The Amazon Resource Name (ARN) of the destination resource. To retain records of unsuccessful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination. Amazon SNS destinations have a message size limit of 256 KB. If the combined size of the function request and response payload exceeds the limit, Lambda will drop the payload when sending OnFailure event to the destination. For details on this behavior, refer to [Retaining records of asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html). To retain records of failed invocations from [Kinesis](https://docs.aws.amazon.com/lambda/latest/dg/with-kinesis.html), [DynamoDB](https://docs.aws.amazon.com/lambda/latest/dg/with-ddb.html), [self-managed Kafka](https://docs.aws.amazon.com/lambda/latest/dg/with-kafka.html#services-smaa-onfailure-destination) or [Amazon MSK](https://docs.aws.amazon.com/lambda/latest/dg/with-msk.html#services-msk-onfailure-destination), you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination. public var destination: Swift.String? public init( @@ -1148,7 +1148,7 @@ extension LambdaClientTypes { /// A destination for events that were processed successfully. To retain records of successful [asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html#invocation-async-destinations), you can configure an Amazon SNS topic, Amazon SQS queue, Lambda function, or Amazon EventBridge event bus as the destination. OnSuccess is not supported in CreateEventSourceMapping or UpdateEventSourceMapping requests. public struct OnSuccess: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the destination resource. + /// The Amazon Resource Name (ARN) of the destination resource. Amazon SNS destinations have a message size limit of 256 KB. If the combined size of the function request and response payload exceeds the limit, Lambda will drop the payload when sending OnFailure event to the destination. For details on this behavior, refer to [Retaining records of asynchronous invocations](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async-retain-records.html). public var destination: Swift.String? public init( @@ -2990,6 +2990,7 @@ extension LambdaClientTypes { case java11 case java17 case java21 + case java25 case java8 case java8al2 case nodejs @@ -3000,6 +3001,7 @@ extension LambdaClientTypes { case nodejs18x case nodejs20x case nodejs22x + case nodejs24x case nodejs43 case nodejs43edge case nodejs610 @@ -3012,6 +3014,7 @@ extension LambdaClientTypes { case python311 case python312 case python313 + case python314 case python36 case python37 case python38 @@ -3035,6 +3038,7 @@ extension LambdaClientTypes { .java11, .java17, .java21, + .java25, .java8, .java8al2, .nodejs, @@ -3045,6 +3049,7 @@ extension LambdaClientTypes { .nodejs18x, .nodejs20x, .nodejs22x, + .nodejs24x, .nodejs43, .nodejs43edge, .nodejs610, @@ -3057,6 +3062,7 @@ extension LambdaClientTypes { .python311, .python312, .python313, + .python314, .python36, .python37, .python38, @@ -3086,6 +3092,7 @@ extension LambdaClientTypes { case .java11: return "java11" case .java17: return "java17" case .java21: return "java21" + case .java25: return "java25" case .java8: return "java8" case .java8al2: return "java8.al2" case .nodejs: return "nodejs" @@ -3096,6 +3103,7 @@ extension LambdaClientTypes { case .nodejs18x: return "nodejs18.x" case .nodejs20x: return "nodejs20.x" case .nodejs22x: return "nodejs22.x" + case .nodejs24x: return "nodejs24.x" case .nodejs43: return "nodejs4.3" case .nodejs43edge: return "nodejs4.3-edge" case .nodejs610: return "nodejs6.10" @@ -3108,6 +3116,7 @@ extension LambdaClientTypes { case .python311: return "python3.11" case .python312: return "python3.12" case .python313: return "python3.13" + case .python314: return "python3.14" case .python36: return "python3.6" case .python37: return "python3.7" case .python38: return "python3.8" @@ -4087,7 +4096,7 @@ extension LambdaClientTypes { } public struct CreateFunctionUrlConfigInput: Swift.Sendable { - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). /// This member is required. public var authType: LambdaClientTypes.FunctionUrlAuthType? /// The [cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. @@ -4129,7 +4138,7 @@ public struct CreateFunctionUrlConfigInput: Swift.Sendable { } public struct CreateFunctionUrlConfigOutput: Swift.Sendable { - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). /// This member is required. public var authType: LambdaClientTypes.FunctionUrlAuthType? /// The [cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. @@ -4978,7 +4987,7 @@ public struct GetFunctionUrlConfigInput: Swift.Sendable { } public struct GetFunctionUrlConfigOutput: Swift.Sendable { - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). /// This member is required. public var authType: LambdaClientTypes.FunctionUrlAuthType? /// The [cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. @@ -5666,6 +5675,33 @@ public struct ResourceNotReadyException: ClientRuntime.ModeledError, AWSClientRu } } +/// The processed request payload exceeded the Invoke request body size limit for asynchronous invocations. While the event payload may be under 1 MB, the size after internal serialization exceeds the maximum allowed size for asynchronous invocations. +public struct SerializedRequestEntityTooLargeException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + /// The error type. + public internal(set) var type: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "SerializedRequestEntityTooLargeException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil, + type: Swift.String? = nil + ) { + self.properties.message = message + self.properties.type = type + } +} + /// The afterRestore()[runtime hook](https://docs.aws.amazon.com/lambda/latest/dg/snapstart-runtime-hooks.html) encountered an error. For more information, check the Amazon CloudWatch logs. public struct SnapStartException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -5882,7 +5918,7 @@ public struct InvokeInput: Swift.Sendable { public var invocationType: LambdaClientTypes.InvocationType? /// Set to Tail to include the execution log in the response. Applies to synchronously invoked functions only. public var logType: LambdaClientTypes.LogType? - /// The JSON that you want to provide to your Lambda function as input. You can enter the JSON directly. For example, --payload '{ "key": "value" }'. You can also specify a file path. For example, --payload file://payload.json. + /// The JSON that you want to provide to your Lambda function as input. The maximum payload size is 6 MB for synchronous invocations and 1 MB for asynchronous invocations. You can enter the JSON directly. For example, --payload '{ "key": "value" }'. You can also specify a file path. For example, --payload file://payload.json. public var payload: Foundation.Data? /// Specify a version or alias to invoke a published version of the function. public var qualifier: Swift.String? @@ -7362,7 +7398,7 @@ public struct UpdateFunctionEventInvokeConfigOutput: Swift.Sendable { } public struct UpdateFunctionUrlConfigInput: Swift.Sendable { - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). public var authType: LambdaClientTypes.FunctionUrlAuthType? /// The [cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. public var cors: LambdaClientTypes.Cors? @@ -7403,7 +7439,7 @@ public struct UpdateFunctionUrlConfigInput: Swift.Sendable { } public struct UpdateFunctionUrlConfigOutput: Swift.Sendable { - /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Security and auth model for Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). + /// The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see [Control access to Lambda function URLs](https://docs.aws.amazon.com/lambda/latest/dg/urls-auth.html). /// This member is required. public var authType: LambdaClientTypes.FunctionUrlAuthType? /// The [cross-origin resource sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) settings for your function URL. @@ -12107,6 +12143,7 @@ enum InvokeOutputError { case "ResourceConflictException": return try ResourceConflictException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ResourceNotReadyException": return try ResourceNotReadyException.makeError(baseError: baseError) + case "SerializedRequestEntityTooLargeException": return try SerializedRequestEntityTooLargeException.makeError(baseError: baseError) case "ServiceException": return try ServiceException.makeError(baseError: baseError) case "SnapStartException": return try SnapStartException.makeError(baseError: baseError) case "SnapStartNotReadyException": return try SnapStartNotReadyException.makeError(baseError: baseError) @@ -12168,6 +12205,7 @@ enum InvokeWithResponseStreamOutputError { case "ResourceConflictException": return try ResourceConflictException.makeError(baseError: baseError) case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) case "ResourceNotReadyException": return try ResourceNotReadyException.makeError(baseError: baseError) + case "SerializedRequestEntityTooLargeException": return try SerializedRequestEntityTooLargeException.makeError(baseError: baseError) case "ServiceException": return try ServiceException.makeError(baseError: baseError) case "SnapStartException": return try SnapStartException.makeError(baseError: baseError) case "SnapStartNotReadyException": return try SnapStartNotReadyException.makeError(baseError: baseError) @@ -13201,6 +13239,20 @@ extension ResourceNotReadyException { } } +extension SerializedRequestEntityTooLargeException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> SerializedRequestEntityTooLargeException { + let reader = baseError.errorBodyReader + var value = SerializedRequestEntityTooLargeException() + value.properties.type = try reader["Type"].readIfPresent() + value.properties.message = try reader["message"].readIfPresent() + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension SnapStartException { static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> SnapStartException { diff --git a/Sources/Services/AWSLaunchWizard/Sources/AWSLaunchWizard/LaunchWizardClient.swift b/Sources/Services/AWSLaunchWizard/Sources/AWSLaunchWizard/LaunchWizardClient.swift index 708289a1dee..8c074571d0c 100644 --- a/Sources/Services/AWSLaunchWizard/Sources/AWSLaunchWizard/LaunchWizardClient.swift +++ b/Sources/Services/AWSLaunchWizard/Sources/AWSLaunchWizard/LaunchWizardClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LaunchWizardClient: ClientRuntime.Client { +public class LaunchWizardClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LaunchWizardClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LaunchWizardClient.LaunchWizardClientConfiguration let serviceName = "Launch Wizard" diff --git a/Sources/Services/AWSLexModelBuildingService/Sources/AWSLexModelBuildingService/LexModelBuildingClient.swift b/Sources/Services/AWSLexModelBuildingService/Sources/AWSLexModelBuildingService/LexModelBuildingClient.swift index e0d854daea8..e4578a8fc93 100644 --- a/Sources/Services/AWSLexModelBuildingService/Sources/AWSLexModelBuildingService/LexModelBuildingClient.swift +++ b/Sources/Services/AWSLexModelBuildingService/Sources/AWSLexModelBuildingService/LexModelBuildingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LexModelBuildingClient: ClientRuntime.Client { +public class LexModelBuildingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LexModelBuildingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LexModelBuildingClient.LexModelBuildingClientConfiguration let serviceName = "Lex Model Building" diff --git a/Sources/Services/AWSLexModelsV2/Sources/AWSLexModelsV2/LexModelsV2Client.swift b/Sources/Services/AWSLexModelsV2/Sources/AWSLexModelsV2/LexModelsV2Client.swift index df041013717..e38ae1ea42f 100644 --- a/Sources/Services/AWSLexModelsV2/Sources/AWSLexModelsV2/LexModelsV2Client.swift +++ b/Sources/Services/AWSLexModelsV2/Sources/AWSLexModelsV2/LexModelsV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LexModelsV2Client: ClientRuntime.Client { +public class LexModelsV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "LexModelsV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LexModelsV2Client.LexModelsV2ClientConfiguration let serviceName = "Lex Models V2" diff --git a/Sources/Services/AWSLexRuntimeService/Sources/AWSLexRuntimeService/LexRuntimeClient.swift b/Sources/Services/AWSLexRuntimeService/Sources/AWSLexRuntimeService/LexRuntimeClient.swift index 518bbbd6d0e..010e5cb5c38 100644 --- a/Sources/Services/AWSLexRuntimeService/Sources/AWSLexRuntimeService/LexRuntimeClient.swift +++ b/Sources/Services/AWSLexRuntimeService/Sources/AWSLexRuntimeService/LexRuntimeClient.swift @@ -33,7 +33,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LexRuntimeClient: ClientRuntime.Client { +public class LexRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LexRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LexRuntimeClient.LexRuntimeClientConfiguration let serviceName = "Lex Runtime" diff --git a/Sources/Services/AWSLexRuntimeV2/Sources/AWSLexRuntimeV2/LexRuntimeV2Client.swift b/Sources/Services/AWSLexRuntimeV2/Sources/AWSLexRuntimeV2/LexRuntimeV2Client.swift index 19455fab01a..b15021d4518 100644 --- a/Sources/Services/AWSLexRuntimeV2/Sources/AWSLexRuntimeV2/LexRuntimeV2Client.swift +++ b/Sources/Services/AWSLexRuntimeV2/Sources/AWSLexRuntimeV2/LexRuntimeV2Client.swift @@ -34,7 +34,7 @@ import enum Smithy.ByteStream import func AWSSDKEventStreamsAuth.setupBidirectionalStreaming import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LexRuntimeV2Client: ClientRuntime.Client { +public class LexRuntimeV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "LexRuntimeV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LexRuntimeV2Client.LexRuntimeV2ClientConfiguration let serviceName = "Lex Runtime V2" diff --git a/Sources/Services/AWSLicenseManager/Sources/AWSLicenseManager/LicenseManagerClient.swift b/Sources/Services/AWSLicenseManager/Sources/AWSLicenseManager/LicenseManagerClient.swift index e519680cf36..19f0ddbfe58 100644 --- a/Sources/Services/AWSLicenseManager/Sources/AWSLicenseManager/LicenseManagerClient.swift +++ b/Sources/Services/AWSLicenseManager/Sources/AWSLicenseManager/LicenseManagerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LicenseManagerClient: ClientRuntime.Client { +public class LicenseManagerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LicenseManagerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LicenseManagerClient.LicenseManagerClientConfiguration let serviceName = "License Manager" diff --git a/Sources/Services/AWSLicenseManagerLinuxSubscriptions/Sources/AWSLicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.swift b/Sources/Services/AWSLicenseManagerLinuxSubscriptions/Sources/AWSLicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.swift index 300a65f877c..75f3636e2f5 100644 --- a/Sources/Services/AWSLicenseManagerLinuxSubscriptions/Sources/AWSLicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.swift +++ b/Sources/Services/AWSLicenseManagerLinuxSubscriptions/Sources/AWSLicenseManagerLinuxSubscriptions/LicenseManagerLinuxSubscriptionsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LicenseManagerLinuxSubscriptionsClient: ClientRuntime.Client { +public class LicenseManagerLinuxSubscriptionsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LicenseManagerLinuxSubscriptionsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LicenseManagerLinuxSubscriptionsClient.LicenseManagerLinuxSubscriptionsClientConfiguration let serviceName = "License Manager Linux Subscriptions" diff --git a/Sources/Services/AWSLicenseManagerUserSubscriptions/Sources/AWSLicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.swift b/Sources/Services/AWSLicenseManagerUserSubscriptions/Sources/AWSLicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.swift index 500b9f69bf5..b0b874e21f9 100644 --- a/Sources/Services/AWSLicenseManagerUserSubscriptions/Sources/AWSLicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.swift +++ b/Sources/Services/AWSLicenseManagerUserSubscriptions/Sources/AWSLicenseManagerUserSubscriptions/LicenseManagerUserSubscriptionsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LicenseManagerUserSubscriptionsClient: ClientRuntime.Client { +public class LicenseManagerUserSubscriptionsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LicenseManagerUserSubscriptionsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LicenseManagerUserSubscriptionsClient.LicenseManagerUserSubscriptionsClientConfiguration let serviceName = "License Manager User Subscriptions" diff --git a/Sources/Services/AWSLightsail/Sources/AWSLightsail/LightsailClient.swift b/Sources/Services/AWSLightsail/Sources/AWSLightsail/LightsailClient.swift index 1a159a0a8bd..df18d75abc5 100644 --- a/Sources/Services/AWSLightsail/Sources/AWSLightsail/LightsailClient.swift +++ b/Sources/Services/AWSLightsail/Sources/AWSLightsail/LightsailClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LightsailClient: ClientRuntime.Client { +public class LightsailClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LightsailClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LightsailClient.LightsailClientConfiguration let serviceName = "Lightsail" @@ -2405,7 +2404,7 @@ extension LightsailClient { /// Performs the `CreateLoadBalancer` operation on the `Lightsail` service. /// - /// Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see [Configure your Lightsail instances for load balancing](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-lightsail-instances-for-load-balancing). You can create up to 5 load balancers per AWS Region in your account. When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation. The create load balancer operation supports tag-based access control via request tags. For more information, see the [Amazon Lightsail Developer Guide](https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-controlling-access-using-tags). + /// Creates a Lightsail load balancer. To learn more about deciding whether to load balance your application, see [Configure your Lightsail instances for load balancing](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-lightsail-instances-for-load-balancing). You can create up to 10 load balancers per AWS Region in your account. When you create a load balancer, you can specify a unique name and port settings. To change additional load balancer settings, use the UpdateLoadBalancerAttribute operation. The create load balancer operation supports tag-based access control via request tags. For more information, see the [Amazon Lightsail Developer Guide](https://docs.aws.amazon.com/lightsail/latest/userguide/amazon-lightsail-controlling-access-using-tags). /// /// - Parameter input: [no documentation found] (Type: `CreateLoadBalancerInput`) /// diff --git a/Sources/Services/AWSLightsail/Sources/AWSLightsail/Models.swift b/Sources/Services/AWSLightsail/Sources/AWSLightsail/Models.swift index 8255548940a..b3f24ab9262 100644 --- a/Sources/Services/AWSLightsail/Sources/AWSLightsail/Models.swift +++ b/Sources/Services/AWSLightsail/Sources/AWSLightsail/Models.swift @@ -2306,6 +2306,68 @@ extension LightsailClientTypes { } } +extension LightsailClientTypes { + + /// Describes a cross-origin resource sharing (CORS) rule for a Lightsail bucket. CORS rules specify which origins are allowed to access the bucket, which HTTP methods are allowed, and other access control information. For more information, see [Configuring cross-origin resource sharing (CORS)](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-cors.html). + public struct BucketCorsRule: Swift.Sendable { + /// Headers that are specified in the Access-Control-Request-Headers header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed. + public var allowedHeaders: [Swift.String]? + /// The HTTP methods that are allowed when accessing the bucket from the specified origin. Each CORS rule must identify at least one origin and one method. You can use the following HTTP methods: + /// + /// * GET - Retrieves data from the server, such as downloading files or viewing content. + /// + /// * PUT - Uploads or replaces data on the server, such as uploading new files. + /// + /// * POST - Sends data to the server for processing, such as submitting forms or creating new resources. + /// + /// * DELETE - Removes data from the server, such as deleting files or resources. + /// + /// * HEAD - Retrieves only the headers from the server without the actual content, useful for checking if a resource exists. + /// This member is required. + public var allowedMethods: [Swift.String]? + /// One or more origins you want customers to be able to access the bucket from. Each CORS rule must identify at least one origin and one method. + /// This member is required. + public var allowedOrigins: [Swift.String]? + /// One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object). + public var exposeHeaders: [Swift.String]? + /// A unique identifier for the CORS rule. The ID value can be up to 255 characters long. The IDs help you find a rule in the configuration. + public var id: Swift.String? + /// The time in seconds that your browser is to cache the preflight response for the specified resource. A CORS rule can have only one maxAgeSeconds element. + public var maxAgeSeconds: Swift.Int? + + public init( + allowedHeaders: [Swift.String]? = nil, + allowedMethods: [Swift.String]? = nil, + allowedOrigins: [Swift.String]? = nil, + exposeHeaders: [Swift.String]? = nil, + id: Swift.String? = nil, + maxAgeSeconds: Swift.Int? = nil + ) { + self.allowedHeaders = allowedHeaders + self.allowedMethods = allowedMethods + self.allowedOrigins = allowedOrigins + self.exposeHeaders = exposeHeaders + self.id = id + self.maxAgeSeconds = maxAgeSeconds + } + } +} + +extension LightsailClientTypes { + + /// Describes the cross-origin resource sharing (CORS) configuration for a Lightsail bucket. CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different domain. For more information, see [Configuring cross-origin resource sharing (CORS)](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-cors.html). + public struct BucketCorsConfig: Swift.Sendable { + /// A set of origins and methods (cross-origin access that you want to allow). You can add up to 20 rules to the configuration. The total size is limited to 64 KB. + public var rules: [LightsailClientTypes.BucketCorsRule]? + + public init( + rules: [LightsailClientTypes.BucketCorsRule]? = nil + ) { + self.rules = rules + } + } +} + extension LightsailClientTypes { /// Describes the state of an Amazon Lightsail bucket. @@ -2362,6 +2424,8 @@ extension LightsailClientTypes { public var arn: Swift.String? /// The ID of the bundle currently applied to the bucket. A bucket bundle specifies the monthly cost, storage space, and data transfer quota for a bucket. Use the [UpdateBucketBundle](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_UpdateBucketBundle.html) action to change the bundle of a bucket. public var bundleId: Swift.String? + /// An array of cross-origin resource sharing (CORS) rules that identify origins and the HTTP methods that can be executed on your bucket. This field is only included in the response when CORS configuration is requested or when updating CORS configuration. For more information, see [Configuring cross-origin resource sharing (CORS)](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-cors.html). + public var cors: LightsailClientTypes.BucketCorsConfig? /// The timestamp when the distribution was created. public var createdAt: Foundation.Date? /// An object that describes the location of the bucket, such as the Amazon Web Services Region and Availability Zone. @@ -2397,6 +2461,7 @@ extension LightsailClientTypes { accessRules: LightsailClientTypes.AccessRules? = nil, arn: Swift.String? = nil, bundleId: Swift.String? = nil, + cors: LightsailClientTypes.BucketCorsConfig? = nil, createdAt: Foundation.Date? = nil, location: LightsailClientTypes.ResourceLocation? = nil, name: Swift.String? = nil, @@ -2414,6 +2479,7 @@ extension LightsailClientTypes { self.accessRules = accessRules self.arn = arn self.bundleId = bundleId + self.cors = cors self.createdAt = createdAt self.location = location self.name = name @@ -7876,16 +7942,20 @@ public struct GetBucketsInput: Swift.Sendable { public var bucketName: Swift.String? /// A Boolean value that indicates whether to include Lightsail instances that were given access to the bucket using the [SetResourceAccessForBucket](https://docs.aws.amazon.com/lightsail/2016-11-28/api-reference/API_SetResourceAccessForBucket.html) action. public var includeConnectedResources: Swift.Bool? + /// A Boolean value that indicates whether to include Lightsail bucket CORS configuration in the response. For more information, see [Configuring cross-origin resource sharing (CORS)](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-cors.html). This parameter is only supported when getting a single bucket with bucketName specified. The default value for this parameter is False. + public var includeCors: Swift.Bool? /// The token to advance to the next page of results from your request. To get a page token, perform an initial GetBuckets request. If your results are paginated, the response will return a next page token that you can specify as the page token in a subsequent request. public var pageToken: Swift.String? public init( bucketName: Swift.String? = nil, includeConnectedResources: Swift.Bool? = nil, + includeCors: Swift.Bool? = nil, pageToken: Swift.String? = nil ) { self.bucketName = bucketName self.includeConnectedResources = includeConnectedResources + self.includeCors = includeCors self.pageToken = pageToken } } @@ -13143,6 +13213,8 @@ public struct UpdateBucketInput: Swift.Sendable { /// The name of the bucket to update. /// This member is required. public var bucketName: Swift.String? + /// Sets the cross-origin resource sharing (CORS) configuration for your bucket. If a CORS configuration exists, it is replaced with the specified configuration. For AWS CLI operations, this parameter can also be passed as a file. For more information, see [Configuring cross-origin resource sharing (CORS)](https://docs.aws.amazon.com/lightsail/latest/userguide/configure-cors.html). CORS information is only returned in a response when you update the CORS policy. + public var cors: LightsailClientTypes.BucketCorsConfig? /// An array of strings to specify the Amazon Web Services account IDs that can access the bucket. You can give a maximum of 10 Amazon Web Services accounts access to a bucket. public var readonlyAccessAccounts: [Swift.String]? /// Specifies whether to enable or suspend versioning of objects in the bucket. The following options can be specified: @@ -13156,12 +13228,14 @@ public struct UpdateBucketInput: Swift.Sendable { accessLogConfig: LightsailClientTypes.BucketAccessLogConfig? = nil, accessRules: LightsailClientTypes.AccessRules? = nil, bucketName: Swift.String? = nil, + cors: LightsailClientTypes.BucketCorsConfig? = nil, readonlyAccessAccounts: [Swift.String]? = nil, versioning: Swift.String? = nil ) { self.accessLogConfig = accessLogConfig self.accessRules = accessRules self.bucketName = bucketName + self.cors = cors self.readonlyAccessAccounts = readonlyAccessAccounts self.versioning = versioning } @@ -15412,6 +15486,7 @@ extension GetBucketsInput { guard let value else { return } try writer["bucketName"].write(value.bucketName) try writer["includeConnectedResources"].write(value.includeConnectedResources) + try writer["includeCors"].write(value.includeCors) try writer["pageToken"].write(value.pageToken) } } @@ -16166,6 +16241,7 @@ extension UpdateBucketInput { try writer["accessLogConfig"].write(value.accessLogConfig, with: LightsailClientTypes.BucketAccessLogConfig.write(value:to:)) try writer["accessRules"].write(value.accessRules, with: LightsailClientTypes.AccessRules.write(value:to:)) try writer["bucketName"].write(value.bucketName) + try writer["cors"].write(value.cors, with: LightsailClientTypes.BucketCorsConfig.write(value:to:)) try writer["readonlyAccessAccounts"].writeList(value.readonlyAccessAccounts, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["versioning"].write(value.versioning) } @@ -21710,6 +21786,47 @@ extension LightsailClientTypes.Bucket { value.resourcesReceivingAccess = try reader["resourcesReceivingAccess"].readListIfPresent(memberReadingClosure: LightsailClientTypes.ResourceReceivingAccess.read(from:), memberNodeInfo: "member", isFlattened: false) value.state = try reader["state"].readIfPresent(with: LightsailClientTypes.BucketState.read(from:)) value.accessLogConfig = try reader["accessLogConfig"].readIfPresent(with: LightsailClientTypes.BucketAccessLogConfig.read(from:)) + value.cors = try reader["cors"].readIfPresent(with: LightsailClientTypes.BucketCorsConfig.read(from:)) + return value + } +} + +extension LightsailClientTypes.BucketCorsConfig { + + static func write(value: LightsailClientTypes.BucketCorsConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["rules"].writeList(value.rules, memberWritingClosure: LightsailClientTypes.BucketCorsRule.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyJSON.Reader) throws -> LightsailClientTypes.BucketCorsConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = LightsailClientTypes.BucketCorsConfig() + value.rules = try reader["rules"].readListIfPresent(memberReadingClosure: LightsailClientTypes.BucketCorsRule.read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + +extension LightsailClientTypes.BucketCorsRule { + + static func write(value: LightsailClientTypes.BucketCorsRule?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["allowedHeaders"].writeList(value.allowedHeaders, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["allowedMethods"].writeList(value.allowedMethods, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["allowedOrigins"].writeList(value.allowedOrigins, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["exposeHeaders"].writeList(value.exposeHeaders, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["id"].write(value.id) + try writer["maxAgeSeconds"].write(value.maxAgeSeconds) + } + + static func read(from reader: SmithyJSON.Reader) throws -> LightsailClientTypes.BucketCorsRule { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = LightsailClientTypes.BucketCorsRule() + value.id = try reader["id"].readIfPresent() + value.allowedMethods = try reader["allowedMethods"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.allowedOrigins = try reader["allowedOrigins"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.allowedHeaders = try reader["allowedHeaders"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.exposeHeaders = try reader["exposeHeaders"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.maxAgeSeconds = try reader["maxAgeSeconds"].readIfPresent() return value } } diff --git a/Sources/Services/AWSLocation/Sources/AWSLocation/LocationClient.swift b/Sources/Services/AWSLocation/Sources/AWSLocation/LocationClient.swift index 78419f5f397..6f22419a03a 100644 --- a/Sources/Services/AWSLocation/Sources/AWSLocation/LocationClient.swift +++ b/Sources/Services/AWSLocation/Sources/AWSLocation/LocationClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LocationClient: ClientRuntime.Client { +public class LocationClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LocationClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LocationClient.LocationClientConfiguration let serviceName = "Location" @@ -885,6 +884,17 @@ extension LocationClient { /// Performs the `CalculateRoute` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to [CalculateRoutes] or [CalculateIsolines] unless you require Grab data. + /// + /// * CalculateRoute is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 CalculateRoutes operation gives better results for point-to-point routing, while the version 2 CalculateIsolines operation adds support for calculating service areas and travel time envelopes. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// /// [Calculates a route](https://docs.aws.amazon.com/location/previous/developerguide/calculate-route.html) given the following required parameters: DeparturePosition and DestinationPosition. Requires that you first [create a route calculator resource](https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html). By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating the route. Additional options include: /// /// * [Specifying a departure time](https://docs.aws.amazon.com/location/previous/developerguide/departure-time.html) using either DepartureTime or DepartNow. This calculates a route based on predictive traffic data at the given time. You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error. @@ -962,7 +972,20 @@ extension LocationClient { /// Performs the `CalculateRouteMatrix` operation on the `Location` service. /// - /// [ Calculates a route matrix](https://docs.aws.amazon.com/location/previous/developerguide/calculate-route-matrix.html) given the following required parameters: DeparturePositions and DestinationPositions. CalculateRouteMatrix calculates routes and returns the travel time and travel distance from each departure position to each destination position in the request. For example, given departure positions A and B, and destination positions X and Y, CalculateRouteMatrix will return time and distance for routes from A to X, A to Y, B to X, and B to Y (in that order). The number of results returned (and routes calculated) will be the number of DeparturePositions times the number of DestinationPositions. Your account is charged for each route calculated, not the number of requests. Requires that you first [create a route calculator resource](https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html). By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating routes. Additional options include: + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the [V2 ]CalculateRouteMatrix unless you require Grab data. + /// + /// * This version of CalculateRouteMatrix is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 CalculateRouteMatrix operation gives better results for matrix routing calculations. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Routes V2 [API Reference] or the [Developer Guide]. + /// + /// + /// [Calculates a route matrix](https://docs.aws.amazon.com/location/previous/developerguide/calculate-route-matrix.html) given the following required parameters: DeparturePositions and DestinationPositions. CalculateRouteMatrix calculates routes and returns the travel time and travel distance from each departure position to each destination position in the request. For example, given departure positions A and B, and destination positions X and Y, CalculateRouteMatrix will return time and distance for routes from A to X, A to Y, B to X, and B to Y (in that order). The number of results returned (and routes calculated) will be the number of DeparturePositions times the number of DestinationPositions. Your account is charged for each route calculated, not the number of requests. Requires that you first [create a route calculator resource](https://docs.aws.amazon.com/location-routes/latest/APIReference/API_CreateRouteCalculator.html). By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating routes. Additional options include: /// /// * [Specifying a departure time](https://docs.aws.amazon.com/location/previous/developerguide/departure-time.html) using either DepartureTime or DepartNow. This calculates routes based on predictive traffic data at the given time. You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error. /// @@ -1112,7 +1135,7 @@ extension LocationClient { /// Performs the `CreateKey` operation on the `Location` service. /// - /// Creates an API key resource in your Amazon Web Services account, which lets you grant actions for Amazon Location resources to the API key bearer. For more information, see [Using API keys](https://docs.aws.amazon.com/location/previous/developerguide/using-apikeys.html). + /// Creates an API key resource in your Amazon Web Services account, which lets you grant actions for Amazon Location resources to the API key bearer. For more information, see [Use API keys to authenticate](https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `CreateKeyInput`) /// @@ -1185,6 +1208,19 @@ extension LocationClient { /// Performs the `CreateMap` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data. + /// + /// * CreateMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Maps API version 2 has a simplified interface that can be used without creating or managing map resources. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Creates a map resource in your Amazon Web Services account, which provides map tiles of different styles sourced from global location data providers. If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the [Amazon Web Services service terms](http://aws.amazon.com/service-terms) for more details. /// /// - Parameter input: [no documentation found] (Type: `CreateMapInput`) @@ -1258,6 +1294,19 @@ extension LocationClient { /// Performs the `CreatePlaceIndex` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data. + /// + /// * CreatePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Places API version 2 has a simplified interface that can be used without creating or managing place index resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Places V2 [API Reference] or the [Developer Guide]. + /// + /// /// Creates a place index resource in your Amazon Web Services 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 enable autosuggestions by using the SearchPlaceIndexForSuggestions operation. If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the [Amazon Web Services service terms](http://aws.amazon.com/service-terms) for more details. /// /// - Parameter input: [no documentation found] (Type: `CreatePlaceIndexInput`) @@ -1331,6 +1380,19 @@ extension LocationClient { /// Performs the `CreateRouteCalculator` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data. + /// + /// * CreateRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Routes V2 [API Reference] or the [Developer Guide]. + /// + /// /// Creates a route calculator resource in your Amazon Web Services account. You can send requests to a route calculator resource to estimate travel time, distance, and get directions. A route calculator sources traffic and road network data from your chosen data provider. If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the [Amazon Web Services service terms](http://aws.amazon.com/service-terms) for more details. /// /// - Parameter input: [no documentation found] (Type: `CreateRouteCalculatorInput`) @@ -1546,7 +1608,7 @@ extension LocationClient { /// Performs the `DeleteKey` operation on the `Location` service. /// - /// Deletes the specified API key. The API key must have been deactivated more than 90 days previously. + /// Deletes the specified API key. The API key must have been deactivated more than 90 days previously. For more information, see [Use API keys to authenticate](https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `DeleteKeyInput`) /// @@ -1616,6 +1678,19 @@ extension LocationClient { /// Performs the `DeleteMap` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data. + /// + /// * DeleteMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Maps API version 2 has a simplified interface that can be used without creating or managing map resources. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Deletes a map resource from your Amazon Web Services account. This operation deletes the resource permanently. If the map is being used in an application, the map may not render. /// /// - Parameter input: [no documentation found] (Type: `DeleteMapInput`) @@ -1685,6 +1760,19 @@ extension LocationClient { /// Performs the `DeletePlaceIndex` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data. + /// + /// * DeletePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Places API version 2 has a simplified interface that can be used without creating or managing place index resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Places V2 [API Reference] or the [Developer Guide]. + /// + /// /// Deletes a place index resource from your Amazon Web Services account. This operation deletes the resource permanently. /// /// - Parameter input: [no documentation found] (Type: `DeletePlaceIndexInput`) @@ -1754,6 +1842,19 @@ extension LocationClient { /// Performs the `DeleteRouteCalculator` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data. + /// + /// * DeleteRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Routes V2 [API Reference] or the [Developer Guide]. + /// + /// /// Deletes a route calculator resource from your Amazon Web Services account. This operation deletes the resource permanently. /// /// - Parameter input: [no documentation found] (Type: `DeleteRouteCalculatorInput`) @@ -1961,7 +2062,7 @@ extension LocationClient { /// Performs the `DescribeKey` operation on the `Location` service. /// - /// Retrieves the API key resource details. + /// Retrieves the API key resource details. For more information, see [Use API keys to authenticate](https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `DescribeKeyInput`) /// @@ -2030,6 +2131,19 @@ extension LocationClient { /// Performs the `DescribeMap` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data. + /// + /// * DescribeMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Maps API version 2 has a simplified interface that can be used without creating or managing map resources. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Retrieves the map resource details. /// /// - Parameter input: [no documentation found] (Type: `DescribeMapInput`) @@ -2099,6 +2213,19 @@ extension LocationClient { /// Performs the `DescribePlaceIndex` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data. + /// + /// * DescribePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Places API version 2 has a simplified interface that can be used without creating or managing place index resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Places V2 [API Reference] or the [Developer Guide]. + /// + /// /// Retrieves the place index resource details. /// /// - Parameter input: [no documentation found] (Type: `DescribePlaceIndexInput`) @@ -2168,6 +2295,19 @@ extension LocationClient { /// Performs the `DescribeRouteCalculator` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data. + /// + /// * DescribeRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Routes V2 [API Reference] or the [Developer Guide]. + /// + /// /// Retrieves the route calculator resource details. /// /// - Parameter input: [no documentation found] (Type: `DescribeRouteCalculatorInput`) @@ -2657,6 +2797,19 @@ extension LocationClient { /// Performs the `GetMapGlyphs` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to [GetGlyphs](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetGlyphs.html) unless you require Grab data. + /// + /// * GetMapGlyphs is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 GetGlyphs operation gives a better user experience and is compatible with the remainder of the V2 Maps API. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Retrieves glyphs used to display labels on a map. /// /// - Parameter input: [no documentation found] (Type: `GetMapGlyphsInput`) @@ -2727,6 +2880,19 @@ extension LocationClient { /// Performs the `GetMapSprites` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to [GetSprites](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetSprites.html) unless you require Grab data. + /// + /// * GetMapSprites is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 GetSprites operation gives a better user experience and is compatible with the remainder of the V2 Maps API. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Retrieves the sprite sheet corresponding to a map resource. The sprite sheet is a PNG image paired with a JSON document describing the offsets of individual icons that will be displayed on a rendered map. /// /// - Parameter input: [no documentation found] (Type: `GetMapSpritesInput`) @@ -2797,6 +2963,19 @@ extension LocationClient { /// Performs the `GetMapStyleDescriptor` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to [GetStyleDescriptor](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetStyleDescriptor.html) unless you require Grab data. + /// + /// * GetMapStyleDescriptor is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 GetStyleDescriptor operation gives a better user experience and is compatible with the remainder of the V2 Maps API. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Retrieves the map style descriptor from a map resource. The style descriptor contains specifications on how features render on a map. For example, what data to display, what order to display the data in, and the style for the data. Style descriptors follow the Mapbox Style Specification. /// /// - Parameter input: [no documentation found] (Type: `GetMapStyleDescriptorInput`) @@ -2867,6 +3046,19 @@ extension LocationClient { /// Performs the `GetMapTile` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to [GetTile](https://docs.aws.amazon.com/location/latest/APIReference/API_geomaps_GetTile.html) unless you require Grab data. + /// + /// * GetMapTile is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 GetTile operation gives a better user experience and is compatible with the remainder of the V2 Maps API. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Retrieves a vector data tile from the map resource. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level. The origin (0, 0) is the top left of the map. Increasing the zoom level by 1 doubles both the X and Y dimensions, so a tile containing data for the entire world at (0/0/0) will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1, 1/1/0, 1/1/1). /// /// - Parameter input: [no documentation found] (Type: `GetMapTileInput`) @@ -2937,6 +3129,19 @@ extension LocationClient { /// Performs the `GetPlace` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the [V2 ]GetPlace operation unless you require Grab data. + /// + /// * This version of GetPlace is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * Version 2 of the GetPlace operation interoperates with the rest of the Places V2 API, while this version does not. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Places V2 [API Reference] or the [Developer Guide]. + /// + /// /// Finds a place by its unique ID. A PlaceId is returned by other search operations. A PlaceId is valid only if all of the following are the same in the original search request and the call to GetPlace. /// /// * Customer Amazon Web Services account @@ -3230,7 +3435,7 @@ extension LocationClient { /// Performs the `ListKeys` operation on the `Location` service. /// - /// Lists API key resources in your Amazon Web Services account. + /// Lists API key resources in your Amazon Web Services account. For more information, see [Use API keys to authenticate](https://docs.aws.amazon.com/location/latest/developerguide/using-apikeys.html) in the Amazon Location Service Developer Guide. /// /// - Parameter input: [no documentation found] (Type: `ListKeysInput`) /// @@ -3301,6 +3506,19 @@ extension LocationClient { /// Performs the `ListMaps` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data. + /// + /// * ListMaps is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Maps API version 2 has a simplified interface that can be used without creating or managing map resources. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Lists map resources in your Amazon Web Services account. /// /// - Parameter input: [no documentation found] (Type: `ListMapsInput`) @@ -3372,6 +3590,19 @@ extension LocationClient { /// Performs the `ListPlaceIndexes` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data. + /// + /// * ListPlaceIndexes is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Places API version 2 has a simplified interface that can be used without creating or managing place index resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Places V2 [API Reference] or the [Developer Guide]. + /// + /// /// Lists place index resources in your Amazon Web Services account. /// /// - Parameter input: [no documentation found] (Type: `ListPlaceIndexesInput`) @@ -3443,6 +3674,19 @@ extension LocationClient { /// Performs the `ListRouteCalculators` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data. + /// + /// * ListRouteCalculators is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Routes V2 [API Reference] or the [Developer Guide]. + /// + /// /// Lists route calculator resources in your Amazon Web Services account. /// /// - Parameter input: [no documentation found] (Type: `ListRouteCalculatorsInput`) @@ -3799,6 +4043,17 @@ extension LocationClient { /// Performs the `SearchPlaceIndexForPosition` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to [ReverseGeocode] or [SearchNearby] unless you require Grab data. + /// + /// * SearchPlaceIndexForPosition is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 ReverseGeocode operation gives better results in the address reverse-geocoding use case, while the version 2 SearchNearby operation gives better results when searching for businesses and points of interest near a specific location. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// /// Reverse geocodes a given coordinate and returns a legible address. Allows you to search for Places or points of interest near a given position. /// /// - Parameter input: [no documentation found] (Type: `SearchPlaceIndexForPositionInput`) @@ -3872,6 +4127,17 @@ extension LocationClient { /// Performs the `SearchPlaceIndexForSuggestions` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to [Suggest] or [Autocomplete] unless you require Grab data. + /// + /// * SearchPlaceIndexForSuggestions is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 Suggest operation gives better results for typeahead place search suggestions with fuzzy matching, while the version 2 Autocomplete operation gives better results for address completion based on partial input. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// /// 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. /// /// - Parameter input: [no documentation found] (Type: `SearchPlaceIndexForSuggestionsInput`) @@ -3945,6 +4211,17 @@ extension LocationClient { /// Performs the `SearchPlaceIndexForText` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to [Geocode] or [SearchText] unless you require Grab data. + /// + /// * SearchPlaceIndexForText is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The version 2 Geocode operation gives better results in the address geocoding use case, while the version 2 SearchText operation gives better results when searching for businesses and points of interest. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// /// Geocodes free-form text, such as an address, name, city, or region to allow you to search for Places or points of interest. 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 places near a given position using BiasPosition, or filter results within a bounding box using FilterBBox. Providing both parameters simultaneously returns an error. Search results are returned in order of highest to lowest relevance. /// /// - Parameter input: [no documentation found] (Type: `SearchPlaceIndexForTextInput`) @@ -4304,6 +4581,19 @@ extension LocationClient { /// Performs the `UpdateMap` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data. + /// + /// * UpdateMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Maps API version 2 has a simplified interface that can be used without creating or managing map resources. + /// + /// * If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location. + /// + /// * Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the [Maps V2 API Reference](https://docs.aws.amazon.com/location/latest/APIReference/API_Operations_Amazon_Location_Service_Maps_V2.html) or the [Developer Guide](https://docs.aws.amazon.com/location/latest/developerguide/maps.html). + /// + /// /// Updates the specified properties of a given map resource. /// /// - Parameter input: [no documentation found] (Type: `UpdateMapInput`) @@ -4376,6 +4666,19 @@ extension LocationClient { /// Performs the `UpdatePlaceIndex` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data. + /// + /// * UpdatePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Places API version 2 has a simplified interface that can be used without creating or managing place index resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location. + /// + /// * Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Places V2 [API Reference] or the [Developer Guide]. + /// + /// /// Updates the specified properties of a given place index resource. /// /// - Parameter input: [no documentation found] (Type: `UpdatePlaceIndexInput`) @@ -4448,6 +4751,19 @@ extension LocationClient { /// Performs the `UpdateRouteCalculator` operation on the `Location` service. /// + /// This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data. + /// + /// * UpdateRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2). + /// + /// * The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources. + /// + /// * If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location. + /// + /// * Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab. + /// + /// * Start your version 2 API journey with the Routes V2 [API Reference] or the [Developer Guide]. + /// + /// /// Updates the specified properties for a given route calculator resource. /// /// - Parameter input: [no documentation found] (Type: `UpdateRouteCalculatorInput`) diff --git a/Sources/Services/AWSLocation/Sources/AWSLocation/Models.swift b/Sources/Services/AWSLocation/Sources/AWSLocation/Models.swift index c77aaefc697..d2e8186494f 100644 --- a/Sources/Services/AWSLocation/Sources/AWSLocation/Models.swift +++ b/Sources/Services/AWSLocation/Sources/AWSLocation/Models.swift @@ -54,6 +54,27 @@ public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntim } } +extension LocationClientTypes { + + /// Unique identifying information for an Android app. Consists of a package name and a 20 byte SHA-1 certificate fingerprint. + public struct AndroidApp: Swift.Sendable { + /// 20 byte SHA-1 certificate fingerprint associated with the Android app signing certificate. + /// This member is required. + public var certificateFingerprint: Swift.String? + /// Unique package name for an Android app. + /// This member is required. + public var `package`: Swift.String? + + public init( + certificateFingerprint: Swift.String? = nil, + `package`: Swift.String? = nil + ) { + self.certificateFingerprint = certificateFingerprint + self.`package` = `package` + } + } +} + extension LocationClientTypes { public enum Status: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -299,6 +320,22 @@ public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime. } } +extension LocationClientTypes { + + /// Unique identifying information for an Apple app (iOS, macOS, tvOS and watchOS). Consists of an Apple Bundle ID. + public struct AppleApp: Swift.Sendable { + /// The unique identifier of the app across all Apple platforms (iOS, macOS, tvOS, watchOS, etc.) + /// This member is required. + public var bundleId: Swift.String? + + public init( + bundleId: Swift.String? = nil + ) { + self.bundleId = bundleId + } + } +} + extension LocationClientTypes { /// API Restrictions on the allowed actions, resources, and referers for an API key resource. @@ -372,6 +409,10 @@ extension LocationClientTypes { /// You must use these strings exactly. For example, to provide access to map rendering, the only valid action is geo:GetMap* as an input to the list. ["geo:GetMap*"] is valid but ["geo:GetMapTile"] is not. Similarly, you cannot use ["geo:SearchPlaceIndexFor*"] - you must list each of the Place actions separately. /// This member is required. public var allowActions: [Swift.String]? + /// An optional list of allowed Android applications for which requests must originate from. Requests using this API key from other sources will not be allowed. + public var allowAndroidApps: [LocationClientTypes.AndroidApp]? + /// An optional list of allowed Apple applications for which requests must originate from. Requests using this API key from other sources will not be allowed. + public var allowAppleApps: [LocationClientTypes.AppleApp]? /// An optional list of allowed HTTP referers for which requests must originate from. Requests using this API key from other domains will not be allowed. Requirements: /// /// * Contain only alphanumeric characters (A–Z, a–z, 0–9) or any symbols in this list $\-._+!*`(),;/?:@=& @@ -399,10 +440,14 @@ extension LocationClientTypes { public init( allowActions: [Swift.String]? = nil, + allowAndroidApps: [LocationClientTypes.AndroidApp]? = nil, + allowAppleApps: [LocationClientTypes.AppleApp]? = nil, allowReferers: [Swift.String]? = nil, allowResources: [Swift.String]? = nil ) { self.allowActions = allowActions + self.allowAndroidApps = allowAndroidApps + self.allowAppleApps = allowAppleApps self.allowReferers = allowReferers self.allowResources = allowResources } @@ -411,7 +456,7 @@ extension LocationClientTypes { extension LocationClientTypes.ApiKeyRestrictions: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "ApiKeyRestrictions(allowActions: \(Swift.String(describing: allowActions)), allowResources: \(Swift.String(describing: allowResources)), allowReferers: \"CONTENT_REDACTED\")"} + "ApiKeyRestrictions(allowActions: \(Swift.String(describing: allowActions)), allowAndroidApps: \(Swift.String(describing: allowAndroidApps)), allowAppleApps: \(Swift.String(describing: allowAppleApps)), allowResources: \(Swift.String(describing: allowResources)), allowReferers: \"CONTENT_REDACTED\")"} } public struct CreateKeyInput: Swift.Sendable { @@ -1450,6 +1495,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.CalculateRouteCarModeOptions: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "CalculateRouteCarModeOptions(avoidFerries: \"CONTENT_REDACTED\", avoidTolls: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { public enum DistanceUnit: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -1617,6 +1667,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.TruckDimensions: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "TruckDimensions(unit: \(Swift.String(describing: unit)), height: \"CONTENT_REDACTED\", length: \"CONTENT_REDACTED\", width: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { public enum VehicleWeightUnit: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -1667,6 +1722,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.TruckWeight: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "TruckWeight(unit: \(Swift.String(describing: unit)), total: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { /// Contains details about additional route preferences for requests that specify TravelMode as Truck. @@ -1694,6 +1754,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.CalculateRouteTruckModeOptions: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "CalculateRouteTruckModeOptions(dimensions: \(Swift.String(describing: dimensions)), weight: \(Swift.String(describing: weight)), avoidFerries: \"CONTENT_REDACTED\", avoidTolls: \"CONTENT_REDACTED\")"} +} + public struct CalculateRouteInput: Swift.Sendable { /// Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route. ArrivalTime is not supported Esri. public var arrivalTime: Foundation.Date? @@ -1786,7 +1851,7 @@ public struct CalculateRouteInput: Swift.Sendable { extension CalculateRouteInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CalculateRouteInput(calculatorName: \(Swift.String(describing: calculatorName)), carModeOptions: \(Swift.String(describing: carModeOptions)), departNow: \(Swift.String(describing: departNow)), distanceUnit: \(Swift.String(describing: distanceUnit)), includeLegGeometry: \(Swift.String(describing: includeLegGeometry)), optimizeFor: \(Swift.String(describing: optimizeFor)), travelMode: \(Swift.String(describing: travelMode)), truckModeOptions: \(Swift.String(describing: truckModeOptions)), arrivalTime: \"CONTENT_REDACTED\", departurePosition: \"CONTENT_REDACTED\", departureTime: \"CONTENT_REDACTED\", destinationPosition: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\", waypointPositions: \"CONTENT_REDACTED\")"} + "CalculateRouteInput(calculatorName: \(Swift.String(describing: calculatorName)), carModeOptions: \(Swift.String(describing: carModeOptions)), distanceUnit: \(Swift.String(describing: distanceUnit)), optimizeFor: \(Swift.String(describing: optimizeFor)), travelMode: \(Swift.String(describing: travelMode)), truckModeOptions: \(Swift.String(describing: truckModeOptions)), arrivalTime: \"CONTENT_REDACTED\", departNow: \"CONTENT_REDACTED\", departurePosition: \"CONTENT_REDACTED\", departureTime: \"CONTENT_REDACTED\", destinationPosition: \"CONTENT_REDACTED\", includeLegGeometry: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\", waypointPositions: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -1848,7 +1913,7 @@ extension LocationClientTypes { extension LocationClientTypes.Step: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "Step(distance: \(Swift.String(describing: distance)), durationSeconds: \(Swift.String(describing: durationSeconds)), geometryOffset: \(Swift.String(describing: geometryOffset)), endPosition: \"CONTENT_REDACTED\", startPosition: \"CONTENT_REDACTED\")"} + "Step(geometryOffset: \(Swift.String(describing: geometryOffset)), distance: \"CONTENT_REDACTED\", durationSeconds: \"CONTENT_REDACTED\", endPosition: \"CONTENT_REDACTED\", startPosition: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -1906,7 +1971,7 @@ extension LocationClientTypes { extension LocationClientTypes.Leg: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "Leg(distance: \(Swift.String(describing: distance)), durationSeconds: \(Swift.String(describing: durationSeconds)), geometry: \(Swift.String(describing: geometry)), steps: \(Swift.String(describing: steps)), endPosition: \"CONTENT_REDACTED\", startPosition: \"CONTENT_REDACTED\")"} + "Leg(geometry: \(Swift.String(describing: geometry)), steps: \(Swift.String(describing: steps)), distance: \"CONTENT_REDACTED\", durationSeconds: \"CONTENT_REDACTED\", endPosition: \"CONTENT_REDACTED\", startPosition: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -1967,7 +2032,7 @@ extension LocationClientTypes { extension LocationClientTypes.CalculateRouteSummary: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CalculateRouteSummary(dataSource: \(Swift.String(describing: dataSource)), distance: \(Swift.String(describing: distance)), distanceUnit: \(Swift.String(describing: distanceUnit)), durationSeconds: \(Swift.String(describing: durationSeconds)), routeBBox: \"CONTENT_REDACTED\")"} + "CalculateRouteSummary(dataSource: \(Swift.String(describing: dataSource)), distanceUnit: \(Swift.String(describing: distanceUnit)), distance: \"CONTENT_REDACTED\", durationSeconds: \"CONTENT_REDACTED\", routeBBox: \"CONTENT_REDACTED\")"} } /// Returns the result of the route calculation. Metadata includes legs and route summary. @@ -2060,7 +2125,7 @@ public struct CalculateRouteMatrixInput: Swift.Sendable { extension CalculateRouteMatrixInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CalculateRouteMatrixInput(calculatorName: \(Swift.String(describing: calculatorName)), carModeOptions: \(Swift.String(describing: carModeOptions)), departNow: \(Swift.String(describing: departNow)), distanceUnit: \(Swift.String(describing: distanceUnit)), travelMode: \(Swift.String(describing: travelMode)), truckModeOptions: \(Swift.String(describing: truckModeOptions)), departurePositions: \"CONTENT_REDACTED\", departureTime: \"CONTENT_REDACTED\", destinationPositions: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\")"} + "CalculateRouteMatrixInput(calculatorName: \(Swift.String(describing: calculatorName)), carModeOptions: \(Swift.String(describing: carModeOptions)), distanceUnit: \(Swift.String(describing: distanceUnit)), travelMode: \(Swift.String(describing: travelMode)), truckModeOptions: \(Swift.String(describing: truckModeOptions)), departNow: \"CONTENT_REDACTED\", departurePositions: \"CONTENT_REDACTED\", departureTime: \"CONTENT_REDACTED\", destinationPositions: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -2174,6 +2239,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.RouteMatrixEntry: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "RouteMatrixEntry(error: \(Swift.String(describing: error)), distance: \"CONTENT_REDACTED\", durationSeconds: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { /// A summary of the calculated route matrix. @@ -4410,7 +4480,7 @@ public struct GetMapTileInput: Swift.Sendable { extension GetMapTileInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetMapTileInput(mapName: \(Swift.String(describing: mapName)), x: \(Swift.String(describing: x)), y: \(Swift.String(describing: y)), z: \(Swift.String(describing: z)), key: \"CONTENT_REDACTED\")"} + "GetMapTileInput(mapName: \(Swift.String(describing: mapName)), key: \"CONTENT_REDACTED\", x: \"CONTENT_REDACTED\", y: \"CONTENT_REDACTED\", z: \"CONTENT_REDACTED\")"} } public struct GetMapTileOutput: Swift.Sendable { @@ -4459,7 +4529,7 @@ public struct GetPlaceInput: Swift.Sendable { extension GetPlaceInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "GetPlaceInput(indexName: \(Swift.String(describing: indexName)), language: \(Swift.String(describing: language)), placeId: \(Swift.String(describing: placeId)), key: \"CONTENT_REDACTED\")"} + "GetPlaceInput(indexName: \(Swift.String(describing: indexName)), language: \(Swift.String(describing: language)), key: \"CONTENT_REDACTED\", placeId: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -4506,6 +4576,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.TimeZone: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "TimeZone(name: \"CONTENT_REDACTED\", offset: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { /// Contains details about addresses or points of interest that match the search criteria. Not all details are included with all responses. Some details may only be returned by specific data partners. @@ -4586,6 +4661,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.Place: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "Place(geometry: \(Swift.String(describing: geometry)), timeZone: \(Swift.String(describing: timeZone)), addressNumber: \"CONTENT_REDACTED\", categories: \"CONTENT_REDACTED\", country: \"CONTENT_REDACTED\", interpolated: \"CONTENT_REDACTED\", label: \"CONTENT_REDACTED\", municipality: \"CONTENT_REDACTED\", neighborhood: \"CONTENT_REDACTED\", postalCode: \"CONTENT_REDACTED\", region: \"CONTENT_REDACTED\", street: \"CONTENT_REDACTED\", subMunicipality: \"CONTENT_REDACTED\", subRegion: \"CONTENT_REDACTED\", supplementalCategories: \"CONTENT_REDACTED\", unitNumber: \"CONTENT_REDACTED\", unitType: \"CONTENT_REDACTED\")"} +} + public struct GetPlaceOutput: Swift.Sendable { /// Details about the result, such as its address and position. /// This member is required. @@ -5203,6 +5283,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.SearchForPositionResult: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "SearchForPositionResult(place: \(Swift.String(describing: place)), distance: \"CONTENT_REDACTED\", placeId: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { /// A summary of the request sent by using SearchPlaceIndexForPosition. @@ -5312,7 +5397,7 @@ public struct SearchPlaceIndexForSuggestionsInput: Swift.Sendable { extension SearchPlaceIndexForSuggestionsInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "SearchPlaceIndexForSuggestionsInput(filterCategories: \(Swift.String(describing: filterCategories)), indexName: \(Swift.String(describing: indexName)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} + "SearchPlaceIndexForSuggestionsInput(indexName: \(Swift.String(describing: indexName)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCategories: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -5343,6 +5428,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.SearchForSuggestionsResult: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "SearchForSuggestionsResult(categories: \"CONTENT_REDACTED\", placeId: \"CONTENT_REDACTED\", supplementalCategories: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { /// A summary of the request sent by using SearchPlaceIndexForSuggestions. @@ -5399,7 +5489,7 @@ extension LocationClientTypes { extension LocationClientTypes.SearchPlaceIndexForSuggestionsSummary: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "SearchPlaceIndexForSuggestionsSummary(dataSource: \(Swift.String(describing: dataSource)), filterCategories: \(Swift.String(describing: filterCategories)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} + "SearchPlaceIndexForSuggestionsSummary(dataSource: \(Swift.String(describing: dataSource)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCategories: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} } public struct SearchPlaceIndexForSuggestionsOutput: Swift.Sendable { @@ -5468,7 +5558,7 @@ public struct SearchPlaceIndexForTextInput: Swift.Sendable { extension SearchPlaceIndexForTextInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "SearchPlaceIndexForTextInput(filterCategories: \(Swift.String(describing: filterCategories)), indexName: \(Swift.String(describing: indexName)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} + "SearchPlaceIndexForTextInput(indexName: \(Swift.String(describing: indexName)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCategories: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", key: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} } extension LocationClientTypes { @@ -5499,6 +5589,11 @@ extension LocationClientTypes { } } +extension LocationClientTypes.SearchForTextResult: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "SearchForTextResult(place: \(Swift.String(describing: place)), distance: \"CONTENT_REDACTED\", placeId: \"CONTENT_REDACTED\", relevance: \"CONTENT_REDACTED\")"} +} + extension LocationClientTypes { /// A summary of the request sent by using SearchPlaceIndexForText. @@ -5559,7 +5654,7 @@ extension LocationClientTypes { extension LocationClientTypes.SearchPlaceIndexForTextSummary: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "SearchPlaceIndexForTextSummary(dataSource: \(Swift.String(describing: dataSource)), filterCategories: \(Swift.String(describing: filterCategories)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", resultBBox: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} + "SearchPlaceIndexForTextSummary(dataSource: \(Swift.String(describing: dataSource)), language: \(Swift.String(describing: language)), maxResults: \(Swift.String(describing: maxResults)), biasPosition: \"CONTENT_REDACTED\", filterBBox: \"CONTENT_REDACTED\", filterCategories: \"CONTENT_REDACTED\", filterCountries: \"CONTENT_REDACTED\", resultBBox: \"CONTENT_REDACTED\", text: \"CONTENT_REDACTED\")"} } public struct SearchPlaceIndexForTextOutput: Swift.Sendable { @@ -9143,6 +9238,8 @@ extension LocationClientTypes.ApiKeyRestrictions { static func write(value: LocationClientTypes.ApiKeyRestrictions?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["AllowActions"].writeList(value.allowActions, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["AllowAndroidApps"].writeList(value.allowAndroidApps, memberWritingClosure: LocationClientTypes.AndroidApp.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["AllowAppleApps"].writeList(value.allowAppleApps, memberWritingClosure: LocationClientTypes.AppleApp.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["AllowReferers"].writeList(value.allowReferers, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["AllowResources"].writeList(value.allowResources, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) } @@ -9153,6 +9250,40 @@ extension LocationClientTypes.ApiKeyRestrictions { value.allowActions = try reader["AllowActions"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.allowResources = try reader["AllowResources"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] value.allowReferers = try reader["AllowReferers"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.allowAndroidApps = try reader["AllowAndroidApps"].readListIfPresent(memberReadingClosure: LocationClientTypes.AndroidApp.read(from:), memberNodeInfo: "member", isFlattened: false) + value.allowAppleApps = try reader["AllowAppleApps"].readListIfPresent(memberReadingClosure: LocationClientTypes.AppleApp.read(from:), memberNodeInfo: "member", isFlattened: false) + return value + } +} + +extension LocationClientTypes.AppleApp { + + static func write(value: LocationClientTypes.AppleApp?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["BundleId"].write(value.bundleId) + } + + static func read(from reader: SmithyJSON.Reader) throws -> LocationClientTypes.AppleApp { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = LocationClientTypes.AppleApp() + value.bundleId = try reader["BundleId"].readIfPresent() ?? "" + return value + } +} + +extension LocationClientTypes.AndroidApp { + + static func write(value: LocationClientTypes.AndroidApp?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["CertificateFingerprint"].write(value.certificateFingerprint) + try writer["Package"].write(value.`package`) + } + + static func read(from reader: SmithyJSON.Reader) throws -> LocationClientTypes.AndroidApp { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = LocationClientTypes.AndroidApp() + value.`package` = try reader["Package"].readIfPresent() ?? "" + value.certificateFingerprint = try reader["CertificateFingerprint"].readIfPresent() ?? "" return value } } diff --git a/Sources/Services/AWSLookoutEquipment/Sources/AWSLookoutEquipment/LookoutEquipmentClient.swift b/Sources/Services/AWSLookoutEquipment/Sources/AWSLookoutEquipment/LookoutEquipmentClient.swift index 9c8399d12d5..21358c17fe4 100644 --- a/Sources/Services/AWSLookoutEquipment/Sources/AWSLookoutEquipment/LookoutEquipmentClient.swift +++ b/Sources/Services/AWSLookoutEquipment/Sources/AWSLookoutEquipment/LookoutEquipmentClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class LookoutEquipmentClient: ClientRuntime.Client { +public class LookoutEquipmentClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "LookoutEquipmentClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: LookoutEquipmentClient.LookoutEquipmentClientConfiguration let serviceName = "LookoutEquipment" diff --git a/Sources/Services/AWSLookoutMetrics/Dependencies.json b/Sources/Services/AWSLookoutMetrics/Dependencies.json deleted file mode 100644 index e8d9442b374..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Dependencies.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - "AWSClientRuntime", - "AWSSDKChecksums", - "AWSSDKHTTPAuth", - "AWSSDKIdentity", - "ClientRuntime", - "Smithy", - "SmithyHTTPAPI", - "SmithyHTTPAuthAPI", - "SmithyIdentity", - "SmithyJSON", - "SmithyReadWrite", - "SmithyRetries", - "SmithyRetriesAPI", - "SmithyTestUtil", - "SmithyTimestamps" -] diff --git a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/AuthSchemeResolver.swift b/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/AuthSchemeResolver.swift deleted file mode 100644 index cc85d8599bc..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/AuthSchemeResolver.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class Smithy.Context -import enum Smithy.ClientError -import enum SmithyHTTPAuthAPI.SigningPropertyKeys -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters -import struct SmithyHTTPAuthAPI.AuthOption - -public struct LookoutMetricsAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - public let authSchemePreference: [String]? - public let operation: Swift.String - // Region is used for SigV4 auth scheme - public let region: Swift.String? -} - -public protocol LookoutMetricsAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { - // Intentionally empty. - // This is the parent protocol that all auth scheme resolver implementations of - // the service LookoutMetrics must conform to. -} - -public struct DefaultLookoutMetricsAuthSchemeResolver: LookoutMetricsAuthSchemeResolver { - - public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { - var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? LookoutMetricsAuthSchemeResolverParameters else { - throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") - } - switch serviceParams.operation { - default: - var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "lookoutmetrics") - guard let region = serviceParams.region else { - throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") - } - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingRegion, value: region) - validAuthOptions.append(sigv4Option) - } - return self.reprioritizeAuthOptions(authSchemePreference: serviceParams.authSchemePreference, authOptions: validAuthOptions) - } - - public func constructParameters(context: Smithy.Context) throws -> SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - guard let opName = context.getOperation() else { - throw Smithy.ClientError.dataNotFound("Operation name not configured in middleware context for auth scheme resolver params construction.") - } - let authSchemePreference = context.getAuthSchemePreference() - let opRegion = context.getRegion() - return LookoutMetricsAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) - } -} diff --git a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Endpoints.swift b/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Endpoints.swift deleted file mode 100644 index 3b78930db1a..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Endpoints.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class ClientRuntime.EndpointsRequestContext -import let AWSClientRuntime.awsPartitionJSON -import protocol ClientRuntime.EndpointsRequestContextProviding -import struct ClientRuntime.DefaultEndpointResolver -import struct ClientRuntime.StaticEndpointResolver -import struct SmithyHTTPAPI.Endpoint - -public struct EndpointParams: Sendable { - /// Override the endpoint used to send this request - public let endpoint: Swift.String? - /// The AWS region used to dispatch the request. - public let region: Swift.String? - /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. - public let useDualStack: Swift.Bool - /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. - public let useFIPS: Swift.Bool - - public init( - endpoint: Swift.String? = nil, - region: Swift.String? = nil, - useDualStack: Swift.Bool = false, - useFIPS: Swift.Bool = false - ) - { - self.endpoint = endpoint - self.region = region - self.useDualStack = useDualStack - self.useFIPS = useFIPS - } -} - -extension EndpointParams: ClientRuntime.EndpointsRequestContextProviding { - - public var context: ClientRuntime.EndpointsRequestContext { - get throws { - let context = try ClientRuntime.EndpointsRequestContext() - try context.add(name: "Endpoint", value: self.endpoint) - try context.add(name: "Region", value: self.region) - try context.add(name: "UseDualStack", value: self.useDualStack) - try context.add(name: "UseFIPS", value: self.useFIPS) - return context - } - } -} - -public protocol EndpointResolver { - func resolve(params: EndpointParams) throws -> SmithyHTTPAPI.Endpoint -} - -typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver - -extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutmetrics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutmetrics-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutmetrics.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutmetrics.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" - - init() throws { - try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) - } -} - -extension DefaultEndpointResolver: EndpointResolver {} - -typealias StaticEndpointResolver = ClientRuntime.StaticEndpointResolver - -extension StaticEndpointResolver: EndpointResolver {} diff --git a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/LookoutMetricsClient.swift b/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/LookoutMetricsClient.swift deleted file mode 100644 index 3dbfd8ebf55..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/LookoutMetricsClient.swift +++ /dev/null @@ -1,2530 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import Foundation -import class AWSClientRuntime.AWSClientConfigDefaultsProvider -import class AWSClientRuntime.AmzSdkRequestMiddleware -import class AWSClientRuntime.DefaultAWSClientPlugin -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import class ClientRuntime.ClientBuilder -import class ClientRuntime.DefaultClientPlugin -import class ClientRuntime.HttpClientConfiguration -import class ClientRuntime.OrchestratorBuilder -import class ClientRuntime.OrchestratorTelemetry -import class ClientRuntime.SdkHttpClient -import class Smithy.Context -import class Smithy.ContextBuilder -import class SmithyHTTPAPI.HTTPRequest -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum AWSClientRuntime.AWSClockSkewProvider -import enum AWSClientRuntime.AWSRetryErrorInfoProvider -import enum AWSClientRuntime.AWSRetryMode -import enum AWSSDKChecksums.AWSChecksumCalculationMode -import enum ClientRuntime.ClientLogMode -import enum ClientRuntime.DefaultTelemetry -import enum ClientRuntime.OrchestratorMetricsAttributesKeys -import protocol AWSClientRuntime.AWSDefaultClientConfiguration -import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client -import protocol ClientRuntime.DefaultClientConfiguration -import protocol ClientRuntime.DefaultHttpClientConfiguration -import protocol ClientRuntime.HttpInterceptorProvider -import protocol ClientRuntime.IdempotencyTokenGenerator -import protocol ClientRuntime.InterceptorProvider -import protocol ClientRuntime.TelemetryProvider -import protocol Smithy.LogAgent -import protocol SmithyHTTPAPI.HTTPClient -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(AWSEndpointResolverMiddleware) import struct AWSClientRuntime.AWSEndpointResolverMiddleware -import struct AWSClientRuntime.AmzSdkInvocationIdMiddleware -import struct AWSClientRuntime.UserAgentMiddleware -import struct AWSSDKHTTPAuth.SigV4AuthScheme -import struct ClientRuntime.AuthSchemeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.BodyMiddleware -import struct ClientRuntime.ContentLengthMiddleware -import struct ClientRuntime.ContentTypeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware -import struct ClientRuntime.LoggerMiddleware -import struct ClientRuntime.QueryItemMiddleware -import struct ClientRuntime.SignerMiddleware -import struct ClientRuntime.URLHostMiddleware -import struct ClientRuntime.URLPathMiddleware -import struct Smithy.Attributes -import struct SmithyIdentity.BearerTokenIdentity -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import struct SmithyRetries.DefaultRetryStrategy -import struct SmithyRetriesAPI.RetryStrategyOptions -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class LookoutMetricsClient: ClientRuntime.Client { - public static let clientName = "LookoutMetricsClient" - public static let version = "1.5.61" - let client: ClientRuntime.SdkHttpClient - let config: LookoutMetricsClient.LookoutMetricsClientConfiguration - let serviceName = "LookoutMetrics" - - public required init(config: LookoutMetricsClient.LookoutMetricsClientConfiguration) { - client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) - self.config = config - } - - public convenience init(region: Swift.String) throws { - let config = try LookoutMetricsClient.LookoutMetricsClientConfiguration(region: region) - self.init(config: config) - } - - public convenience required init() async throws { - let config = try await LookoutMetricsClient.LookoutMetricsClientConfiguration() - self.init(config: config) - } -} - -extension LookoutMetricsClient { - - public class LookoutMetricsClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { - public var useFIPS: Swift.Bool? - public var useDualStack: Swift.Bool? - public var appID: Swift.String? - public var awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver - public var awsRetryMode: AWSClientRuntime.AWSRetryMode - public var maxAttempts: Swift.Int? - public var requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode - public var responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode - public var ignoreConfiguredEndpointURLs: Swift.Bool? - public var region: Swift.String? - public var signingRegion: Swift.String? - public var endpointResolver: EndpointResolver - public var telemetryProvider: ClientRuntime.TelemetryProvider - public var retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions - public var clientLogMode: ClientRuntime.ClientLogMode - public var endpoint: Swift.String? - public var idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator - public var httpClientEngine: SmithyHTTPAPI.HTTPClient - public var httpClientConfiguration: ClientRuntime.HttpClientConfiguration - public var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - public var authSchemePreference: [String]? - public var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver - public var bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver - public private(set) var interceptorProviders: [ClientRuntime.InterceptorProvider] - public private(set) var httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - public let logger: Smithy.LogAgent - - private init( - _ useFIPS: Swift.Bool?, - _ useDualStack: Swift.Bool?, - _ appID: Swift.String?, - _ awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver, - _ awsRetryMode: AWSClientRuntime.AWSRetryMode, - _ maxAttempts: Swift.Int?, - _ requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ ignoreConfiguredEndpointURLs: Swift.Bool?, - _ region: Swift.String?, - _ signingRegion: Swift.String?, - _ endpointResolver: EndpointResolver, - _ telemetryProvider: ClientRuntime.TelemetryProvider, - _ retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions, - _ clientLogMode: ClientRuntime.ClientLogMode, - _ endpoint: Swift.String?, - _ idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator, - _ httpClientEngine: SmithyHTTPAPI.HTTPClient, - _ httpClientConfiguration: ClientRuntime.HttpClientConfiguration, - _ authSchemes: SmithyHTTPAuthAPI.AuthSchemes?, - _ authSchemePreference: [String]?, - _ authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver, - _ bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver, - _ interceptorProviders: [ClientRuntime.InterceptorProvider], - _ httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - ) { - self.useFIPS = useFIPS - self.useDualStack = useDualStack - self.appID = appID - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.awsRetryMode = awsRetryMode - self.maxAttempts = maxAttempts - self.requestChecksumCalculation = requestChecksumCalculation - self.responseChecksumValidation = responseChecksumValidation - self.ignoreConfiguredEndpointURLs = ignoreConfiguredEndpointURLs - self.region = region - self.signingRegion = signingRegion - self.endpointResolver = endpointResolver - self.telemetryProvider = telemetryProvider - self.retryStrategyOptions = retryStrategyOptions - self.clientLogMode = clientLogMode - self.endpoint = endpoint - self.idempotencyTokenGenerator = idempotencyTokenGenerator - self.httpClientEngine = httpClientEngine - self.httpClientConfiguration = httpClientConfiguration - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference - self.authSchemeResolver = authSchemeResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - self.interceptorProviders = interceptorProviders - self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: LookoutMetricsClient.clientName) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - region, - signingRegion, - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultLookoutMetricsAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) async throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultLookoutMetricsAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience required init() async throws { - try await self.init( - useFIPS: nil, - useDualStack: nil, - appID: nil, - awsCredentialIdentityResolver: nil, - awsRetryMode: nil, - maxAttempts: nil, - requestChecksumCalculation: nil, - responseChecksumValidation: nil, - ignoreConfiguredEndpointURLs: nil, - region: nil, - signingRegion: nil, - endpointResolver: nil, - telemetryProvider: nil, - retryStrategyOptions: nil, - clientLogMode: nil, - endpoint: nil, - idempotencyTokenGenerator: nil, - httpClientEngine: nil, - httpClientConfiguration: nil, - authSchemes: nil, - authSchemePreference: nil, - authSchemeResolver: nil, - bearerTokenIdentityResolver: nil, - interceptorProviders: nil, - httpInterceptorProviders: nil - ) - } - - public convenience init(region: Swift.String) throws { - self.init( - nil, - nil, - try AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - nil, - try AWSClientConfigDefaultsProvider.requestChecksumCalculation(), - try AWSClientConfigDefaultsProvider.responseChecksumValidation(), - nil, - region, - region, - try DefaultEndpointResolver(), - ClientRuntime.DefaultTelemetry.provider, - try AWSClientConfigDefaultsProvider.retryStrategyOptions(), - AWSClientConfigDefaultsProvider.clientLogMode(), - nil, - AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - AWSClientConfigDefaultsProvider.httpClientEngine(), - AWSClientConfigDefaultsProvider.httpClientConfiguration(), - [AWSSDKHTTPAuth.SigV4AuthScheme()], - nil, - DefaultLookoutMetricsAuthSchemeResolver(), - SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - [], - [] - ) - } - - public var partitionID: String? { - return "\(LookoutMetricsClient.clientName) - \(region ?? "")" - } - - public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { - self.interceptorProviders.append(provider) - } - - public func addInterceptorProvider(_ provider: ClientRuntime.HttpInterceptorProvider) { - self.httpInterceptorProviders.append(provider) - } - - } - - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ - ClientRuntime.DefaultClientPlugin(), - AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), - DefaultAWSAuthSchemePlugin() - ]) - } -} - -extension LookoutMetricsClient { - /// Performs the `ActivateAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Activates an anomaly detector. - /// - /// - Parameter input: [no documentation found] (Type: `ActivateAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `ActivateAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `ConflictException` : There was a conflict processing the request. Try your request again. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func activateAnomalyDetector(input: ActivateAnomalyDetectorInput) async throws -> ActivateAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "activateAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ActivateAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ActivateAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ActivateAnomalyDetectorOutput.httpOutput(from:), ActivateAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ActivateAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `BackTestAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Runs a backtest for anomaly detection for the specified resource. - /// - /// - Parameter input: [no documentation found] (Type: `BackTestAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `BackTestAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func backTestAnomalyDetector(input: BackTestAnomalyDetectorInput) async throws -> BackTestAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "backTestAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(BackTestAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: BackTestAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(BackTestAnomalyDetectorOutput.httpOutput(from:), BackTestAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "BackTestAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateAlert` operation on the `LookoutMetrics` service. - /// - /// Creates an alert for an anomaly detector. - /// - /// - Parameter input: [no documentation found] (Type: `CreateAlertInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateAlertOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `ConflictException` : There was a conflict processing the request. Try your request again. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `ServiceQuotaExceededException` : The request exceeded the service's quotas. Check the service quotas and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func createAlert(input: CreateAlertInput) async throws -> CreateAlertOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createAlert") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateAlertInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateAlertInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateAlertOutput.httpOutput(from:), CreateAlertOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateAlert") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Creates an anomaly detector. - /// - /// - Parameter input: [no documentation found] (Type: `CreateAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `ConflictException` : There was a conflict processing the request. Try your request again. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ServiceQuotaExceededException` : The request exceeded the service's quotas. Check the service quotas and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func createAnomalyDetector(input: CreateAnomalyDetectorInput) async throws -> CreateAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateAnomalyDetectorOutput.httpOutput(from:), CreateAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateMetricSet` operation on the `LookoutMetrics` service. - /// - /// Creates a dataset. - /// - /// - Parameter input: [no documentation found] (Type: `CreateMetricSetInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateMetricSetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `ConflictException` : There was a conflict processing the request. Try your request again. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `ServiceQuotaExceededException` : The request exceeded the service's quotas. Check the service quotas and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func createMetricSet(input: CreateMetricSetInput) async throws -> CreateMetricSetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createMetricSet") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateMetricSetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateMetricSetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateMetricSetOutput.httpOutput(from:), CreateMetricSetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateMetricSet") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeactivateAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Deactivates an anomaly detector. - /// - /// - Parameter input: [no documentation found] (Type: `DeactivateAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `DeactivateAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `ConflictException` : There was a conflict processing the request. Try your request again. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func deactivateAnomalyDetector(input: DeactivateAnomalyDetectorInput) async throws -> DeactivateAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deactivateAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeactivateAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeactivateAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeactivateAnomalyDetectorOutput.httpOutput(from:), DeactivateAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeactivateAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteAlert` operation on the `LookoutMetrics` service. - /// - /// Deletes an alert. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteAlertInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteAlertOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func deleteAlert(input: DeleteAlertInput) async throws -> DeleteAlertOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteAlert") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteAlertInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteAlertInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteAlertOutput.httpOutput(from:), DeleteAlertOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteAlert") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Deletes a detector. Deleting an anomaly detector will delete all of its corresponding resources including any configured datasets and alerts. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `ConflictException` : There was a conflict processing the request. Try your request again. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func deleteAnomalyDetector(input: DeleteAnomalyDetectorInput) async throws -> DeleteAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteAnomalyDetectorOutput.httpOutput(from:), DeleteAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeAlert` operation on the `LookoutMetrics` service. - /// - /// Describes an alert. Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource immediately after creating or modifying it, use retries to allow time for the write operation to complete. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeAlertInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeAlertOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func describeAlert(input: DescribeAlertInput) async throws -> DescribeAlertOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeAlert") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeAlertInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeAlertInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeAlertOutput.httpOutput(from:), DescribeAlertOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeAlert") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeAnomalyDetectionExecutions` operation on the `LookoutMetrics` service. - /// - /// Returns information about the status of the specified anomaly detection jobs. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeAnomalyDetectionExecutionsInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeAnomalyDetectionExecutionsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func describeAnomalyDetectionExecutions(input: DescribeAnomalyDetectionExecutionsInput) async throws -> DescribeAnomalyDetectionExecutionsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeAnomalyDetectionExecutions") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeAnomalyDetectionExecutionsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeAnomalyDetectionExecutionsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeAnomalyDetectionExecutionsOutput.httpOutput(from:), DescribeAnomalyDetectionExecutionsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeAnomalyDetectionExecutions") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Describes a detector. Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource immediately after creating or modifying it, use retries to allow time for the write operation to complete. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func describeAnomalyDetector(input: DescribeAnomalyDetectorInput) async throws -> DescribeAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeAnomalyDetectorOutput.httpOutput(from:), DescribeAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeMetricSet` operation on the `LookoutMetrics` service. - /// - /// Describes a dataset. Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource immediately after creating or modifying it, use retries to allow time for the write operation to complete. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeMetricSetInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeMetricSetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func describeMetricSet(input: DescribeMetricSetInput) async throws -> DescribeMetricSetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeMetricSet") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeMetricSetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeMetricSetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeMetricSetOutput.httpOutput(from:), DescribeMetricSetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeMetricSet") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DetectMetricSetConfig` operation on the `LookoutMetrics` service. - /// - /// Detects an Amazon S3 dataset's file format, interval, and offset. - /// - /// - Parameter input: [no documentation found] (Type: `DetectMetricSetConfigInput`) - /// - /// - Returns: [no documentation found] (Type: `DetectMetricSetConfigOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func detectMetricSetConfig(input: DetectMetricSetConfigInput) async throws -> DetectMetricSetConfigOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "detectMetricSetConfig") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DetectMetricSetConfigInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DetectMetricSetConfigInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DetectMetricSetConfigOutput.httpOutput(from:), DetectMetricSetConfigOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DetectMetricSetConfig") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetAnomalyGroup` operation on the `LookoutMetrics` service. - /// - /// Returns details about a group of anomalous metrics. - /// - /// - Parameter input: [no documentation found] (Type: `GetAnomalyGroupInput`) - /// - /// - Returns: [no documentation found] (Type: `GetAnomalyGroupOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func getAnomalyGroup(input: GetAnomalyGroupInput) async throws -> GetAnomalyGroupOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getAnomalyGroup") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetAnomalyGroupInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetAnomalyGroupInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetAnomalyGroupOutput.httpOutput(from:), GetAnomalyGroupOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetAnomalyGroup") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetDataQualityMetrics` operation on the `LookoutMetrics` service. - /// - /// Returns details about the requested data quality metrics. - /// - /// - Parameter input: [no documentation found] (Type: `GetDataQualityMetricsInput`) - /// - /// - Returns: [no documentation found] (Type: `GetDataQualityMetricsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func getDataQualityMetrics(input: GetDataQualityMetricsInput) async throws -> GetDataQualityMetricsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getDataQualityMetrics") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetDataQualityMetricsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetDataQualityMetricsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetDataQualityMetricsOutput.httpOutput(from:), GetDataQualityMetricsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetDataQualityMetrics") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetFeedback` operation on the `LookoutMetrics` service. - /// - /// Get feedback for an anomaly group. - /// - /// - Parameter input: [no documentation found] (Type: `GetFeedbackInput`) - /// - /// - Returns: [no documentation found] (Type: `GetFeedbackOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func getFeedback(input: GetFeedbackInput) async throws -> GetFeedbackOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getFeedback") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetFeedbackInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetFeedbackInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetFeedbackOutput.httpOutput(from:), GetFeedbackOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetFeedback") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetSampleData` operation on the `LookoutMetrics` service. - /// - /// Returns a selection of sample records from an Amazon S3 datasource. - /// - /// - Parameter input: [no documentation found] (Type: `GetSampleDataInput`) - /// - /// - Returns: [no documentation found] (Type: `GetSampleDataOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func getSampleData(input: GetSampleDataInput) async throws -> GetSampleDataOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getSampleData") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetSampleDataInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetSampleDataInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetSampleDataOutput.httpOutput(from:), GetSampleDataOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetSampleData") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListAlerts` operation on the `LookoutMetrics` service. - /// - /// Lists the alerts attached to a detector. Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource immediately after creating or modifying it, use retries to allow time for the write operation to complete. - /// - /// - Parameter input: [no documentation found] (Type: `ListAlertsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListAlertsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listAlerts(input: ListAlertsInput) async throws -> ListAlertsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listAlerts") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAlertsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListAlertsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAlertsOutput.httpOutput(from:), ListAlertsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAlerts") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListAnomalyDetectors` operation on the `LookoutMetrics` service. - /// - /// Lists the detectors in the current AWS Region. Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource immediately after creating or modifying it, use retries to allow time for the write operation to complete. - /// - /// - Parameter input: [no documentation found] (Type: `ListAnomalyDetectorsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListAnomalyDetectorsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listAnomalyDetectors(input: ListAnomalyDetectorsInput) async throws -> ListAnomalyDetectorsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listAnomalyDetectors") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAnomalyDetectorsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListAnomalyDetectorsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAnomalyDetectorsOutput.httpOutput(from:), ListAnomalyDetectorsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAnomalyDetectors") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListAnomalyGroupRelatedMetrics` operation on the `LookoutMetrics` service. - /// - /// Returns a list of measures that are potential causes or effects of an anomaly group. - /// - /// - Parameter input: [no documentation found] (Type: `ListAnomalyGroupRelatedMetricsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListAnomalyGroupRelatedMetricsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listAnomalyGroupRelatedMetrics(input: ListAnomalyGroupRelatedMetricsInput) async throws -> ListAnomalyGroupRelatedMetricsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listAnomalyGroupRelatedMetrics") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAnomalyGroupRelatedMetricsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListAnomalyGroupRelatedMetricsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAnomalyGroupRelatedMetricsOutput.httpOutput(from:), ListAnomalyGroupRelatedMetricsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAnomalyGroupRelatedMetrics") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListAnomalyGroupSummaries` operation on the `LookoutMetrics` service. - /// - /// Returns a list of anomaly groups. - /// - /// - Parameter input: [no documentation found] (Type: `ListAnomalyGroupSummariesInput`) - /// - /// - Returns: [no documentation found] (Type: `ListAnomalyGroupSummariesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listAnomalyGroupSummaries(input: ListAnomalyGroupSummariesInput) async throws -> ListAnomalyGroupSummariesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listAnomalyGroupSummaries") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAnomalyGroupSummariesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListAnomalyGroupSummariesInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAnomalyGroupSummariesOutput.httpOutput(from:), ListAnomalyGroupSummariesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAnomalyGroupSummaries") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListAnomalyGroupTimeSeries` operation on the `LookoutMetrics` service. - /// - /// Gets a list of anomalous metrics for a measure in an anomaly group. - /// - /// - Parameter input: [no documentation found] (Type: `ListAnomalyGroupTimeSeriesInput`) - /// - /// - Returns: [no documentation found] (Type: `ListAnomalyGroupTimeSeriesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listAnomalyGroupTimeSeries(input: ListAnomalyGroupTimeSeriesInput) async throws -> ListAnomalyGroupTimeSeriesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listAnomalyGroupTimeSeries") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAnomalyGroupTimeSeriesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListAnomalyGroupTimeSeriesInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAnomalyGroupTimeSeriesOutput.httpOutput(from:), ListAnomalyGroupTimeSeriesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAnomalyGroupTimeSeries") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListMetricSets` operation on the `LookoutMetrics` service. - /// - /// Lists the datasets in the current AWS Region. Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource immediately after creating or modifying it, use retries to allow time for the write operation to complete. - /// - /// - Parameter input: [no documentation found] (Type: `ListMetricSetsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListMetricSetsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listMetricSets(input: ListMetricSetsInput) async throws -> ListMetricSetsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listMetricSets") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListMetricSetsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListMetricSetsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListMetricSetsOutput.httpOutput(from:), ListMetricSetsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListMetricSets") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListTagsForResource` operation on the `LookoutMetrics` service. - /// - /// Gets a list of [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html) for a detector, dataset, or alert. - /// - /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listTagsForResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `PutFeedback` operation on the `LookoutMetrics` service. - /// - /// Add feedback for an anomalous metric. - /// - /// - Parameter input: [no documentation found] (Type: `PutFeedbackInput`) - /// - /// - Returns: [no documentation found] (Type: `PutFeedbackOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func putFeedback(input: PutFeedbackInput) async throws -> PutFeedbackOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "putFeedback") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(PutFeedbackInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: PutFeedbackInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(PutFeedbackOutput.httpOutput(from:), PutFeedbackOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "PutFeedback") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `TagResource` operation on the `LookoutMetrics` service. - /// - /// Adds [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html) to a detector, dataset, or alert. - /// - /// - Parameter input: [no documentation found] (Type: `TagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `TagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "tagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(TagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: TagResourceInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(TagResourceOutput.httpOutput(from:), TagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "TagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UntagResource` operation on the `LookoutMetrics` service. - /// - /// Removes [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html) from a detector, dataset, or alert. - /// - /// - Parameter input: [no documentation found] (Type: `UntagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `UntagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "untagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UntagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(UntagResourceInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UntagResourceOutput.httpOutput(from:), UntagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UntagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateAlert` operation on the `LookoutMetrics` service. - /// - /// Make changes to an existing alert. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateAlertInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateAlertOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func updateAlert(input: UpdateAlertInput) async throws -> UpdateAlertOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "updateAlert") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateAlertInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateAlertInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateAlertOutput.httpOutput(from:), UpdateAlertOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateAlert") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateAnomalyDetector` operation on the `LookoutMetrics` service. - /// - /// Updates a detector. After activation, you can only change a detector's ingestion delay and description. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateAnomalyDetectorInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateAnomalyDetectorOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func updateAnomalyDetector(input: UpdateAnomalyDetectorInput) async throws -> UpdateAnomalyDetectorOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "updateAnomalyDetector") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateAnomalyDetectorInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateAnomalyDetectorInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateAnomalyDetectorOutput.httpOutput(from:), UpdateAnomalyDetectorOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateAnomalyDetector") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateMetricSet` operation on the `LookoutMetrics` service. - /// - /// Updates a dataset. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateMetricSetInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateMetricSetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You do not have sufficient permissions to perform this action. - /// - `InternalServerException` : The request processing has failed because of an unknown error, exception, or failure. - /// - `ResourceNotFoundException` : The specified resource cannot be found. Check the ARN of the resource and try again. - /// - `ServiceQuotaExceededException` : The request exceeded the service's quotas. Check the service quotas and try again. - /// - `TooManyRequestsException` : The request was denied due to too many requests being submitted at the same time. - /// - `ValidationException` : The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. - public func updateMetricSet(input: UpdateMetricSetInput) async throws -> UpdateMetricSetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "updateMetricSet") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutmetrics") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateMetricSetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateMetricSetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateMetricSetOutput.httpOutput(from:), UpdateMetricSetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutMetrics", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutMetricsClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutMetrics") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateMetricSet") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } -} diff --git a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Models.swift b/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Models.swift deleted file mode 100644 index 3daf612de24..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Models.swift +++ /dev/null @@ -1,5585 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import Foundation -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum Smithy.ClientError -import enum SmithyReadWrite.ReaderError -@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures -@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures -@_spi(SmithyTimestamps) import enum SmithyTimestamps.TimestampFormat -@_spi(SmithyReadWrite) import func SmithyReadWrite.listReadingClosure -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError -import struct Smithy.URIQueryItem - -/// You do not have sufficient permissions to perform this action. -public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "AccessDeniedException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about a Lambda configuration. - public struct LambdaConfiguration: Swift.Sendable { - /// The ARN of the Lambda function. - /// This member is required. - public var lambdaArn: Swift.String? - /// The ARN of an IAM role that has permission to invoke the Lambda function. - /// This member is required. - public var roleArn: Swift.String? - - public init( - lambdaArn: Swift.String? = nil, - roleArn: Swift.String? = nil - ) { - self.lambdaArn = lambdaArn - self.roleArn = roleArn - } - } -} - -extension LookoutMetricsClientTypes { - - public enum SnsFormat: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case json - case longText - case shortText - case sdkUnknown(Swift.String) - - public static var allCases: [SnsFormat] { - return [ - .json, - .longText, - .shortText - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .json: return "JSON" - case .longText: return "LONG_TEXT" - case .shortText: return "SHORT_TEXT" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about the SNS topic to which you want to send your alerts and the IAM role that has access to that topic. - public struct SNSConfiguration: Swift.Sendable { - /// The ARN of the IAM role that has access to the target SNS topic. - /// This member is required. - public var roleArn: Swift.String? - /// The format of the SNS topic. - /// - /// * JSON – Send JSON alerts with an anomaly ID and a link to the anomaly detail page. This is the default. - /// - /// * LONG_TEXT – Send human-readable alerts with information about the impacted timeseries and a link to the anomaly detail page. We recommend this for email. - /// - /// * SHORT_TEXT – Send human-readable alerts with a link to the anomaly detail page. We recommend this for SMS. - public var snsFormat: LookoutMetricsClientTypes.SnsFormat? - /// The ARN of the target SNS topic. - /// This member is required. - public var snsTopicArn: Swift.String? - - public init( - roleArn: Swift.String? = nil, - snsFormat: LookoutMetricsClientTypes.SnsFormat? = nil, - snsTopicArn: Swift.String? = nil - ) { - self.roleArn = roleArn - self.snsFormat = snsFormat - self.snsTopicArn = snsTopicArn - } - } -} - -extension LookoutMetricsClientTypes { - - /// A configuration that specifies the action to perform when anomalies are detected. - public struct Action: Swift.Sendable { - /// A configuration for an AWS Lambda channel. - public var lambdaConfiguration: LookoutMetricsClientTypes.LambdaConfiguration? - /// A configuration for an Amazon SNS channel. - public var snsConfiguration: LookoutMetricsClientTypes.SNSConfiguration? - - public init( - lambdaConfiguration: LookoutMetricsClientTypes.LambdaConfiguration? = nil, - snsConfiguration: LookoutMetricsClientTypes.SNSConfiguration? = nil - ) { - self.lambdaConfiguration = lambdaConfiguration - self.snsConfiguration = snsConfiguration - } - } -} - -/// There was a conflict processing the request. Try your request again. -public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The ID of the resource. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConflictException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// The request processing has failed because of an unknown error, exception, or failure. -public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InternalServerException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// The specified resource cannot be found. Check the ARN of the resource and try again. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The ID of the resource. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// The request was denied due to too many requests being submitted at the same time. -public struct TooManyRequestsException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "TooManyRequestsException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about a a field in a validation exception. - public struct ValidationExceptionField: Swift.Sendable { - /// The message with more information about the validation exception. - /// This member is required. - public var message: Swift.String? - /// The name of the field. - /// This member is required. - public var name: Swift.String? - - public init( - message: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.message = message - self.name = name - } - } -} - -extension LookoutMetricsClientTypes { - - public enum ValidationExceptionReason: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case cannotParse - case fieldValidationFailed - case other - case unknownOperation - case sdkUnknown(Swift.String) - - public static var allCases: [ValidationExceptionReason] { - return [ - .cannotParse, - .fieldValidationFailed, - .other, - .unknownOperation - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .cannotParse: return "CANNOT_PARSE" - case .fieldValidationFailed: return "FIELD_VALIDATION_FAILED" - case .other: return "OTHER" - case .unknownOperation: return "UNKNOWN_OPERATION" - case let .sdkUnknown(s): return s - } - } - } -} - -/// The input fails to satisfy the constraints specified by the AWS service. Check your input values and try again. -public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// Fields that failed validation. - public internal(set) var fields: [LookoutMetricsClientTypes.ValidationExceptionField]? = nil - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The reason that validation failed. - public internal(set) var reason: LookoutMetricsClientTypes.ValidationExceptionReason? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ValidationException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - fields: [LookoutMetricsClientTypes.ValidationExceptionField]? = nil, - message: Swift.String? = nil, - reason: LookoutMetricsClientTypes.ValidationExceptionReason? = nil - ) { - self.properties.fields = fields - self.properties.message = message - self.properties.reason = reason - } -} - -public struct ActivateAnomalyDetectorInput: Swift.Sendable { - /// The ARN of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -public struct ActivateAnomalyDetectorOutput: Swift.Sendable { - - public init() { } -} - -extension LookoutMetricsClientTypes { - - public enum AggregationFunction: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case avg - case sum - case sdkUnknown(Swift.String) - - public static var allCases: [AggregationFunction] { - return [ - .avg, - .sum - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .avg: return "AVG" - case .sum: return "SUM" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// The dimension filter, containing DimensionName and DimensionValueList. - public struct DimensionFilter: Swift.Sendable { - /// The name of the dimension to filter on. - public var dimensionName: Swift.String? - /// The list of values for the dimension specified in DimensionName that you want to filter on. - public var dimensionValueList: [Swift.String]? - - public init( - dimensionName: Swift.String? = nil, - dimensionValueList: [Swift.String]? = nil - ) { - self.dimensionName = dimensionName - self.dimensionValueList = dimensionValueList - } - } -} - -extension LookoutMetricsClientTypes { - - /// The configuration of the alert filters. - public struct AlertFilters: Swift.Sendable { - /// The list of DimensionFilter objects that are used for dimension-based filtering. - public var dimensionFilterList: [LookoutMetricsClientTypes.DimensionFilter]? - /// The list of measures that you want to get alerts for. - public var metricList: [Swift.String]? - - public init( - dimensionFilterList: [LookoutMetricsClientTypes.DimensionFilter]? = nil, - metricList: [Swift.String]? = nil - ) { - self.dimensionFilterList = dimensionFilterList - self.metricList = metricList - } - } -} - -extension LookoutMetricsClientTypes { - - public enum AlertStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case inactive - case sdkUnknown(Swift.String) - - public static var allCases: [AlertStatus] { - return [ - .active, - .inactive - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "ACTIVE" - case .inactive: return "INACTIVE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - public enum AlertType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case lambda - case sns - case sdkUnknown(Swift.String) - - public static var allCases: [AlertType] { - return [ - .lambda, - .sns - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .lambda: return "LAMBDA" - case .sns: return "SNS" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// A configuration for Amazon SNS-integrated notifications. - public struct Alert: Swift.Sendable { - /// Action that will be triggered when there is an alert. - public var action: LookoutMetricsClientTypes.Action? - /// The ARN of the alert. - public var alertArn: Swift.String? - /// A description of the alert. - public var alertDescription: Swift.String? - /// The configuration of the alert filters, containing MetricList and DimensionFilter. - public var alertFilters: LookoutMetricsClientTypes.AlertFilters? - /// The name of the alert. - public var alertName: Swift.String? - /// The minimum severity for an anomaly to trigger the alert. - public var alertSensitivityThreshold: Swift.Int - /// The status of the alert. - public var alertStatus: LookoutMetricsClientTypes.AlertStatus? - /// The type of the alert. - public var alertType: LookoutMetricsClientTypes.AlertType? - /// The ARN of the detector to which the alert is attached. - public var anomalyDetectorArn: Swift.String? - /// The time at which the alert was created. - public var creationTime: Foundation.Date? - /// The time at which the alert was last modified. - public var lastModificationTime: Foundation.Date? - - public init( - action: LookoutMetricsClientTypes.Action? = nil, - alertArn: Swift.String? = nil, - alertDescription: Swift.String? = nil, - alertFilters: LookoutMetricsClientTypes.AlertFilters? = nil, - alertName: Swift.String? = nil, - alertSensitivityThreshold: Swift.Int = 0, - alertStatus: LookoutMetricsClientTypes.AlertStatus? = nil, - alertType: LookoutMetricsClientTypes.AlertType? = nil, - anomalyDetectorArn: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - lastModificationTime: Foundation.Date? = nil - ) { - self.action = action - self.alertArn = alertArn - self.alertDescription = alertDescription - self.alertFilters = alertFilters - self.alertName = alertName - self.alertSensitivityThreshold = alertSensitivityThreshold - self.alertStatus = alertStatus - self.alertType = alertType - self.anomalyDetectorArn = anomalyDetectorArn - self.creationTime = creationTime - self.lastModificationTime = lastModificationTime - } - } -} - -extension LookoutMetricsClientTypes { - - /// Provides a summary of an alert's configuration. - public struct AlertSummary: Swift.Sendable { - /// The ARN of the alert. - public var alertArn: Swift.String? - /// The name of the alert. - public var alertName: Swift.String? - /// The minimum severity for an anomaly to trigger the alert. - public var alertSensitivityThreshold: Swift.Int - /// The status of the alert. - public var alertStatus: LookoutMetricsClientTypes.AlertStatus? - /// The type of the alert. - public var alertType: LookoutMetricsClientTypes.AlertType? - /// The ARN of the detector to which the alert is attached. - public var anomalyDetectorArn: Swift.String? - /// The time at which the alert was created. - public var creationTime: Foundation.Date? - /// The time at which the alert was last modified. - public var lastModificationTime: Foundation.Date? - /// The alert's [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html). - public var tags: [Swift.String: Swift.String]? - - public init( - alertArn: Swift.String? = nil, - alertName: Swift.String? = nil, - alertSensitivityThreshold: Swift.Int = 0, - alertStatus: LookoutMetricsClientTypes.AlertStatus? = nil, - alertType: LookoutMetricsClientTypes.AlertType? = nil, - anomalyDetectorArn: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - lastModificationTime: Foundation.Date? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.alertArn = alertArn - self.alertName = alertName - self.alertSensitivityThreshold = alertSensitivityThreshold - self.alertStatus = alertStatus - self.alertType = alertType - self.anomalyDetectorArn = anomalyDetectorArn - self.creationTime = creationTime - self.lastModificationTime = lastModificationTime - self.tags = tags - } - } -} - -extension LookoutMetricsClientTypes { - - public enum AnomalyDetectionTaskStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case completed - case failed - case failedToSchedule - case inProgress - case pending - case sdkUnknown(Swift.String) - - public static var allCases: [AnomalyDetectionTaskStatus] { - return [ - .completed, - .failed, - .failedToSchedule, - .inProgress, - .pending - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .completed: return "COMPLETED" - case .failed: return "FAILED" - case .failedToSchedule: return "FAILED_TO_SCHEDULE" - case .inProgress: return "IN_PROGRESS" - case .pending: return "PENDING" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - public enum Frequency: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case p1d - case pt10m - case pt1h - case pt5m - case sdkUnknown(Swift.String) - - public static var allCases: [Frequency] { - return [ - .p1d, - .pt10m, - .pt1h, - .pt5m - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .p1d: return "P1D" - case .pt10m: return "PT10M" - case .pt1h: return "PT1H" - case .pt5m: return "PT5M" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about a detector's configuration. - public struct AnomalyDetectorConfig: Swift.Sendable { - /// The frequency at which the detector analyzes its source data. - public var anomalyDetectorFrequency: LookoutMetricsClientTypes.Frequency? - - public init( - anomalyDetectorFrequency: LookoutMetricsClientTypes.Frequency? = nil - ) { - self.anomalyDetectorFrequency = anomalyDetectorFrequency - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about a detector's configuration. - public struct AnomalyDetectorConfigSummary: Swift.Sendable { - /// The interval at which the detector analyzes its source data. - public var anomalyDetectorFrequency: LookoutMetricsClientTypes.Frequency? - - public init( - anomalyDetectorFrequency: LookoutMetricsClientTypes.Frequency? = nil - ) { - self.anomalyDetectorFrequency = anomalyDetectorFrequency - } - } -} - -extension LookoutMetricsClientTypes { - - public enum DataQualityMetricType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case backtestInferenceDataEndTimeStamp - case backtestInferenceDataStartTimeStamp - case backtestTrainingDataEndTimeStamp - case backtestTrainingDataStartTimeStamp - case columnCompleteness - case dimensionUniqueness - case invalidRowsCompliance - case rowsPartialCompliance - case rowsProcessed - case timeSeriesCount - case sdkUnknown(Swift.String) - - public static var allCases: [DataQualityMetricType] { - return [ - .backtestInferenceDataEndTimeStamp, - .backtestInferenceDataStartTimeStamp, - .backtestTrainingDataEndTimeStamp, - .backtestTrainingDataStartTimeStamp, - .columnCompleteness, - .dimensionUniqueness, - .invalidRowsCompliance, - .rowsPartialCompliance, - .rowsProcessed, - .timeSeriesCount - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .backtestInferenceDataEndTimeStamp: return "BACKTEST_INFERENCE_DATA_END_TIME_STAMP" - case .backtestInferenceDataStartTimeStamp: return "BACKTEST_INFERENCE_DATA_START_TIME_STAMP" - case .backtestTrainingDataEndTimeStamp: return "BACKTEST_TRAINING_DATA_END_TIME_STAMP" - case .backtestTrainingDataStartTimeStamp: return "BACKTEST_TRAINING_DATA_START_TIME_STAMP" - case .columnCompleteness: return "COLUMN_COMPLETENESS" - case .dimensionUniqueness: return "DIMENSION_UNIQUENESS" - case .invalidRowsCompliance: return "INVALID_ROWS_COMPLIANCE" - case .rowsPartialCompliance: return "ROWS_PARTIAL_COMPLIANCE" - case .rowsProcessed: return "ROWS_PROCESSED" - case .timeSeriesCount: return "TIME_SERIES_COUNT" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// An array that describes a data quality metric. Each DataQualityMetric object contains the data quality metric name, its value, a description of the metric, and the affected column. - public struct DataQualityMetric: Swift.Sendable { - /// A description of the data quality metric. - public var metricDescription: Swift.String? - /// The name of the data quality metric. - public var metricType: LookoutMetricsClientTypes.DataQualityMetricType? - /// The value of the data quality metric. - public var metricValue: Swift.Double? - /// The column that is being monitored. - public var relatedColumnName: Swift.String? - - public init( - metricDescription: Swift.String? = nil, - metricType: LookoutMetricsClientTypes.DataQualityMetricType? = nil, - metricValue: Swift.Double? = nil, - relatedColumnName: Swift.String? = nil - ) { - self.metricDescription = metricDescription - self.metricType = metricType - self.metricValue = metricValue - self.relatedColumnName = relatedColumnName - } - } -} - -extension LookoutMetricsClientTypes { - - /// An array of DataQualityMetric objects that describes one or more data quality metrics. - public struct MetricSetDataQualityMetric: Swift.Sendable { - /// The array of data quality metrics contained in the data quality metric set. - public var dataQualityMetricList: [LookoutMetricsClientTypes.DataQualityMetric]? - /// The Amazon Resource Name (ARN) of the data quality metric array. - public var metricSetArn: Swift.String? - - public init( - dataQualityMetricList: [LookoutMetricsClientTypes.DataQualityMetric]? = nil, - metricSetArn: Swift.String? = nil - ) { - self.dataQualityMetricList = dataQualityMetricList - self.metricSetArn = metricSetArn - } - } -} - -extension LookoutMetricsClientTypes { - - /// Aggregated details about the data quality metrics collected for the AnomalyDetectorArn provided in the [GetDataQualityMetrics] object. - public struct AnomalyDetectorDataQualityMetric: Swift.Sendable { - /// An array of DataQualityMetricList objects. Each object in the array contains information about a data quality metric. - public var metricSetDataQualityMetricList: [LookoutMetricsClientTypes.MetricSetDataQualityMetric]? - /// The start time for the data quality metrics collection. - public var startTimestamp: Foundation.Date? - - public init( - metricSetDataQualityMetricList: [LookoutMetricsClientTypes.MetricSetDataQualityMetric]? = nil, - startTimestamp: Foundation.Date? = nil - ) { - self.metricSetDataQualityMetricList = metricSetDataQualityMetricList - self.startTimestamp = startTimestamp - } - } -} - -extension LookoutMetricsClientTypes { - - public enum AnomalyDetectorFailureType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case activationFailure - case backTestActivationFailure - case deactivationFailure - case deletionFailure - case sdkUnknown(Swift.String) - - public static var allCases: [AnomalyDetectorFailureType] { - return [ - .activationFailure, - .backTestActivationFailure, - .deactivationFailure, - .deletionFailure - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .activationFailure: return "ACTIVATION_FAILURE" - case .backTestActivationFailure: return "BACK_TEST_ACTIVATION_FAILURE" - case .deactivationFailure: return "DEACTIVATION_FAILURE" - case .deletionFailure: return "DELETION_FAILURE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - public enum AnomalyDetectorStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case activating - case active - case backTestActivating - case backTestActive - case backTestComplete - case deactivated - case deactivating - case deleting - case failed - case inactive - case learning - case sdkUnknown(Swift.String) - - public static var allCases: [AnomalyDetectorStatus] { - return [ - .activating, - .active, - .backTestActivating, - .backTestActive, - .backTestComplete, - .deactivated, - .deactivating, - .deleting, - .failed, - .inactive, - .learning - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .activating: return "ACTIVATING" - case .active: return "ACTIVE" - case .backTestActivating: return "BACK_TEST_ACTIVATING" - case .backTestActive: return "BACK_TEST_ACTIVE" - case .backTestComplete: return "BACK_TEST_COMPLETE" - case .deactivated: return "DEACTIVATED" - case .deactivating: return "DEACTIVATING" - case .deleting: return "DELETING" - case .failed: return "FAILED" - case .inactive: return "INACTIVE" - case .learning: return "LEARNING" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about an an anomaly detector. - public struct AnomalyDetectorSummary: Swift.Sendable { - /// The ARN of the detector. - public var anomalyDetectorArn: Swift.String? - /// A description of the detector. - public var anomalyDetectorDescription: Swift.String? - /// The name of the detector. - public var anomalyDetectorName: Swift.String? - /// The time at which the detector was created. - public var creationTime: Foundation.Date? - /// The time at which the detector was last modified. - public var lastModificationTime: Foundation.Date? - /// The status of detector. - public var status: LookoutMetricsClientTypes.AnomalyDetectorStatus? - /// The detector's [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html). - public var tags: [Swift.String: Swift.String]? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyDetectorDescription: Swift.String? = nil, - anomalyDetectorName: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - lastModificationTime: Foundation.Date? = nil, - status: LookoutMetricsClientTypes.AnomalyDetectorStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyDetectorDescription = anomalyDetectorDescription - self.anomalyDetectorName = anomalyDetectorName - self.creationTime = creationTime - self.lastModificationTime = lastModificationTime - self.status = status - self.tags = tags - } - } -} - -extension LookoutMetricsClientTypes { - - /// The severity of a value of a dimension that contributed to an anomaly. - public struct DimensionValueContribution: Swift.Sendable { - /// The severity score of the value. - public var contributionScore: Swift.Double? - /// The value of the dimension. - public var dimensionValue: Swift.String? - - public init( - contributionScore: Swift.Double? = nil, - dimensionValue: Swift.String? = nil - ) { - self.contributionScore = contributionScore - self.dimensionValue = dimensionValue - } - } -} - -extension LookoutMetricsClientTypes { - - /// Details about a dimension that contributed to an anomaly. - public struct DimensionContribution: Swift.Sendable { - /// The name of the dimension. - public var dimensionName: Swift.String? - /// A list of dimension values that contributed to the anomaly. - public var dimensionValueContributionList: [LookoutMetricsClientTypes.DimensionValueContribution]? - - public init( - dimensionName: Swift.String? = nil, - dimensionValueContributionList: [LookoutMetricsClientTypes.DimensionValueContribution]? = nil - ) { - self.dimensionName = dimensionName - self.dimensionValueContributionList = dimensionValueContributionList - } - } -} - -extension LookoutMetricsClientTypes { - - /// Details about dimensions that contributed to an anomaly. - public struct ContributionMatrix: Swift.Sendable { - /// A list of contributing dimensions. - public var dimensionContributionList: [LookoutMetricsClientTypes.DimensionContribution]? - - public init( - dimensionContributionList: [LookoutMetricsClientTypes.DimensionContribution]? = nil - ) { - self.dimensionContributionList = dimensionContributionList - } - } -} - -extension LookoutMetricsClientTypes { - - /// Details about a measure affected by an anomaly. - public struct MetricLevelImpact: Swift.Sendable { - /// Details about the dimensions that contributed to the anomaly. - public var contributionMatrix: LookoutMetricsClientTypes.ContributionMatrix? - /// The name of the measure. - public var metricName: Swift.String? - /// The number of anomalous metrics for the measure. - public var numTimeSeries: Swift.Int - - public init( - contributionMatrix: LookoutMetricsClientTypes.ContributionMatrix? = nil, - metricName: Swift.String? = nil, - numTimeSeries: Swift.Int = 0 - ) { - self.contributionMatrix = contributionMatrix - self.metricName = metricName - self.numTimeSeries = numTimeSeries - } - } -} - -extension LookoutMetricsClientTypes { - - /// A group of anomalous metrics - public struct AnomalyGroup: Swift.Sendable { - /// The ID of the anomaly group. - public var anomalyGroupId: Swift.String? - /// The severity score of the group. - public var anomalyGroupScore: Swift.Double? - /// The end time for the group. - public var endTime: Swift.String? - /// A list of measures affected by the anomaly. - public var metricLevelImpactList: [LookoutMetricsClientTypes.MetricLevelImpact]? - /// The name of the primary affected measure for the group. - public var primaryMetricName: Swift.String? - /// The start time for the group. - public var startTime: Swift.String? - - public init( - anomalyGroupId: Swift.String? = nil, - anomalyGroupScore: Swift.Double? = nil, - endTime: Swift.String? = nil, - metricLevelImpactList: [LookoutMetricsClientTypes.MetricLevelImpact]? = nil, - primaryMetricName: Swift.String? = nil, - startTime: Swift.String? = nil - ) { - self.anomalyGroupId = anomalyGroupId - self.anomalyGroupScore = anomalyGroupScore - self.endTime = endTime - self.metricLevelImpactList = metricLevelImpactList - self.primaryMetricName = primaryMetricName - self.startTime = startTime - } - } -} - -extension LookoutMetricsClientTypes { - - /// Aggregated statistics about a measure affected by an anomaly. - public struct ItemizedMetricStats: Swift.Sendable { - /// The name of the measure. - public var metricName: Swift.String? - /// The number of times that the measure appears. - public var occurrenceCount: Swift.Int - - public init( - metricName: Swift.String? = nil, - occurrenceCount: Swift.Int = 0 - ) { - self.metricName = metricName - self.occurrenceCount = occurrenceCount - } - } -} - -extension LookoutMetricsClientTypes { - - /// Aggregated statistics for a group of anomalous metrics. - public struct AnomalyGroupStatistics: Swift.Sendable { - /// The start of the time range that was searched. - public var evaluationStartDate: Swift.String? - /// Statistics for individual metrics within the group. - public var itemizedMetricStatsList: [LookoutMetricsClientTypes.ItemizedMetricStats]? - /// The number of groups found. - public var totalCount: Swift.Int - - public init( - evaluationStartDate: Swift.String? = nil, - itemizedMetricStatsList: [LookoutMetricsClientTypes.ItemizedMetricStats]? = nil, - totalCount: Swift.Int = 0 - ) { - self.evaluationStartDate = evaluationStartDate - self.itemizedMetricStatsList = itemizedMetricStatsList - self.totalCount = totalCount - } - } -} - -extension LookoutMetricsClientTypes { - - /// Details about a group of anomalous metrics. - public struct AnomalyGroupSummary: Swift.Sendable { - /// The ID of the anomaly group. - public var anomalyGroupId: Swift.String? - /// The severity score of the group. - public var anomalyGroupScore: Swift.Double? - /// The end time for the group. - public var endTime: Swift.String? - /// The name of the primary affected measure for the group. - public var primaryMetricName: Swift.String? - /// The start time for the group. - public var startTime: Swift.String? - - public init( - anomalyGroupId: Swift.String? = nil, - anomalyGroupScore: Swift.Double? = nil, - endTime: Swift.String? = nil, - primaryMetricName: Swift.String? = nil, - startTime: Swift.String? = nil - ) { - self.anomalyGroupId = anomalyGroupId - self.anomalyGroupScore = anomalyGroupScore - self.endTime = endTime - self.primaryMetricName = primaryMetricName - self.startTime = startTime - } - } -} - -extension LookoutMetricsClientTypes { - - /// An anomalous metric in an anomaly group. - public struct AnomalyGroupTimeSeries: Swift.Sendable { - /// The ID of the anomaly group. - /// This member is required. - public var anomalyGroupId: Swift.String? - /// The ID of the metric. - public var timeSeriesId: Swift.String? - - public init( - anomalyGroupId: Swift.String? = nil, - timeSeriesId: Swift.String? = nil - ) { - self.anomalyGroupId = anomalyGroupId - self.timeSeriesId = timeSeriesId - } - } -} - -extension LookoutMetricsClientTypes { - - /// Feedback for an anomalous metric. - public struct AnomalyGroupTimeSeriesFeedback: Swift.Sendable { - /// The ID of the anomaly group. - /// This member is required. - public var anomalyGroupId: Swift.String? - /// Feedback on whether the metric is a legitimate anomaly. - /// This member is required. - public var isAnomaly: Swift.Bool? - /// The ID of the metric. - /// This member is required. - public var timeSeriesId: Swift.String? - - public init( - anomalyGroupId: Swift.String? = nil, - isAnomaly: Swift.Bool? = nil, - timeSeriesId: Swift.String? = nil - ) { - self.anomalyGroupId = anomalyGroupId - self.isAnomaly = isAnomaly - self.timeSeriesId = timeSeriesId - } - } -} - -extension LookoutMetricsClientTypes { - - /// Details about an Amazon AppFlow flow datasource. - public struct AppFlowConfig: Swift.Sendable { - /// name of the flow. - public var flowName: Swift.String? - /// An IAM role that gives Amazon Lookout for Metrics permission to access the flow. - public var roleArn: Swift.String? - - public init( - flowName: Swift.String? = nil, - roleArn: Swift.String? = nil - ) { - self.flowName = flowName - self.roleArn = roleArn - } - } -} - -extension LookoutMetricsClientTypes { - - /// Settings for backtest mode. - public struct BackTestConfiguration: Swift.Sendable { - /// Run a backtest instead of monitoring new data. - /// This member is required. - public var runBackTestMode: Swift.Bool? - - public init( - runBackTestMode: Swift.Bool? = nil - ) { - self.runBackTestMode = runBackTestMode - } - } -} - -extension LookoutMetricsClientTypes { - - /// Details about an Amazon Athena datasource. - public struct AthenaSourceConfig: Swift.Sendable { - /// Settings for backtest mode. - public var backTestConfiguration: LookoutMetricsClientTypes.BackTestConfiguration? - /// The database's data catalog. - public var dataCatalog: Swift.String? - /// The database's name. - public var databaseName: Swift.String? - /// An IAM role that gives Amazon Lookout for Metrics permission to access the data. - public var roleArn: Swift.String? - /// The database's results path. - public var s3ResultsPath: Swift.String? - /// The database's table name. - public var tableName: Swift.String? - /// The database's work group name. - public var workGroupName: Swift.String? - - public init( - backTestConfiguration: LookoutMetricsClientTypes.BackTestConfiguration? = nil, - dataCatalog: Swift.String? = nil, - databaseName: Swift.String? = nil, - roleArn: Swift.String? = nil, - s3ResultsPath: Swift.String? = nil, - tableName: Swift.String? = nil, - workGroupName: Swift.String? = nil - ) { - self.backTestConfiguration = backTestConfiguration - self.dataCatalog = dataCatalog - self.databaseName = databaseName - self.roleArn = roleArn - self.s3ResultsPath = s3ResultsPath - self.tableName = tableName - self.workGroupName = workGroupName - } - } -} - -extension LookoutMetricsClientTypes { - - /// An attribute value. - public struct AttributeValue: Swift.Sendable { - /// A binary value. - public var b: Swift.String? - /// A list of binary values. - public var bs: [Swift.String]? - /// A number. - public var n: Swift.String? - /// A list of numbers. - public var ns: [Swift.String]? - /// A string. - public var s: Swift.String? - /// A list of strings. - public var ss: [Swift.String]? - - public init( - b: Swift.String? = nil, - bs: [Swift.String]? = nil, - n: Swift.String? = nil, - ns: [Swift.String]? = nil, - s: Swift.String? = nil, - ss: [Swift.String]? = nil - ) { - self.b = b - self.bs = bs - self.n = n - self.ns = ns - self.s = s - self.ss = ss - } - } -} - -extension LookoutMetricsClientTypes { - - /// An auto detection source config. - public struct AutoDetectionS3SourceConfig: Swift.Sendable { - /// The config's historical data path list. - public var historicalDataPathList: [Swift.String]? - /// The config's templated path list. - public var templatedPathList: [Swift.String]? - - public init( - historicalDataPathList: [Swift.String]? = nil, - templatedPathList: [Swift.String]? = nil - ) { - self.historicalDataPathList = historicalDataPathList - self.templatedPathList = templatedPathList - } - } -} - -extension LookoutMetricsClientTypes { - - /// An auto detection metric source. - public struct AutoDetectionMetricSource: Swift.Sendable { - /// The source's source config. - public var s3SourceConfig: LookoutMetricsClientTypes.AutoDetectionS3SourceConfig? - - public init( - s3SourceConfig: LookoutMetricsClientTypes.AutoDetectionS3SourceConfig? = nil - ) { - self.s3SourceConfig = s3SourceConfig - } - } -} - -public struct BackTestAnomalyDetectorInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -public struct BackTestAnomalyDetectorOutput: Swift.Sendable { - - public init() { } -} - -extension LookoutMetricsClientTypes { - - /// Details about an Amazon CloudWatch datasource. - public struct CloudWatchConfig: Swift.Sendable { - /// Settings for backtest mode. - public var backTestConfiguration: LookoutMetricsClientTypes.BackTestConfiguration? - /// An IAM role that gives Amazon Lookout for Metrics permission to access data in Amazon CloudWatch. - public var roleArn: Swift.String? - - public init( - backTestConfiguration: LookoutMetricsClientTypes.BackTestConfiguration? = nil, - roleArn: Swift.String? = nil - ) { - self.backTestConfiguration = backTestConfiguration - self.roleArn = roleArn - } - } -} - -extension LookoutMetricsClientTypes { - - public enum Confidence: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case high - case low - case `none` - case sdkUnknown(Swift.String) - - public static var allCases: [Confidence] { - return [ - .high, - .low, - .none - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .high: return "HIGH" - case .low: return "LOW" - case .none: return "NONE" - case let .sdkUnknown(s): return s - } - } - } -} - -/// The request exceeded the service's quotas. Check the service quotas and try again. -public struct ServiceQuotaExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The quota code. - public internal(set) var quotaCode: Swift.String? = nil - /// The ID of the resource. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource. - public internal(set) var resourceType: Swift.String? = nil - /// The service code. - public internal(set) var serviceCode: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ServiceQuotaExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - quotaCode: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: Swift.String? = nil, - serviceCode: Swift.String? = nil - ) { - self.properties.message = message - self.properties.quotaCode = quotaCode - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - self.properties.serviceCode = serviceCode - } -} - -public struct CreateAlertInput: Swift.Sendable { - /// Action that will be triggered when there is an alert. - /// This member is required. - public var action: LookoutMetricsClientTypes.Action? - /// A description of the alert. - public var alertDescription: Swift.String? - /// The configuration of the alert filters, containing MetricList and DimensionFilterList. - public var alertFilters: LookoutMetricsClientTypes.AlertFilters? - /// The name of the alert. - /// This member is required. - public var alertName: Swift.String? - /// An integer from 0 to 100 specifying the alert sensitivity threshold. - public var alertSensitivityThreshold: Swift.Int? - /// The ARN of the detector to which the alert is attached. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// A list of [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html) to apply to the alert. - public var tags: [Swift.String: Swift.String]? - - public init( - action: LookoutMetricsClientTypes.Action? = nil, - alertDescription: Swift.String? = nil, - alertFilters: LookoutMetricsClientTypes.AlertFilters? = nil, - alertName: Swift.String? = nil, - alertSensitivityThreshold: Swift.Int? = 0, - anomalyDetectorArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.action = action - self.alertDescription = alertDescription - self.alertFilters = alertFilters - self.alertName = alertName - self.alertSensitivityThreshold = alertSensitivityThreshold - self.anomalyDetectorArn = anomalyDetectorArn - self.tags = tags - } -} - -public struct CreateAlertOutput: Swift.Sendable { - /// The ARN of the alert. - public var alertArn: Swift.String? - - public init( - alertArn: Swift.String? = nil - ) { - self.alertArn = alertArn - } -} - -public struct CreateAnomalyDetectorInput: Swift.Sendable { - /// Contains information about the configuration of the anomaly detector. - /// This member is required. - public var anomalyDetectorConfig: LookoutMetricsClientTypes.AnomalyDetectorConfig? - /// A description of the detector. - public var anomalyDetectorDescription: Swift.String? - /// The name of the detector. - /// This member is required. - public var anomalyDetectorName: Swift.String? - /// The ARN of the KMS key to use to encrypt your data. - public var kmsKeyArn: Swift.String? - /// A list of [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html) to apply to the anomaly detector. - public var tags: [Swift.String: Swift.String]? - - public init( - anomalyDetectorConfig: LookoutMetricsClientTypes.AnomalyDetectorConfig? = nil, - anomalyDetectorDescription: Swift.String? = nil, - anomalyDetectorName: Swift.String? = nil, - kmsKeyArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.anomalyDetectorConfig = anomalyDetectorConfig - self.anomalyDetectorDescription = anomalyDetectorDescription - self.anomalyDetectorName = anomalyDetectorName - self.kmsKeyArn = kmsKeyArn - self.tags = tags - } -} - -public struct CreateAnomalyDetectorOutput: Swift.Sendable { - /// The ARN of the detector. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -extension LookoutMetricsClientTypes { - - public enum FilterOperation: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case equals - case sdkUnknown(Swift.String) - - public static var allCases: [FilterOperation] { - return [ - .equals - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .equals: return "EQUALS" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Describes a filter for choosing a subset of dimension values. Each filter consists of the dimension that you want to include and the condition statement. The condition statement is specified in the FilterOperation object. - public struct Filter: Swift.Sendable { - /// The value that you want to include in the filter. - public var dimensionValue: Swift.String? - /// The condition to apply. - public var filterOperation: LookoutMetricsClientTypes.FilterOperation? - - public init( - dimensionValue: Swift.String? = nil, - filterOperation: LookoutMetricsClientTypes.FilterOperation? = nil - ) { - self.dimensionValue = dimensionValue - self.filterOperation = filterOperation - } - } -} - -extension LookoutMetricsClientTypes { - - /// Describes a list of filters for choosing a subset of dimension values. Each filter consists of the dimension and one of its values that you want to include. When multiple dimensions or values are specified, the dimensions are joined with an AND operation and the values are joined with an OR operation. - public struct MetricSetDimensionFilter: Swift.Sendable { - /// The list of filters that you are applying. - public var filterList: [LookoutMetricsClientTypes.Filter]? - /// The dimension that you want to filter on. - public var name: Swift.String? - - public init( - filterList: [LookoutMetricsClientTypes.Filter]? = nil, - name: Swift.String? = nil - ) { - self.filterList = filterList - self.name = name - } - } -} - -extension LookoutMetricsClientTypes { - - /// A calculation made by contrasting a measure and a dimension from your source data. - public struct Metric: Swift.Sendable { - /// The function with which the metric is calculated. - /// This member is required. - public var aggregationFunction: LookoutMetricsClientTypes.AggregationFunction? - /// The name of the metric. - /// This member is required. - public var metricName: Swift.String? - /// The namespace for the metric. - public var namespace: Swift.String? - - public init( - aggregationFunction: LookoutMetricsClientTypes.AggregationFunction? = nil, - metricName: Swift.String? = nil, - namespace: Swift.String? = nil - ) { - self.aggregationFunction = aggregationFunction - self.metricName = metricName - self.namespace = namespace - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains configuration information about the Amazon Virtual Private Cloud (VPC). - public struct VpcConfiguration: Swift.Sendable { - /// An array of strings containing the list of security groups. - /// This member is required. - public var securityGroupIdList: [Swift.String]? - /// An array of strings containing the Amazon VPC subnet IDs (e.g., subnet-0bb1c79de3EXAMPLE. - /// This member is required. - public var subnetIdList: [Swift.String]? - - public init( - securityGroupIdList: [Swift.String]? = nil, - subnetIdList: [Swift.String]? = nil - ) { - self.securityGroupIdList = securityGroupIdList - self.subnetIdList = subnetIdList - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about the Amazon Relational Database Service (RDS) configuration. - public struct RDSSourceConfig: Swift.Sendable { - /// The host name of the database. - public var databaseHost: Swift.String? - /// The name of the RDS database. - public var databaseName: Swift.String? - /// The port number where the database can be accessed. - public var databasePort: Swift.Int? - /// A string identifying the database instance. - public var dbInstanceIdentifier: Swift.String? - /// The Amazon Resource Name (ARN) of the role. - public var roleArn: Swift.String? - /// The Amazon Resource Name (ARN) of the AWS Secrets Manager role. - public var secretManagerArn: Swift.String? - /// The name of the table in the database. - public var tableName: Swift.String? - /// An object containing information about the Amazon Virtual Private Cloud (VPC) configuration. - public var vpcConfiguration: LookoutMetricsClientTypes.VpcConfiguration? - - public init( - databaseHost: Swift.String? = nil, - databaseName: Swift.String? = nil, - databasePort: Swift.Int? = nil, - dbInstanceIdentifier: Swift.String? = nil, - roleArn: Swift.String? = nil, - secretManagerArn: Swift.String? = nil, - tableName: Swift.String? = nil, - vpcConfiguration: LookoutMetricsClientTypes.VpcConfiguration? = nil - ) { - self.databaseHost = databaseHost - self.databaseName = databaseName - self.databasePort = databasePort - self.dbInstanceIdentifier = dbInstanceIdentifier - self.roleArn = roleArn - self.secretManagerArn = secretManagerArn - self.tableName = tableName - self.vpcConfiguration = vpcConfiguration - } - } -} - -extension LookoutMetricsClientTypes { - - /// Provides information about the Amazon Redshift database configuration. - public struct RedshiftSourceConfig: Swift.Sendable { - /// A string identifying the Redshift cluster. - public var clusterIdentifier: Swift.String? - /// The name of the database host. - public var databaseHost: Swift.String? - /// The Redshift database name. - public var databaseName: Swift.String? - /// The port number where the database can be accessed. - public var databasePort: Swift.Int? - /// The Amazon Resource Name (ARN) of the role providing access to the database. - public var roleArn: Swift.String? - /// The Amazon Resource Name (ARN) of the AWS Secrets Manager role. - public var secretManagerArn: Swift.String? - /// The table name of the Redshift database. - public var tableName: Swift.String? - /// Contains information about the Amazon Virtual Private Cloud (VPC) configuration. - public var vpcConfiguration: LookoutMetricsClientTypes.VpcConfiguration? - - public init( - clusterIdentifier: Swift.String? = nil, - databaseHost: Swift.String? = nil, - databaseName: Swift.String? = nil, - databasePort: Swift.Int? = nil, - roleArn: Swift.String? = nil, - secretManagerArn: Swift.String? = nil, - tableName: Swift.String? = nil, - vpcConfiguration: LookoutMetricsClientTypes.VpcConfiguration? = nil - ) { - self.clusterIdentifier = clusterIdentifier - self.databaseHost = databaseHost - self.databaseName = databaseName - self.databasePort = databasePort - self.roleArn = roleArn - self.secretManagerArn = secretManagerArn - self.tableName = tableName - self.vpcConfiguration = vpcConfiguration - } - } -} - -extension LookoutMetricsClientTypes { - - public enum CSVFileCompression: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case gzip - case `none` - case sdkUnknown(Swift.String) - - public static var allCases: [CSVFileCompression] { - return [ - .gzip, - .none - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .gzip: return "GZIP" - case .none: return "NONE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about how a source CSV data file should be analyzed. - public struct CsvFormatDescriptor: Swift.Sendable { - /// The character set in which the source CSV file is written. - public var charset: Swift.String? - /// Whether or not the source CSV file contains a header. - public var containsHeader: Swift.Bool? - /// The character used to delimit the source CSV file. - public var delimiter: Swift.String? - /// The level of compression of the source CSV file. - public var fileCompression: LookoutMetricsClientTypes.CSVFileCompression? - /// A list of the source CSV file's headers, if any. - public var headerList: [Swift.String]? - /// The character used as a quote character. - public var quoteSymbol: Swift.String? - - public init( - charset: Swift.String? = nil, - containsHeader: Swift.Bool? = nil, - delimiter: Swift.String? = nil, - fileCompression: LookoutMetricsClientTypes.CSVFileCompression? = nil, - headerList: [Swift.String]? = nil, - quoteSymbol: Swift.String? = nil - ) { - self.charset = charset - self.containsHeader = containsHeader - self.delimiter = delimiter - self.fileCompression = fileCompression - self.headerList = headerList - self.quoteSymbol = quoteSymbol - } - } -} - -extension LookoutMetricsClientTypes { - - public enum JsonFileCompression: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case gzip - case `none` - case sdkUnknown(Swift.String) - - public static var allCases: [JsonFileCompression] { - return [ - .gzip, - .none - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .gzip: return "GZIP" - case .none: return "NONE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about how a source JSON data file should be analyzed. - public struct JsonFormatDescriptor: Swift.Sendable { - /// The character set in which the source JSON file is written. - public var charset: Swift.String? - /// The level of compression of the source CSV file. - public var fileCompression: LookoutMetricsClientTypes.JsonFileCompression? - - public init( - charset: Swift.String? = nil, - fileCompression: LookoutMetricsClientTypes.JsonFileCompression? = nil - ) { - self.charset = charset - self.fileCompression = fileCompression - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about a source file's formatting. - public struct FileFormatDescriptor: Swift.Sendable { - /// Contains information about how a source CSV data file should be analyzed. - public var csvFormatDescriptor: LookoutMetricsClientTypes.CsvFormatDescriptor? - /// Contains information about how a source JSON data file should be analyzed. - public var jsonFormatDescriptor: LookoutMetricsClientTypes.JsonFormatDescriptor? - - public init( - csvFormatDescriptor: LookoutMetricsClientTypes.CsvFormatDescriptor? = nil, - jsonFormatDescriptor: LookoutMetricsClientTypes.JsonFormatDescriptor? = nil - ) { - self.csvFormatDescriptor = csvFormatDescriptor - self.jsonFormatDescriptor = jsonFormatDescriptor - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about the configuration of the S3 bucket that contains source files. - public struct S3SourceConfig: Swift.Sendable { - /// Contains information about a source file's formatting. - public var fileFormatDescriptor: LookoutMetricsClientTypes.FileFormatDescriptor? - /// A list of paths to the historical data files. - public var historicalDataPathList: [Swift.String]? - /// The ARN of an IAM role that has read and write access permissions to the source S3 bucket. - public var roleArn: Swift.String? - /// A list of templated paths to the source files. - public var templatedPathList: [Swift.String]? - - public init( - fileFormatDescriptor: LookoutMetricsClientTypes.FileFormatDescriptor? = nil, - historicalDataPathList: [Swift.String]? = nil, - roleArn: Swift.String? = nil, - templatedPathList: [Swift.String]? = nil - ) { - self.fileFormatDescriptor = fileFormatDescriptor - self.historicalDataPathList = historicalDataPathList - self.roleArn = roleArn - self.templatedPathList = templatedPathList - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about source data used to generate metrics. - public struct MetricSource: Swift.Sendable { - /// Details about an AppFlow datasource. - public var appFlowConfig: LookoutMetricsClientTypes.AppFlowConfig? - /// Details about an Amazon Athena datasource. - public var athenaSourceConfig: LookoutMetricsClientTypes.AthenaSourceConfig? - /// Details about an Amazon CloudWatch monitoring datasource. - public var cloudWatchConfig: LookoutMetricsClientTypes.CloudWatchConfig? - /// Details about an Amazon Relational Database Service (RDS) datasource. - public var rdsSourceConfig: LookoutMetricsClientTypes.RDSSourceConfig? - /// Details about an Amazon Redshift database datasource. - public var redshiftSourceConfig: LookoutMetricsClientTypes.RedshiftSourceConfig? - /// Contains information about the configuration of the S3 bucket that contains source files. - public var s3SourceConfig: LookoutMetricsClientTypes.S3SourceConfig? - - public init( - appFlowConfig: LookoutMetricsClientTypes.AppFlowConfig? = nil, - athenaSourceConfig: LookoutMetricsClientTypes.AthenaSourceConfig? = nil, - cloudWatchConfig: LookoutMetricsClientTypes.CloudWatchConfig? = nil, - rdsSourceConfig: LookoutMetricsClientTypes.RDSSourceConfig? = nil, - redshiftSourceConfig: LookoutMetricsClientTypes.RedshiftSourceConfig? = nil, - s3SourceConfig: LookoutMetricsClientTypes.S3SourceConfig? = nil - ) { - self.appFlowConfig = appFlowConfig - self.athenaSourceConfig = athenaSourceConfig - self.cloudWatchConfig = cloudWatchConfig - self.rdsSourceConfig = rdsSourceConfig - self.redshiftSourceConfig = redshiftSourceConfig - self.s3SourceConfig = s3SourceConfig - } - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about the column used to track time in a source data file. - public struct TimestampColumn: Swift.Sendable { - /// The format of the timestamp column. - public var columnFormat: Swift.String? - /// The name of the timestamp column. - public var columnName: Swift.String? - - public init( - columnFormat: Swift.String? = nil, - columnName: Swift.String? = nil - ) { - self.columnFormat = columnFormat - self.columnName = columnName - } - } -} - -public struct CreateMetricSetInput: Swift.Sendable { - /// The ARN of the anomaly detector that will use the dataset. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// A list of filters that specify which data is kept for anomaly detection. - public var dimensionFilterList: [LookoutMetricsClientTypes.MetricSetDimensionFilter]? - /// A list of the fields you want to treat as dimensions. - public var dimensionList: [Swift.String]? - /// A list of metrics that the dataset will contain. - /// This member is required. - public var metricList: [LookoutMetricsClientTypes.Metric]? - /// A description of the dataset you are creating. - public var metricSetDescription: Swift.String? - /// The frequency with which the source data will be analyzed for anomalies. - public var metricSetFrequency: LookoutMetricsClientTypes.Frequency? - /// The name of the dataset. - /// This member is required. - public var metricSetName: Swift.String? - /// Contains information about how the source data should be interpreted. - /// This member is required. - public var metricSource: LookoutMetricsClientTypes.MetricSource? - /// After an interval ends, the amount of seconds that the detector waits before importing data. Offset is only supported for S3, Redshift, Athena and datasources. - public var offset: Swift.Int? - /// A list of [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html) to apply to the dataset. - public var tags: [Swift.String: Swift.String]? - /// Contains information about the column used for tracking time in your source data. - public var timestampColumn: LookoutMetricsClientTypes.TimestampColumn? - /// The time zone in which your source data was recorded. - public var timezone: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - dimensionFilterList: [LookoutMetricsClientTypes.MetricSetDimensionFilter]? = nil, - dimensionList: [Swift.String]? = nil, - metricList: [LookoutMetricsClientTypes.Metric]? = nil, - metricSetDescription: Swift.String? = nil, - metricSetFrequency: LookoutMetricsClientTypes.Frequency? = nil, - metricSetName: Swift.String? = nil, - metricSource: LookoutMetricsClientTypes.MetricSource? = nil, - offset: Swift.Int? = 0, - tags: [Swift.String: Swift.String]? = nil, - timestampColumn: LookoutMetricsClientTypes.TimestampColumn? = nil, - timezone: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.dimensionFilterList = dimensionFilterList - self.dimensionList = dimensionList - self.metricList = metricList - self.metricSetDescription = metricSetDescription - self.metricSetFrequency = metricSetFrequency - self.metricSetName = metricSetName - self.metricSource = metricSource - self.offset = offset - self.tags = tags - self.timestampColumn = timestampColumn - self.timezone = timezone - } -} - -public struct CreateMetricSetOutput: Swift.Sendable { - /// The ARN of the dataset. - public var metricSetArn: Swift.String? - - public init( - metricSetArn: Swift.String? = nil - ) { - self.metricSetArn = metricSetArn - } -} - -public struct DeactivateAnomalyDetectorInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -public struct DeactivateAnomalyDetectorOutput: Swift.Sendable { - - public init() { } -} - -public struct DeleteAlertInput: Swift.Sendable { - /// The ARN of the alert to delete. - /// This member is required. - public var alertArn: Swift.String? - - public init( - alertArn: Swift.String? = nil - ) { - self.alertArn = alertArn - } -} - -public struct DeleteAlertOutput: Swift.Sendable { - - public init() { } -} - -public struct DeleteAnomalyDetectorInput: Swift.Sendable { - /// The ARN of the detector to delete. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -public struct DeleteAnomalyDetectorOutput: Swift.Sendable { - - public init() { } -} - -public struct DescribeAlertInput: Swift.Sendable { - /// The ARN of the alert to describe. - /// This member is required. - public var alertArn: Swift.String? - - public init( - alertArn: Swift.String? = nil - ) { - self.alertArn = alertArn - } -} - -public struct DescribeAlertOutput: Swift.Sendable { - /// Contains information about an alert. - public var alert: LookoutMetricsClientTypes.Alert? - - public init( - alert: LookoutMetricsClientTypes.Alert? = nil - ) { - self.alert = alert - } -} - -public struct DescribeAnomalyDetectionExecutionsInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The number of items to return in the response. - public var maxResults: Swift.Int? - /// Specify the pagination token that's returned by a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The timestamp of the anomaly detection job. - public var timestamp: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - timestamp: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.maxResults = maxResults - self.nextToken = nextToken - self.timestamp = timestamp - } -} - -extension LookoutMetricsClientTypes { - - /// The status of an anomaly detector run. - public struct ExecutionStatus: Swift.Sendable { - /// The reason that the run failed, if applicable. - public var failureReason: Swift.String? - /// The run's status. - public var status: LookoutMetricsClientTypes.AnomalyDetectionTaskStatus? - /// The run's timestamp. - public var timestamp: Swift.String? - - public init( - failureReason: Swift.String? = nil, - status: LookoutMetricsClientTypes.AnomalyDetectionTaskStatus? = nil, - timestamp: Swift.String? = nil - ) { - self.failureReason = failureReason - self.status = status - self.timestamp = timestamp - } - } -} - -public struct DescribeAnomalyDetectionExecutionsOutput: Swift.Sendable { - /// A list of detection jobs. - public var executionList: [LookoutMetricsClientTypes.ExecutionStatus]? - /// The pagination token that's included if more results are available. - public var nextToken: Swift.String? - - public init( - executionList: [LookoutMetricsClientTypes.ExecutionStatus]? = nil, - nextToken: Swift.String? = nil - ) { - self.executionList = executionList - self.nextToken = nextToken - } -} - -public struct DescribeAnomalyDetectorInput: Swift.Sendable { - /// The ARN of the detector to describe. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -public struct DescribeAnomalyDetectorOutput: Swift.Sendable { - /// The ARN of the detector. - public var anomalyDetectorArn: Swift.String? - /// Contains information about the detector's configuration. - public var anomalyDetectorConfig: LookoutMetricsClientTypes.AnomalyDetectorConfigSummary? - /// A description of the detector. - public var anomalyDetectorDescription: Swift.String? - /// The name of the detector. - public var anomalyDetectorName: Swift.String? - /// The time at which the detector was created. - public var creationTime: Foundation.Date? - /// The reason that the detector failed. - public var failureReason: Swift.String? - /// The process that caused the detector to fail. - public var failureType: LookoutMetricsClientTypes.AnomalyDetectorFailureType? - /// The ARN of the KMS key to use to encrypt your data. - public var kmsKeyArn: Swift.String? - /// The time at which the detector was last modified. - public var lastModificationTime: Foundation.Date? - /// The status of the detector. - public var status: LookoutMetricsClientTypes.AnomalyDetectorStatus? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyDetectorConfig: LookoutMetricsClientTypes.AnomalyDetectorConfigSummary? = nil, - anomalyDetectorDescription: Swift.String? = nil, - anomalyDetectorName: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - failureReason: Swift.String? = nil, - failureType: LookoutMetricsClientTypes.AnomalyDetectorFailureType? = nil, - kmsKeyArn: Swift.String? = nil, - lastModificationTime: Foundation.Date? = nil, - status: LookoutMetricsClientTypes.AnomalyDetectorStatus? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyDetectorConfig = anomalyDetectorConfig - self.anomalyDetectorDescription = anomalyDetectorDescription - self.anomalyDetectorName = anomalyDetectorName - self.creationTime = creationTime - self.failureReason = failureReason - self.failureType = failureType - self.kmsKeyArn = kmsKeyArn - self.lastModificationTime = lastModificationTime - self.status = status - } -} - -public struct DescribeMetricSetInput: Swift.Sendable { - /// The ARN of the dataset. - /// This member is required. - public var metricSetArn: Swift.String? - - public init( - metricSetArn: Swift.String? = nil - ) { - self.metricSetArn = metricSetArn - } -} - -public struct DescribeMetricSetOutput: Swift.Sendable { - /// The ARN of the detector that contains the dataset. - public var anomalyDetectorArn: Swift.String? - /// The time at which the dataset was created. - public var creationTime: Foundation.Date? - /// The dimensions and their values that were used to filter the dataset. - public var dimensionFilterList: [LookoutMetricsClientTypes.MetricSetDimensionFilter]? - /// A list of the dimensions chosen for analysis. - public var dimensionList: [Swift.String]? - /// The time at which the dataset was last modified. - public var lastModificationTime: Foundation.Date? - /// A list of the metrics defined by the dataset. - public var metricList: [LookoutMetricsClientTypes.Metric]? - /// The ARN of the dataset. - public var metricSetArn: Swift.String? - /// The dataset's description. - public var metricSetDescription: Swift.String? - /// The interval at which the data will be analyzed for anomalies. - public var metricSetFrequency: LookoutMetricsClientTypes.Frequency? - /// The name of the dataset. - public var metricSetName: Swift.String? - /// Contains information about the dataset's source data. - public var metricSource: LookoutMetricsClientTypes.MetricSource? - /// After an interval ends, the amount of seconds that the detector waits before importing data. Offset is only supported for S3, Redshift, Athena and datasources. - public var offset: Swift.Int? - /// Contains information about the column used for tracking time in your source data. - public var timestampColumn: LookoutMetricsClientTypes.TimestampColumn? - /// The time zone in which the dataset's data was recorded. - public var timezone: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - dimensionFilterList: [LookoutMetricsClientTypes.MetricSetDimensionFilter]? = nil, - dimensionList: [Swift.String]? = nil, - lastModificationTime: Foundation.Date? = nil, - metricList: [LookoutMetricsClientTypes.Metric]? = nil, - metricSetArn: Swift.String? = nil, - metricSetDescription: Swift.String? = nil, - metricSetFrequency: LookoutMetricsClientTypes.Frequency? = nil, - metricSetName: Swift.String? = nil, - metricSource: LookoutMetricsClientTypes.MetricSource? = nil, - offset: Swift.Int? = 0, - timestampColumn: LookoutMetricsClientTypes.TimestampColumn? = nil, - timezone: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.creationTime = creationTime - self.dimensionFilterList = dimensionFilterList - self.dimensionList = dimensionList - self.lastModificationTime = lastModificationTime - self.metricList = metricList - self.metricSetArn = metricSetArn - self.metricSetDescription = metricSetDescription - self.metricSetFrequency = metricSetFrequency - self.metricSetName = metricSetName - self.metricSource = metricSource - self.offset = offset - self.timestampColumn = timestampColumn - self.timezone = timezone - } -} - -extension LookoutMetricsClientTypes { - - /// An inferred field. - public struct DetectedField: Swift.Sendable { - /// The field's confidence. - public var confidence: LookoutMetricsClientTypes.Confidence? - /// The field's message. - public var message: Swift.String? - /// The field's value. - public var value: LookoutMetricsClientTypes.AttributeValue? - - public init( - confidence: LookoutMetricsClientTypes.Confidence? = nil, - message: Swift.String? = nil, - value: LookoutMetricsClientTypes.AttributeValue? = nil - ) { - self.confidence = confidence - self.message = message - self.value = value - } - } -} - -extension LookoutMetricsClientTypes { - - /// Properties of an inferred CSV format. - public struct DetectedCsvFormatDescriptor: Swift.Sendable { - /// The format's charset. - public var charset: LookoutMetricsClientTypes.DetectedField? - /// Whether the format includes a header. - public var containsHeader: LookoutMetricsClientTypes.DetectedField? - /// The format's delimiter. - public var delimiter: LookoutMetricsClientTypes.DetectedField? - /// The format's file compression. - public var fileCompression: LookoutMetricsClientTypes.DetectedField? - /// The format's header list. - public var headerList: LookoutMetricsClientTypes.DetectedField? - /// The format's quote symbol. - public var quoteSymbol: LookoutMetricsClientTypes.DetectedField? - - public init( - charset: LookoutMetricsClientTypes.DetectedField? = nil, - containsHeader: LookoutMetricsClientTypes.DetectedField? = nil, - delimiter: LookoutMetricsClientTypes.DetectedField? = nil, - fileCompression: LookoutMetricsClientTypes.DetectedField? = nil, - headerList: LookoutMetricsClientTypes.DetectedField? = nil, - quoteSymbol: LookoutMetricsClientTypes.DetectedField? = nil - ) { - self.charset = charset - self.containsHeader = containsHeader - self.delimiter = delimiter - self.fileCompression = fileCompression - self.headerList = headerList - self.quoteSymbol = quoteSymbol - } - } -} - -extension LookoutMetricsClientTypes { - - /// A detected JSON format descriptor. - public struct DetectedJsonFormatDescriptor: Swift.Sendable { - /// The format's character set. - public var charset: LookoutMetricsClientTypes.DetectedField? - /// The format's file compression. - public var fileCompression: LookoutMetricsClientTypes.DetectedField? - - public init( - charset: LookoutMetricsClientTypes.DetectedField? = nil, - fileCompression: LookoutMetricsClientTypes.DetectedField? = nil - ) { - self.charset = charset - self.fileCompression = fileCompression - } - } -} - -extension LookoutMetricsClientTypes { - - /// Properties of an inferred data format. - public struct DetectedFileFormatDescriptor: Swift.Sendable { - /// Details about a CSV format. - public var csvFormatDescriptor: LookoutMetricsClientTypes.DetectedCsvFormatDescriptor? - /// Details about a JSON format. - public var jsonFormatDescriptor: LookoutMetricsClientTypes.DetectedJsonFormatDescriptor? - - public init( - csvFormatDescriptor: LookoutMetricsClientTypes.DetectedCsvFormatDescriptor? = nil, - jsonFormatDescriptor: LookoutMetricsClientTypes.DetectedJsonFormatDescriptor? = nil - ) { - self.csvFormatDescriptor = csvFormatDescriptor - self.jsonFormatDescriptor = jsonFormatDescriptor - } - } -} - -extension LookoutMetricsClientTypes { - - /// An inferred source configuration. - public struct DetectedS3SourceConfig: Swift.Sendable { - /// The source's file format descriptor. - public var fileFormatDescriptor: LookoutMetricsClientTypes.DetectedFileFormatDescriptor? - - public init( - fileFormatDescriptor: LookoutMetricsClientTypes.DetectedFileFormatDescriptor? = nil - ) { - self.fileFormatDescriptor = fileFormatDescriptor - } - } -} - -extension LookoutMetricsClientTypes { - - /// An inferred data source. - public struct DetectedMetricSource: Swift.Sendable { - /// The data source's source configuration. - public var s3SourceConfig: LookoutMetricsClientTypes.DetectedS3SourceConfig? - - public init( - s3SourceConfig: LookoutMetricsClientTypes.DetectedS3SourceConfig? = nil - ) { - self.s3SourceConfig = s3SourceConfig - } - } -} - -extension LookoutMetricsClientTypes { - - /// An inferred dataset configuration. - public struct DetectedMetricSetConfig: Swift.Sendable { - /// The dataset's interval. - public var metricSetFrequency: LookoutMetricsClientTypes.DetectedField? - /// The dataset's data source. - public var metricSource: LookoutMetricsClientTypes.DetectedMetricSource? - /// The dataset's offset. - public var offset: LookoutMetricsClientTypes.DetectedField? - - public init( - metricSetFrequency: LookoutMetricsClientTypes.DetectedField? = nil, - metricSource: LookoutMetricsClientTypes.DetectedMetricSource? = nil, - offset: LookoutMetricsClientTypes.DetectedField? = nil - ) { - self.metricSetFrequency = metricSetFrequency - self.metricSource = metricSource - self.offset = offset - } - } -} - -public struct DetectMetricSetConfigInput: Swift.Sendable { - /// An anomaly detector ARN. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// A data source. - /// This member is required. - public var autoDetectionMetricSource: LookoutMetricsClientTypes.AutoDetectionMetricSource? - - public init( - anomalyDetectorArn: Swift.String? = nil, - autoDetectionMetricSource: LookoutMetricsClientTypes.AutoDetectionMetricSource? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.autoDetectionMetricSource = autoDetectionMetricSource - } -} - -public struct DetectMetricSetConfigOutput: Swift.Sendable { - /// The inferred dataset configuration for the datasource. - public var detectedMetricSetConfig: LookoutMetricsClientTypes.DetectedMetricSetConfig? - - public init( - detectedMetricSetConfig: LookoutMetricsClientTypes.DetectedMetricSetConfig? = nil - ) { - self.detectedMetricSetConfig = detectedMetricSetConfig - } -} - -extension LookoutMetricsClientTypes { - - /// A dimension name and value. - public struct DimensionNameValue: Swift.Sendable { - /// The name of the dimension. - /// This member is required. - public var dimensionName: Swift.String? - /// The value of the dimension. - /// This member is required. - public var dimensionValue: Swift.String? - - public init( - dimensionName: Swift.String? = nil, - dimensionValue: Swift.String? = nil - ) { - self.dimensionName = dimensionName - self.dimensionValue = dimensionValue - } - } -} - -public struct GetAnomalyGroupInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The ID of the anomaly group. - /// This member is required. - public var anomalyGroupId: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyGroupId: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyGroupId = anomalyGroupId - } -} - -public struct GetAnomalyGroupOutput: Swift.Sendable { - /// Details about the anomaly group. - public var anomalyGroup: LookoutMetricsClientTypes.AnomalyGroup? - - public init( - anomalyGroup: LookoutMetricsClientTypes.AnomalyGroup? = nil - ) { - self.anomalyGroup = anomalyGroup - } -} - -public struct GetDataQualityMetricsInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector that you want to investigate. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The Amazon Resource Name (ARN) of a specific data quality metric set. - public var metricSetArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - metricSetArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.metricSetArn = metricSetArn - } -} - -public struct GetDataQualityMetricsOutput: Swift.Sendable { - /// A list of the data quality metrics for the AnomalyDetectorArn that you requested. - public var anomalyDetectorDataQualityMetricList: [LookoutMetricsClientTypes.AnomalyDetectorDataQualityMetric]? - - public init( - anomalyDetectorDataQualityMetricList: [LookoutMetricsClientTypes.AnomalyDetectorDataQualityMetric]? = nil - ) { - self.anomalyDetectorDataQualityMetricList = anomalyDetectorDataQualityMetricList - } -} - -public struct GetFeedbackInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The anomalous metric and group ID. - /// This member is required. - public var anomalyGroupTimeSeriesFeedback: LookoutMetricsClientTypes.AnomalyGroupTimeSeries? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// Specify the pagination token that's returned by a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyGroupTimeSeriesFeedback: LookoutMetricsClientTypes.AnomalyGroupTimeSeries? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyGroupTimeSeriesFeedback = anomalyGroupTimeSeriesFeedback - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension LookoutMetricsClientTypes { - - /// Details about feedback submitted for an anomalous metric. - public struct TimeSeriesFeedback: Swift.Sendable { - /// Feedback on whether the metric is a legitimate anomaly. - public var isAnomaly: Swift.Bool? - /// The ID of the metric. - public var timeSeriesId: Swift.String? - - public init( - isAnomaly: Swift.Bool? = nil, - timeSeriesId: Swift.String? = nil - ) { - self.isAnomaly = isAnomaly - self.timeSeriesId = timeSeriesId - } - } -} - -public struct GetFeedbackOutput: Swift.Sendable { - /// Feedback for an anomalous metric. - public var anomalyGroupTimeSeriesFeedback: [LookoutMetricsClientTypes.TimeSeriesFeedback]? - /// The pagination token that's included if more results are available. - public var nextToken: Swift.String? - - public init( - anomalyGroupTimeSeriesFeedback: [LookoutMetricsClientTypes.TimeSeriesFeedback]? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyGroupTimeSeriesFeedback = anomalyGroupTimeSeriesFeedback - self.nextToken = nextToken - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about the source configuration in Amazon S3. - public struct SampleDataS3SourceConfig: Swift.Sendable { - /// Contains information about a source file's formatting. - /// This member is required. - public var fileFormatDescriptor: LookoutMetricsClientTypes.FileFormatDescriptor? - /// An array of strings containing the historical set of data paths. - public var historicalDataPathList: [Swift.String]? - /// The Amazon Resource Name (ARN) of the role. - /// This member is required. - public var roleArn: Swift.String? - /// An array of strings containing the list of templated paths. - public var templatedPathList: [Swift.String]? - - public init( - fileFormatDescriptor: LookoutMetricsClientTypes.FileFormatDescriptor? = nil, - historicalDataPathList: [Swift.String]? = nil, - roleArn: Swift.String? = nil, - templatedPathList: [Swift.String]? = nil - ) { - self.fileFormatDescriptor = fileFormatDescriptor - self.historicalDataPathList = historicalDataPathList - self.roleArn = roleArn - self.templatedPathList = templatedPathList - } - } -} - -public struct GetSampleDataInput: Swift.Sendable { - /// A datasource bucket in Amazon S3. - public var s3SourceConfig: LookoutMetricsClientTypes.SampleDataS3SourceConfig? - - public init( - s3SourceConfig: LookoutMetricsClientTypes.SampleDataS3SourceConfig? = nil - ) { - self.s3SourceConfig = s3SourceConfig - } -} - -public struct GetSampleDataOutput: Swift.Sendable { - /// A list of header labels for the records. - public var headerValues: [Swift.String]? - /// A list of records. - public var sampleRows: [[Swift.String]]? - - public init( - headerValues: [Swift.String]? = nil, - sampleRows: [[Swift.String]]? = nil - ) { - self.headerValues = headerValues - self.sampleRows = sampleRows - } -} - -extension LookoutMetricsClientTypes { - - public enum RelationshipType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case causeOfInputAnomalyGroup - case effectOfInputAnomalyGroup - case sdkUnknown(Swift.String) - - public static var allCases: [RelationshipType] { - return [ - .causeOfInputAnomalyGroup, - .effectOfInputAnomalyGroup - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .causeOfInputAnomalyGroup: return "CAUSE_OF_INPUT_ANOMALY_GROUP" - case .effectOfInputAnomalyGroup: return "EFFECT_OF_INPUT_ANOMALY_GROUP" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutMetricsClientTypes { - - /// Aggregated details about the measures contributing to the anomaly group, and the measures potentially impacted by the anomaly group. - public struct InterMetricImpactDetails: Swift.Sendable { - /// The ID of the anomaly group. - public var anomalyGroupId: Swift.String? - /// For potential causes (CAUSE_OF_INPUT_ANOMALY_GROUP), the percentage contribution the measure has in causing the anomalies. - public var contributionPercentage: Swift.Double? - /// The name of the measure. - public var metricName: Swift.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). - public var relationshipType: LookoutMetricsClientTypes.RelationshipType? - - public init( - anomalyGroupId: Swift.String? = nil, - contributionPercentage: Swift.Double? = nil, - metricName: Swift.String? = nil, - relationshipType: LookoutMetricsClientTypes.RelationshipType? = nil - ) { - self.anomalyGroupId = anomalyGroupId - self.contributionPercentage = contributionPercentage - self.metricName = metricName - self.relationshipType = relationshipType - } - } -} - -public struct ListAlertsInput: Swift.Sendable { - /// The ARN of the alert's detector. - public var anomalyDetectorArn: Swift.String? - /// The maximum number of results that will be displayed by the request. - public var maxResults: Swift.Int? - /// If the result of the previous request is 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. - public var nextToken: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -public struct ListAlertsOutput: Swift.Sendable { - /// Contains information about an alert. - public var alertSummaryList: [LookoutMetricsClientTypes.AlertSummary]? - /// If the response is truncated, the service returns this token. To retrieve the next set of results, use this token in the next request. - public var nextToken: Swift.String? - - public init( - alertSummaryList: [LookoutMetricsClientTypes.AlertSummary]? = nil, - nextToken: Swift.String? = nil - ) { - self.alertSummaryList = alertSummaryList - self.nextToken = nextToken - } -} - -public struct ListAnomalyDetectorsInput: Swift.Sendable { - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// 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. - public var nextToken: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -public struct ListAnomalyDetectorsOutput: Swift.Sendable { - /// A list of anomaly detectors in the account in the current region. - public var anomalyDetectorSummaryList: [LookoutMetricsClientTypes.AnomalyDetectorSummary]? - /// If the response is truncated, the service returns this token. To retrieve the next set of results, use the token in the next request. - public var nextToken: Swift.String? - - public init( - anomalyDetectorSummaryList: [LookoutMetricsClientTypes.AnomalyDetectorSummary]? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyDetectorSummaryList = anomalyDetectorSummaryList - self.nextToken = nextToken - } -} - -public struct ListAnomalyGroupRelatedMetricsInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The ID of the anomaly group. - /// This member is required. - public var anomalyGroupId: Swift.String? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// Specify the pagination token that's returned by a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// Filter for potential causes (CAUSE_OF_INPUT_ANOMALY_GROUP) or downstream effects (EFFECT_OF_INPUT_ANOMALY_GROUP) of the anomaly group. - public var relationshipTypeFilter: LookoutMetricsClientTypes.RelationshipType? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyGroupId: Swift.String? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - relationshipTypeFilter: LookoutMetricsClientTypes.RelationshipType? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyGroupId = anomalyGroupId - self.maxResults = maxResults - self.nextToken = nextToken - self.relationshipTypeFilter = relationshipTypeFilter - } -} - -public struct ListAnomalyGroupRelatedMetricsOutput: Swift.Sendable { - /// Aggregated details about the measures contributing to the anomaly group, and the measures potentially impacted by the anomaly group. - public var interMetricImpactList: [LookoutMetricsClientTypes.InterMetricImpactDetails]? - /// The pagination token that's included if more results are available. - public var nextToken: Swift.String? - - public init( - interMetricImpactList: [LookoutMetricsClientTypes.InterMetricImpactDetails]? = nil, - nextToken: Swift.String? = nil - ) { - self.interMetricImpactList = interMetricImpactList - self.nextToken = nextToken - } -} - -public struct ListAnomalyGroupSummariesInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// Specify the pagination token that's returned by a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - /// The minimum severity score for inclusion in the output. - /// This member is required. - public var sensitivityThreshold: Swift.Int? - - public init( - anomalyDetectorArn: Swift.String? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - sensitivityThreshold: Swift.Int? = 0 - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.maxResults = maxResults - self.nextToken = nextToken - self.sensitivityThreshold = sensitivityThreshold - } -} - -public struct ListAnomalyGroupSummariesOutput: Swift.Sendable { - /// Aggregated details about the anomaly groups. - public var anomalyGroupStatistics: LookoutMetricsClientTypes.AnomalyGroupStatistics? - /// A list of anomaly group summaries. - public var anomalyGroupSummaryList: [LookoutMetricsClientTypes.AnomalyGroupSummary]? - /// The pagination token that's included if more results are available. - public var nextToken: Swift.String? - - public init( - anomalyGroupStatistics: LookoutMetricsClientTypes.AnomalyGroupStatistics? = nil, - anomalyGroupSummaryList: [LookoutMetricsClientTypes.AnomalyGroupSummary]? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyGroupStatistics = anomalyGroupStatistics - self.anomalyGroupSummaryList = anomalyGroupSummaryList - self.nextToken = nextToken - } -} - -public struct ListAnomalyGroupTimeSeriesInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// The ID of the anomaly group. - /// This member is required. - public var anomalyGroupId: Swift.String? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// The name of the measure field. - /// This member is required. - public var metricName: Swift.String? - /// Specify the pagination token that's returned by a previous request to retrieve the next page of results. - public var nextToken: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyGroupId: Swift.String? = nil, - maxResults: Swift.Int? = nil, - metricName: Swift.String? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyGroupId = anomalyGroupId - self.maxResults = maxResults - self.metricName = metricName - self.nextToken = nextToken - } -} - -extension LookoutMetricsClientTypes { - - /// Details about a metric. A metric is an aggregation of the values of a measure for a dimension value, such as availability in the us-east-1 Region. - public struct TimeSeries: Swift.Sendable { - /// The dimensions of the metric. - /// This member is required. - public var dimensionList: [LookoutMetricsClientTypes.DimensionNameValue]? - /// The values for the metric. - /// This member is required. - public var metricValueList: [Swift.Double]? - /// The ID of the metric. - /// This member is required. - public var timeSeriesId: Swift.String? - - public init( - dimensionList: [LookoutMetricsClientTypes.DimensionNameValue]? = nil, - metricValueList: [Swift.Double]? = nil, - timeSeriesId: Swift.String? = nil - ) { - self.dimensionList = dimensionList - self.metricValueList = metricValueList - self.timeSeriesId = timeSeriesId - } - } -} - -public struct ListAnomalyGroupTimeSeriesOutput: Swift.Sendable { - /// The ID of the anomaly group. - public var anomalyGroupId: Swift.String? - /// The name of the measure field. - public var metricName: Swift.String? - /// The pagination token that's included if more results are available. - public var nextToken: Swift.String? - /// A list of anomalous metrics. - public var timeSeriesList: [LookoutMetricsClientTypes.TimeSeries]? - /// Timestamps for the anomalous metrics. - public var timestampList: [Swift.String]? - - public init( - anomalyGroupId: Swift.String? = nil, - metricName: Swift.String? = nil, - nextToken: Swift.String? = nil, - timeSeriesList: [LookoutMetricsClientTypes.TimeSeries]? = nil, - timestampList: [Swift.String]? = nil - ) { - self.anomalyGroupId = anomalyGroupId - self.metricName = metricName - self.nextToken = nextToken - self.timeSeriesList = timeSeriesList - self.timestampList = timestampList - } -} - -public struct ListMetricSetsInput: Swift.Sendable { - /// The ARN of the anomaly detector containing the metrics sets to list. - public var anomalyDetectorArn: Swift.String? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// 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. - public var nextToken: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension LookoutMetricsClientTypes { - - /// Contains information about a dataset. - public struct MetricSetSummary: Swift.Sendable { - /// The ARN of the detector to which the dataset belongs. - public var anomalyDetectorArn: Swift.String? - /// The time at which the dataset was created. - public var creationTime: Foundation.Date? - /// The time at which the dataset was last modified. - public var lastModificationTime: Foundation.Date? - /// The ARN of the dataset. - public var metricSetArn: Swift.String? - /// The description of the dataset. - public var metricSetDescription: Swift.String? - /// The name of the dataset. - public var metricSetName: Swift.String? - /// The dataset's [tags](https://docs.aws.amazon.com/lookoutmetrics/latest/dev/detectors-tags.html). - public var tags: [Swift.String: Swift.String]? - - public init( - anomalyDetectorArn: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - lastModificationTime: Foundation.Date? = nil, - metricSetArn: Swift.String? = nil, - metricSetDescription: Swift.String? = nil, - metricSetName: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.creationTime = creationTime - self.lastModificationTime = lastModificationTime - self.metricSetArn = metricSetArn - self.metricSetDescription = metricSetDescription - self.metricSetName = metricSetName - self.tags = tags - } - } -} - -public struct ListMetricSetsOutput: Swift.Sendable { - /// A list of the datasets in the AWS Region, with configuration details for each. - public var metricSetSummaryList: [LookoutMetricsClientTypes.MetricSetSummary]? - /// If the response is truncated, the list call returns this token. To retrieve the next set of results, use the token in the next list request. - public var nextToken: Swift.String? - - public init( - metricSetSummaryList: [LookoutMetricsClientTypes.MetricSetSummary]? = nil, - nextToken: Swift.String? = nil - ) { - self.metricSetSummaryList = metricSetSummaryList - self.nextToken = nextToken - } -} - -public struct ListTagsForResourceInput: Swift.Sendable { - /// The resource's Amazon Resource Name (ARN). - /// This member is required. - public var resourceArn: Swift.String? - - public init( - resourceArn: Swift.String? = nil - ) { - self.resourceArn = resourceArn - } -} - -public struct ListTagsForResourceOutput: Swift.Sendable { - /// The resource's tags. - public var tags: [Swift.String: Swift.String]? - - public init( - tags: [Swift.String: Swift.String]? = nil - ) { - self.tags = tags - } -} - -public struct PutFeedbackInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the anomaly detector. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// Feedback for an anomalous metric. - /// This member is required. - public var anomalyGroupTimeSeriesFeedback: LookoutMetricsClientTypes.AnomalyGroupTimeSeriesFeedback? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyGroupTimeSeriesFeedback: LookoutMetricsClientTypes.AnomalyGroupTimeSeriesFeedback? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyGroupTimeSeriesFeedback = anomalyGroupTimeSeriesFeedback - } -} - -public struct PutFeedbackOutput: Swift.Sendable { - - public init() { } -} - -public struct TagResourceInput: Swift.Sendable { - /// The resource's Amazon Resource Name (ARN). - /// This member is required. - public var resourceArn: Swift.String? - /// Tags to apply to the resource. Tag keys and values can contain letters, numbers, spaces, and the following symbols: _.:/=+@- - /// This member is required. - public var tags: [Swift.String: Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tags = tags - } -} - -public struct TagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UntagResourceInput: Swift.Sendable { - /// The resource's Amazon Resource Name (ARN). - /// This member is required. - public var resourceArn: Swift.String? - /// Keys to remove from the resource's tags. - /// This member is required. - public var tagKeys: [Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tagKeys: [Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } -} - -public struct UntagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateAlertInput: Swift.Sendable { - /// Action that will be triggered when there is an alert. - public var action: LookoutMetricsClientTypes.Action? - /// The ARN of the alert to update. - /// This member is required. - public var alertArn: Swift.String? - /// A description of the alert. - public var alertDescription: Swift.String? - /// The configuration of the alert filters, containing MetricList and DimensionFilterList. - public var alertFilters: LookoutMetricsClientTypes.AlertFilters? - /// An integer from 0 to 100 specifying the alert sensitivity threshold. - public var alertSensitivityThreshold: Swift.Int? - - public init( - action: LookoutMetricsClientTypes.Action? = nil, - alertArn: Swift.String? = nil, - alertDescription: Swift.String? = nil, - alertFilters: LookoutMetricsClientTypes.AlertFilters? = nil, - alertSensitivityThreshold: Swift.Int? = 0 - ) { - self.action = action - self.alertArn = alertArn - self.alertDescription = alertDescription - self.alertFilters = alertFilters - self.alertSensitivityThreshold = alertSensitivityThreshold - } -} - -public struct UpdateAlertOutput: Swift.Sendable { - /// The ARN of the updated alert. - public var alertArn: Swift.String? - - public init( - alertArn: Swift.String? = nil - ) { - self.alertArn = alertArn - } -} - -public struct UpdateAnomalyDetectorInput: Swift.Sendable { - /// The ARN of the detector to update. - /// This member is required. - public var anomalyDetectorArn: Swift.String? - /// Contains information about the configuration to which the detector will be updated. - public var anomalyDetectorConfig: LookoutMetricsClientTypes.AnomalyDetectorConfig? - /// The updated detector description. - public var anomalyDetectorDescription: Swift.String? - /// The Amazon Resource Name (ARN) of an AWS KMS encryption key. - public var kmsKeyArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil, - anomalyDetectorConfig: LookoutMetricsClientTypes.AnomalyDetectorConfig? = nil, - anomalyDetectorDescription: Swift.String? = nil, - kmsKeyArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - self.anomalyDetectorConfig = anomalyDetectorConfig - self.anomalyDetectorDescription = anomalyDetectorDescription - self.kmsKeyArn = kmsKeyArn - } -} - -public struct UpdateAnomalyDetectorOutput: Swift.Sendable { - /// The ARN of the updated detector. - public var anomalyDetectorArn: Swift.String? - - public init( - anomalyDetectorArn: Swift.String? = nil - ) { - self.anomalyDetectorArn = anomalyDetectorArn - } -} - -public struct UpdateMetricSetInput: Swift.Sendable { - /// Describes a list of filters for choosing specific dimensions and specific values. Each filter consists of the dimension and one of its values that you want to include. When multiple dimensions or values are specified, the dimensions are joined with an AND operation and the values are joined with an OR operation. - public var dimensionFilterList: [LookoutMetricsClientTypes.MetricSetDimensionFilter]? - /// The dimension list. - public var dimensionList: [Swift.String]? - /// The metric list. - public var metricList: [LookoutMetricsClientTypes.Metric]? - /// The ARN of the dataset to update. - /// This member is required. - public var metricSetArn: Swift.String? - /// The dataset's description. - public var metricSetDescription: Swift.String? - /// The dataset's interval. - public var metricSetFrequency: LookoutMetricsClientTypes.Frequency? - /// Contains information about source data used to generate metrics. - public var metricSource: LookoutMetricsClientTypes.MetricSource? - /// After an interval ends, the amount of seconds that the detector waits before importing data. Offset is only supported for S3, Redshift, Athena and datasources. - public var offset: Swift.Int? - /// The timestamp column. - public var timestampColumn: LookoutMetricsClientTypes.TimestampColumn? - - public init( - dimensionFilterList: [LookoutMetricsClientTypes.MetricSetDimensionFilter]? = nil, - dimensionList: [Swift.String]? = nil, - metricList: [LookoutMetricsClientTypes.Metric]? = nil, - metricSetArn: Swift.String? = nil, - metricSetDescription: Swift.String? = nil, - metricSetFrequency: LookoutMetricsClientTypes.Frequency? = nil, - metricSource: LookoutMetricsClientTypes.MetricSource? = nil, - offset: Swift.Int? = 0, - timestampColumn: LookoutMetricsClientTypes.TimestampColumn? = nil - ) { - self.dimensionFilterList = dimensionFilterList - self.dimensionList = dimensionList - self.metricList = metricList - self.metricSetArn = metricSetArn - self.metricSetDescription = metricSetDescription - self.metricSetFrequency = metricSetFrequency - self.metricSource = metricSource - self.offset = offset - self.timestampColumn = timestampColumn - } -} - -public struct UpdateMetricSetOutput: Swift.Sendable { - /// The ARN of the dataset. - public var metricSetArn: Swift.String? - - public init( - metricSetArn: Swift.String? = nil - ) { - self.metricSetArn = metricSetArn - } -} - -extension ActivateAnomalyDetectorInput { - - static func urlPathProvider(_ value: ActivateAnomalyDetectorInput) -> Swift.String? { - return "/ActivateAnomalyDetector" - } -} - -extension BackTestAnomalyDetectorInput { - - static func urlPathProvider(_ value: BackTestAnomalyDetectorInput) -> Swift.String? { - return "/BackTestAnomalyDetector" - } -} - -extension CreateAlertInput { - - static func urlPathProvider(_ value: CreateAlertInput) -> Swift.String? { - return "/CreateAlert" - } -} - -extension CreateAnomalyDetectorInput { - - static func urlPathProvider(_ value: CreateAnomalyDetectorInput) -> Swift.String? { - return "/CreateAnomalyDetector" - } -} - -extension CreateMetricSetInput { - - static func urlPathProvider(_ value: CreateMetricSetInput) -> Swift.String? { - return "/CreateMetricSet" - } -} - -extension DeactivateAnomalyDetectorInput { - - static func urlPathProvider(_ value: DeactivateAnomalyDetectorInput) -> Swift.String? { - return "/DeactivateAnomalyDetector" - } -} - -extension DeleteAlertInput { - - static func urlPathProvider(_ value: DeleteAlertInput) -> Swift.String? { - return "/DeleteAlert" - } -} - -extension DeleteAnomalyDetectorInput { - - static func urlPathProvider(_ value: DeleteAnomalyDetectorInput) -> Swift.String? { - return "/DeleteAnomalyDetector" - } -} - -extension DescribeAlertInput { - - static func urlPathProvider(_ value: DescribeAlertInput) -> Swift.String? { - return "/DescribeAlert" - } -} - -extension DescribeAnomalyDetectionExecutionsInput { - - static func urlPathProvider(_ value: DescribeAnomalyDetectionExecutionsInput) -> Swift.String? { - return "/DescribeAnomalyDetectionExecutions" - } -} - -extension DescribeAnomalyDetectorInput { - - static func urlPathProvider(_ value: DescribeAnomalyDetectorInput) -> Swift.String? { - return "/DescribeAnomalyDetector" - } -} - -extension DescribeMetricSetInput { - - static func urlPathProvider(_ value: DescribeMetricSetInput) -> Swift.String? { - return "/DescribeMetricSet" - } -} - -extension DetectMetricSetConfigInput { - - static func urlPathProvider(_ value: DetectMetricSetConfigInput) -> Swift.String? { - return "/DetectMetricSetConfig" - } -} - -extension GetAnomalyGroupInput { - - static func urlPathProvider(_ value: GetAnomalyGroupInput) -> Swift.String? { - return "/GetAnomalyGroup" - } -} - -extension GetDataQualityMetricsInput { - - static func urlPathProvider(_ value: GetDataQualityMetricsInput) -> Swift.String? { - return "/GetDataQualityMetrics" - } -} - -extension GetFeedbackInput { - - static func urlPathProvider(_ value: GetFeedbackInput) -> Swift.String? { - return "/GetFeedback" - } -} - -extension GetSampleDataInput { - - static func urlPathProvider(_ value: GetSampleDataInput) -> Swift.String? { - return "/GetSampleData" - } -} - -extension ListAlertsInput { - - static func urlPathProvider(_ value: ListAlertsInput) -> Swift.String? { - return "/ListAlerts" - } -} - -extension ListAnomalyDetectorsInput { - - static func urlPathProvider(_ value: ListAnomalyDetectorsInput) -> Swift.String? { - return "/ListAnomalyDetectors" - } -} - -extension ListAnomalyGroupRelatedMetricsInput { - - static func urlPathProvider(_ value: ListAnomalyGroupRelatedMetricsInput) -> Swift.String? { - return "/ListAnomalyGroupRelatedMetrics" - } -} - -extension ListAnomalyGroupSummariesInput { - - static func urlPathProvider(_ value: ListAnomalyGroupSummariesInput) -> Swift.String? { - return "/ListAnomalyGroupSummaries" - } -} - -extension ListAnomalyGroupTimeSeriesInput { - - static func urlPathProvider(_ value: ListAnomalyGroupTimeSeriesInput) -> Swift.String? { - return "/ListAnomalyGroupTimeSeries" - } -} - -extension ListMetricSetsInput { - - static func urlPathProvider(_ value: ListMetricSetsInput) -> Swift.String? { - return "/ListMetricSets" - } -} - -extension ListTagsForResourceInput { - - static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension PutFeedbackInput { - - static func urlPathProvider(_ value: PutFeedbackInput) -> Swift.String? { - return "/PutFeedback" - } -} - -extension TagResourceInput { - - static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - guard let tagKeys = value.tagKeys else { - let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." - throw Smithy.ClientError.unknownError(message) - } - tagKeys.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - return items - } -} - -extension UpdateAlertInput { - - static func urlPathProvider(_ value: UpdateAlertInput) -> Swift.String? { - return "/UpdateAlert" - } -} - -extension UpdateAnomalyDetectorInput { - - static func urlPathProvider(_ value: UpdateAnomalyDetectorInput) -> Swift.String? { - return "/UpdateAnomalyDetector" - } -} - -extension UpdateMetricSetInput { - - static func urlPathProvider(_ value: UpdateMetricSetInput) -> Swift.String? { - return "/UpdateMetricSet" - } -} - -extension ActivateAnomalyDetectorInput { - - static func write(value: ActivateAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - } -} - -extension BackTestAnomalyDetectorInput { - - static func write(value: BackTestAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - } -} - -extension CreateAlertInput { - - static func write(value: CreateAlertInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Action"].write(value.action, with: LookoutMetricsClientTypes.Action.write(value:to:)) - try writer["AlertDescription"].write(value.alertDescription) - try writer["AlertFilters"].write(value.alertFilters, with: LookoutMetricsClientTypes.AlertFilters.write(value:to:)) - try writer["AlertName"].write(value.alertName) - try writer["AlertSensitivityThreshold"].write(value.alertSensitivityThreshold) - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateAnomalyDetectorInput { - - static func write(value: CreateAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorConfig"].write(value.anomalyDetectorConfig, with: LookoutMetricsClientTypes.AnomalyDetectorConfig.write(value:to:)) - try writer["AnomalyDetectorDescription"].write(value.anomalyDetectorDescription) - try writer["AnomalyDetectorName"].write(value.anomalyDetectorName) - try writer["KmsKeyArn"].write(value.kmsKeyArn) - try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateMetricSetInput { - - static func write(value: CreateMetricSetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["DimensionFilterList"].writeList(value.dimensionFilterList, memberWritingClosure: LookoutMetricsClientTypes.MetricSetDimensionFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["DimensionList"].writeList(value.dimensionList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["MetricList"].writeList(value.metricList, memberWritingClosure: LookoutMetricsClientTypes.Metric.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["MetricSetDescription"].write(value.metricSetDescription) - try writer["MetricSetFrequency"].write(value.metricSetFrequency) - try writer["MetricSetName"].write(value.metricSetName) - try writer["MetricSource"].write(value.metricSource, with: LookoutMetricsClientTypes.MetricSource.write(value:to:)) - try writer["Offset"].write(value.offset) - try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["TimestampColumn"].write(value.timestampColumn, with: LookoutMetricsClientTypes.TimestampColumn.write(value:to:)) - try writer["Timezone"].write(value.timezone) - } -} - -extension DeactivateAnomalyDetectorInput { - - static func write(value: DeactivateAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - } -} - -extension DeleteAlertInput { - - static func write(value: DeleteAlertInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AlertArn"].write(value.alertArn) - } -} - -extension DeleteAnomalyDetectorInput { - - static func write(value: DeleteAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - } -} - -extension DescribeAlertInput { - - static func write(value: DescribeAlertInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AlertArn"].write(value.alertArn) - } -} - -extension DescribeAnomalyDetectionExecutionsInput { - - static func write(value: DescribeAnomalyDetectionExecutionsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - try writer["Timestamp"].write(value.timestamp) - } -} - -extension DescribeAnomalyDetectorInput { - - static func write(value: DescribeAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - } -} - -extension DescribeMetricSetInput { - - static func write(value: DescribeMetricSetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["MetricSetArn"].write(value.metricSetArn) - } -} - -extension DetectMetricSetConfigInput { - - static func write(value: DetectMetricSetConfigInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AutoDetectionMetricSource"].write(value.autoDetectionMetricSource, with: LookoutMetricsClientTypes.AutoDetectionMetricSource.write(value:to:)) - } -} - -extension GetAnomalyGroupInput { - - static func write(value: GetAnomalyGroupInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AnomalyGroupId"].write(value.anomalyGroupId) - } -} - -extension GetDataQualityMetricsInput { - - static func write(value: GetDataQualityMetricsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["MetricSetArn"].write(value.metricSetArn) - } -} - -extension GetFeedbackInput { - - static func write(value: GetFeedbackInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AnomalyGroupTimeSeriesFeedback"].write(value.anomalyGroupTimeSeriesFeedback, with: LookoutMetricsClientTypes.AnomalyGroupTimeSeries.write(value:to:)) - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - } -} - -extension GetSampleDataInput { - - static func write(value: GetSampleDataInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["S3SourceConfig"].write(value.s3SourceConfig, with: LookoutMetricsClientTypes.SampleDataS3SourceConfig.write(value:to:)) - } -} - -extension ListAlertsInput { - - static func write(value: ListAlertsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - } -} - -extension ListAnomalyDetectorsInput { - - static func write(value: ListAnomalyDetectorsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - } -} - -extension ListAnomalyGroupRelatedMetricsInput { - - static func write(value: ListAnomalyGroupRelatedMetricsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AnomalyGroupId"].write(value.anomalyGroupId) - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - try writer["RelationshipTypeFilter"].write(value.relationshipTypeFilter) - } -} - -extension ListAnomalyGroupSummariesInput { - - static func write(value: ListAnomalyGroupSummariesInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - try writer["SensitivityThreshold"].write(value.sensitivityThreshold) - } -} - -extension ListAnomalyGroupTimeSeriesInput { - - static func write(value: ListAnomalyGroupTimeSeriesInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AnomalyGroupId"].write(value.anomalyGroupId) - try writer["MaxResults"].write(value.maxResults) - try writer["MetricName"].write(value.metricName) - try writer["NextToken"].write(value.nextToken) - } -} - -extension ListMetricSetsInput { - - static func write(value: ListMetricSetsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["MaxResults"].write(value.maxResults) - try writer["NextToken"].write(value.nextToken) - } -} - -extension PutFeedbackInput { - - static func write(value: PutFeedbackInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AnomalyGroupTimeSeriesFeedback"].write(value.anomalyGroupTimeSeriesFeedback, with: LookoutMetricsClientTypes.AnomalyGroupTimeSeriesFeedback.write(value:to:)) - } -} - -extension TagResourceInput { - - static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension UpdateAlertInput { - - static func write(value: UpdateAlertInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Action"].write(value.action, with: LookoutMetricsClientTypes.Action.write(value:to:)) - try writer["AlertArn"].write(value.alertArn) - try writer["AlertDescription"].write(value.alertDescription) - try writer["AlertFilters"].write(value.alertFilters, with: LookoutMetricsClientTypes.AlertFilters.write(value:to:)) - try writer["AlertSensitivityThreshold"].write(value.alertSensitivityThreshold) - } -} - -extension UpdateAnomalyDetectorInput { - - static func write(value: UpdateAnomalyDetectorInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorArn"].write(value.anomalyDetectorArn) - try writer["AnomalyDetectorConfig"].write(value.anomalyDetectorConfig, with: LookoutMetricsClientTypes.AnomalyDetectorConfig.write(value:to:)) - try writer["AnomalyDetectorDescription"].write(value.anomalyDetectorDescription) - try writer["KmsKeyArn"].write(value.kmsKeyArn) - } -} - -extension UpdateMetricSetInput { - - static func write(value: UpdateMetricSetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DimensionFilterList"].writeList(value.dimensionFilterList, memberWritingClosure: LookoutMetricsClientTypes.MetricSetDimensionFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["DimensionList"].writeList(value.dimensionList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["MetricList"].writeList(value.metricList, memberWritingClosure: LookoutMetricsClientTypes.Metric.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["MetricSetArn"].write(value.metricSetArn) - try writer["MetricSetDescription"].write(value.metricSetDescription) - try writer["MetricSetFrequency"].write(value.metricSetFrequency) - try writer["MetricSource"].write(value.metricSource, with: LookoutMetricsClientTypes.MetricSource.write(value:to:)) - try writer["Offset"].write(value.offset) - try writer["TimestampColumn"].write(value.timestampColumn, with: LookoutMetricsClientTypes.TimestampColumn.write(value:to:)) - } -} - -extension ActivateAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ActivateAnomalyDetectorOutput { - return ActivateAnomalyDetectorOutput() - } -} - -extension BackTestAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> BackTestAnomalyDetectorOutput { - return BackTestAnomalyDetectorOutput() - } -} - -extension CreateAlertOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateAlertOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateAlertOutput() - value.alertArn = try reader["AlertArn"].readIfPresent() - return value - } -} - -extension CreateAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateAnomalyDetectorOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateAnomalyDetectorOutput() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - return value - } -} - -extension CreateMetricSetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateMetricSetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateMetricSetOutput() - value.metricSetArn = try reader["MetricSetArn"].readIfPresent() - return value - } -} - -extension DeactivateAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeactivateAnomalyDetectorOutput { - return DeactivateAnomalyDetectorOutput() - } -} - -extension DeleteAlertOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteAlertOutput { - return DeleteAlertOutput() - } -} - -extension DeleteAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteAnomalyDetectorOutput { - return DeleteAnomalyDetectorOutput() - } -} - -extension DescribeAlertOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeAlertOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeAlertOutput() - value.alert = try reader["Alert"].readIfPresent(with: LookoutMetricsClientTypes.Alert.read(from:)) - return value - } -} - -extension DescribeAnomalyDetectionExecutionsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeAnomalyDetectionExecutionsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeAnomalyDetectionExecutionsOutput() - value.executionList = try reader["ExecutionList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.ExecutionStatus.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension DescribeAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeAnomalyDetectorOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeAnomalyDetectorOutput() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - value.anomalyDetectorConfig = try reader["AnomalyDetectorConfig"].readIfPresent(with: LookoutMetricsClientTypes.AnomalyDetectorConfigSummary.read(from:)) - value.anomalyDetectorDescription = try reader["AnomalyDetectorDescription"].readIfPresent() - value.anomalyDetectorName = try reader["AnomalyDetectorName"].readIfPresent() - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.failureReason = try reader["FailureReason"].readIfPresent() - value.failureType = try reader["FailureType"].readIfPresent() - value.kmsKeyArn = try reader["KmsKeyArn"].readIfPresent() - value.lastModificationTime = try reader["LastModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["Status"].readIfPresent() - return value - } -} - -extension DescribeMetricSetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeMetricSetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeMetricSetOutput() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.dimensionFilterList = try reader["DimensionFilterList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.MetricSetDimensionFilter.read(from:), memberNodeInfo: "member", isFlattened: false) - value.dimensionList = try reader["DimensionList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.lastModificationTime = try reader["LastModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.metricList = try reader["MetricList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.Metric.read(from:), memberNodeInfo: "member", isFlattened: false) - value.metricSetArn = try reader["MetricSetArn"].readIfPresent() - value.metricSetDescription = try reader["MetricSetDescription"].readIfPresent() - value.metricSetFrequency = try reader["MetricSetFrequency"].readIfPresent() - value.metricSetName = try reader["MetricSetName"].readIfPresent() - value.metricSource = try reader["MetricSource"].readIfPresent(with: LookoutMetricsClientTypes.MetricSource.read(from:)) - value.offset = try reader["Offset"].readIfPresent() - value.timestampColumn = try reader["TimestampColumn"].readIfPresent(with: LookoutMetricsClientTypes.TimestampColumn.read(from:)) - value.timezone = try reader["Timezone"].readIfPresent() - return value - } -} - -extension DetectMetricSetConfigOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DetectMetricSetConfigOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DetectMetricSetConfigOutput() - value.detectedMetricSetConfig = try reader["DetectedMetricSetConfig"].readIfPresent(with: LookoutMetricsClientTypes.DetectedMetricSetConfig.read(from:)) - return value - } -} - -extension GetAnomalyGroupOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetAnomalyGroupOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetAnomalyGroupOutput() - value.anomalyGroup = try reader["AnomalyGroup"].readIfPresent(with: LookoutMetricsClientTypes.AnomalyGroup.read(from:)) - return value - } -} - -extension GetDataQualityMetricsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetDataQualityMetricsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetDataQualityMetricsOutput() - value.anomalyDetectorDataQualityMetricList = try reader["AnomalyDetectorDataQualityMetricList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.AnomalyDetectorDataQualityMetric.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension GetFeedbackOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetFeedbackOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetFeedbackOutput() - value.anomalyGroupTimeSeriesFeedback = try reader["AnomalyGroupTimeSeriesFeedback"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.TimeSeriesFeedback.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension GetSampleDataOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetSampleDataOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetSampleDataOutput() - value.headerValues = try reader["HeaderValues"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.sampleRows = try reader["SampleRows"].readListIfPresent(memberReadingClosure: SmithyReadWrite.listReadingClosure(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListAlertsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAlertsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListAlertsOutput() - value.alertSummaryList = try reader["AlertSummaryList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.AlertSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListAnomalyDetectorsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAnomalyDetectorsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListAnomalyDetectorsOutput() - value.anomalyDetectorSummaryList = try reader["AnomalyDetectorSummaryList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.AnomalyDetectorSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListAnomalyGroupRelatedMetricsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAnomalyGroupRelatedMetricsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListAnomalyGroupRelatedMetricsOutput() - value.interMetricImpactList = try reader["InterMetricImpactList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.InterMetricImpactDetails.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListAnomalyGroupSummariesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAnomalyGroupSummariesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListAnomalyGroupSummariesOutput() - value.anomalyGroupStatistics = try reader["AnomalyGroupStatistics"].readIfPresent(with: LookoutMetricsClientTypes.AnomalyGroupStatistics.read(from:)) - value.anomalyGroupSummaryList = try reader["AnomalyGroupSummaryList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.AnomalyGroupSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListAnomalyGroupTimeSeriesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAnomalyGroupTimeSeriesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListAnomalyGroupTimeSeriesOutput() - value.anomalyGroupId = try reader["AnomalyGroupId"].readIfPresent() - value.metricName = try reader["MetricName"].readIfPresent() - value.nextToken = try reader["NextToken"].readIfPresent() - value.timeSeriesList = try reader["TimeSeriesList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.TimeSeries.read(from:), memberNodeInfo: "member", isFlattened: false) - value.timestampList = try reader["TimestampList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListMetricSetsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListMetricSetsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListMetricSetsOutput() - value.metricSetSummaryList = try reader["MetricSetSummaryList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.MetricSetSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListTagsForResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTagsForResourceOutput() - value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension PutFeedbackOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> PutFeedbackOutput { - return PutFeedbackOutput() - } -} - -extension TagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { - return TagResourceOutput() - } -} - -extension UntagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { - return UntagResourceOutput() - } -} - -extension UpdateAlertOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateAlertOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateAlertOutput() - value.alertArn = try reader["AlertArn"].readIfPresent() - return value - } -} - -extension UpdateAnomalyDetectorOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateAnomalyDetectorOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateAnomalyDetectorOutput() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - return value - } -} - -extension UpdateMetricSetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateMetricSetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateMetricSetOutput() - value.metricSetArn = try reader["MetricSetArn"].readIfPresent() - return value - } -} - -enum ActivateAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum BackTestAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateAlertOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateMetricSetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeactivateAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteAlertOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeAlertOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeAnomalyDetectionExecutionsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeMetricSetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DetectMetricSetConfigOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetAnomalyGroupOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetDataQualityMetricsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetFeedbackOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetSampleDataOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListAlertsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListAnomalyDetectorsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListAnomalyGroupRelatedMetricsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListAnomalyGroupSummariesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListAnomalyGroupTimeSeriesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListMetricSetsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTagsForResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum PutFeedbackOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum TagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UntagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateAlertOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateAnomalyDetectorOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateMetricSetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension AccessDeniedException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> AccessDeniedException { - let reader = baseError.errorBodyReader - var value = AccessDeniedException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ConflictException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ConflictException { - let reader = baseError.errorBodyReader - var value = ConflictException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.resourceId = try reader["ResourceId"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension InternalServerException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { - let reader = baseError.errorBodyReader - var value = InternalServerException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceNotFoundException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { - let reader = baseError.errorBodyReader - var value = ResourceNotFoundException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.resourceId = try reader["ResourceId"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension TooManyRequestsException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> TooManyRequestsException { - let reader = baseError.errorBodyReader - var value = TooManyRequestsException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ValidationException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ValidationException { - let reader = baseError.errorBodyReader - var value = ValidationException() - value.properties.fields = try reader["Fields"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.ValidationExceptionField.read(from:), memberNodeInfo: "member", isFlattened: false) - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.reason = try reader["Reason"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ServiceQuotaExceededException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { - let reader = baseError.errorBodyReader - var value = ServiceQuotaExceededException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.quotaCode = try reader["QuotaCode"].readIfPresent() - value.properties.resourceId = try reader["ResourceId"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.properties.serviceCode = try reader["ServiceCode"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension LookoutMetricsClientTypes.Alert { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.Alert { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.Alert() - value.action = try reader["Action"].readIfPresent(with: LookoutMetricsClientTypes.Action.read(from:)) - value.alertDescription = try reader["AlertDescription"].readIfPresent() - value.alertArn = try reader["AlertArn"].readIfPresent() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - value.alertName = try reader["AlertName"].readIfPresent() - value.alertSensitivityThreshold = try reader["AlertSensitivityThreshold"].readIfPresent() ?? 0 - value.alertType = try reader["AlertType"].readIfPresent() - value.alertStatus = try reader["AlertStatus"].readIfPresent() - value.lastModificationTime = try reader["LastModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.alertFilters = try reader["AlertFilters"].readIfPresent(with: LookoutMetricsClientTypes.AlertFilters.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.AlertFilters { - - static func write(value: LookoutMetricsClientTypes.AlertFilters?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DimensionFilterList"].writeList(value.dimensionFilterList, memberWritingClosure: LookoutMetricsClientTypes.DimensionFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["MetricList"].writeList(value.metricList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AlertFilters { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AlertFilters() - value.metricList = try reader["MetricList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.dimensionFilterList = try reader["DimensionFilterList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.DimensionFilter.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.DimensionFilter { - - static func write(value: LookoutMetricsClientTypes.DimensionFilter?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DimensionName"].write(value.dimensionName) - try writer["DimensionValueList"].writeList(value.dimensionValueList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DimensionFilter { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DimensionFilter() - value.dimensionName = try reader["DimensionName"].readIfPresent() - value.dimensionValueList = try reader["DimensionValueList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.Action { - - static func write(value: LookoutMetricsClientTypes.Action?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["LambdaConfiguration"].write(value.lambdaConfiguration, with: LookoutMetricsClientTypes.LambdaConfiguration.write(value:to:)) - try writer["SNSConfiguration"].write(value.snsConfiguration, with: LookoutMetricsClientTypes.SNSConfiguration.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.Action { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.Action() - value.snsConfiguration = try reader["SNSConfiguration"].readIfPresent(with: LookoutMetricsClientTypes.SNSConfiguration.read(from:)) - value.lambdaConfiguration = try reader["LambdaConfiguration"].readIfPresent(with: LookoutMetricsClientTypes.LambdaConfiguration.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.LambdaConfiguration { - - static func write(value: LookoutMetricsClientTypes.LambdaConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["LambdaArn"].write(value.lambdaArn) - try writer["RoleArn"].write(value.roleArn) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.LambdaConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.LambdaConfiguration() - value.roleArn = try reader["RoleArn"].readIfPresent() ?? "" - value.lambdaArn = try reader["LambdaArn"].readIfPresent() ?? "" - return value - } -} - -extension LookoutMetricsClientTypes.SNSConfiguration { - - static func write(value: LookoutMetricsClientTypes.SNSConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["RoleArn"].write(value.roleArn) - try writer["SnsFormat"].write(value.snsFormat) - try writer["SnsTopicArn"].write(value.snsTopicArn) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.SNSConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.SNSConfiguration() - value.roleArn = try reader["RoleArn"].readIfPresent() ?? "" - value.snsTopicArn = try reader["SnsTopicArn"].readIfPresent() ?? "" - value.snsFormat = try reader["SnsFormat"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.ExecutionStatus { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.ExecutionStatus { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.ExecutionStatus() - value.timestamp = try reader["Timestamp"].readIfPresent() - value.status = try reader["Status"].readIfPresent() - value.failureReason = try reader["FailureReason"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyDetectorConfigSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AnomalyDetectorConfigSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AnomalyDetectorConfigSummary() - value.anomalyDetectorFrequency = try reader["AnomalyDetectorFrequency"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.Metric { - - static func write(value: LookoutMetricsClientTypes.Metric?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AggregationFunction"].write(value.aggregationFunction) - try writer["MetricName"].write(value.metricName) - try writer["Namespace"].write(value.namespace) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.Metric { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.Metric() - value.metricName = try reader["MetricName"].readIfPresent() ?? "" - value.aggregationFunction = try reader["AggregationFunction"].readIfPresent() ?? .sdkUnknown("") - value.namespace = try reader["Namespace"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.TimestampColumn { - - static func write(value: LookoutMetricsClientTypes.TimestampColumn?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["ColumnFormat"].write(value.columnFormat) - try writer["ColumnName"].write(value.columnName) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.TimestampColumn { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.TimestampColumn() - value.columnName = try reader["ColumnName"].readIfPresent() - value.columnFormat = try reader["ColumnFormat"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.MetricSource { - - static func write(value: LookoutMetricsClientTypes.MetricSource?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AppFlowConfig"].write(value.appFlowConfig, with: LookoutMetricsClientTypes.AppFlowConfig.write(value:to:)) - try writer["AthenaSourceConfig"].write(value.athenaSourceConfig, with: LookoutMetricsClientTypes.AthenaSourceConfig.write(value:to:)) - try writer["CloudWatchConfig"].write(value.cloudWatchConfig, with: LookoutMetricsClientTypes.CloudWatchConfig.write(value:to:)) - try writer["RDSSourceConfig"].write(value.rdsSourceConfig, with: LookoutMetricsClientTypes.RDSSourceConfig.write(value:to:)) - try writer["RedshiftSourceConfig"].write(value.redshiftSourceConfig, with: LookoutMetricsClientTypes.RedshiftSourceConfig.write(value:to:)) - try writer["S3SourceConfig"].write(value.s3SourceConfig, with: LookoutMetricsClientTypes.S3SourceConfig.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.MetricSource { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.MetricSource() - value.s3SourceConfig = try reader["S3SourceConfig"].readIfPresent(with: LookoutMetricsClientTypes.S3SourceConfig.read(from:)) - value.appFlowConfig = try reader["AppFlowConfig"].readIfPresent(with: LookoutMetricsClientTypes.AppFlowConfig.read(from:)) - value.cloudWatchConfig = try reader["CloudWatchConfig"].readIfPresent(with: LookoutMetricsClientTypes.CloudWatchConfig.read(from:)) - value.rdsSourceConfig = try reader["RDSSourceConfig"].readIfPresent(with: LookoutMetricsClientTypes.RDSSourceConfig.read(from:)) - value.redshiftSourceConfig = try reader["RedshiftSourceConfig"].readIfPresent(with: LookoutMetricsClientTypes.RedshiftSourceConfig.read(from:)) - value.athenaSourceConfig = try reader["AthenaSourceConfig"].readIfPresent(with: LookoutMetricsClientTypes.AthenaSourceConfig.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.AthenaSourceConfig { - - static func write(value: LookoutMetricsClientTypes.AthenaSourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["BackTestConfiguration"].write(value.backTestConfiguration, with: LookoutMetricsClientTypes.BackTestConfiguration.write(value:to:)) - try writer["DataCatalog"].write(value.dataCatalog) - try writer["DatabaseName"].write(value.databaseName) - try writer["RoleArn"].write(value.roleArn) - try writer["S3ResultsPath"].write(value.s3ResultsPath) - try writer["TableName"].write(value.tableName) - try writer["WorkGroupName"].write(value.workGroupName) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AthenaSourceConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AthenaSourceConfig() - value.roleArn = try reader["RoleArn"].readIfPresent() - value.databaseName = try reader["DatabaseName"].readIfPresent() - value.dataCatalog = try reader["DataCatalog"].readIfPresent() - value.tableName = try reader["TableName"].readIfPresent() - value.workGroupName = try reader["WorkGroupName"].readIfPresent() - value.s3ResultsPath = try reader["S3ResultsPath"].readIfPresent() - value.backTestConfiguration = try reader["BackTestConfiguration"].readIfPresent(with: LookoutMetricsClientTypes.BackTestConfiguration.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.BackTestConfiguration { - - static func write(value: LookoutMetricsClientTypes.BackTestConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["RunBackTestMode"].write(value.runBackTestMode) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.BackTestConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.BackTestConfiguration() - value.runBackTestMode = try reader["RunBackTestMode"].readIfPresent() ?? false - return value - } -} - -extension LookoutMetricsClientTypes.RedshiftSourceConfig { - - static func write(value: LookoutMetricsClientTypes.RedshiftSourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["ClusterIdentifier"].write(value.clusterIdentifier) - try writer["DatabaseHost"].write(value.databaseHost) - try writer["DatabaseName"].write(value.databaseName) - try writer["DatabasePort"].write(value.databasePort) - try writer["RoleArn"].write(value.roleArn) - try writer["SecretManagerArn"].write(value.secretManagerArn) - try writer["TableName"].write(value.tableName) - try writer["VpcConfiguration"].write(value.vpcConfiguration, with: LookoutMetricsClientTypes.VpcConfiguration.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.RedshiftSourceConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.RedshiftSourceConfig() - value.clusterIdentifier = try reader["ClusterIdentifier"].readIfPresent() - value.databaseHost = try reader["DatabaseHost"].readIfPresent() - value.databasePort = try reader["DatabasePort"].readIfPresent() - value.secretManagerArn = try reader["SecretManagerArn"].readIfPresent() - value.databaseName = try reader["DatabaseName"].readIfPresent() - value.tableName = try reader["TableName"].readIfPresent() - value.roleArn = try reader["RoleArn"].readIfPresent() - value.vpcConfiguration = try reader["VpcConfiguration"].readIfPresent(with: LookoutMetricsClientTypes.VpcConfiguration.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.VpcConfiguration { - - static func write(value: LookoutMetricsClientTypes.VpcConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["SecurityGroupIdList"].writeList(value.securityGroupIdList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["SubnetIdList"].writeList(value.subnetIdList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.VpcConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.VpcConfiguration() - value.subnetIdList = try reader["SubnetIdList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.securityGroupIdList = try reader["SecurityGroupIdList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension LookoutMetricsClientTypes.RDSSourceConfig { - - static func write(value: LookoutMetricsClientTypes.RDSSourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DBInstanceIdentifier"].write(value.dbInstanceIdentifier) - try writer["DatabaseHost"].write(value.databaseHost) - try writer["DatabaseName"].write(value.databaseName) - try writer["DatabasePort"].write(value.databasePort) - try writer["RoleArn"].write(value.roleArn) - try writer["SecretManagerArn"].write(value.secretManagerArn) - try writer["TableName"].write(value.tableName) - try writer["VpcConfiguration"].write(value.vpcConfiguration, with: LookoutMetricsClientTypes.VpcConfiguration.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.RDSSourceConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.RDSSourceConfig() - value.dbInstanceIdentifier = try reader["DBInstanceIdentifier"].readIfPresent() - value.databaseHost = try reader["DatabaseHost"].readIfPresent() - value.databasePort = try reader["DatabasePort"].readIfPresent() - value.secretManagerArn = try reader["SecretManagerArn"].readIfPresent() - value.databaseName = try reader["DatabaseName"].readIfPresent() - value.tableName = try reader["TableName"].readIfPresent() - value.roleArn = try reader["RoleArn"].readIfPresent() - value.vpcConfiguration = try reader["VpcConfiguration"].readIfPresent(with: LookoutMetricsClientTypes.VpcConfiguration.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.CloudWatchConfig { - - static func write(value: LookoutMetricsClientTypes.CloudWatchConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["BackTestConfiguration"].write(value.backTestConfiguration, with: LookoutMetricsClientTypes.BackTestConfiguration.write(value:to:)) - try writer["RoleArn"].write(value.roleArn) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.CloudWatchConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.CloudWatchConfig() - value.roleArn = try reader["RoleArn"].readIfPresent() - value.backTestConfiguration = try reader["BackTestConfiguration"].readIfPresent(with: LookoutMetricsClientTypes.BackTestConfiguration.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.AppFlowConfig { - - static func write(value: LookoutMetricsClientTypes.AppFlowConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["FlowName"].write(value.flowName) - try writer["RoleArn"].write(value.roleArn) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AppFlowConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AppFlowConfig() - value.roleArn = try reader["RoleArn"].readIfPresent() - value.flowName = try reader["FlowName"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.S3SourceConfig { - - static func write(value: LookoutMetricsClientTypes.S3SourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["FileFormatDescriptor"].write(value.fileFormatDescriptor, with: LookoutMetricsClientTypes.FileFormatDescriptor.write(value:to:)) - try writer["HistoricalDataPathList"].writeList(value.historicalDataPathList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["RoleArn"].write(value.roleArn) - try writer["TemplatedPathList"].writeList(value.templatedPathList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.S3SourceConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.S3SourceConfig() - value.roleArn = try reader["RoleArn"].readIfPresent() - value.templatedPathList = try reader["TemplatedPathList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.historicalDataPathList = try reader["HistoricalDataPathList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.fileFormatDescriptor = try reader["FileFormatDescriptor"].readIfPresent(with: LookoutMetricsClientTypes.FileFormatDescriptor.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.FileFormatDescriptor { - - static func write(value: LookoutMetricsClientTypes.FileFormatDescriptor?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["CsvFormatDescriptor"].write(value.csvFormatDescriptor, with: LookoutMetricsClientTypes.CsvFormatDescriptor.write(value:to:)) - try writer["JsonFormatDescriptor"].write(value.jsonFormatDescriptor, with: LookoutMetricsClientTypes.JsonFormatDescriptor.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.FileFormatDescriptor { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.FileFormatDescriptor() - value.csvFormatDescriptor = try reader["CsvFormatDescriptor"].readIfPresent(with: LookoutMetricsClientTypes.CsvFormatDescriptor.read(from:)) - value.jsonFormatDescriptor = try reader["JsonFormatDescriptor"].readIfPresent(with: LookoutMetricsClientTypes.JsonFormatDescriptor.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.JsonFormatDescriptor { - - static func write(value: LookoutMetricsClientTypes.JsonFormatDescriptor?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Charset"].write(value.charset) - try writer["FileCompression"].write(value.fileCompression) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.JsonFormatDescriptor { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.JsonFormatDescriptor() - value.fileCompression = try reader["FileCompression"].readIfPresent() - value.charset = try reader["Charset"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.CsvFormatDescriptor { - - static func write(value: LookoutMetricsClientTypes.CsvFormatDescriptor?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Charset"].write(value.charset) - try writer["ContainsHeader"].write(value.containsHeader) - try writer["Delimiter"].write(value.delimiter) - try writer["FileCompression"].write(value.fileCompression) - try writer["HeaderList"].writeList(value.headerList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["QuoteSymbol"].write(value.quoteSymbol) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.CsvFormatDescriptor { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.CsvFormatDescriptor() - value.fileCompression = try reader["FileCompression"].readIfPresent() - value.charset = try reader["Charset"].readIfPresent() - value.containsHeader = try reader["ContainsHeader"].readIfPresent() - value.delimiter = try reader["Delimiter"].readIfPresent() - value.headerList = try reader["HeaderList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.quoteSymbol = try reader["QuoteSymbol"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.MetricSetDimensionFilter { - - static func write(value: LookoutMetricsClientTypes.MetricSetDimensionFilter?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["FilterList"].writeList(value.filterList, memberWritingClosure: LookoutMetricsClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["Name"].write(value.name) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.MetricSetDimensionFilter { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.MetricSetDimensionFilter() - value.name = try reader["Name"].readIfPresent() - value.filterList = try reader["FilterList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.Filter.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.Filter { - - static func write(value: LookoutMetricsClientTypes.Filter?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DimensionValue"].write(value.dimensionValue) - try writer["FilterOperation"].write(value.filterOperation) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.Filter { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.Filter() - value.dimensionValue = try reader["DimensionValue"].readIfPresent() - value.filterOperation = try reader["FilterOperation"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.DetectedMetricSetConfig { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedMetricSetConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedMetricSetConfig() - value.offset = try reader["Offset"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.metricSetFrequency = try reader["MetricSetFrequency"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.metricSource = try reader["MetricSource"].readIfPresent(with: LookoutMetricsClientTypes.DetectedMetricSource.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.DetectedMetricSource { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedMetricSource { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedMetricSource() - value.s3SourceConfig = try reader["S3SourceConfig"].readIfPresent(with: LookoutMetricsClientTypes.DetectedS3SourceConfig.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.DetectedS3SourceConfig { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedS3SourceConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedS3SourceConfig() - value.fileFormatDescriptor = try reader["FileFormatDescriptor"].readIfPresent(with: LookoutMetricsClientTypes.DetectedFileFormatDescriptor.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.DetectedFileFormatDescriptor { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedFileFormatDescriptor { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedFileFormatDescriptor() - value.csvFormatDescriptor = try reader["CsvFormatDescriptor"].readIfPresent(with: LookoutMetricsClientTypes.DetectedCsvFormatDescriptor.read(from:)) - value.jsonFormatDescriptor = try reader["JsonFormatDescriptor"].readIfPresent(with: LookoutMetricsClientTypes.DetectedJsonFormatDescriptor.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.DetectedJsonFormatDescriptor { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedJsonFormatDescriptor { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedJsonFormatDescriptor() - value.fileCompression = try reader["FileCompression"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.charset = try reader["Charset"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.DetectedField { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedField { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedField() - value.value = try reader["Value"].readIfPresent(with: LookoutMetricsClientTypes.AttributeValue.read(from:)) - value.confidence = try reader["Confidence"].readIfPresent() - value.message = try reader["Message"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.AttributeValue { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AttributeValue { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AttributeValue() - value.s = try reader["S"].readIfPresent() - value.n = try reader["N"].readIfPresent() - value.b = try reader["B"].readIfPresent() - value.ss = try reader["SS"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.ns = try reader["NS"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.bs = try reader["BS"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.DetectedCsvFormatDescriptor { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DetectedCsvFormatDescriptor { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DetectedCsvFormatDescriptor() - value.fileCompression = try reader["FileCompression"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.charset = try reader["Charset"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.containsHeader = try reader["ContainsHeader"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.delimiter = try reader["Delimiter"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.headerList = try reader["HeaderList"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - value.quoteSymbol = try reader["QuoteSymbol"].readIfPresent(with: LookoutMetricsClientTypes.DetectedField.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyGroup { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AnomalyGroup { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AnomalyGroup() - value.startTime = try reader["StartTime"].readIfPresent() - value.endTime = try reader["EndTime"].readIfPresent() - value.anomalyGroupId = try reader["AnomalyGroupId"].readIfPresent() - value.anomalyGroupScore = try reader["AnomalyGroupScore"].readIfPresent() - value.primaryMetricName = try reader["PrimaryMetricName"].readIfPresent() - value.metricLevelImpactList = try reader["MetricLevelImpactList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.MetricLevelImpact.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.MetricLevelImpact { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.MetricLevelImpact { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.MetricLevelImpact() - value.metricName = try reader["MetricName"].readIfPresent() - value.numTimeSeries = try reader["NumTimeSeries"].readIfPresent() ?? 0 - value.contributionMatrix = try reader["ContributionMatrix"].readIfPresent(with: LookoutMetricsClientTypes.ContributionMatrix.read(from:)) - return value - } -} - -extension LookoutMetricsClientTypes.ContributionMatrix { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.ContributionMatrix { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.ContributionMatrix() - value.dimensionContributionList = try reader["DimensionContributionList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.DimensionContribution.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.DimensionContribution { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DimensionContribution { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DimensionContribution() - value.dimensionName = try reader["DimensionName"].readIfPresent() - value.dimensionValueContributionList = try reader["DimensionValueContributionList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.DimensionValueContribution.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.DimensionValueContribution { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DimensionValueContribution { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DimensionValueContribution() - value.dimensionValue = try reader["DimensionValue"].readIfPresent() - value.contributionScore = try reader["ContributionScore"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyDetectorDataQualityMetric { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AnomalyDetectorDataQualityMetric { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AnomalyDetectorDataQualityMetric() - value.startTimestamp = try reader["StartTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.metricSetDataQualityMetricList = try reader["MetricSetDataQualityMetricList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.MetricSetDataQualityMetric.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.MetricSetDataQualityMetric { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.MetricSetDataQualityMetric { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.MetricSetDataQualityMetric() - value.metricSetArn = try reader["MetricSetArn"].readIfPresent() - value.dataQualityMetricList = try reader["DataQualityMetricList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.DataQualityMetric.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.DataQualityMetric { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DataQualityMetric { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DataQualityMetric() - value.metricType = try reader["MetricType"].readIfPresent() - value.metricDescription = try reader["MetricDescription"].readIfPresent() - value.relatedColumnName = try reader["RelatedColumnName"].readIfPresent() - value.metricValue = try reader["MetricValue"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.TimeSeriesFeedback { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.TimeSeriesFeedback { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.TimeSeriesFeedback() - value.timeSeriesId = try reader["TimeSeriesId"].readIfPresent() - value.isAnomaly = try reader["IsAnomaly"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.AlertSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AlertSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AlertSummary() - value.alertArn = try reader["AlertArn"].readIfPresent() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - value.alertName = try reader["AlertName"].readIfPresent() - value.alertSensitivityThreshold = try reader["AlertSensitivityThreshold"].readIfPresent() ?? 0 - value.alertType = try reader["AlertType"].readIfPresent() - value.alertStatus = try reader["AlertStatus"].readIfPresent() - value.lastModificationTime = try reader["LastModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyDetectorSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AnomalyDetectorSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AnomalyDetectorSummary() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - value.anomalyDetectorName = try reader["AnomalyDetectorName"].readIfPresent() - value.anomalyDetectorDescription = try reader["AnomalyDetectorDescription"].readIfPresent() - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastModificationTime = try reader["LastModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["Status"].readIfPresent() - value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.InterMetricImpactDetails { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.InterMetricImpactDetails { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.InterMetricImpactDetails() - value.metricName = try reader["MetricName"].readIfPresent() - value.anomalyGroupId = try reader["AnomalyGroupId"].readIfPresent() - value.relationshipType = try reader["RelationshipType"].readIfPresent() - value.contributionPercentage = try reader["ContributionPercentage"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyGroupSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AnomalyGroupSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AnomalyGroupSummary() - value.startTime = try reader["StartTime"].readIfPresent() - value.endTime = try reader["EndTime"].readIfPresent() - value.anomalyGroupId = try reader["AnomalyGroupId"].readIfPresent() - value.anomalyGroupScore = try reader["AnomalyGroupScore"].readIfPresent() - value.primaryMetricName = try reader["PrimaryMetricName"].readIfPresent() - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyGroupStatistics { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.AnomalyGroupStatistics { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.AnomalyGroupStatistics() - value.evaluationStartDate = try reader["EvaluationStartDate"].readIfPresent() - value.totalCount = try reader["TotalCount"].readIfPresent() ?? 0 - value.itemizedMetricStatsList = try reader["ItemizedMetricStatsList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.ItemizedMetricStats.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.ItemizedMetricStats { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.ItemizedMetricStats { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.ItemizedMetricStats() - value.metricName = try reader["MetricName"].readIfPresent() - value.occurrenceCount = try reader["OccurrenceCount"].readIfPresent() ?? 0 - return value - } -} - -extension LookoutMetricsClientTypes.TimeSeries { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.TimeSeries { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.TimeSeries() - value.timeSeriesId = try reader["TimeSeriesId"].readIfPresent() ?? "" - value.dimensionList = try reader["DimensionList"].readListIfPresent(memberReadingClosure: LookoutMetricsClientTypes.DimensionNameValue.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.metricValueList = try reader["MetricValueList"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readDouble(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension LookoutMetricsClientTypes.DimensionNameValue { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.DimensionNameValue { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.DimensionNameValue() - value.dimensionName = try reader["DimensionName"].readIfPresent() ?? "" - value.dimensionValue = try reader["DimensionValue"].readIfPresent() ?? "" - return value - } -} - -extension LookoutMetricsClientTypes.MetricSetSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.MetricSetSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.MetricSetSummary() - value.metricSetArn = try reader["MetricSetArn"].readIfPresent() - value.anomalyDetectorArn = try reader["AnomalyDetectorArn"].readIfPresent() - value.metricSetDescription = try reader["MetricSetDescription"].readIfPresent() - value.metricSetName = try reader["MetricSetName"].readIfPresent() - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastModificationTime = try reader["LastModificationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension LookoutMetricsClientTypes.ValidationExceptionField { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutMetricsClientTypes.ValidationExceptionField { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutMetricsClientTypes.ValidationExceptionField() - value.name = try reader["Name"].readIfPresent() ?? "" - value.message = try reader["Message"].readIfPresent() ?? "" - return value - } -} - -extension LookoutMetricsClientTypes.AnomalyDetectorConfig { - - static func write(value: LookoutMetricsClientTypes.AnomalyDetectorConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyDetectorFrequency"].write(value.anomalyDetectorFrequency) - } -} - -extension LookoutMetricsClientTypes.AutoDetectionMetricSource { - - static func write(value: LookoutMetricsClientTypes.AutoDetectionMetricSource?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["S3SourceConfig"].write(value.s3SourceConfig, with: LookoutMetricsClientTypes.AutoDetectionS3SourceConfig.write(value:to:)) - } -} - -extension LookoutMetricsClientTypes.AutoDetectionS3SourceConfig { - - static func write(value: LookoutMetricsClientTypes.AutoDetectionS3SourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["HistoricalDataPathList"].writeList(value.historicalDataPathList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["TemplatedPathList"].writeList(value.templatedPathList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension LookoutMetricsClientTypes.AnomalyGroupTimeSeries { - - static func write(value: LookoutMetricsClientTypes.AnomalyGroupTimeSeries?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyGroupId"].write(value.anomalyGroupId) - try writer["TimeSeriesId"].write(value.timeSeriesId) - } -} - -extension LookoutMetricsClientTypes.SampleDataS3SourceConfig { - - static func write(value: LookoutMetricsClientTypes.SampleDataS3SourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["FileFormatDescriptor"].write(value.fileFormatDescriptor, with: LookoutMetricsClientTypes.FileFormatDescriptor.write(value:to:)) - try writer["HistoricalDataPathList"].writeList(value.historicalDataPathList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["RoleArn"].write(value.roleArn) - try writer["TemplatedPathList"].writeList(value.templatedPathList, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension LookoutMetricsClientTypes.AnomalyGroupTimeSeriesFeedback { - - static func write(value: LookoutMetricsClientTypes.AnomalyGroupTimeSeriesFeedback?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AnomalyGroupId"].write(value.anomalyGroupId) - try writer["IsAnomaly"].write(value.isAnomaly) - try writer["TimeSeriesId"].write(value.timeSeriesId) - } -} - -public enum LookoutMetricsClientTypes {} diff --git a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Paginators.swift b/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Paginators.swift deleted file mode 100644 index b05f5c6a8af..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Paginators.swift +++ /dev/null @@ -1,194 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import protocol ClientRuntime.PaginateToken -import struct ClientRuntime.PaginatorSequence - -extension LookoutMetricsClient { - /// Paginate over `[DescribeAnomalyDetectionExecutionsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[DescribeAnomalyDetectionExecutionsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `DescribeAnomalyDetectionExecutionsOutput` - public func describeAnomalyDetectionExecutionsPaginated(input: DescribeAnomalyDetectionExecutionsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.describeAnomalyDetectionExecutions(input:)) - } -} - -extension DescribeAnomalyDetectionExecutionsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> DescribeAnomalyDetectionExecutionsInput { - return DescribeAnomalyDetectionExecutionsInput( - anomalyDetectorArn: self.anomalyDetectorArn, - maxResults: self.maxResults, - nextToken: token, - timestamp: self.timestamp - )} -} -extension LookoutMetricsClient { - /// Paginate over `[GetFeedbackOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[GetFeedbackInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `GetFeedbackOutput` - public func getFeedbackPaginated(input: GetFeedbackInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.getFeedback(input:)) - } -} - -extension GetFeedbackInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> GetFeedbackInput { - return GetFeedbackInput( - anomalyDetectorArn: self.anomalyDetectorArn, - anomalyGroupTimeSeriesFeedback: self.anomalyGroupTimeSeriesFeedback, - maxResults: self.maxResults, - nextToken: token - )} -} -extension LookoutMetricsClient { - /// Paginate over `[ListAlertsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListAlertsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListAlertsOutput` - public func listAlertsPaginated(input: ListAlertsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listAlerts(input:)) - } -} - -extension ListAlertsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListAlertsInput { - return ListAlertsInput( - anomalyDetectorArn: self.anomalyDetectorArn, - maxResults: self.maxResults, - nextToken: token - )} -} -extension LookoutMetricsClient { - /// Paginate over `[ListAnomalyDetectorsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListAnomalyDetectorsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListAnomalyDetectorsOutput` - public func listAnomalyDetectorsPaginated(input: ListAnomalyDetectorsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listAnomalyDetectors(input:)) - } -} - -extension ListAnomalyDetectorsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListAnomalyDetectorsInput { - return ListAnomalyDetectorsInput( - maxResults: self.maxResults, - nextToken: token - )} -} -extension LookoutMetricsClient { - /// Paginate over `[ListAnomalyGroupRelatedMetricsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListAnomalyGroupRelatedMetricsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListAnomalyGroupRelatedMetricsOutput` - public func listAnomalyGroupRelatedMetricsPaginated(input: ListAnomalyGroupRelatedMetricsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listAnomalyGroupRelatedMetrics(input:)) - } -} - -extension ListAnomalyGroupRelatedMetricsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListAnomalyGroupRelatedMetricsInput { - return ListAnomalyGroupRelatedMetricsInput( - anomalyDetectorArn: self.anomalyDetectorArn, - anomalyGroupId: self.anomalyGroupId, - maxResults: self.maxResults, - nextToken: token, - relationshipTypeFilter: self.relationshipTypeFilter - )} -} -extension LookoutMetricsClient { - /// Paginate over `[ListAnomalyGroupSummariesOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListAnomalyGroupSummariesInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListAnomalyGroupSummariesOutput` - public func listAnomalyGroupSummariesPaginated(input: ListAnomalyGroupSummariesInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listAnomalyGroupSummaries(input:)) - } -} - -extension ListAnomalyGroupSummariesInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListAnomalyGroupSummariesInput { - return ListAnomalyGroupSummariesInput( - anomalyDetectorArn: self.anomalyDetectorArn, - maxResults: self.maxResults, - nextToken: token, - sensitivityThreshold: self.sensitivityThreshold - )} -} -extension LookoutMetricsClient { - /// Paginate over `[ListAnomalyGroupTimeSeriesOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListAnomalyGroupTimeSeriesInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListAnomalyGroupTimeSeriesOutput` - public func listAnomalyGroupTimeSeriesPaginated(input: ListAnomalyGroupTimeSeriesInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listAnomalyGroupTimeSeries(input:)) - } -} - -extension ListAnomalyGroupTimeSeriesInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListAnomalyGroupTimeSeriesInput { - return ListAnomalyGroupTimeSeriesInput( - anomalyDetectorArn: self.anomalyDetectorArn, - anomalyGroupId: self.anomalyGroupId, - maxResults: self.maxResults, - metricName: self.metricName, - nextToken: token - )} -} -extension LookoutMetricsClient { - /// Paginate over `[ListMetricSetsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListMetricSetsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListMetricSetsOutput` - public func listMetricSetsPaginated(input: ListMetricSetsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listMetricSets(input:)) - } -} - -extension ListMetricSetsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListMetricSetsInput { - return ListMetricSetsInput( - anomalyDetectorArn: self.anomalyDetectorArn, - maxResults: self.maxResults, - nextToken: token - )} -} diff --git a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Plugins.swift b/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Plugins.swift deleted file mode 100644 index 1cb2aae479b..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Sources/AWSLookoutMetrics/Plugins.swift +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import protocol ClientRuntime.ClientConfiguration -import protocol ClientRuntime.Plugin -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -import struct AWSSDKHTTPAuth.SigV4AuthScheme -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class LookoutMetricsClientEndpointPlugin: Plugin { - private var endpointResolver: EndpointResolver - - public init(endpointResolver: EndpointResolver) { - self.endpointResolver = endpointResolver - } - - public convenience init() throws { - self.init(endpointResolver: try DefaultEndpointResolver()) - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? LookoutMetricsClient.LookoutMetricsClientConfiguration { - config.endpointResolver = self.endpointResolver - } - } -} - -public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { - - public init() {} - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? LookoutMetricsClient.LookoutMetricsClientConfiguration { - config.authSchemeResolver = DefaultLookoutMetricsAuthSchemeResolver() - config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] - config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() - config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() - } - } -} - -public class LookoutMetricsClientAuthSchemePlugin: ClientRuntime.Plugin { - private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - private var authSchemePreference: [String] - private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? - private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? - private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: LookoutMetricsAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { - self.authSchemeResolver = authSchemeResolver - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference ?? [] - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? LookoutMetricsClient.LookoutMetricsClientConfiguration { - if (self.authSchemes != nil) { - config.authSchemes = self.authSchemes - } - config.authSchemePreference = self.authSchemePreference - if (self.authSchemeResolver != nil) { - config.authSchemeResolver = self.authSchemeResolver! - } - if (self.awsCredentialIdentityResolver != nil) { - config.awsCredentialIdentityResolver = self.awsCredentialIdentityResolver! - } - if (self.bearerTokenIdentityResolver != nil) { - config.bearerTokenIdentityResolver = self.bearerTokenIdentityResolver! - } - } - } -} diff --git a/Sources/Services/AWSLookoutMetrics/Tests/AWSLookoutMetricsTests/EndpointResolverTest.swift b/Sources/Services/AWSLookoutMetrics/Tests/AWSLookoutMetricsTests/EndpointResolverTest.swift deleted file mode 100644 index 248f43878e4..00000000000 --- a/Sources/Services/AWSLookoutMetrics/Tests/AWSLookoutMetricsTests/EndpointResolverTest.swift +++ /dev/null @@ -1,601 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@testable import AWSLookoutMetrics -import XCTest -import enum ClientRuntime.EndpointError -import enum SmithyHTTPAPI.EndpointPropertyValue -import enum SmithyTestUtil.TestInitializer -import struct SmithyHTTPAPI.Endpoint -import struct SmithyHTTPAPI.Headers - -class EndpointResolverTest: XCTestCase { - - override class func setUp() { - SmithyTestUtil.TestInitializer.initialize() - } - - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled - func testResolve1() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-1 with FIPS disabled and DualStack disabled - func testResolve2() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.ap-southeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-2 with FIPS disabled and DualStack disabled - func testResolve3() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.ap-southeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-central-1 with FIPS disabled and DualStack disabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "eu-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.eu-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-north-1 with FIPS disabled and DualStack disabled - func testResolve5() throws { - let endpointParams = EndpointParams( - region: "eu-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.eu-north-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-1 with FIPS disabled and DualStack disabled - func testResolve6() throws { - let endpointParams = EndpointParams( - region: "eu-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.eu-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve7() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS disabled and DualStack disabled - func testResolve8() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS disabled and DualStack disabled - func testResolve9() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve10() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack disabled - func testResolve11() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve12() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve13() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve17() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve18() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve19() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve20() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve21() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve22() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve23() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve24() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutmetrics.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve26() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve27() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve28() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// Missing region - func testResolve29() throws { - let endpointParams = EndpointParams( - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } - } - -} diff --git a/Sources/Services/AWSLookoutVision/Dependencies.json b/Sources/Services/AWSLookoutVision/Dependencies.json deleted file mode 100644 index e8d9442b374..00000000000 --- a/Sources/Services/AWSLookoutVision/Dependencies.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - "AWSClientRuntime", - "AWSSDKChecksums", - "AWSSDKHTTPAuth", - "AWSSDKIdentity", - "ClientRuntime", - "Smithy", - "SmithyHTTPAPI", - "SmithyHTTPAuthAPI", - "SmithyIdentity", - "SmithyJSON", - "SmithyReadWrite", - "SmithyRetries", - "SmithyRetriesAPI", - "SmithyTestUtil", - "SmithyTimestamps" -] diff --git a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/AuthSchemeResolver.swift b/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/AuthSchemeResolver.swift deleted file mode 100644 index 9b377e15f63..00000000000 --- a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/AuthSchemeResolver.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class Smithy.Context -import enum Smithy.ClientError -import enum SmithyHTTPAuthAPI.SigningPropertyKeys -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters -import struct SmithyHTTPAuthAPI.AuthOption - -public struct LookoutVisionAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - public let authSchemePreference: [String]? - public let operation: Swift.String - // Region is used for SigV4 auth scheme - public let region: Swift.String? -} - -public protocol LookoutVisionAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { - // Intentionally empty. - // This is the parent protocol that all auth scheme resolver implementations of - // the service LookoutVision must conform to. -} - -public struct DefaultLookoutVisionAuthSchemeResolver: LookoutVisionAuthSchemeResolver { - - public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { - var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? LookoutVisionAuthSchemeResolverParameters else { - throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") - } - switch serviceParams.operation { - default: - var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "lookoutvision") - guard let region = serviceParams.region else { - throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") - } - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingRegion, value: region) - validAuthOptions.append(sigv4Option) - } - return self.reprioritizeAuthOptions(authSchemePreference: serviceParams.authSchemePreference, authOptions: validAuthOptions) - } - - public func constructParameters(context: Smithy.Context) throws -> SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - guard let opName = context.getOperation() else { - throw Smithy.ClientError.dataNotFound("Operation name not configured in middleware context for auth scheme resolver params construction.") - } - let authSchemePreference = context.getAuthSchemePreference() - let opRegion = context.getRegion() - return LookoutVisionAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) - } -} diff --git a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Endpoints.swift b/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Endpoints.swift deleted file mode 100644 index b02787dc74a..00000000000 --- a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Endpoints.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class ClientRuntime.EndpointsRequestContext -import let AWSClientRuntime.awsPartitionJSON -import protocol ClientRuntime.EndpointsRequestContextProviding -import struct ClientRuntime.DefaultEndpointResolver -import struct ClientRuntime.StaticEndpointResolver -import struct SmithyHTTPAPI.Endpoint - -public struct EndpointParams: Sendable { - /// Override the endpoint used to send this request - public let endpoint: Swift.String? - /// The AWS region used to dispatch the request. - public let region: Swift.String? - /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. - public let useDualStack: Swift.Bool - /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. - public let useFIPS: Swift.Bool - - public init( - endpoint: Swift.String? = nil, - region: Swift.String? = nil, - useDualStack: Swift.Bool = false, - useFIPS: Swift.Bool = false - ) - { - self.endpoint = endpoint - self.region = region - self.useDualStack = useDualStack - self.useFIPS = useFIPS - } -} - -extension EndpointParams: ClientRuntime.EndpointsRequestContextProviding { - - public var context: ClientRuntime.EndpointsRequestContext { - get throws { - let context = try ClientRuntime.EndpointsRequestContext() - try context.add(name: "Endpoint", value: self.endpoint) - try context.add(name: "Region", value: self.region) - try context.add(name: "UseDualStack", value: self.useDualStack) - try context.add(name: "UseFIPS", value: self.useFIPS) - return context - } - } -} - -public protocol EndpointResolver { - func resolve(params: EndpointParams) throws -> SmithyHTTPAPI.Endpoint -} - -typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver - -extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutvision-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutvision-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutvision.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://lookoutvision.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" - - init() throws { - try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) - } -} - -extension DefaultEndpointResolver: EndpointResolver {} - -typealias StaticEndpointResolver = ClientRuntime.StaticEndpointResolver - -extension StaticEndpointResolver: EndpointResolver {} diff --git a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/LookoutVisionClient.swift b/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/LookoutVisionClient.swift deleted file mode 100644 index ae99c0b8ca3..00000000000 --- a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/LookoutVisionClient.swift +++ /dev/null @@ -1,1995 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import Foundation -import class AWSClientRuntime.AWSClientConfigDefaultsProvider -import class AWSClientRuntime.AmzSdkRequestMiddleware -import class AWSClientRuntime.DefaultAWSClientPlugin -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import class ClientRuntime.ClientBuilder -import class ClientRuntime.DefaultClientPlugin -import class ClientRuntime.HttpClientConfiguration -import class ClientRuntime.OrchestratorBuilder -import class ClientRuntime.OrchestratorTelemetry -import class ClientRuntime.SdkHttpClient -import class Smithy.Context -import class Smithy.ContextBuilder -import class SmithyHTTPAPI.HTTPRequest -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum AWSClientRuntime.AWSClockSkewProvider -import enum AWSClientRuntime.AWSRetryErrorInfoProvider -import enum AWSClientRuntime.AWSRetryMode -import enum AWSSDKChecksums.AWSChecksumCalculationMode -import enum ClientRuntime.ClientLogMode -import enum ClientRuntime.DefaultTelemetry -import enum ClientRuntime.OrchestratorMetricsAttributesKeys -import enum Smithy.ByteStream -@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures -import protocol AWSClientRuntime.AWSDefaultClientConfiguration -import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client -import protocol ClientRuntime.DefaultClientConfiguration -import protocol ClientRuntime.DefaultHttpClientConfiguration -import protocol ClientRuntime.HttpInterceptorProvider -import protocol ClientRuntime.IdempotencyTokenGenerator -import protocol ClientRuntime.InterceptorProvider -import protocol ClientRuntime.TelemetryProvider -import protocol Smithy.LogAgent -import protocol SmithyHTTPAPI.HTTPClient -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(AWSEndpointResolverMiddleware) import struct AWSClientRuntime.AWSEndpointResolverMiddleware -import struct AWSClientRuntime.AmzSdkInvocationIdMiddleware -import struct AWSClientRuntime.UserAgentMiddleware -import struct AWSSDKHTTPAuth.SigV4AuthScheme -import struct ClientRuntime.AuthSchemeMiddleware -import struct ClientRuntime.BlobStreamBodyMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.BodyMiddleware -import struct ClientRuntime.ContentLengthMiddleware -import struct ClientRuntime.ContentTypeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware -import struct ClientRuntime.HeaderMiddleware -import struct ClientRuntime.IdempotencyTokenMiddleware -import struct ClientRuntime.LoggerMiddleware -import struct ClientRuntime.QueryItemMiddleware -import struct ClientRuntime.SignerMiddleware -import struct ClientRuntime.URLHostMiddleware -import struct ClientRuntime.URLPathMiddleware -import struct Smithy.Attributes -import struct SmithyIdentity.BearerTokenIdentity -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import struct SmithyRetries.DefaultRetryStrategy -import struct SmithyRetriesAPI.RetryStrategyOptions -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class LookoutVisionClient: ClientRuntime.Client { - public static let clientName = "LookoutVisionClient" - public static let version = "1.5.61" - let client: ClientRuntime.SdkHttpClient - let config: LookoutVisionClient.LookoutVisionClientConfiguration - let serviceName = "LookoutVision" - - public required init(config: LookoutVisionClient.LookoutVisionClientConfiguration) { - client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) - self.config = config - } - - public convenience init(region: Swift.String) throws { - let config = try LookoutVisionClient.LookoutVisionClientConfiguration(region: region) - self.init(config: config) - } - - public convenience required init() async throws { - let config = try await LookoutVisionClient.LookoutVisionClientConfiguration() - self.init(config: config) - } -} - -extension LookoutVisionClient { - - public class LookoutVisionClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { - public var useFIPS: Swift.Bool? - public var useDualStack: Swift.Bool? - public var appID: Swift.String? - public var awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver - public var awsRetryMode: AWSClientRuntime.AWSRetryMode - public var maxAttempts: Swift.Int? - public var requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode - public var responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode - public var ignoreConfiguredEndpointURLs: Swift.Bool? - public var region: Swift.String? - public var signingRegion: Swift.String? - public var endpointResolver: EndpointResolver - public var telemetryProvider: ClientRuntime.TelemetryProvider - public var retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions - public var clientLogMode: ClientRuntime.ClientLogMode - public var endpoint: Swift.String? - public var idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator - public var httpClientEngine: SmithyHTTPAPI.HTTPClient - public var httpClientConfiguration: ClientRuntime.HttpClientConfiguration - public var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - public var authSchemePreference: [String]? - public var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver - public var bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver - public private(set) var interceptorProviders: [ClientRuntime.InterceptorProvider] - public private(set) var httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - public let logger: Smithy.LogAgent - - private init( - _ useFIPS: Swift.Bool?, - _ useDualStack: Swift.Bool?, - _ appID: Swift.String?, - _ awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver, - _ awsRetryMode: AWSClientRuntime.AWSRetryMode, - _ maxAttempts: Swift.Int?, - _ requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ ignoreConfiguredEndpointURLs: Swift.Bool?, - _ region: Swift.String?, - _ signingRegion: Swift.String?, - _ endpointResolver: EndpointResolver, - _ telemetryProvider: ClientRuntime.TelemetryProvider, - _ retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions, - _ clientLogMode: ClientRuntime.ClientLogMode, - _ endpoint: Swift.String?, - _ idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator, - _ httpClientEngine: SmithyHTTPAPI.HTTPClient, - _ httpClientConfiguration: ClientRuntime.HttpClientConfiguration, - _ authSchemes: SmithyHTTPAuthAPI.AuthSchemes?, - _ authSchemePreference: [String]?, - _ authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver, - _ bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver, - _ interceptorProviders: [ClientRuntime.InterceptorProvider], - _ httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - ) { - self.useFIPS = useFIPS - self.useDualStack = useDualStack - self.appID = appID - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.awsRetryMode = awsRetryMode - self.maxAttempts = maxAttempts - self.requestChecksumCalculation = requestChecksumCalculation - self.responseChecksumValidation = responseChecksumValidation - self.ignoreConfiguredEndpointURLs = ignoreConfiguredEndpointURLs - self.region = region - self.signingRegion = signingRegion - self.endpointResolver = endpointResolver - self.telemetryProvider = telemetryProvider - self.retryStrategyOptions = retryStrategyOptions - self.clientLogMode = clientLogMode - self.endpoint = endpoint - self.idempotencyTokenGenerator = idempotencyTokenGenerator - self.httpClientEngine = httpClientEngine - self.httpClientConfiguration = httpClientConfiguration - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference - self.authSchemeResolver = authSchemeResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - self.interceptorProviders = interceptorProviders - self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: LookoutVisionClient.clientName) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - region, - signingRegion, - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultLookoutVisionAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) async throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultLookoutVisionAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience required init() async throws { - try await self.init( - useFIPS: nil, - useDualStack: nil, - appID: nil, - awsCredentialIdentityResolver: nil, - awsRetryMode: nil, - maxAttempts: nil, - requestChecksumCalculation: nil, - responseChecksumValidation: nil, - ignoreConfiguredEndpointURLs: nil, - region: nil, - signingRegion: nil, - endpointResolver: nil, - telemetryProvider: nil, - retryStrategyOptions: nil, - clientLogMode: nil, - endpoint: nil, - idempotencyTokenGenerator: nil, - httpClientEngine: nil, - httpClientConfiguration: nil, - authSchemes: nil, - authSchemePreference: nil, - authSchemeResolver: nil, - bearerTokenIdentityResolver: nil, - interceptorProviders: nil, - httpInterceptorProviders: nil - ) - } - - public convenience init(region: Swift.String) throws { - self.init( - nil, - nil, - try AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - nil, - try AWSClientConfigDefaultsProvider.requestChecksumCalculation(), - try AWSClientConfigDefaultsProvider.responseChecksumValidation(), - nil, - region, - region, - try DefaultEndpointResolver(), - ClientRuntime.DefaultTelemetry.provider, - try AWSClientConfigDefaultsProvider.retryStrategyOptions(), - AWSClientConfigDefaultsProvider.clientLogMode(), - nil, - AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - AWSClientConfigDefaultsProvider.httpClientEngine(), - AWSClientConfigDefaultsProvider.httpClientConfiguration(), - [AWSSDKHTTPAuth.SigV4AuthScheme()], - nil, - DefaultLookoutVisionAuthSchemeResolver(), - SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - [], - [] - ) - } - - public var partitionID: String? { - return "\(LookoutVisionClient.clientName) - \(region ?? "")" - } - - public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { - self.interceptorProviders.append(provider) - } - - public func addInterceptorProvider(_ provider: ClientRuntime.HttpInterceptorProvider) { - self.httpInterceptorProviders.append(provider) - } - - } - - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ - ClientRuntime.DefaultClientPlugin(), - AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), - DefaultAWSAuthSchemePlugin() - ]) - } -} - -extension LookoutVisionClient { - /// Performs the `CreateDataset` operation on the `LookoutVision` service. - /// - /// Creates a new dataset in an Amazon Lookout for Vision project. CreateDataset can create a training or a test dataset from a valid dataset source (DatasetSource). If you want a single dataset project, specify train for the value of DatasetType. To have a project with separate training and test datasets, call CreateDataset twice. On the first call, specify train for the value of DatasetType. On the second call, specify test for the value of DatasetType. This operation requires permissions to perform the lookoutvision:CreateDataset operation. - /// - /// - Parameter input: [no documentation found] (Type: `CreateDatasetInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateDatasetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ServiceQuotaExceededException` : A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func createDataset(input: CreateDatasetInput) async throws -> CreateDatasetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createDataset") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateDatasetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(CreateDatasetInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateDatasetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateDatasetOutput.httpOutput(from:), CreateDatasetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateDataset") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateModel` operation on the `LookoutVision` service. - /// - /// Creates a new version of a model within an an Amazon Lookout for Vision project. CreateModel is an asynchronous operation in which Amazon Lookout for Vision trains, tests, and evaluates a new version of a model. To get the current status, check the Status field returned in the response from [DescribeModel]. If the project has a single dataset, Amazon Lookout for Vision internally splits the dataset to create a training and a test dataset. If the project has a training and a test dataset, Lookout for Vision uses the respective datasets to train and test the model. After training completes, the evaluation metrics are stored at the location specified in OutputConfig. This operation requires permissions to perform the lookoutvision:CreateModel operation. If you want to tag your model, you also require permission to the lookoutvision:TagResource operation. - /// - /// - Parameter input: [no documentation found] (Type: `CreateModelInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateModelOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ServiceQuotaExceededException` : A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func createModel(input: CreateModelInput) async throws -> CreateModelOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createModel") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateModelInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(CreateModelInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateModelInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateModelOutput.httpOutput(from:), CreateModelOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateModel") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateProject` operation on the `LookoutVision` service. - /// - /// Creates an empty Amazon Lookout for Vision project. After you create the project, add a dataset by calling [CreateDataset]. This operation requires permissions to perform the lookoutvision:CreateProject operation. - /// - /// - Parameter input: [no documentation found] (Type: `CreateProjectInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateProjectOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ServiceQuotaExceededException` : A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func createProject(input: CreateProjectInput) async throws -> CreateProjectOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createProject") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateProjectInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(CreateProjectInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateProjectInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateProjectOutput.httpOutput(from:), CreateProjectOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateProject") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteDataset` operation on the `LookoutVision` service. - /// - /// Deletes an existing Amazon Lookout for Vision dataset. If your the project has a single dataset, you must create a new dataset before you can create a model. If you project has a training dataset and a test dataset consider the following. - /// - /// * If you delete the test dataset, your project reverts to a single dataset project. If you then train the model, Amazon Lookout for Vision internally splits the remaining dataset into a training and test dataset. - /// - /// * If you delete the training dataset, you must create a training dataset before you can create a model. - /// - /// - /// This operation requires permissions to perform the lookoutvision:DeleteDataset operation. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteDatasetInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteDatasetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func deleteDataset(input: DeleteDatasetInput) async throws -> DeleteDatasetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "deleteDataset") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteDatasetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(DeleteDatasetInput.headerProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteDatasetOutput.httpOutput(from:), DeleteDatasetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteDataset") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteModel` operation on the `LookoutVision` service. - /// - /// 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 [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. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteModelInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteModelOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func deleteModel(input: DeleteModelInput) async throws -> DeleteModelOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "deleteModel") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteModelInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(DeleteModelInput.headerProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteModelOutput.httpOutput(from:), DeleteModelOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteModel") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteProject` operation on the `LookoutVision` service. - /// - /// Deletes an Amazon Lookout for Vision project. To delete a project, you must first delete each version of the model associated with the project. To delete a model use the [DeleteModel] operation. You also have to delete the dataset(s) associated with the model. For more information, see [DeleteDataset]. The images referenced by the training and test datasets aren't deleted. This operation requires permissions to perform the lookoutvision:DeleteProject operation. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteProjectInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteProjectOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func deleteProject(input: DeleteProjectInput) async throws -> DeleteProjectOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "deleteProject") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteProjectInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(DeleteProjectInput.headerProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteProjectOutput.httpOutput(from:), DeleteProjectOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteProject") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeDataset` operation on the `LookoutVision` service. - /// - /// Describe an Amazon Lookout for Vision dataset. This operation requires permissions to perform the lookoutvision:DescribeDataset operation. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeDatasetInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeDatasetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func describeDataset(input: DescribeDatasetInput) async throws -> DescribeDatasetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeDataset") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeDatasetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeDatasetOutput.httpOutput(from:), DescribeDatasetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeDataset") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeModel` operation on the `LookoutVision` service. - /// - /// Describes a version of an Amazon Lookout for Vision model. This operation requires permissions to perform the lookoutvision:DescribeModel operation. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeModelInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeModelOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func describeModel(input: DescribeModelInput) async throws -> DescribeModelOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeModel") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeModelInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeModelOutput.httpOutput(from:), DescribeModelOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeModel") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeModelPackagingJob` operation on the `LookoutVision` service. - /// - /// 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. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeModelPackagingJobInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeModelPackagingJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func describeModelPackagingJob(input: DescribeModelPackagingJobInput) async throws -> DescribeModelPackagingJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeModelPackagingJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeModelPackagingJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeModelPackagingJobOutput.httpOutput(from:), DescribeModelPackagingJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeModelPackagingJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeProject` operation on the `LookoutVision` service. - /// - /// Describes an Amazon Lookout for Vision project. This operation requires permissions to perform the lookoutvision:DescribeProject operation. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeProjectInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeProjectOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func describeProject(input: DescribeProjectInput) async throws -> DescribeProjectOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeProject") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeProjectInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeProjectOutput.httpOutput(from:), DescribeProjectOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeProject") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DetectAnomalies` operation on the `LookoutVision` service. - /// - /// Detects anomalies in an image that you supply. The response from DetectAnomalies includes a boolean prediction that the image contains one or more anomalies and a confidence value for the prediction. If the model is an image segmentation model, the response also includes segmentation information for each type of anomaly found in the image. Before calling DetectAnomalies, you must first start your model with the [StartModel] operation. You are charged for the amount of time, in minutes, that a model runs and for the number of anomaly detection units that your model uses. If you are not using a model, use the [StopModel] operation to stop your model. For more information, see Detecting anomalies in an image in the Amazon Lookout for Vision developer guide. This operation requires permissions to perform the lookoutvision:DetectAnomalies operation. - /// - /// - Parameter input: [no documentation found] (Type: `DetectAnomaliesInput`) - /// - /// - Returns: [no documentation found] (Type: `DetectAnomaliesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func detectAnomalies(input: DetectAnomaliesInput) async throws -> DetectAnomaliesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "detectAnomalies") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DetectAnomaliesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(DetectAnomaliesInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/octet-stream")) - builder.serialize(ClientRuntime.BlobStreamBodyMiddleware(keyPath: \.body)) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware(requiresLength: true, unsignedPayload: false)) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DetectAnomaliesOutput.httpOutput(from:), DetectAnomaliesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DetectAnomalies") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListDatasetEntries` operation on the `LookoutVision` service. - /// - /// Lists the JSON Lines within a dataset. An Amazon Lookout for Vision JSON Line contains the anomaly information for a single image, including the image location and the assigned label. This operation requires permissions to perform the lookoutvision:ListDatasetEntries operation. - /// - /// - Parameter input: [no documentation found] (Type: `ListDatasetEntriesInput`) - /// - /// - Returns: [no documentation found] (Type: `ListDatasetEntriesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func listDatasetEntries(input: ListDatasetEntriesInput) async throws -> ListDatasetEntriesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listDatasetEntries") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListDatasetEntriesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListDatasetEntriesInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListDatasetEntriesOutput.httpOutput(from:), ListDatasetEntriesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListDatasetEntries") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListModelPackagingJobs` operation on the `LookoutVision` service. - /// - /// 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. - /// - /// - Parameter input: [no documentation found] (Type: `ListModelPackagingJobsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListModelPackagingJobsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func listModelPackagingJobs(input: ListModelPackagingJobsInput) async throws -> ListModelPackagingJobsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listModelPackagingJobs") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListModelPackagingJobsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListModelPackagingJobsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListModelPackagingJobsOutput.httpOutput(from:), ListModelPackagingJobsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListModelPackagingJobs") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListModels` operation on the `LookoutVision` service. - /// - /// 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. - /// - /// - Parameter input: [no documentation found] (Type: `ListModelsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListModelsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func listModels(input: ListModelsInput) async throws -> ListModelsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listModels") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListModelsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListModelsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListModelsOutput.httpOutput(from:), ListModelsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListModels") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListProjects` operation on the `LookoutVision` service. - /// - /// Lists the Amazon Lookout for Vision projects in your AWS account that are in the AWS Region in which you call ListProjects. 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. - /// - /// - Parameter input: [no documentation found] (Type: `ListProjectsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListProjectsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func listProjects(input: ListProjectsInput) async throws -> ListProjectsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listProjects") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListProjectsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListProjectsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListProjectsOutput.httpOutput(from:), ListProjectsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListProjects") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListTagsForResource` operation on the `LookoutVision` service. - /// - /// Returns a list of tags attached to the specified Amazon Lookout for Vision model. This operation requires permissions to perform the lookoutvision:ListTagsForResource operation. - /// - /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listTagsForResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `StartModel` operation on the `LookoutVision` service. - /// - /// Starts the running of the version of an Amazon Lookout for Vision model. Starting a model takes a while to complete. To check the current state of the model, use [DescribeModel]. A model is ready to use when its status is HOSTED. Once the model is running, you can detect custom labels in new images by calling [DetectAnomalies]. You are charged for the amount of time that the model is running. To stop a running model, call [StopModel]. This operation requires permissions to perform the lookoutvision:StartModel operation. - /// - /// - Parameter input: [no documentation found] (Type: `StartModelInput`) - /// - /// - Returns: [no documentation found] (Type: `StartModelOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ServiceQuotaExceededException` : A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func startModel(input: StartModelInput) async throws -> StartModelOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "startModel") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartModelInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(StartModelInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StartModelInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(StartModelOutput.httpOutput(from:), StartModelOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartModel") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `StartModelPackagingJob` operation on the `LookoutVision` service. - /// - /// 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](https://docs.aws.amazon.com/greengrass/v2/APIReference/API_CreateDeployment.html) API. This operation requires the following permissions: - /// - /// * lookoutvision:StartModelPackagingJob - /// - /// * s3:PutObject - /// - /// * s3:GetBucketLocation - /// - /// * kms:GenerateDataKey - /// - /// * 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. - /// - /// - Parameter input: [no documentation found] (Type: `StartModelPackagingJobInput`) - /// - /// - Returns: [no documentation found] (Type: `StartModelPackagingJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ServiceQuotaExceededException` : A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func startModelPackagingJob(input: StartModelPackagingJobInput) async throws -> StartModelPackagingJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "startModelPackagingJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartModelPackagingJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(StartModelPackagingJobInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StartModelPackagingJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(StartModelPackagingJobOutput.httpOutput(from:), StartModelPackagingJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartModelPackagingJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `StopModel` operation on the `LookoutVision` service. - /// - /// Stops the hosting of a running model. The operation might take a while to complete. To check the current status, call [DescribeModel]. After the model hosting stops, the Status of the model is TRAINED. This operation requires permissions to perform the lookoutvision:StopModel operation. - /// - /// - Parameter input: [no documentation found] (Type: `StopModelInput`) - /// - /// - Returns: [no documentation found] (Type: `StopModelOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func stopModel(input: StopModelInput) async throws -> StopModelOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "stopModel") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(StopModelInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(StopModelInput.headerProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(StopModelOutput.httpOutput(from:), StopModelOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StopModel") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `TagResource` operation on the `LookoutVision` service. - /// - /// Adds one or more key-value tags to an Amazon Lookout for Vision model. For more information, see Tagging a model in the Amazon Lookout for Vision Developer Guide. This operation requires permissions to perform the lookoutvision:TagResource operation. - /// - /// - Parameter input: [no documentation found] (Type: `TagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `TagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ServiceQuotaExceededException` : A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "tagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(TagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: TagResourceInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(TagResourceOutput.httpOutput(from:), TagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "TagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UntagResource` operation on the `LookoutVision` service. - /// - /// Removes one or more tags from an Amazon Lookout for Vision model. For more information, see Tagging a model in the Amazon Lookout for Vision Developer Guide. This operation requires permissions to perform the lookoutvision:UntagResource operation. - /// - /// - Parameter input: [no documentation found] (Type: `UntagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `UntagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "untagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UntagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(UntagResourceInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UntagResourceOutput.httpOutput(from:), UntagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UntagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateDatasetEntries` operation on the `LookoutVision` service. - /// - /// 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 lookoutvision:UpdateDatasetEntries operation. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateDatasetEntriesInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateDatasetEntriesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `AccessDeniedException` : You are not authorized to perform the action. - /// - `ConflictException` : The update or deletion of a resource caused an inconsistent state. - /// - `InternalServerException` : Amazon Lookout for Vision experienced a service issue. Try your call again. - /// - `ResourceNotFoundException` : The resource could not be found. - /// - `ThrottlingException` : Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. - /// - `ValidationException` : An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. - public func updateDatasetEntries(input: UpdateDatasetEntriesInput) async throws -> UpdateDatasetEntriesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .patch) - .withServiceName(value: serviceName) - .withOperation(value: "updateDatasetEntries") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "lookoutvision") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateDatasetEntriesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.HeaderMiddleware(UpdateDatasetEntriesInput.headerProvider(_:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateDatasetEntriesInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateDatasetEntriesOutput.httpOutput(from:), UpdateDatasetEntriesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("LookoutVision", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: LookoutVisionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "LookoutVision") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateDatasetEntries") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } -} diff --git a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Models.swift b/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Models.swift deleted file mode 100644 index 2b2c47be06f..00000000000 --- a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Models.swift +++ /dev/null @@ -1,3708 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import Foundation -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum Smithy.ByteStream -import enum Smithy.ClientError -import enum SmithyReadWrite.ReaderError -@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures -@_spi(SmithyTimestamps) import enum SmithyTimestamps.TimestampFormat -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError -import struct Smithy.URIQueryItem -import struct SmithyHTTPAPI.Header -import struct SmithyHTTPAPI.Headers -@_spi(SmithyTimestamps) import struct SmithyTimestamps.TimestampFormatter - -/// You are not authorized to perform the action. -public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "AccessDeniedException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension LookoutVisionClientTypes { - - /// Information about the pixels in an anomaly mask. For more information, see [Anomaly]. PixelAnomaly is only returned by image segmentation models. - public struct PixelAnomaly: Swift.Sendable { - /// A hex color value for the mask that covers an anomaly type. Each anomaly type has a different mask color. The color maps to the color of the anomaly type used in the training dataset. - public var color: Swift.String? - /// The percentage area of the image that the anomaly type covers. - public var totalPercentageArea: Swift.Float? - - public init( - color: Swift.String? = nil, - totalPercentageArea: Swift.Float? = nil - ) { - self.color = color - self.totalPercentageArea = totalPercentageArea - } - } -} - -extension LookoutVisionClientTypes { - - /// Information about an anomaly type found on an image by an image segmentation model. For more information, see [DetectAnomalies]. - public struct Anomaly: Swift.Sendable { - /// The name of an anomaly type found in an image. Name maps to an anomaly type in the training dataset, apart from the anomaly type background. The service automatically inserts the background anomaly type into the response from DetectAnomalies. - public var name: Swift.String? - /// Information about the pixel mask that covers an anomaly type. - public var pixelAnomaly: LookoutVisionClientTypes.PixelAnomaly? - - public init( - name: Swift.String? = nil, - pixelAnomaly: LookoutVisionClientTypes.PixelAnomaly? = nil - ) { - self.name = name - self.pixelAnomaly = pixelAnomaly - } - } -} - -extension LookoutVisionClientTypes { - - public enum ResourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case dataset - case model - case modelPackageJob - case project - case trial - case sdkUnknown(Swift.String) - - public static var allCases: [ResourceType] { - return [ - .dataset, - .model, - .modelPackageJob, - .project, - .trial - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .dataset: return "DATASET" - case .model: return "MODEL" - case .modelPackageJob: return "MODEL_PACKAGE_JOB" - case .project: return "PROJECT" - case .trial: return "TRIAL" - case let .sdkUnknown(s): return s - } - } - } -} - -/// The update or deletion of a resource caused an inconsistent state. -public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The ID of the resource. - /// This member is required. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource. - /// This member is required. - public internal(set) var resourceType: LookoutVisionClientTypes.ResourceType? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConflictException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: LookoutVisionClientTypes.ResourceType? = nil - ) { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// Amazon Lookout for Vision experienced a service issue. Try your call again. -public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The period of time, in seconds, before the operation can be retried. - public internal(set) var retryAfterSeconds: Swift.Int? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InternalServerException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - retryAfterSeconds: Swift.Int? = nil - ) { - self.properties.message = message - self.properties.retryAfterSeconds = retryAfterSeconds - } -} - -/// The resource could not be found. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The ID of the resource. - /// This member is required. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource. - /// This member is required. - public internal(set) var resourceType: LookoutVisionClientTypes.ResourceType? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: LookoutVisionClientTypes.ResourceType? = nil - ) { - self.properties.message = message - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - } -} - -/// A service quota was exceeded the allowed limit. For more information, see Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide. -public struct ServiceQuotaExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The quota code. - /// This member is required. - public internal(set) var quotaCode: Swift.String? = nil - /// The ID of the resource. - public internal(set) var resourceId: Swift.String? = nil - /// The type of the resource. - public internal(set) var resourceType: LookoutVisionClientTypes.ResourceType? = nil - /// The service code. - /// This member is required. - public internal(set) var serviceCode: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ServiceQuotaExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - quotaCode: Swift.String? = nil, - resourceId: Swift.String? = nil, - resourceType: LookoutVisionClientTypes.ResourceType? = nil, - serviceCode: Swift.String? = nil - ) { - self.properties.message = message - self.properties.quotaCode = quotaCode - self.properties.resourceId = resourceId - self.properties.resourceType = resourceType - self.properties.serviceCode = serviceCode - } -} - -/// Amazon Lookout for Vision is temporarily unable to process the request. Try your call again. -public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - /// The quota code. - public internal(set) var quotaCode: Swift.String? = nil - /// The period of time, in seconds, before the operation can be retried. - public internal(set) var retryAfterSeconds: Swift.Int? = nil - /// The service code. - public internal(set) var serviceCode: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ThrottlingException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - quotaCode: Swift.String? = nil, - retryAfterSeconds: Swift.Int? = nil, - serviceCode: Swift.String? = nil - ) { - self.properties.message = message - self.properties.quotaCode = quotaCode - self.properties.retryAfterSeconds = retryAfterSeconds - self.properties.serviceCode = serviceCode - } -} - -/// An input validation error occured. For example, invalid characters in a project name, or if a pagination token is invalid. -public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - /// This member is required. - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ValidationException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension LookoutVisionClientTypes { - - /// Amazon S3 Location information for an input manifest file. - public struct InputS3Object: Swift.Sendable { - /// The Amazon S3 bucket that contains the manifest. - /// This member is required. - public var bucket: Swift.String? - /// The name and location of the manifest file withiin the bucket. - /// This member is required. - public var key: Swift.String? - /// The version ID of the bucket. - public var versionId: Swift.String? - - public init( - bucket: Swift.String? = nil, - key: Swift.String? = nil, - versionId: Swift.String? = nil - ) { - self.bucket = bucket - self.key = key - self.versionId = versionId - } - } -} - -extension LookoutVisionClientTypes { - - /// Location information about a manifest file. You can use a manifest file to create a dataset. - public struct DatasetGroundTruthManifest: Swift.Sendable { - /// The S3 bucket location for the manifest file. - public var s3Object: LookoutVisionClientTypes.InputS3Object? - - public init( - s3Object: LookoutVisionClientTypes.InputS3Object? = nil - ) { - self.s3Object = s3Object - } - } -} - -extension LookoutVisionClientTypes { - - /// Information about the location of a manifest file that Amazon Lookout for Vision uses to to create a dataset. - public struct DatasetSource: Swift.Sendable { - /// Location information for the manifest file. - public var groundTruthManifest: LookoutVisionClientTypes.DatasetGroundTruthManifest? - - public init( - groundTruthManifest: LookoutVisionClientTypes.DatasetGroundTruthManifest? = nil - ) { - self.groundTruthManifest = groundTruthManifest - } - } -} - -public struct CreateDatasetInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The location of the manifest file that Amazon Lookout for Vision uses to create the dataset. If you don't specify DatasetSource, an empty dataset is created and the operation synchronously returns. Later, you can add JSON Lines by calling [UpdateDatasetEntries]. If you specify a value for DataSource, the manifest at the S3 location is validated and used to create the dataset. The call to CreateDataset is asynchronous and might take a while to complete. To find out the current status, Check the value of Status returned in a call to [DescribeDataset]. - public var datasetSource: LookoutVisionClientTypes.DatasetSource? - /// The type of the dataset. Specify train for a training dataset. Specify test for a test dataset. - /// This member is required. - public var datasetType: Swift.String? - /// The name of the project in which you want to create a dataset. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - datasetSource: LookoutVisionClientTypes.DatasetSource? = nil, - datasetType: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.datasetSource = datasetSource - self.datasetType = datasetType - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - public enum DatasetStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case createComplete - case createFailed - case createInProgress - case deleteComplete - case deleteFailed - case deleteInProgress - case updateComplete - case updateFailedRollbackComplete - case updateFailedRollbackInProgress - case updateInProgress - case sdkUnknown(Swift.String) - - public static var allCases: [DatasetStatus] { - return [ - .createComplete, - .createFailed, - .createInProgress, - .deleteComplete, - .deleteFailed, - .deleteInProgress, - .updateComplete, - .updateFailedRollbackComplete, - .updateFailedRollbackInProgress, - .updateInProgress - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .createComplete: return "CREATE_COMPLETE" - case .createFailed: return "CREATE_FAILED" - case .createInProgress: return "CREATE_IN_PROGRESS" - case .deleteComplete: return "DELETE_COMPLETE" - case .deleteFailed: return "DELETE_FAILED" - case .deleteInProgress: return "DELETE_IN_PROGRESS" - case .updateComplete: return "UPDATE_COMPLETE" - case .updateFailedRollbackComplete: return "UPDATE_FAILED_ROLLBACK_COMPLETE" - case .updateFailedRollbackInProgress: return "UPDATE_FAILED_ROLLBACK_IN_PROGRESS" - case .updateInProgress: return "UPDATE_IN_PROGRESS" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - /// Summary information for an Amazon Lookout for Vision dataset. For more information, see [DescribeDataset] and [ProjectDescription]. - public struct DatasetMetadata: Swift.Sendable { - /// The Unix timestamp for the date and time that the dataset was created. - public var creationTimestamp: Foundation.Date? - /// The type of the dataset. - public var datasetType: Swift.String? - /// The status for the dataset. - public var status: LookoutVisionClientTypes.DatasetStatus? - /// The status message for the dataset. - public var statusMessage: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - datasetType: Swift.String? = nil, - status: LookoutVisionClientTypes.DatasetStatus? = nil, - statusMessage: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.datasetType = datasetType - self.status = status - self.statusMessage = statusMessage - } - } -} - -public struct CreateDatasetOutput: Swift.Sendable { - /// Information about the dataset. - public var datasetMetadata: LookoutVisionClientTypes.DatasetMetadata? - - public init( - datasetMetadata: LookoutVisionClientTypes.DatasetMetadata? = nil - ) { - self.datasetMetadata = datasetMetadata - } -} - -extension LookoutVisionClientTypes { - - /// Information about the location of training output or the output of a model packaging job. - public struct S3Location: Swift.Sendable { - /// 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. - /// This member is required. - public var bucket: Swift.String? - /// The path of the folder, within the S3 bucket, that contains the output. - public var `prefix`: Swift.String? - - public init( - bucket: Swift.String? = nil, - `prefix`: Swift.String? = nil - ) { - self.bucket = bucket - self.`prefix` = `prefix` - } - } -} - -extension LookoutVisionClientTypes { - - /// The S3 location where Amazon Lookout for Vision saves model training files. - public struct OutputConfig: Swift.Sendable { - /// The S3 location for the output. - /// This member is required. - public var s3Location: LookoutVisionClientTypes.S3Location? - - public init( - s3Location: LookoutVisionClientTypes.S3Location? = nil - ) { - self.s3Location = s3Location - } - } -} - -extension LookoutVisionClientTypes { - - /// A key and value pair that is attached to the specified Amazon Lookout for Vision model. - public struct Tag: Swift.Sendable { - /// The key of the tag that is attached to the specified model. - /// This member is required. - public var key: Swift.String? - /// The value of the tag that is attached to the specified model. - /// This member is required. - public var value: Swift.String? - - public init( - key: Swift.String? = nil, - value: Swift.String? = nil - ) { - self.key = key - self.value = value - } - } -} - -public struct CreateModelInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// A description for the version of the model. - public var description: Swift.String? - /// 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. - public var kmsKeyId: Swift.String? - /// The location where Amazon Lookout for Vision saves the training results. - /// This member is required. - public var outputConfig: LookoutVisionClientTypes.OutputConfig? - /// The name of the project in which you want to create a model version. - /// This member is required. - public var projectName: Swift.String? - /// A set of tags (key-value pairs) that you want to attach to the model. - public var tags: [LookoutVisionClientTypes.Tag]? - - public init( - clientToken: Swift.String? = nil, - description: Swift.String? = nil, - kmsKeyId: Swift.String? = nil, - outputConfig: LookoutVisionClientTypes.OutputConfig? = nil, - projectName: Swift.String? = nil, - tags: [LookoutVisionClientTypes.Tag]? = nil - ) { - self.clientToken = clientToken - self.description = description - self.kmsKeyId = kmsKeyId - self.outputConfig = outputConfig - self.projectName = projectName - self.tags = tags - } -} - -extension LookoutVisionClientTypes { - - /// Information about the evaluation performance of a trained model. - public struct ModelPerformance: Swift.Sendable { - /// The overall F1 score metric for the trained model. - public var f1Score: Swift.Float? - /// The overall precision metric value for the trained model. - public var precision: Swift.Float? - /// The overall recall metric value for the trained model. - public var recall: Swift.Float? - - public init( - f1Score: Swift.Float? = nil, - precision: Swift.Float? = nil, - recall: Swift.Float? = nil - ) { - self.f1Score = f1Score - self.precision = precision - self.recall = recall - } - } -} - -extension LookoutVisionClientTypes { - - public enum ModelStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case deleting - case hosted - case hostingFailed - case startingHosting - case stoppingHosting - case systemUpdating - case trained - case training - case trainingFailed - case sdkUnknown(Swift.String) - - public static var allCases: [ModelStatus] { - return [ - .deleting, - .hosted, - .hostingFailed, - .startingHosting, - .stoppingHosting, - .systemUpdating, - .trained, - .training, - .trainingFailed - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .deleting: return "DELETING" - case .hosted: return "HOSTED" - case .hostingFailed: return "HOSTING_FAILED" - case .startingHosting: return "STARTING_HOSTING" - case .stoppingHosting: return "STOPPING_HOSTING" - case .systemUpdating: return "SYSTEM_UPDATING" - case .trained: return "TRAINED" - case .training: return "TRAINING" - case .trainingFailed: return "TRAINING_FAILED" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - /// Describes an Amazon Lookout for Vision model. - public struct ModelMetadata: Swift.Sendable { - /// The unix timestamp for the date and time that the model was created. - public var creationTimestamp: Foundation.Date? - /// The description for the model. - public var description: Swift.String? - /// The Amazon Resource Name (ARN) of the model. - public var modelArn: Swift.String? - /// The version of the model. - public var modelVersion: Swift.String? - /// Performance metrics for the model. Not available until training has successfully completed. - public var performance: LookoutVisionClientTypes.ModelPerformance? - /// The status of the model. - public var status: LookoutVisionClientTypes.ModelStatus? - /// The status message for the model. - public var statusMessage: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - description: Swift.String? = nil, - modelArn: Swift.String? = nil, - modelVersion: Swift.String? = nil, - performance: LookoutVisionClientTypes.ModelPerformance? = nil, - status: LookoutVisionClientTypes.ModelStatus? = nil, - statusMessage: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.description = description - self.modelArn = modelArn - self.modelVersion = modelVersion - self.performance = performance - self.status = status - self.statusMessage = statusMessage - } - } -} - -public struct CreateModelOutput: Swift.Sendable { - /// The response from a call to CreateModel. - public var modelMetadata: LookoutVisionClientTypes.ModelMetadata? - - public init( - modelMetadata: LookoutVisionClientTypes.ModelMetadata? = nil - ) { - self.modelMetadata = modelMetadata - } -} - -public struct CreateProjectInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The name for the project. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - /// Metadata about an Amazon Lookout for Vision project. - public struct ProjectMetadata: Swift.Sendable { - /// The unix timestamp for the date and time that the project was created. - public var creationTimestamp: Foundation.Date? - /// The Amazon Resource Name (ARN) of the project. - public var projectArn: Swift.String? - /// The name of the project. - public var projectName: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - projectArn: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.projectArn = projectArn - self.projectName = projectName - } - } -} - -public struct CreateProjectOutput: Swift.Sendable { - /// Information about the project. - public var projectMetadata: LookoutVisionClientTypes.ProjectMetadata? - - public init( - projectMetadata: LookoutVisionClientTypes.ProjectMetadata? = nil - ) { - self.projectMetadata = projectMetadata - } -} - -extension LookoutVisionClientTypes { - - /// Statistics about the images in a dataset. - public struct DatasetImageStats: Swift.Sendable { - /// the total number of images labeled as an anomaly. - public var anomaly: Swift.Int? - /// The total number of labeled images. - public var labeled: Swift.Int? - /// The total number of images labeled as normal. - public var normal: Swift.Int? - /// The total number of images in the dataset. - public var total: Swift.Int? - - public init( - anomaly: Swift.Int? = nil, - labeled: Swift.Int? = nil, - normal: Swift.Int? = nil, - total: Swift.Int? = nil - ) { - self.anomaly = anomaly - self.labeled = labeled - self.normal = normal - self.total = total - } - } -} - -extension LookoutVisionClientTypes { - - /// The description for a dataset. For more information, see [DescribeDataset]. - public struct DatasetDescription: Swift.Sendable { - /// The Unix timestamp for the time and date that the dataset was created. - public var creationTimestamp: Foundation.Date? - /// The type of the dataset. The value train represents a training dataset or single dataset project. The value test represents a test dataset. - public var datasetType: Swift.String? - /// Statistics about the images in a dataset. - public var imageStats: LookoutVisionClientTypes.DatasetImageStats? - /// The Unix timestamp for the date and time that the dataset was last updated. - public var lastUpdatedTimestamp: Foundation.Date? - /// The name of the project that contains the dataset. - public var projectName: Swift.String? - /// The status of the dataset. - public var status: LookoutVisionClientTypes.DatasetStatus? - /// The status message for the dataset. - public var statusMessage: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - datasetType: Swift.String? = nil, - imageStats: LookoutVisionClientTypes.DatasetImageStats? = nil, - lastUpdatedTimestamp: Foundation.Date? = nil, - projectName: Swift.String? = nil, - status: LookoutVisionClientTypes.DatasetStatus? = nil, - statusMessage: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.datasetType = datasetType - self.imageStats = imageStats - self.lastUpdatedTimestamp = lastUpdatedTimestamp - self.projectName = projectName - self.status = status - self.statusMessage = statusMessage - } - } -} - -public struct DeleteDatasetInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The type of the dataset to delete. Specify train to delete the training dataset. Specify test to delete the test dataset. To delete the dataset in a single dataset project, specify train. - /// This member is required. - public var datasetType: Swift.String? - /// The name of the project that contains the dataset that you want to delete. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - datasetType: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.datasetType = datasetType - self.projectName = projectName - } -} - -public struct DeleteDatasetOutput: Swift.Sendable { - - public init() { } -} - -public struct DeleteModelInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The version of the model that you want to delete. - /// This member is required. - public var modelVersion: Swift.String? - /// The name of the project that contains the model that you want to delete. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.modelVersion = modelVersion - self.projectName = projectName - } -} - -public struct DeleteModelOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the model that was deleted. - public var modelArn: Swift.String? - - public init( - modelArn: Swift.String? = nil - ) { - self.modelArn = modelArn - } -} - -public struct DeleteProjectInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The name of the project to delete. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.projectName = projectName - } -} - -public struct DeleteProjectOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the project that was deleted. - public var projectArn: Swift.String? - - public init( - projectArn: Swift.String? = nil - ) { - self.projectArn = projectArn - } -} - -public struct DescribeDatasetInput: Swift.Sendable { - /// The type of the dataset to describe. Specify train to describe the training dataset. Specify test to describe the test dataset. If you have a single dataset project, specify train - /// This member is required. - public var datasetType: Swift.String? - /// The name of the project that contains the dataset that you want to describe. - /// This member is required. - public var projectName: Swift.String? - - public init( - datasetType: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.datasetType = datasetType - self.projectName = projectName - } -} - -public struct DescribeDatasetOutput: Swift.Sendable { - /// The description of the requested dataset. - public var datasetDescription: LookoutVisionClientTypes.DatasetDescription? - - public init( - datasetDescription: LookoutVisionClientTypes.DatasetDescription? = nil - ) { - self.datasetDescription = datasetDescription - } -} - -public struct DescribeModelInput: Swift.Sendable { - /// The version of the model that you want to describe. - /// This member is required. - public var modelVersion: Swift.String? - /// The project that contains the version of a model that you want to describe. - /// This member is required. - public var projectName: Swift.String? - - public init( - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.modelVersion = modelVersion - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - /// The S3 location where Amazon Lookout for Vision saves training output. - public struct OutputS3Object: Swift.Sendable { - /// The bucket that contains the training output. - /// This member is required. - public var bucket: Swift.String? - /// The location of the training output in the bucket. - /// This member is required. - public var key: Swift.String? - - public init( - bucket: Swift.String? = nil, - key: Swift.String? = nil - ) { - self.bucket = bucket - self.key = key - } - } -} - -extension LookoutVisionClientTypes { - - /// Describes an Amazon Lookout for Vision model. - public struct ModelDescription: Swift.Sendable { - /// The unix timestamp for the date and time that the model was created. - public var creationTimestamp: Foundation.Date? - /// The description for the model. - public var description: Swift.String? - /// The unix timestamp for the date and time that the evaluation ended. - public var evaluationEndTimestamp: Foundation.Date? - /// The S3 location where Amazon Lookout for Vision saves the manifest file that was used to test the trained model and generate the performance scores. - public var evaluationManifest: LookoutVisionClientTypes.OutputS3Object? - /// The S3 location where Amazon Lookout for Vision saves the performance metrics. - public var evaluationResult: LookoutVisionClientTypes.OutputS3Object? - /// The identifer for the AWS Key Management Service (AWS KMS) key that was used to encrypt the model during training. - public var kmsKeyId: Swift.String? - /// The maximum number of inference units Amazon Lookout for Vision uses to auto-scale the model. For more information, see [StartModel]. - public var maxInferenceUnits: Swift.Int? - /// The minimum number of inference units used by the model. For more information, see [StartModel] - public var minInferenceUnits: Swift.Int? - /// The Amazon Resource Name (ARN) of the model. - public var modelArn: Swift.String? - /// The version of the model - public var modelVersion: Swift.String? - /// The S3 location where Amazon Lookout for Vision saves model training files. - public var outputConfig: LookoutVisionClientTypes.OutputConfig? - /// Performance metrics for the model. Created during training. - public var performance: LookoutVisionClientTypes.ModelPerformance? - /// The status of the model. - public var status: LookoutVisionClientTypes.ModelStatus? - /// The status message for the model. - public var statusMessage: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - description: Swift.String? = nil, - evaluationEndTimestamp: Foundation.Date? = nil, - evaluationManifest: LookoutVisionClientTypes.OutputS3Object? = nil, - evaluationResult: LookoutVisionClientTypes.OutputS3Object? = nil, - kmsKeyId: Swift.String? = nil, - maxInferenceUnits: Swift.Int? = nil, - minInferenceUnits: Swift.Int? = nil, - modelArn: Swift.String? = nil, - modelVersion: Swift.String? = nil, - outputConfig: LookoutVisionClientTypes.OutputConfig? = nil, - performance: LookoutVisionClientTypes.ModelPerformance? = nil, - status: LookoutVisionClientTypes.ModelStatus? = nil, - statusMessage: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.description = description - self.evaluationEndTimestamp = evaluationEndTimestamp - self.evaluationManifest = evaluationManifest - self.evaluationResult = evaluationResult - self.kmsKeyId = kmsKeyId - self.maxInferenceUnits = maxInferenceUnits - self.minInferenceUnits = minInferenceUnits - self.modelArn = modelArn - self.modelVersion = modelVersion - self.outputConfig = outputConfig - self.performance = performance - self.status = status - self.statusMessage = statusMessage - } - } -} - -public struct DescribeModelOutput: Swift.Sendable { - /// Contains the description of the model. - public var modelDescription: LookoutVisionClientTypes.ModelDescription? - - public init( - modelDescription: LookoutVisionClientTypes.ModelDescription? = nil - ) { - self.modelDescription = modelDescription - } -} - -public struct DescribeModelPackagingJobInput: Swift.Sendable { - /// The job name for the model packaging job. - /// This member is required. - public var jobName: Swift.String? - /// The name of the project that contains the model packaging job that you want to describe. - /// This member is required. - public var projectName: Swift.String? - - public init( - jobName: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.jobName = jobName - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - public enum TargetDevice: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case jetsonXavier - case sdkUnknown(Swift.String) - - public static var allCases: [TargetDevice] { - return [ - .jetsonXavier - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .jetsonXavier: return "jetson_xavier" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - public enum TargetPlatformAccelerator: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case nvidia - case sdkUnknown(Swift.String) - - public static var allCases: [TargetPlatformAccelerator] { - return [ - .nvidia - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .nvidia: return "NVIDIA" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - public enum TargetPlatformArch: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case arm64 - case x8664 - case sdkUnknown(Swift.String) - - public static var allCases: [TargetPlatformArch] { - return [ - .arm64, - .x8664 - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .arm64: return "ARM64" - case .x8664: return "X86_64" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - public enum TargetPlatformOs: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case linux - case sdkUnknown(Swift.String) - - public static var allCases: [TargetPlatformOs] { - return [ - .linux - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .linux: return "LINUX" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - /// The platform on which a model runs on an AWS IoT Greengrass core device. - public struct TargetPlatform: Swift.Sendable { - /// The target accelerator for the model. Currently, Amazon Lookout for Vision only supports NVIDIA (Nvidia graphics processing unit) and CPU accelerators. If you specify NVIDIA as an accelerator, you must also specify the gpu-code, trt-ver, and cuda-ver compiler options. If you don't specify an accelerator, Lookout for Vision uses the CPU for compilation and we highly recommend that you use the [GreengrassConfiguration$CompilerOptions] field. For example, you can use the following compiler options for CPU: - /// - /// * mcpu: CPU micro-architecture. For example, {'mcpu': 'skylake-avx512'} - /// - /// * mattr: CPU flags. For example, {'mattr': ['+neon', '+vfpv4']} - public var accelerator: LookoutVisionClientTypes.TargetPlatformAccelerator? - /// 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). - /// This member is required. - public var arch: LookoutVisionClientTypes.TargetPlatformArch? - /// The target operating system for the model. Linux is the only operating system that is currently supported. - /// This member is required. - public var os: LookoutVisionClientTypes.TargetPlatformOs? - - public init( - accelerator: LookoutVisionClientTypes.TargetPlatformAccelerator? = nil, - arch: LookoutVisionClientTypes.TargetPlatformArch? = nil, - os: LookoutVisionClientTypes.TargetPlatformOs? = nil - ) { - self.accelerator = accelerator - self.arch = arch - self.os = os - } - } -} - -extension LookoutVisionClientTypes { - - /// 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. - public struct GreengrassConfiguration: Swift.Sendable { - /// Additional compiler options for the Greengrass component. Currently, only NVIDIA Graphics Processing Units (GPU) and CPU accelerators are supported. If you specify TargetDevice, don't specify CompilerOptions. For more information, see Compiler options in the Amazon Lookout for Vision Developer Guide. - public var compilerOptions: Swift.String? - /// A description for the AWS IoT Greengrass component. - public var componentDescription: Swift.String? - /// A name for the AWS IoT Greengrass component. - /// This member is required. - public var componentName: Swift.String? - /// 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. - public var componentVersion: Swift.String? - /// An S3 location in which Lookout for Vision stores the component artifacts. - /// This member is required. - public var s3OutputLocation: LookoutVisionClientTypes.S3Location? - /// A set of tags (key-value pairs) that you want to attach to the AWS IoT Greengrass component. - public var tags: [LookoutVisionClientTypes.Tag]? - /// The target device for the model. Currently the only supported value is jetson_xavier. If you specify TargetDevice, you can't specify TargetPlatform. - public var targetDevice: LookoutVisionClientTypes.TargetDevice? - /// The target platform for the model. If you specify TargetPlatform, you can't specify TargetDevice. - public var targetPlatform: LookoutVisionClientTypes.TargetPlatform? - - public init( - compilerOptions: Swift.String? = nil, - componentDescription: Swift.String? = nil, - componentName: Swift.String? = nil, - componentVersion: Swift.String? = nil, - s3OutputLocation: LookoutVisionClientTypes.S3Location? = nil, - tags: [LookoutVisionClientTypes.Tag]? = nil, - targetDevice: LookoutVisionClientTypes.TargetDevice? = nil, - targetPlatform: LookoutVisionClientTypes.TargetPlatform? = nil - ) { - self.compilerOptions = compilerOptions - self.componentDescription = componentDescription - self.componentName = componentName - self.componentVersion = componentVersion - self.s3OutputLocation = s3OutputLocation - self.tags = tags - self.targetDevice = targetDevice - self.targetPlatform = targetPlatform - } - } -} - -extension LookoutVisionClientTypes { - - /// Configuration information for a Amazon Lookout for Vision model packaging job. For more information, see [StartModelPackagingJob]. - public struct ModelPackagingConfiguration: Swift.Sendable { - /// Configuration information for the AWS IoT Greengrass component in a model packaging job. - /// This member is required. - public var greengrass: LookoutVisionClientTypes.GreengrassConfiguration? - - public init( - greengrass: LookoutVisionClientTypes.GreengrassConfiguration? = nil - ) { - self.greengrass = greengrass - } - } -} - -extension LookoutVisionClientTypes { - - /// Information about the AWS IoT Greengrass component created by a model packaging job. - public struct GreengrassOutputDetails: Swift.Sendable { - /// The name of the component. - public var componentName: Swift.String? - /// The version of the component. - public var componentVersion: Swift.String? - /// The Amazon Resource Name (ARN) of the component. - public var componentVersionArn: Swift.String? - - public init( - componentName: Swift.String? = nil, - componentVersion: Swift.String? = nil, - componentVersionArn: Swift.String? = nil - ) { - self.componentName = componentName - self.componentVersion = componentVersion - self.componentVersionArn = componentVersionArn - } - } -} - -extension LookoutVisionClientTypes { - - /// Information about the output from a model packaging job. - public struct ModelPackagingOutputDetails: Swift.Sendable { - /// Information about the AWS IoT Greengrass component in a model packaging job. - public var greengrass: LookoutVisionClientTypes.GreengrassOutputDetails? - - public init( - greengrass: LookoutVisionClientTypes.GreengrassOutputDetails? = nil - ) { - self.greengrass = greengrass - } - } -} - -extension LookoutVisionClientTypes { - - public enum ModelPackagingJobStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case created - case failed - case running - case succeeded - case sdkUnknown(Swift.String) - - public static var allCases: [ModelPackagingJobStatus] { - return [ - .created, - .failed, - .running, - .succeeded - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .created: return "CREATED" - case .failed: return "FAILED" - case .running: return "RUNNING" - case .succeeded: return "SUCCEEDED" - case let .sdkUnknown(s): return s - } - } - } -} - -extension LookoutVisionClientTypes { - - /// Information about a model packaging job. For more information, see [DescribeModelPackagingJob]. - public struct ModelPackagingDescription: Swift.Sendable { - /// The Unix timestamp for the time and date that the model packaging job was created. - public var creationTimestamp: Foundation.Date? - /// The name of the model packaging job. - public var jobName: Swift.String? - /// The Unix timestamp for the time and date that the model packaging job was last updated. - public var lastUpdatedTimestamp: Foundation.Date? - /// The configuration information used in the model packaging job. - public var modelPackagingConfiguration: LookoutVisionClientTypes.ModelPackagingConfiguration? - /// The description for the model packaging job. - public var modelPackagingJobDescription: Swift.String? - /// The AWS service used to package the job. Currently Lookout for Vision can package jobs with AWS IoT Greengrass. - public var modelPackagingMethod: Swift.String? - /// Information about the output of the model packaging job. For more information, see [DescribeModelPackagingJob]. - public var modelPackagingOutputDetails: LookoutVisionClientTypes.ModelPackagingOutputDetails? - /// The version of the model used in the model packaging job. - public var modelVersion: Swift.String? - /// The name of the project that's associated with a model that's in the model package. - public var projectName: Swift.String? - /// The status of the model packaging job. - public var status: LookoutVisionClientTypes.ModelPackagingJobStatus? - /// The status message for the model packaging job. - public var statusMessage: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - jobName: Swift.String? = nil, - lastUpdatedTimestamp: Foundation.Date? = nil, - modelPackagingConfiguration: LookoutVisionClientTypes.ModelPackagingConfiguration? = nil, - modelPackagingJobDescription: Swift.String? = nil, - modelPackagingMethod: Swift.String? = nil, - modelPackagingOutputDetails: LookoutVisionClientTypes.ModelPackagingOutputDetails? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil, - status: LookoutVisionClientTypes.ModelPackagingJobStatus? = nil, - statusMessage: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.jobName = jobName - self.lastUpdatedTimestamp = lastUpdatedTimestamp - self.modelPackagingConfiguration = modelPackagingConfiguration - self.modelPackagingJobDescription = modelPackagingJobDescription - self.modelPackagingMethod = modelPackagingMethod - self.modelPackagingOutputDetails = modelPackagingOutputDetails - self.modelVersion = modelVersion - self.projectName = projectName - self.status = status - self.statusMessage = statusMessage - } - } -} - -public struct DescribeModelPackagingJobOutput: Swift.Sendable { - /// The description of the model packaging job. - public var modelPackagingDescription: LookoutVisionClientTypes.ModelPackagingDescription? - - public init( - modelPackagingDescription: LookoutVisionClientTypes.ModelPackagingDescription? = nil - ) { - self.modelPackagingDescription = modelPackagingDescription - } -} - -public struct DescribeProjectInput: Swift.Sendable { - /// The name of the project that you want to describe. - /// This member is required. - public var projectName: Swift.String? - - public init( - projectName: Swift.String? = nil - ) { - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - /// Describe an Amazon Lookout for Vision project. For more information, see [DescribeProject]. - public struct ProjectDescription: Swift.Sendable { - /// The unix timestamp for the date and time that the project was created. - public var creationTimestamp: Foundation.Date? - /// A list of datasets in the project. - public var datasets: [LookoutVisionClientTypes.DatasetMetadata]? - /// The Amazon Resource Name (ARN) of the project. - public var projectArn: Swift.String? - /// The name of the project. - public var projectName: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - datasets: [LookoutVisionClientTypes.DatasetMetadata]? = nil, - projectArn: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.datasets = datasets - self.projectArn = projectArn - self.projectName = projectName - } - } -} - -public struct DescribeProjectOutput: Swift.Sendable { - /// The description of the project. - public var projectDescription: LookoutVisionClientTypes.ProjectDescription? - - public init( - projectDescription: LookoutVisionClientTypes.ProjectDescription? = nil - ) { - self.projectDescription = projectDescription - } -} - -public struct DetectAnomaliesInput: Swift.Sendable { - /// The unencrypted image bytes that you want to analyze. - /// This member is required. - public var body: Smithy.ByteStream? - /// The type of the image passed in Body. Valid values are image/png (PNG format images) and image/jpeg (JPG format images). - /// This member is required. - public var contentType: Swift.String? - /// The version of the model that you want to use. - /// This member is required. - public var modelVersion: Swift.String? - /// The name of the project that contains the model version that you want to use. - /// This member is required. - public var projectName: Swift.String? - - public init( - body: Smithy.ByteStream? = nil, - contentType: Swift.String? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.body = body - self.contentType = contentType - self.modelVersion = modelVersion - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - /// The source for an image. - public struct ImageSource: Swift.Sendable { - /// The type of the image. - public var type: Swift.String? - - public init( - type: Swift.String? = nil - ) { - self.type = type - } - } -} - -extension LookoutVisionClientTypes { - - /// The prediction results from a call to [DetectAnomalies]. DetectAnomalyResult includes classification information for the prediction (IsAnomalous and Confidence). If the model you use is an image segementation model, DetectAnomalyResult also includes segmentation information (Anomalies and AnomalyMask). Classification information is calculated separately from segmentation information and you shouldn't assume a relationship between them. - public struct DetectAnomalyResult: Swift.Sendable { - /// If the model is an image segmentation model, Anomalies contains a list of anomaly types found in the image. There is one entry for each type of anomaly found (even if multiple instances of an anomaly type exist on the image). The first element in the list is always an anomaly type representing the image background ('background') and shouldn't be considered an anomaly. Amazon Lookout for Vision automatically add the background anomaly type to the response, and you don't need to declare a background anomaly type in your dataset. If the list has one entry ('background'), no anomalies were found on the image. An image classification model doesn't return an Anomalies list. - public var anomalies: [LookoutVisionClientTypes.Anomaly]? - /// If the model is an image segmentation model, AnomalyMask contains pixel masks that covers all anomaly types found on the image. Each anomaly type has a different mask color. To map a color to an anomaly type, see the color field of the [PixelAnomaly] object. An image classification model doesn't return an Anomalies list. - public var anomalyMask: Foundation.Data? - /// The confidence that Lookout for Vision has in the accuracy of the classification in IsAnomalous. - public var confidence: Swift.Float? - /// True if Amazon Lookout for Vision classifies the image as containing an anomaly, otherwise false. - public var isAnomalous: Swift.Bool? - /// The source of the image that was analyzed. direct means that the images was supplied from the local computer. No other values are supported. - public var source: LookoutVisionClientTypes.ImageSource? - - public init( - anomalies: [LookoutVisionClientTypes.Anomaly]? = nil, - anomalyMask: Foundation.Data? = nil, - confidence: Swift.Float? = nil, - isAnomalous: Swift.Bool? = nil, - source: LookoutVisionClientTypes.ImageSource? = nil - ) { - self.anomalies = anomalies - self.anomalyMask = anomalyMask - self.confidence = confidence - self.isAnomalous = isAnomalous - self.source = source - } - } -} - -public struct DetectAnomaliesOutput: Swift.Sendable { - /// The results of the DetectAnomalies operation. - public var detectAnomalyResult: LookoutVisionClientTypes.DetectAnomalyResult? - - public init( - detectAnomalyResult: LookoutVisionClientTypes.DetectAnomalyResult? = nil - ) { - self.detectAnomalyResult = detectAnomalyResult - } -} - -public struct ListDatasetEntriesInput: Swift.Sendable { - /// Only includes entries after the specified date in the response. For example, 2020-06-23T00:00:00. - public var afterCreationDate: Foundation.Date? - /// Specify normal to include only normal images. Specify anomaly to only include anomalous entries. If you don't specify a value, Amazon Lookout for Vision returns normal and anomalous images. - public var anomalyClass: Swift.String? - /// Only includes entries before the specified date in the response. For example, 2020-06-23T00:00:00. - public var beforeCreationDate: Foundation.Date? - /// The type of the dataset that you want to list. Specify train to list the training dataset. Specify test to list the test dataset. If you have a single dataset project, specify train. - /// This member is required. - public var datasetType: Swift.String? - /// Specify true to include labeled entries, otherwise specify false. If you don't specify a value, Lookout for Vision returns all entries. - public var labeled: Swift.Bool? - /// 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. - public var maxResults: Swift.Int? - /// If the previous response was incomplete (because there is more data 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 dataset entries. - public var nextToken: Swift.String? - /// The name of the project that contains the dataset that you want to list. - /// This member is required. - public var projectName: Swift.String? - /// Perform a "contains" search on the values of the source-ref key within the dataset. For example a value of "IMG_17" returns all JSON Lines where the source-ref key value matches *IMG_17*. - public var sourceRefContains: Swift.String? - - public init( - afterCreationDate: Foundation.Date? = nil, - anomalyClass: Swift.String? = nil, - beforeCreationDate: Foundation.Date? = nil, - datasetType: Swift.String? = nil, - labeled: Swift.Bool? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - projectName: Swift.String? = nil, - sourceRefContains: Swift.String? = nil - ) { - self.afterCreationDate = afterCreationDate - self.anomalyClass = anomalyClass - self.beforeCreationDate = beforeCreationDate - self.datasetType = datasetType - self.labeled = labeled - self.maxResults = maxResults - self.nextToken = nextToken - self.projectName = projectName - self.sourceRefContains = sourceRefContains - } -} - -public struct ListDatasetEntriesOutput: Swift.Sendable { - /// A list of the entries (JSON Lines) within the dataset. - public var datasetEntries: [Swift.String]? - /// If the response is truncated, Amazon Lookout for Vision returns this token that you can use in the subsequent request to retrieve the next set ofdataset entries. - public var nextToken: Swift.String? - - public init( - datasetEntries: [Swift.String]? = nil, - nextToken: Swift.String? = nil - ) { - self.datasetEntries = datasetEntries - self.nextToken = nextToken - } -} - -public struct ListModelPackagingJobsInput: Swift.Sendable { - /// 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. - public var maxResults: Swift.Int? - /// 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. - public var nextToken: Swift.String? - /// The name of the project for which you want to list the model packaging jobs. - /// This member is required. - public var projectName: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - /// Metadata for a model packaging job. For more information, see [ListModelPackagingJobs]. - public struct ModelPackagingJobMetadata: Swift.Sendable { - /// The Unix timestamp for the time and date that the model packaging job was created. - public var creationTimestamp: Foundation.Date? - /// The name of the model packaging job. - public var jobName: Swift.String? - /// The Unix timestamp for the time and date that the model packaging job was last updated. - public var lastUpdatedTimestamp: Foundation.Date? - /// The description for the model packaging job. - public var modelPackagingJobDescription: Swift.String? - /// The AWS service used to package the job. Currently Lookout for Vision can package jobs with AWS IoT Greengrass. - public var modelPackagingMethod: Swift.String? - /// The version of the model that is in the model package. - public var modelVersion: Swift.String? - /// The project that contains the model that is in the model package. - public var projectName: Swift.String? - /// The status of the model packaging job. - public var status: LookoutVisionClientTypes.ModelPackagingJobStatus? - /// The status message for the model packaging job. - public var statusMessage: Swift.String? - - public init( - creationTimestamp: Foundation.Date? = nil, - jobName: Swift.String? = nil, - lastUpdatedTimestamp: Foundation.Date? = nil, - modelPackagingJobDescription: Swift.String? = nil, - modelPackagingMethod: Swift.String? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil, - status: LookoutVisionClientTypes.ModelPackagingJobStatus? = nil, - statusMessage: Swift.String? = nil - ) { - self.creationTimestamp = creationTimestamp - self.jobName = jobName - self.lastUpdatedTimestamp = lastUpdatedTimestamp - self.modelPackagingJobDescription = modelPackagingJobDescription - self.modelPackagingMethod = modelPackagingMethod - self.modelVersion = modelVersion - self.projectName = projectName - self.status = status - self.statusMessage = statusMessage - } - } -} - -public struct ListModelPackagingJobsOutput: Swift.Sendable { - /// A list of the model packaging jobs created for the specified Amazon Lookout for Vision project. - public var modelPackagingJobs: [LookoutVisionClientTypes.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. - public var nextToken: Swift.String? - - public init( - modelPackagingJobs: [LookoutVisionClientTypes.ModelPackagingJobMetadata]? = nil, - nextToken: Swift.String? = nil - ) { - self.modelPackagingJobs = modelPackagingJobs - self.nextToken = nextToken - } -} - -public struct ListModelsInput: Swift.Sendable { - /// 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. - public var maxResults: Swift.Int? - /// If the previous response was incomplete (because there is more data 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 models. - public var nextToken: Swift.String? - /// The name of the project that contains the model versions that you want to list. - /// This member is required. - public var projectName: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - self.projectName = projectName - } -} - -public struct ListModelsOutput: Swift.Sendable { - /// A list of model versions in the specified project. - public var models: [LookoutVisionClientTypes.ModelMetadata]? - /// If the response is truncated, Amazon Lookout for Vision returns this token that you can use in the subsequent request to retrieve the next set of models. - public var nextToken: Swift.String? - - public init( - models: [LookoutVisionClientTypes.ModelMetadata]? = nil, - nextToken: Swift.String? = nil - ) { - self.models = models - self.nextToken = nextToken - } -} - -public struct ListProjectsInput: Swift.Sendable { - /// 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. - public var maxResults: Swift.Int? - /// If the previous response was incomplete (because there is more data 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 projects. - public var nextToken: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -public struct ListProjectsOutput: Swift.Sendable { - /// If the response is truncated, Amazon Lookout for Vision returns this token that you can use in the subsequent request to retrieve the next set of projects. - public var nextToken: Swift.String? - /// A list of projects in your AWS account. - public var projects: [LookoutVisionClientTypes.ProjectMetadata]? - - public init( - nextToken: Swift.String? = nil, - projects: [LookoutVisionClientTypes.ProjectMetadata]? = nil - ) { - self.nextToken = nextToken - self.projects = projects - } -} - -public struct ListTagsForResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the model for which you want to list tags. - /// This member is required. - public var resourceArn: Swift.String? - - public init( - resourceArn: Swift.String? = nil - ) { - self.resourceArn = resourceArn - } -} - -public struct ListTagsForResourceOutput: Swift.Sendable { - /// A map of tag keys and values attached to the specified model. - public var tags: [LookoutVisionClientTypes.Tag]? - - public init( - tags: [LookoutVisionClientTypes.Tag]? = nil - ) { - self.tags = tags - } -} - -public struct StartModelInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The maximum number of inference units to use for auto-scaling the model. If you don't specify a value, Amazon Lookout for Vision doesn't auto-scale the model. - public var maxInferenceUnits: Swift.Int? - /// The minimum number of inference units to use. A single 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. - /// This member is required. - public var minInferenceUnits: Swift.Int? - /// The version of the model that you want to start. - /// This member is required. - public var modelVersion: Swift.String? - /// The name of the project that contains the model that you want to start. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - maxInferenceUnits: Swift.Int? = nil, - minInferenceUnits: Swift.Int? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.maxInferenceUnits = maxInferenceUnits - self.minInferenceUnits = minInferenceUnits - self.modelVersion = modelVersion - self.projectName = projectName - } -} - -extension LookoutVisionClientTypes { - - public enum ModelHostingStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case hosted - case hostingFailed - case startingHosting - case stoppingHosting - case systemUpdating - case sdkUnknown(Swift.String) - - public static var allCases: [ModelHostingStatus] { - return [ - .hosted, - .hostingFailed, - .startingHosting, - .stoppingHosting, - .systemUpdating - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .hosted: return "HOSTED" - case .hostingFailed: return "HOSTING_FAILED" - case .startingHosting: return "STARTING_HOSTING" - case .stoppingHosting: return "STOPPING_HOSTING" - case .systemUpdating: return "SYSTEM_UPDATING" - case let .sdkUnknown(s): return s - } - } - } -} - -public struct StartModelOutput: Swift.Sendable { - /// The current running status of the model. - public var status: LookoutVisionClientTypes.ModelHostingStatus? - - public init( - status: LookoutVisionClientTypes.ModelHostingStatus? = nil - ) { - self.status = status - } -} - -public struct StartModelPackagingJobInput: Swift.Sendable { - /// 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. - public var clientToken: Swift.String? - /// The configuration for the model packaging job. - /// This member is required. - public var configuration: LookoutVisionClientTypes.ModelPackagingConfiguration? - /// A description for the model packaging job. - public var description: Swift.String? - /// A name for the model packaging job. If you don't supply a value, the service creates a job name for you. - public var jobName: Swift.String? - /// The version of the model within the project that you want to package. - /// This member is required. - public var modelVersion: Swift.String? - /// The name of the project which contains the version of the model that you want to package. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - configuration: LookoutVisionClientTypes.ModelPackagingConfiguration? = nil, - description: Swift.String? = nil, - jobName: Swift.String? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.configuration = configuration - self.description = description - self.jobName = jobName - self.modelVersion = modelVersion - self.projectName = projectName - } -} - -public struct StartModelPackagingJobOutput: Swift.Sendable { - /// 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. - public var jobName: Swift.String? - - public init( - jobName: Swift.String? = nil - ) { - self.jobName = jobName - } -} - -public struct StopModelInput: Swift.Sendable { - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The version of the model that you want to stop. - /// This member is required. - public var modelVersion: Swift.String? - /// The name of the project that contains the model that you want to stop. - /// This member is required. - public var projectName: Swift.String? - - public init( - clientToken: Swift.String? = nil, - modelVersion: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.clientToken = clientToken - self.modelVersion = modelVersion - self.projectName = projectName - } -} - -public struct StopModelOutput: Swift.Sendable { - /// The status of the model. - public var status: LookoutVisionClientTypes.ModelHostingStatus? - - public init( - status: LookoutVisionClientTypes.ModelHostingStatus? = nil - ) { - self.status = status - } -} - -public struct TagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the model to assign the tags. - /// This member is required. - public var resourceArn: Swift.String? - /// The key-value tags to assign to the model. - /// This member is required. - public var tags: [LookoutVisionClientTypes.Tag]? - - public init( - resourceArn: Swift.String? = nil, - tags: [LookoutVisionClientTypes.Tag]? = nil - ) { - self.resourceArn = resourceArn - self.tags = tags - } -} - -public struct TagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UntagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the model from which you want to remove tags. - /// This member is required. - public var resourceArn: Swift.String? - /// A list of the keys of the tags that you want to remove. - /// This member is required. - public var tagKeys: [Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tagKeys: [Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } -} - -public struct UntagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateDatasetEntriesInput: Swift.Sendable { - /// The entries to add to the dataset. - /// This member is required. - public var changes: Foundation.Data? - /// ClientToken is an idempotency token that ensures a call to 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. 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. - public var clientToken: Swift.String? - /// The type of the dataset that you want to update. Specify train to update the training dataset. Specify test to update the test dataset. If you have a single dataset project, specify train. - /// This member is required. - public var datasetType: Swift.String? - /// The name of the project that contains the dataset that you want to update. - /// This member is required. - public var projectName: Swift.String? - - public init( - changes: Foundation.Data? = nil, - clientToken: Swift.String? = nil, - datasetType: Swift.String? = nil, - projectName: Swift.String? = nil - ) { - self.changes = changes - self.clientToken = clientToken - self.datasetType = datasetType - self.projectName = projectName - } -} - -public struct UpdateDatasetEntriesOutput: Swift.Sendable { - /// The status of the dataset update. - public var status: LookoutVisionClientTypes.DatasetStatus? - - public init( - status: LookoutVisionClientTypes.DatasetStatus? = nil - ) { - self.status = status - } -} - -extension CreateDatasetInput { - - static func urlPathProvider(_ value: CreateDatasetInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/datasets" - } -} - -extension CreateDatasetInput { - - static func headerProvider(_ value: CreateDatasetInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension CreateModelInput { - - static func urlPathProvider(_ value: CreateModelInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models" - } -} - -extension CreateModelInput { - - static func headerProvider(_ value: CreateModelInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension CreateProjectInput { - - static func urlPathProvider(_ value: CreateProjectInput) -> Swift.String? { - return "/2020-11-20/projects" - } -} - -extension CreateProjectInput { - - static func headerProvider(_ value: CreateProjectInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension DeleteDatasetInput { - - static func urlPathProvider(_ value: DeleteDatasetInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let datasetType = value.datasetType else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/datasets/\(datasetType.urlPercentEncoding())" - } -} - -extension DeleteDatasetInput { - - static func headerProvider(_ value: DeleteDatasetInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension DeleteModelInput { - - static func urlPathProvider(_ value: DeleteModelInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let modelVersion = value.modelVersion else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models/\(modelVersion.urlPercentEncoding())" - } -} - -extension DeleteModelInput { - - static func headerProvider(_ value: DeleteModelInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension DeleteProjectInput { - - static func urlPathProvider(_ value: DeleteProjectInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())" - } -} - -extension DeleteProjectInput { - - static func headerProvider(_ value: DeleteProjectInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension DescribeDatasetInput { - - static func urlPathProvider(_ value: DescribeDatasetInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let datasetType = value.datasetType else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/datasets/\(datasetType.urlPercentEncoding())" - } -} - -extension DescribeModelInput { - - static func urlPathProvider(_ value: DescribeModelInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let modelVersion = value.modelVersion else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models/\(modelVersion.urlPercentEncoding())" - } -} - -extension DescribeModelPackagingJobInput { - - static func urlPathProvider(_ value: DescribeModelPackagingJobInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let jobName = value.jobName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/modelpackagingjobs/\(jobName.urlPercentEncoding())" - } -} - -extension DescribeProjectInput { - - static func urlPathProvider(_ value: DescribeProjectInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())" - } -} - -extension DetectAnomaliesInput { - - static func urlPathProvider(_ value: DetectAnomaliesInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let modelVersion = value.modelVersion else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models/\(modelVersion.urlPercentEncoding())/detect" - } -} - -extension DetectAnomaliesInput { - - static func headerProvider(_ value: DetectAnomaliesInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let contentType = value.contentType { - items.add(SmithyHTTPAPI.Header(name: "Content-Type", value: Swift.String(contentType))) - } - return items - } -} - -extension ListDatasetEntriesInput { - - static func urlPathProvider(_ value: ListDatasetEntriesInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let datasetType = value.datasetType else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/datasets/\(datasetType.urlPercentEncoding())/entries" - } -} - -extension ListDatasetEntriesInput { - - static func queryItemProvider(_ value: ListDatasetEntriesInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let sourceRefContains = value.sourceRefContains { - let sourceRefContainsQueryItem = Smithy.URIQueryItem(name: "sourceRefContains".urlPercentEncoding(), value: Swift.String(sourceRefContains).urlPercentEncoding()) - items.append(sourceRefContainsQueryItem) - } - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let labeled = value.labeled { - let labeledQueryItem = Smithy.URIQueryItem(name: "labeled".urlPercentEncoding(), value: Swift.String(labeled).urlPercentEncoding()) - items.append(labeledQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - if let beforeCreationDate = value.beforeCreationDate { - let beforeCreationDateQueryItem = Smithy.URIQueryItem(name: "createdBefore".urlPercentEncoding(), value: Swift.String(SmithyTimestamps.TimestampFormatter(format: .dateTime).string(from: beforeCreationDate)).urlPercentEncoding()) - items.append(beforeCreationDateQueryItem) - } - if let afterCreationDate = value.afterCreationDate { - let afterCreationDateQueryItem = Smithy.URIQueryItem(name: "createdAfter".urlPercentEncoding(), value: Swift.String(SmithyTimestamps.TimestampFormatter(format: .dateTime).string(from: afterCreationDate)).urlPercentEncoding()) - items.append(afterCreationDateQueryItem) - } - if let anomalyClass = value.anomalyClass { - let anomalyClassQueryItem = Smithy.URIQueryItem(name: "anomalyClass".urlPercentEncoding(), value: Swift.String(anomalyClass).urlPercentEncoding()) - items.append(anomalyClassQueryItem) - } - return items - } -} - -extension ListModelPackagingJobsInput { - - static func urlPathProvider(_ value: ListModelPackagingJobsInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/modelpackagingjobs" - } -} - -extension ListModelPackagingJobsInput { - - static func queryItemProvider(_ value: ListModelPackagingJobsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListModelsInput { - - static func urlPathProvider(_ value: ListModelsInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models" - } -} - -extension ListModelsInput { - - static func queryItemProvider(_ value: ListModelsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListProjectsInput { - - static func urlPathProvider(_ value: ListProjectsInput) -> Swift.String? { - return "/2020-11-20/projects" - } -} - -extension ListProjectsInput { - - static func queryItemProvider(_ value: ListProjectsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListTagsForResourceInput { - - static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/2020-11-20/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension StartModelInput { - - static func urlPathProvider(_ value: StartModelInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let modelVersion = value.modelVersion else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models/\(modelVersion.urlPercentEncoding())/start" - } -} - -extension StartModelInput { - - static func headerProvider(_ value: StartModelInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension StartModelPackagingJobInput { - - static func urlPathProvider(_ value: StartModelPackagingJobInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/modelpackagingjobs" - } -} - -extension StartModelPackagingJobInput { - - static func headerProvider(_ value: StartModelPackagingJobInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension StopModelInput { - - static func urlPathProvider(_ value: StopModelInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let modelVersion = value.modelVersion else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/models/\(modelVersion.urlPercentEncoding())/stop" - } -} - -extension StopModelInput { - - static func headerProvider(_ value: StopModelInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension TagResourceInput { - - static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/2020-11-20/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/2020-11-20/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - guard let tagKeys = value.tagKeys else { - let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." - throw Smithy.ClientError.unknownError(message) - } - tagKeys.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - return items - } -} - -extension UpdateDatasetEntriesInput { - - static func urlPathProvider(_ value: UpdateDatasetEntriesInput) -> Swift.String? { - guard let projectName = value.projectName else { - return nil - } - guard let datasetType = value.datasetType else { - return nil - } - return "/2020-11-20/projects/\(projectName.urlPercentEncoding())/datasets/\(datasetType.urlPercentEncoding())/entries" - } -} - -extension UpdateDatasetEntriesInput { - - static func headerProvider(_ value: UpdateDatasetEntriesInput) -> SmithyHTTPAPI.Headers { - var items = SmithyHTTPAPI.Headers() - if let clientToken = value.clientToken { - items.add(SmithyHTTPAPI.Header(name: "X-Amzn-Client-Token", value: Swift.String(clientToken))) - } - return items - } -} - -extension CreateDatasetInput { - - static func write(value: CreateDatasetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DatasetSource"].write(value.datasetSource, with: LookoutVisionClientTypes.DatasetSource.write(value:to:)) - try writer["DatasetType"].write(value.datasetType) - } -} - -extension CreateModelInput { - - static func write(value: CreateModelInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Description"].write(value.description) - try writer["KmsKeyId"].write(value.kmsKeyId) - try writer["OutputConfig"].write(value.outputConfig, with: LookoutVisionClientTypes.OutputConfig.write(value:to:)) - try writer["Tags"].writeList(value.tags, memberWritingClosure: LookoutVisionClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension CreateProjectInput { - - static func write(value: CreateProjectInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["ProjectName"].write(value.projectName) - } -} - -extension DetectAnomaliesInput { - - static func write(value: DetectAnomaliesInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Body"].write(value.body) - } -} - -extension StartModelInput { - - static func write(value: StartModelInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["MaxInferenceUnits"].write(value.maxInferenceUnits) - try writer["MinInferenceUnits"].write(value.minInferenceUnits) - } -} - -extension StartModelPackagingJobInput { - - static func write(value: StartModelPackagingJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Configuration"].write(value.configuration, with: LookoutVisionClientTypes.ModelPackagingConfiguration.write(value:to:)) - try writer["Description"].write(value.description) - try writer["JobName"].write(value.jobName) - try writer["ModelVersion"].write(value.modelVersion) - } -} - -extension TagResourceInput { - - static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Tags"].writeList(value.tags, memberWritingClosure: LookoutVisionClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension UpdateDatasetEntriesInput { - - static func write(value: UpdateDatasetEntriesInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Changes"].write(value.changes) - } -} - -extension CreateDatasetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateDatasetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateDatasetOutput() - value.datasetMetadata = try reader["DatasetMetadata"].readIfPresent(with: LookoutVisionClientTypes.DatasetMetadata.read(from:)) - return value - } -} - -extension CreateModelOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateModelOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateModelOutput() - value.modelMetadata = try reader["ModelMetadata"].readIfPresent(with: LookoutVisionClientTypes.ModelMetadata.read(from:)) - return value - } -} - -extension CreateProjectOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateProjectOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateProjectOutput() - value.projectMetadata = try reader["ProjectMetadata"].readIfPresent(with: LookoutVisionClientTypes.ProjectMetadata.read(from:)) - return value - } -} - -extension DeleteDatasetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteDatasetOutput { - return DeleteDatasetOutput() - } -} - -extension DeleteModelOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteModelOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DeleteModelOutput() - value.modelArn = try reader["ModelArn"].readIfPresent() - return value - } -} - -extension DeleteProjectOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteProjectOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DeleteProjectOutput() - value.projectArn = try reader["ProjectArn"].readIfPresent() - return value - } -} - -extension DescribeDatasetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeDatasetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeDatasetOutput() - value.datasetDescription = try reader["DatasetDescription"].readIfPresent(with: LookoutVisionClientTypes.DatasetDescription.read(from:)) - return value - } -} - -extension DescribeModelOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeModelOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeModelOutput() - value.modelDescription = try reader["ModelDescription"].readIfPresent(with: LookoutVisionClientTypes.ModelDescription.read(from:)) - return value - } -} - -extension DescribeModelPackagingJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeModelPackagingJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeModelPackagingJobOutput() - value.modelPackagingDescription = try reader["ModelPackagingDescription"].readIfPresent(with: LookoutVisionClientTypes.ModelPackagingDescription.read(from:)) - return value - } -} - -extension DescribeProjectOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeProjectOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeProjectOutput() - value.projectDescription = try reader["ProjectDescription"].readIfPresent(with: LookoutVisionClientTypes.ProjectDescription.read(from:)) - return value - } -} - -extension DetectAnomaliesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DetectAnomaliesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DetectAnomaliesOutput() - value.detectAnomalyResult = try reader["DetectAnomalyResult"].readIfPresent(with: LookoutVisionClientTypes.DetectAnomalyResult.read(from:)) - return value - } -} - -extension ListDatasetEntriesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListDatasetEntriesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListDatasetEntriesOutput() - value.datasetEntries = try reader["DatasetEntries"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListModelPackagingJobsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListModelPackagingJobsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListModelPackagingJobsOutput() - value.modelPackagingJobs = try reader["ModelPackagingJobs"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.ModelPackagingJobMetadata.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListModelsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListModelsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListModelsOutput() - value.models = try reader["Models"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.ModelMetadata.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListProjectsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListProjectsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListProjectsOutput() - value.nextToken = try reader["NextToken"].readIfPresent() - value.projects = try reader["Projects"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.ProjectMetadata.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListTagsForResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTagsForResourceOutput() - value.tags = try reader["Tags"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.Tag.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension StartModelOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartModelOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = StartModelOutput() - value.status = try reader["Status"].readIfPresent() - return value - } -} - -extension StartModelPackagingJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartModelPackagingJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = StartModelPackagingJobOutput() - value.jobName = try reader["JobName"].readIfPresent() - return value - } -} - -extension StopModelOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StopModelOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = StopModelOutput() - value.status = try reader["Status"].readIfPresent() - return value - } -} - -extension TagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { - return TagResourceOutput() - } -} - -extension UntagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { - return UntagResourceOutput() - } -} - -extension UpdateDatasetEntriesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateDatasetEntriesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateDatasetEntriesOutput() - value.status = try reader["Status"].readIfPresent() - return value - } -} - -enum CreateDatasetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateModelOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateProjectOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteDatasetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteModelOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteProjectOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeDatasetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeModelOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeModelPackagingJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeProjectOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DetectAnomaliesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListDatasetEntriesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListModelPackagingJobsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListModelsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListProjectsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTagsForResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum StartModelOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum StartModelPackagingJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum StopModelOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum TagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UntagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateDatasetEntriesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) - case "ConflictException": return try ConflictException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - case "ValidationException": return try ValidationException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension AccessDeniedException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> AccessDeniedException { - let reader = baseError.errorBodyReader - var value = AccessDeniedException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ConflictException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ConflictException { - let reader = baseError.errorBodyReader - var value = ConflictException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.resourceId = try reader["ResourceId"].readIfPresent() ?? "" - value.properties.resourceType = try reader["ResourceType"].readIfPresent() ?? .sdkUnknown("") - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension InternalServerException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { - let reader = baseError.errorBodyReader - let httpResponse = baseError.httpResponse - var value = InternalServerException() - if let retryAfterSecondsHeaderValue = httpResponse.headers.value(for: "Retry-After") { - value.properties.retryAfterSeconds = Swift.Int(retryAfterSecondsHeaderValue) ?? 0 - } - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceNotFoundException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { - let reader = baseError.errorBodyReader - var value = ResourceNotFoundException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.resourceId = try reader["ResourceId"].readIfPresent() ?? "" - value.properties.resourceType = try reader["ResourceType"].readIfPresent() ?? .sdkUnknown("") - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ServiceQuotaExceededException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { - let reader = baseError.errorBodyReader - var value = ServiceQuotaExceededException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.quotaCode = try reader["QuotaCode"].readIfPresent() ?? "" - value.properties.resourceId = try reader["ResourceId"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.properties.serviceCode = try reader["ServiceCode"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ThrottlingException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { - let reader = baseError.errorBodyReader - let httpResponse = baseError.httpResponse - var value = ThrottlingException() - if let retryAfterSecondsHeaderValue = httpResponse.headers.value(for: "Retry-After") { - value.properties.retryAfterSeconds = Swift.Int(retryAfterSecondsHeaderValue) ?? 0 - } - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.properties.quotaCode = try reader["QuotaCode"].readIfPresent() - value.properties.serviceCode = try reader["ServiceCode"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ValidationException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ValidationException { - let reader = baseError.errorBodyReader - var value = ValidationException() - value.properties.message = try reader["Message"].readIfPresent() ?? "" - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension LookoutVisionClientTypes.DatasetMetadata { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.DatasetMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.DatasetMetadata() - value.datasetType = try reader["DatasetType"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["Status"].readIfPresent() - value.statusMessage = try reader["StatusMessage"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ModelMetadata { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelMetadata() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.modelVersion = try reader["ModelVersion"].readIfPresent() - value.modelArn = try reader["ModelArn"].readIfPresent() - value.description = try reader["Description"].readIfPresent() - value.status = try reader["Status"].readIfPresent() - value.statusMessage = try reader["StatusMessage"].readIfPresent() - value.performance = try reader["Performance"].readIfPresent(with: LookoutVisionClientTypes.ModelPerformance.read(from:)) - return value - } -} - -extension LookoutVisionClientTypes.ModelPerformance { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelPerformance { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelPerformance() - value.f1Score = try reader["F1Score"].readIfPresent() - value.recall = try reader["Recall"].readIfPresent() - value.precision = try reader["Precision"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ProjectMetadata { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ProjectMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ProjectMetadata() - value.projectArn = try reader["ProjectArn"].readIfPresent() - value.projectName = try reader["ProjectName"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension LookoutVisionClientTypes.DatasetDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.DatasetDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.DatasetDescription() - value.projectName = try reader["ProjectName"].readIfPresent() - value.datasetType = try reader["DatasetType"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedTimestamp = try reader["LastUpdatedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["Status"].readIfPresent() - value.statusMessage = try reader["StatusMessage"].readIfPresent() - value.imageStats = try reader["ImageStats"].readIfPresent(with: LookoutVisionClientTypes.DatasetImageStats.read(from:)) - return value - } -} - -extension LookoutVisionClientTypes.DatasetImageStats { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.DatasetImageStats { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.DatasetImageStats() - value.total = try reader["Total"].readIfPresent() - value.labeled = try reader["Labeled"].readIfPresent() - value.normal = try reader["Normal"].readIfPresent() - value.anomaly = try reader["Anomaly"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ModelDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelDescription() - value.modelVersion = try reader["ModelVersion"].readIfPresent() - value.modelArn = try reader["ModelArn"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.description = try reader["Description"].readIfPresent() - value.status = try reader["Status"].readIfPresent() - value.statusMessage = try reader["StatusMessage"].readIfPresent() - value.performance = try reader["Performance"].readIfPresent(with: LookoutVisionClientTypes.ModelPerformance.read(from:)) - value.outputConfig = try reader["OutputConfig"].readIfPresent(with: LookoutVisionClientTypes.OutputConfig.read(from:)) - value.evaluationManifest = try reader["EvaluationManifest"].readIfPresent(with: LookoutVisionClientTypes.OutputS3Object.read(from:)) - value.evaluationResult = try reader["EvaluationResult"].readIfPresent(with: LookoutVisionClientTypes.OutputS3Object.read(from:)) - value.evaluationEndTimestamp = try reader["EvaluationEndTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.kmsKeyId = try reader["KmsKeyId"].readIfPresent() - value.minInferenceUnits = try reader["MinInferenceUnits"].readIfPresent() - value.maxInferenceUnits = try reader["MaxInferenceUnits"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.OutputS3Object { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.OutputS3Object { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.OutputS3Object() - value.bucket = try reader["Bucket"].readIfPresent() ?? "" - value.key = try reader["Key"].readIfPresent() ?? "" - return value - } -} - -extension LookoutVisionClientTypes.OutputConfig { - - static func write(value: LookoutVisionClientTypes.OutputConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["S3Location"].write(value.s3Location, with: LookoutVisionClientTypes.S3Location.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.OutputConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.OutputConfig() - value.s3Location = try reader["S3Location"].readIfPresent(with: LookoutVisionClientTypes.S3Location.read(from:)) - return value - } -} - -extension LookoutVisionClientTypes.S3Location { - - static func write(value: LookoutVisionClientTypes.S3Location?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Bucket"].write(value.bucket) - try writer["Prefix"].write(value.`prefix`) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.S3Location { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.S3Location() - value.bucket = try reader["Bucket"].readIfPresent() ?? "" - value.`prefix` = try reader["Prefix"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ModelPackagingDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelPackagingDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelPackagingDescription() - value.jobName = try reader["JobName"].readIfPresent() - value.projectName = try reader["ProjectName"].readIfPresent() - value.modelVersion = try reader["ModelVersion"].readIfPresent() - value.modelPackagingConfiguration = try reader["ModelPackagingConfiguration"].readIfPresent(with: LookoutVisionClientTypes.ModelPackagingConfiguration.read(from:)) - value.modelPackagingJobDescription = try reader["ModelPackagingJobDescription"].readIfPresent() - value.modelPackagingMethod = try reader["ModelPackagingMethod"].readIfPresent() - value.modelPackagingOutputDetails = try reader["ModelPackagingOutputDetails"].readIfPresent(with: LookoutVisionClientTypes.ModelPackagingOutputDetails.read(from:)) - value.status = try reader["Status"].readIfPresent() - value.statusMessage = try reader["StatusMessage"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedTimestamp = try reader["LastUpdatedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension LookoutVisionClientTypes.ModelPackagingOutputDetails { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelPackagingOutputDetails { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelPackagingOutputDetails() - value.greengrass = try reader["Greengrass"].readIfPresent(with: LookoutVisionClientTypes.GreengrassOutputDetails.read(from:)) - return value - } -} - -extension LookoutVisionClientTypes.GreengrassOutputDetails { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.GreengrassOutputDetails { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.GreengrassOutputDetails() - value.componentVersionArn = try reader["ComponentVersionArn"].readIfPresent() - value.componentName = try reader["ComponentName"].readIfPresent() - value.componentVersion = try reader["ComponentVersion"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ModelPackagingConfiguration { - - static func write(value: LookoutVisionClientTypes.ModelPackagingConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Greengrass"].write(value.greengrass, with: LookoutVisionClientTypes.GreengrassConfiguration.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelPackagingConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelPackagingConfiguration() - value.greengrass = try reader["Greengrass"].readIfPresent(with: LookoutVisionClientTypes.GreengrassConfiguration.read(from:)) - return value - } -} - -extension LookoutVisionClientTypes.GreengrassConfiguration { - - static func write(value: LookoutVisionClientTypes.GreengrassConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["CompilerOptions"].write(value.compilerOptions) - try writer["ComponentDescription"].write(value.componentDescription) - try writer["ComponentName"].write(value.componentName) - try writer["ComponentVersion"].write(value.componentVersion) - try writer["S3OutputLocation"].write(value.s3OutputLocation, with: LookoutVisionClientTypes.S3Location.write(value:to:)) - try writer["Tags"].writeList(value.tags, memberWritingClosure: LookoutVisionClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["TargetDevice"].write(value.targetDevice) - try writer["TargetPlatform"].write(value.targetPlatform, with: LookoutVisionClientTypes.TargetPlatform.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.GreengrassConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.GreengrassConfiguration() - value.compilerOptions = try reader["CompilerOptions"].readIfPresent() - value.targetDevice = try reader["TargetDevice"].readIfPresent() - value.targetPlatform = try reader["TargetPlatform"].readIfPresent(with: LookoutVisionClientTypes.TargetPlatform.read(from:)) - value.s3OutputLocation = try reader["S3OutputLocation"].readIfPresent(with: LookoutVisionClientTypes.S3Location.read(from:)) - value.componentName = try reader["ComponentName"].readIfPresent() ?? "" - value.componentVersion = try reader["ComponentVersion"].readIfPresent() - value.componentDescription = try reader["ComponentDescription"].readIfPresent() - value.tags = try reader["Tags"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.Tag.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutVisionClientTypes.Tag { - - static func write(value: LookoutVisionClientTypes.Tag?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Key"].write(value.key) - try writer["Value"].write(value.value) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.Tag { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.Tag() - value.key = try reader["Key"].readIfPresent() ?? "" - value.value = try reader["Value"].readIfPresent() ?? "" - return value - } -} - -extension LookoutVisionClientTypes.TargetPlatform { - - static func write(value: LookoutVisionClientTypes.TargetPlatform?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Accelerator"].write(value.accelerator) - try writer["Arch"].write(value.arch) - try writer["Os"].write(value.os) - } - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.TargetPlatform { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.TargetPlatform() - value.os = try reader["Os"].readIfPresent() ?? .sdkUnknown("") - value.arch = try reader["Arch"].readIfPresent() ?? .sdkUnknown("") - value.accelerator = try reader["Accelerator"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ProjectDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ProjectDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ProjectDescription() - value.projectArn = try reader["ProjectArn"].readIfPresent() - value.projectName = try reader["ProjectName"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.datasets = try reader["Datasets"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.DatasetMetadata.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension LookoutVisionClientTypes.DetectAnomalyResult { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.DetectAnomalyResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.DetectAnomalyResult() - value.source = try reader["Source"].readIfPresent(with: LookoutVisionClientTypes.ImageSource.read(from:)) - value.isAnomalous = try reader["IsAnomalous"].readIfPresent() - value.confidence = try reader["Confidence"].readIfPresent() - value.anomalies = try reader["Anomalies"].readListIfPresent(memberReadingClosure: LookoutVisionClientTypes.Anomaly.read(from:), memberNodeInfo: "member", isFlattened: false) - value.anomalyMask = try reader["AnomalyMask"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.Anomaly { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.Anomaly { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.Anomaly() - value.name = try reader["Name"].readIfPresent() - value.pixelAnomaly = try reader["PixelAnomaly"].readIfPresent(with: LookoutVisionClientTypes.PixelAnomaly.read(from:)) - return value - } -} - -extension LookoutVisionClientTypes.PixelAnomaly { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.PixelAnomaly { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.PixelAnomaly() - value.totalPercentageArea = try reader["TotalPercentageArea"].readIfPresent() - value.color = try reader["Color"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ImageSource { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ImageSource { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ImageSource() - value.type = try reader["Type"].readIfPresent() - return value - } -} - -extension LookoutVisionClientTypes.ModelPackagingJobMetadata { - - static func read(from reader: SmithyJSON.Reader) throws -> LookoutVisionClientTypes.ModelPackagingJobMetadata { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = LookoutVisionClientTypes.ModelPackagingJobMetadata() - value.jobName = try reader["JobName"].readIfPresent() - value.projectName = try reader["ProjectName"].readIfPresent() - value.modelVersion = try reader["ModelVersion"].readIfPresent() - value.modelPackagingJobDescription = try reader["ModelPackagingJobDescription"].readIfPresent() - value.modelPackagingMethod = try reader["ModelPackagingMethod"].readIfPresent() - value.status = try reader["Status"].readIfPresent() - value.statusMessage = try reader["StatusMessage"].readIfPresent() - value.creationTimestamp = try reader["CreationTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedTimestamp = try reader["LastUpdatedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension LookoutVisionClientTypes.DatasetSource { - - static func write(value: LookoutVisionClientTypes.DatasetSource?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["GroundTruthManifest"].write(value.groundTruthManifest, with: LookoutVisionClientTypes.DatasetGroundTruthManifest.write(value:to:)) - } -} - -extension LookoutVisionClientTypes.DatasetGroundTruthManifest { - - static func write(value: LookoutVisionClientTypes.DatasetGroundTruthManifest?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["S3Object"].write(value.s3Object, with: LookoutVisionClientTypes.InputS3Object.write(value:to:)) - } -} - -extension LookoutVisionClientTypes.InputS3Object { - - static func write(value: LookoutVisionClientTypes.InputS3Object?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Bucket"].write(value.bucket) - try writer["Key"].write(value.key) - try writer["VersionId"].write(value.versionId) - } -} - -public enum LookoutVisionClientTypes {} diff --git a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Paginators.swift b/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Paginators.swift deleted file mode 100644 index cbb684e852e..00000000000 --- a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Paginators.swift +++ /dev/null @@ -1,142 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import Foundation -import protocol ClientRuntime.PaginateToken -import struct ClientRuntime.PaginatorSequence - -extension LookoutVisionClient { - /// Paginate over `[ListDatasetEntriesOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListDatasetEntriesInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListDatasetEntriesOutput` - public func listDatasetEntriesPaginated(input: ListDatasetEntriesInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listDatasetEntries(input:)) - } -} - -extension ListDatasetEntriesInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListDatasetEntriesInput { - return ListDatasetEntriesInput( - afterCreationDate: self.afterCreationDate, - anomalyClass: self.anomalyClass, - beforeCreationDate: self.beforeCreationDate, - datasetType: self.datasetType, - labeled: self.labeled, - maxResults: self.maxResults, - nextToken: token, - projectName: self.projectName, - sourceRefContains: self.sourceRefContains - )} -} - -extension PaginatorSequence where OperationStackInput == ListDatasetEntriesInput, OperationStackOutput == ListDatasetEntriesOutput { - /// This paginator transforms the `AsyncSequence` returned by `listDatasetEntriesPaginated` - /// to access the nested member `[Swift.String]` - /// - Returns: `[Swift.String]` - public func datasetEntries() async throws -> [Swift.String] { - return try await self.asyncCompactMap { item in item.datasetEntries } - } -} -extension LookoutVisionClient { - /// Paginate over `[ListModelPackagingJobsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListModelPackagingJobsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListModelPackagingJobsOutput` - public func listModelPackagingJobsPaginated(input: ListModelPackagingJobsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listModelPackagingJobs(input:)) - } -} - -extension ListModelPackagingJobsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListModelPackagingJobsInput { - return ListModelPackagingJobsInput( - maxResults: self.maxResults, - nextToken: token, - projectName: self.projectName - )} -} - -extension PaginatorSequence where OperationStackInput == ListModelPackagingJobsInput, OperationStackOutput == ListModelPackagingJobsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listModelPackagingJobsPaginated` - /// to access the nested member `[LookoutVisionClientTypes.ModelPackagingJobMetadata]` - /// - Returns: `[LookoutVisionClientTypes.ModelPackagingJobMetadata]` - public func modelPackagingJobs() async throws -> [LookoutVisionClientTypes.ModelPackagingJobMetadata] { - return try await self.asyncCompactMap { item in item.modelPackagingJobs } - } -} -extension LookoutVisionClient { - /// Paginate over `[ListModelsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListModelsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListModelsOutput` - public func listModelsPaginated(input: ListModelsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listModels(input:)) - } -} - -extension ListModelsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListModelsInput { - return ListModelsInput( - maxResults: self.maxResults, - nextToken: token, - projectName: self.projectName - )} -} - -extension PaginatorSequence where OperationStackInput == ListModelsInput, OperationStackOutput == ListModelsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listModelsPaginated` - /// to access the nested member `[LookoutVisionClientTypes.ModelMetadata]` - /// - Returns: `[LookoutVisionClientTypes.ModelMetadata]` - public func models() async throws -> [LookoutVisionClientTypes.ModelMetadata] { - return try await self.asyncCompactMap { item in item.models } - } -} -extension LookoutVisionClient { - /// Paginate over `[ListProjectsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListProjectsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListProjectsOutput` - public func listProjectsPaginated(input: ListProjectsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listProjects(input:)) - } -} - -extension ListProjectsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListProjectsInput { - return ListProjectsInput( - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListProjectsInput, OperationStackOutput == ListProjectsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listProjectsPaginated` - /// to access the nested member `[LookoutVisionClientTypes.ProjectMetadata]` - /// - Returns: `[LookoutVisionClientTypes.ProjectMetadata]` - public func projects() async throws -> [LookoutVisionClientTypes.ProjectMetadata] { - return try await self.asyncCompactMap { item in item.projects } - } -} diff --git a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Plugins.swift b/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Plugins.swift deleted file mode 100644 index 7ef23125acd..00000000000 --- a/Sources/Services/AWSLookoutVision/Sources/AWSLookoutVision/Plugins.swift +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import protocol ClientRuntime.ClientConfiguration -import protocol ClientRuntime.Plugin -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -import struct AWSSDKHTTPAuth.SigV4AuthScheme -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class LookoutVisionClientEndpointPlugin: Plugin { - private var endpointResolver: EndpointResolver - - public init(endpointResolver: EndpointResolver) { - self.endpointResolver = endpointResolver - } - - public convenience init() throws { - self.init(endpointResolver: try DefaultEndpointResolver()) - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? LookoutVisionClient.LookoutVisionClientConfiguration { - config.endpointResolver = self.endpointResolver - } - } -} - -public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { - - public init() {} - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? LookoutVisionClient.LookoutVisionClientConfiguration { - config.authSchemeResolver = DefaultLookoutVisionAuthSchemeResolver() - config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] - config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() - config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() - } - } -} - -public class LookoutVisionClientAuthSchemePlugin: ClientRuntime.Plugin { - private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - private var authSchemePreference: [String] - private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? - private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? - private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: LookoutVisionAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { - self.authSchemeResolver = authSchemeResolver - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference ?? [] - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? LookoutVisionClient.LookoutVisionClientConfiguration { - if (self.authSchemes != nil) { - config.authSchemes = self.authSchemes - } - config.authSchemePreference = self.authSchemePreference - if (self.authSchemeResolver != nil) { - config.authSchemeResolver = self.authSchemeResolver! - } - if (self.awsCredentialIdentityResolver != nil) { - config.awsCredentialIdentityResolver = self.awsCredentialIdentityResolver! - } - if (self.bearerTokenIdentityResolver != nil) { - config.bearerTokenIdentityResolver = self.bearerTokenIdentityResolver! - } - } - } -} diff --git a/Sources/Services/AWSM2/Sources/AWSM2/M2Client.swift b/Sources/Services/AWSM2/Sources/AWSM2/M2Client.swift index 2725c24e484..f713c34effb 100644 --- a/Sources/Services/AWSM2/Sources/AWSM2/M2Client.swift +++ b/Sources/Services/AWSM2/Sources/AWSM2/M2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class M2Client: ClientRuntime.Client { +public class M2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "M2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: M2Client.M2ClientConfiguration let serviceName = "m2" diff --git a/Sources/Services/AWSMPA/Sources/AWSMPA/MPAClient.swift b/Sources/Services/AWSMPA/Sources/AWSMPA/MPAClient.swift index 7445080655e..6dde137eceb 100644 --- a/Sources/Services/AWSMPA/Sources/AWSMPA/MPAClient.swift +++ b/Sources/Services/AWSMPA/Sources/AWSMPA/MPAClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MPAClient: ClientRuntime.Client { +public class MPAClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MPAClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MPAClient.MPAClientConfiguration let serviceName = "MPA" diff --git a/Sources/Services/AWSMTurk/Sources/AWSMTurk/MTurkClient.swift b/Sources/Services/AWSMTurk/Sources/AWSMTurk/MTurkClient.swift index 090478d3ca9..f2c35811c02 100644 --- a/Sources/Services/AWSMTurk/Sources/AWSMTurk/MTurkClient.swift +++ b/Sources/Services/AWSMTurk/Sources/AWSMTurk/MTurkClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MTurkClient: ClientRuntime.Client { +public class MTurkClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MTurkClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MTurkClient.MTurkClientConfiguration let serviceName = "MTurk" diff --git a/Sources/Services/AWSMWAA/Sources/AWSMWAA/MWAAClient.swift b/Sources/Services/AWSMWAA/Sources/AWSMWAA/MWAAClient.swift index 4e7c07eb558..973555c41f2 100644 --- a/Sources/Services/AWSMWAA/Sources/AWSMWAA/MWAAClient.swift +++ b/Sources/Services/AWSMWAA/Sources/AWSMWAA/MWAAClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MWAAClient: ClientRuntime.Client { +public class MWAAClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MWAAClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MWAAClient.MWAAClientConfiguration let serviceName = "MWAA" diff --git a/Sources/Services/AWSMachineLearning/Sources/AWSMachineLearning/MachineLearningClient.swift b/Sources/Services/AWSMachineLearning/Sources/AWSMachineLearning/MachineLearningClient.swift index 1731c5c0fda..e95cbbce476 100644 --- a/Sources/Services/AWSMachineLearning/Sources/AWSMachineLearning/MachineLearningClient.swift +++ b/Sources/Services/AWSMachineLearning/Sources/AWSMachineLearning/MachineLearningClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MachineLearningClient: ClientRuntime.Client { +public class MachineLearningClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MachineLearningClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MachineLearningClient.MachineLearningClientConfiguration let serviceName = "Machine Learning" diff --git a/Sources/Services/AWSMacie2/Sources/AWSMacie2/Macie2Client.swift b/Sources/Services/AWSMacie2/Sources/AWSMacie2/Macie2Client.swift index 6851d86a45c..7a87963c18d 100644 --- a/Sources/Services/AWSMacie2/Sources/AWSMacie2/Macie2Client.swift +++ b/Sources/Services/AWSMacie2/Sources/AWSMacie2/Macie2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Macie2Client: ClientRuntime.Client { +public class Macie2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "Macie2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Macie2Client.Macie2ClientConfiguration let serviceName = "Macie2" diff --git a/Sources/Services/AWSMailManager/Sources/AWSMailManager/MailManagerClient.swift b/Sources/Services/AWSMailManager/Sources/AWSMailManager/MailManagerClient.swift index ddb251d9ca1..625f0e37fff 100644 --- a/Sources/Services/AWSMailManager/Sources/AWSMailManager/MailManagerClient.swift +++ b/Sources/Services/AWSMailManager/Sources/AWSMailManager/MailManagerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MailManagerClient: ClientRuntime.Client { +public class MailManagerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MailManagerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MailManagerClient.MailManagerClientConfiguration let serviceName = "MailManager" diff --git a/Sources/Services/AWSManagedBlockchain/Sources/AWSManagedBlockchain/ManagedBlockchainClient.swift b/Sources/Services/AWSManagedBlockchain/Sources/AWSManagedBlockchain/ManagedBlockchainClient.swift index b984bf86013..c2493677463 100644 --- a/Sources/Services/AWSManagedBlockchain/Sources/AWSManagedBlockchain/ManagedBlockchainClient.swift +++ b/Sources/Services/AWSManagedBlockchain/Sources/AWSManagedBlockchain/ManagedBlockchainClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ManagedBlockchainClient: ClientRuntime.Client { +public class ManagedBlockchainClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ManagedBlockchainClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ManagedBlockchainClient.ManagedBlockchainClientConfiguration let serviceName = "ManagedBlockchain" diff --git a/Sources/Services/AWSManagedBlockchainQuery/Sources/AWSManagedBlockchainQuery/ManagedBlockchainQueryClient.swift b/Sources/Services/AWSManagedBlockchainQuery/Sources/AWSManagedBlockchainQuery/ManagedBlockchainQueryClient.swift index f8c57ff49dd..efd74a1115a 100644 --- a/Sources/Services/AWSManagedBlockchainQuery/Sources/AWSManagedBlockchainQuery/ManagedBlockchainQueryClient.swift +++ b/Sources/Services/AWSManagedBlockchainQuery/Sources/AWSManagedBlockchainQuery/ManagedBlockchainQueryClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ManagedBlockchainQueryClient: ClientRuntime.Client { +public class ManagedBlockchainQueryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ManagedBlockchainQueryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ManagedBlockchainQueryClient.ManagedBlockchainQueryClientConfiguration let serviceName = "ManagedBlockchain Query" diff --git a/Sources/Services/AWSMarketplaceAgreement/Sources/AWSMarketplaceAgreement/MarketplaceAgreementClient.swift b/Sources/Services/AWSMarketplaceAgreement/Sources/AWSMarketplaceAgreement/MarketplaceAgreementClient.swift index ea5a8312d5d..5db0d78e23c 100644 --- a/Sources/Services/AWSMarketplaceAgreement/Sources/AWSMarketplaceAgreement/MarketplaceAgreementClient.swift +++ b/Sources/Services/AWSMarketplaceAgreement/Sources/AWSMarketplaceAgreement/MarketplaceAgreementClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceAgreementClient: ClientRuntime.Client { +public class MarketplaceAgreementClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceAgreementClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceAgreementClient.MarketplaceAgreementClientConfiguration let serviceName = "Marketplace Agreement" diff --git a/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/MarketplaceCatalogClient.swift b/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/MarketplaceCatalogClient.swift index 2b0a65f6dbe..36f84f11fa1 100644 --- a/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/MarketplaceCatalogClient.swift +++ b/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/MarketplaceCatalogClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceCatalogClient: ClientRuntime.Client { +public class MarketplaceCatalogClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceCatalogClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceCatalogClient.MarketplaceCatalogClientConfiguration let serviceName = "Marketplace Catalog" diff --git a/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/Models.swift b/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/Models.swift index e07b13edb46..efd75c7033b 100644 --- a/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/Models.swift +++ b/Sources/Services/AWSMarketplaceCatalog/Sources/AWSMarketplaceCatalog/Models.swift @@ -1448,7 +1448,7 @@ extension MarketplaceCatalogClientTypes { extension MarketplaceCatalogClientTypes { - /// The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, LastModifiedDate, ProductTitle, and Visibility. + /// The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, astModifiedDate, ProductTitle, and Visibility. public struct MachineLearningProductFilters: Swift.Sendable { /// Filter machine learning products by their entity IDs. public var entityId: MarketplaceCatalogClientTypes.MachineLearningProductEntityIdFilter? @@ -2343,7 +2343,7 @@ extension MarketplaceCatalogClientTypes { case containerproductfilters(MarketplaceCatalogClientTypes.ContainerProductFilters) /// A filter for Resale Authorizations. case resaleauthorizationfilters(MarketplaceCatalogClientTypes.ResaleAuthorizationFilters) - /// The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, LastModifiedDate, ProductTitle, and Visibility. + /// The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, astModifiedDate, ProductTitle, and Visibility. case machinelearningproductfilters(MarketplaceCatalogClientTypes.MachineLearningProductFilters) case sdkUnknown(Swift.String) } @@ -2352,6 +2352,7 @@ extension MarketplaceCatalogClientTypes { extension MarketplaceCatalogClientTypes { public enum ContainerProductSortBy: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case compatibleawsservices case entityid case lastmodifieddate case producttitle @@ -2360,6 +2361,7 @@ extension MarketplaceCatalogClientTypes { public static var allCases: [ContainerProductSortBy] { return [ + .compatibleawsservices, .entityid, .lastmodifieddate, .producttitle, @@ -2374,6 +2376,7 @@ extension MarketplaceCatalogClientTypes { public var rawValue: Swift.String { switch self { + case .compatibleawsservices: return "CompatibleAWSServices" case .entityid: return "EntityId" case .lastmodifieddate: return "LastModifiedDate" case .producttitle: return "ProductTitle" @@ -2668,6 +2671,7 @@ extension MarketplaceCatalogClientTypes { extension MarketplaceCatalogClientTypes { public enum SaaSProductSortBy: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case deliveryoptiontypes case entityid case lastmodifieddate case producttitle @@ -2676,6 +2680,7 @@ extension MarketplaceCatalogClientTypes { public static var allCases: [SaaSProductSortBy] { return [ + .deliveryoptiontypes, .entityid, .lastmodifieddate, .producttitle, @@ -2690,6 +2695,7 @@ extension MarketplaceCatalogClientTypes { public var rawValue: Swift.String { switch self { + case .deliveryoptiontypes: return "DeliveryOptionTypes" case .entityid: return "EntityId" case .lastmodifieddate: return "LastModifiedDate" case .producttitle: return "ProductTitle" diff --git a/Sources/Services/AWSMarketplaceCommerceAnalytics/Sources/AWSMarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.swift b/Sources/Services/AWSMarketplaceCommerceAnalytics/Sources/AWSMarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.swift index 6f570ffbd48..fadf8c74274 100644 --- a/Sources/Services/AWSMarketplaceCommerceAnalytics/Sources/AWSMarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.swift +++ b/Sources/Services/AWSMarketplaceCommerceAnalytics/Sources/AWSMarketplaceCommerceAnalytics/MarketplaceCommerceAnalyticsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceCommerceAnalyticsClient: ClientRuntime.Client { +public class MarketplaceCommerceAnalyticsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceCommerceAnalyticsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceCommerceAnalyticsClient.MarketplaceCommerceAnalyticsClientConfiguration let serviceName = "Marketplace Commerce Analytics" diff --git a/Sources/Services/AWSMarketplaceDeployment/Sources/AWSMarketplaceDeployment/MarketplaceDeploymentClient.swift b/Sources/Services/AWSMarketplaceDeployment/Sources/AWSMarketplaceDeployment/MarketplaceDeploymentClient.swift index 09475cb230c..f66be70e651 100644 --- a/Sources/Services/AWSMarketplaceDeployment/Sources/AWSMarketplaceDeployment/MarketplaceDeploymentClient.swift +++ b/Sources/Services/AWSMarketplaceDeployment/Sources/AWSMarketplaceDeployment/MarketplaceDeploymentClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceDeploymentClient: ClientRuntime.Client { +public class MarketplaceDeploymentClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceDeploymentClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceDeploymentClient.MarketplaceDeploymentClientConfiguration let serviceName = "Marketplace Deployment" diff --git a/Sources/Services/AWSMarketplaceEntitlementService/Sources/AWSMarketplaceEntitlementService/MarketplaceEntitlementClient.swift b/Sources/Services/AWSMarketplaceEntitlementService/Sources/AWSMarketplaceEntitlementService/MarketplaceEntitlementClient.swift index 47b809d251d..c5820d39e3b 100644 --- a/Sources/Services/AWSMarketplaceEntitlementService/Sources/AWSMarketplaceEntitlementService/MarketplaceEntitlementClient.swift +++ b/Sources/Services/AWSMarketplaceEntitlementService/Sources/AWSMarketplaceEntitlementService/MarketplaceEntitlementClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceEntitlementClient: ClientRuntime.Client { +public class MarketplaceEntitlementClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceEntitlementClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceEntitlementClient.MarketplaceEntitlementClientConfiguration let serviceName = "Marketplace Entitlement" diff --git a/Sources/Services/AWSMarketplaceEntitlementService/Tests/AWSMarketplaceEntitlementServiceTests/EndpointResolverTest.swift b/Sources/Services/AWSMarketplaceEntitlementService/Tests/AWSMarketplaceEntitlementServiceTests/EndpointResolverTest.swift index 3225f96974e..a3495bf70b8 100644 --- a/Sources/Services/AWSMarketplaceEntitlementService/Tests/AWSMarketplaceEntitlementServiceTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSMarketplaceEntitlementService/Tests/AWSMarketplaceEntitlementServiceTests/EndpointResolverTest.swift @@ -237,11 +237,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -252,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -272,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -292,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -312,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -332,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -352,15 +352,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -372,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -392,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -412,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -432,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -452,17 +452,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -472,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -492,15 +492,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -512,7 +512,7 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://entitlement.marketplace.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/MarketplaceMeteringClient.swift b/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/MarketplaceMeteringClient.swift index c914d8c1714..a6f379e3aed 100644 --- a/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/MarketplaceMeteringClient.swift +++ b/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/MarketplaceMeteringClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -55,6 +55,7 @@ import struct ClientRuntime.AuthSchemeMiddleware import struct ClientRuntime.ContentLengthMiddleware import struct ClientRuntime.ContentTypeMiddleware @_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware +import struct ClientRuntime.IdempotencyTokenMiddleware import struct ClientRuntime.LoggerMiddleware import struct ClientRuntime.SignerMiddleware import struct ClientRuntime.URLHostMiddleware @@ -66,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceMeteringClient: ClientRuntime.Client { +public class MarketplaceMeteringClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceMeteringClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceMeteringClient.MarketplaceMeteringClientConfiguration let serviceName = "Marketplace Metering" @@ -372,7 +372,7 @@ extension MarketplaceMeteringClient { extension MarketplaceMeteringClient { /// Performs the `BatchMeterUsage` operation on the `MarketplaceMetering` service. /// - /// The CustomerIdentifier parameter is scheduled for deprecation. Use CustomerAWSAccountID instead. These parameters are mutually exclusive. You can't specify both CustomerIdentifier and CustomerAWSAccountID in the same request. To post metering records for customers, SaaS applications call BatchMeterUsage, which is used for metering SaaS flexible consumption pricing (FCP). Identical requests are idempotent and can be retried with the same records or a subset of records. Each BatchMeterUsage request is for only one product. If you want to meter usage for multiple products, you must make multiple BatchMeterUsage calls. Usage records should be submitted in quick succession following a recorded event. Usage records aren't accepted 6 hours or more after an event. BatchMeterUsage can process up to 25 UsageRecords at a time, and each request must be less than 1 MB in size. Optionally, you can have multiple usage allocations for usage data that's split into buckets according to predefined tags. BatchMeterUsage returns a list of UsageRecordResult objects, which have each UsageRecord. It also returns a list of UnprocessedRecords, which indicate errors on the service side that should be retried. For Amazon Web Services Regions that support BatchMeterUsage, see [BatchMeterUsage Region support](https://docs.aws.amazon.com/marketplace/latest/APIReference/metering-regions.html#batchmeterusage-region-support). For an example of BatchMeterUsage, see [ BatchMeterUsage code example](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-batchmeterusage-example) in the Amazon Web Services Marketplace Seller Guide. + /// The CustomerIdentifier parameter is scheduled for deprecation on March 31, 2026. Use CustomerAWSAccountID instead. These parameters are mutually exclusive. You can't specify both CustomerIdentifier and CustomerAWSAccountID in the same request. To post metering records for customers, SaaS applications call BatchMeterUsage, which is used for metering SaaS flexible consumption pricing (FCP). Identical requests are idempotent and can be retried with the same records or a subset of records. Each BatchMeterUsage request is for only one product. If you want to meter usage for multiple products, you must make multiple BatchMeterUsage calls. Usage records should be submitted in quick succession following a recorded event. Usage records aren't accepted 6 hours or more after an event. BatchMeterUsage can process up to 25 UsageRecords at a time, and each request must be less than 1 MB in size. Optionally, you can have multiple usage allocations for usage data that's split into buckets according to predefined tags. BatchMeterUsage returns a list of UsageRecordResult objects, which have each UsageRecord. It also returns a list of UnprocessedRecords, which indicate errors on the service side that should be retried. For Amazon Web Services Regions that support BatchMeterUsage, see [BatchMeterUsage Region support](https://docs.aws.amazon.com/marketplace/latest/APIReference/metering-regions.html#batchmeterusage-region-support). For an example of BatchMeterUsage, see [ BatchMeterUsage code example](https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-batchmeterusage-example) in the Amazon Web Services Marketplace Seller Guide. /// /// - Parameter input: A BatchMeterUsageRequest contains UsageRecords, which indicate quantities of usage within your application. (Type: `BatchMeterUsageInput`) /// @@ -449,7 +449,7 @@ extension MarketplaceMeteringClient { /// Performs the `MeterUsage` operation on the `MarketplaceMetering` service. /// - /// API to emit metering records. For identical requests, the API is idempotent and returns the metering record ID. This is used for metering flexible consumption pricing (FCP) Amazon Machine Images (AMI) and container products. MeterUsage is authenticated on the buyer's Amazon Web Services account using credentials from the Amazon EC2 instance, Amazon ECS task, or Amazon EKS pod. MeterUsage can optionally include multiple usage allocations, to provide customers with usage data split into buckets by tags that you define (or allow the customer to define). Usage records are expected to be submitted as quickly as possible after the event that is being recorded, and are not accepted more than 6 hours after the event. For Amazon Web Services Regions that support MeterUsage, see [MeterUsage Region support for Amazon EC2](https://docs.aws.amazon.com/marketplace/latest/APIReference/metering-regions.html#meterusage-region-support-ec2) and [MeterUsage Region support for Amazon ECS and Amazon EKS](https://docs.aws.amazon.com/marketplace/latest/APIReference/metering-regions.html#meterusage-region-support-ecs-eks). + /// API to emit metering records. For identical requests, the API is idempotent and returns the metering record ID. This is used for metering flexible consumption pricing (FCP) Amazon Machine Images (AMI) and container products. MeterUsage is authenticated on the buyer's Amazon Web Services account using credentials from the Amazon EC2 instance, Amazon ECS task, or Amazon EKS pod. MeterUsage can optionally include multiple usage allocations, to provide customers with usage data split into buckets by tags that you define (or allow the customer to define). Submit usage records to report events from the previous hour. If you submit records that are greater than six hours after events occur, the records won’t be accepted. The timestamp in your request determines when an event is recorded. You can only report usage once per hour for each dimension. For AMI-based products, this is per dimension and per EC2 instance. For container products, this is per dimension and per ECS task or EKS pod. You can’t modify values after they’re recorded. If you report usage before the current hour ends, you will be unable to report additional usage until the next hour begins. For Amazon Web Services Regions that support MeterUsage, see [MeterUsage Region support for Amazon EC2](https://docs.aws.amazon.com/marketplace/latest/APIReference/metering-regions.html#meterusage-region-support-ec2) and [MeterUsage Region support for Amazon ECS and Amazon EKS](https://docs.aws.amazon.com/marketplace/latest/APIReference/metering-regions.html#meterusage-region-support-ecs-eks). /// /// - Parameter input: [no documentation found] (Type: `MeterUsageInput`) /// @@ -460,6 +460,7 @@ extension MarketplaceMeteringClient { /// __Possible Exceptions:__ /// - `CustomerNotEntitledException` : Exception thrown when the customer does not have a valid subscription for the product. /// - `DuplicateRequestException` : A metering record has already been emitted by the same EC2 instance, ECS task, or EKS pod for the given {usageDimension, timestamp} with a different usageQuantity. + /// - `IdempotencyConflictException` : The ClientToken is being used for multiple requests. /// - `InternalServiceErrorException` : An internal error has occurred. Retry your request. If the problem persists, post a message with details on the Amazon Web Services forums. /// - `InvalidEndpointRegionException` : The endpoint being called is in a Amazon Web Services Region different from your EC2 instance, ECS task, or EKS pod. The Region of the Metering Service endpoint and the Amazon Web Services Region of the resource must match. /// - `InvalidProductCodeException` : The product code passed does not match the product code used for publishing the product. @@ -489,6 +490,7 @@ extension MarketplaceMeteringClient { config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) builder.interceptors.add(ClientRuntime.URLPathMiddleware(MeterUsageInput.urlPathProvider(_:))) builder.interceptors.add(ClientRuntime.URLHostMiddleware()) builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) diff --git a/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/Models.swift b/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/Models.swift index 4de281ecdaa..9ce59c2803b 100644 --- a/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/Models.swift +++ b/Sources/Services/AWSMarketplaceMetering/Sources/AWSMarketplaceMetering/Models.swift @@ -285,7 +285,7 @@ extension MarketplaceMeteringClientTypes { public var dimension: Swift.String? /// The quantity of usage consumed by the customer for the given dimension and time. Defaults to 0 if not specified. public var quantity: Swift.Int? - /// Timestamp, in UTC, for which the usage is being reported. Your application can meter usage for up to one hour in the past. Make sure the timestamp value is not before the start of the software usage. + /// Timestamp, in UTC, for which the usage is being reported. Your application can meter usage for up to six hours in the past. Make sure the timestamp value is not before the start of the software usage. /// This member is required. public var timestamp: Foundation.Date? /// The set of UsageAllocations to submit. The sum of all UsageAllocation quantities must equal the Quantity of the UsageRecord. @@ -459,6 +459,29 @@ public struct DuplicateRequestException: ClientRuntime.ModeledError, AWSClientRu } } +/// The ClientToken is being used for multiple requests. +public struct IdempotencyConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "IdempotencyConflictException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + /// The endpoint being called is in a Amazon Web Services Region different from your EC2 instance, ECS task, or EKS pod. The Region of the Metering Service endpoint and the Amazon Web Services Region of the resource must match. public struct InvalidEndpointRegionException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -483,6 +506,8 @@ public struct InvalidEndpointRegionException: ClientRuntime.ModeledError, AWSCli } public struct MeterUsageInput: Swift.Sendable { + /// Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency of the request. This lets you safely retry the request without accidentally performing the same operation a second time. Passing the same value to a later call to an operation requires that you also pass the same value for all other parameters. We recommend that you use a [UUID type of value](https://wikipedia.org/wiki/Universally_unique_identifier). If you don't provide this value, then Amazon Web Services generates a random one for you. If you retry the operation with the same ClientToken, but with different parameters, the retry fails with an IdempotencyConflictException error. + public var clientToken: Swift.String? /// Checks whether you have the permissions required for the action, but does not make the request. If you have the permissions, the request returns DryRunOperation; otherwise, it returns UnauthorizedException. Defaults to false if not specified. public var dryRun: Swift.Bool? /// Product code is used to uniquely identify a product in Amazon Web Services Marketplace. The product code should be the same as the one used during the publishing of a new product. @@ -500,6 +525,7 @@ public struct MeterUsageInput: Swift.Sendable { public var usageQuantity: Swift.Int? public init( + clientToken: Swift.String? = nil, dryRun: Swift.Bool? = nil, productCode: Swift.String? = nil, timestamp: Foundation.Date? = nil, @@ -507,6 +533,7 @@ public struct MeterUsageInput: Swift.Sendable { usageDimension: Swift.String? = nil, usageQuantity: Swift.Int? = nil ) { + self.clientToken = clientToken self.dryRun = dryRun self.productCode = productCode self.timestamp = timestamp @@ -752,6 +779,7 @@ extension MeterUsageInput { static func write(value: MeterUsageInput?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["ClientToken"].write(value.clientToken) try writer["DryRun"].write(value.dryRun) try writer["ProductCode"].write(value.productCode) try writer["Timestamp"].writeTimestamp(value.timestamp, format: SmithyTimestamps.TimestampFormat.epochSeconds) @@ -863,6 +891,7 @@ enum MeterUsageOutputError { switch baseError.code { case "CustomerNotEntitledException": return try CustomerNotEntitledException.makeError(baseError: baseError) case "DuplicateRequestException": return try DuplicateRequestException.makeError(baseError: baseError) + case "IdempotencyConflictException": return try IdempotencyConflictException.makeError(baseError: baseError) case "InternalServiceErrorException": return try InternalServiceErrorException.makeError(baseError: baseError) case "InvalidEndpointRegionException": return try InvalidEndpointRegionException.makeError(baseError: baseError) case "InvalidProductCodeException": return try InvalidProductCodeException.makeError(baseError: baseError) @@ -1058,6 +1087,19 @@ extension DuplicateRequestException { } } +extension IdempotencyConflictException { + + static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> IdempotencyConflictException { + let reader = baseError.errorBodyReader + var value = IdempotencyConflictException() + value.properties.message = try reader["message"].readIfPresent() + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension InvalidEndpointRegionException { static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> InvalidEndpointRegionException { diff --git a/Sources/Services/AWSMarketplaceMetering/Tests/AWSMarketplaceMeteringTests/EndpointResolverTest.swift b/Sources/Services/AWSMarketplaceMetering/Tests/AWSMarketplaceMeteringTests/EndpointResolverTest.swift index f37f443c02e..25dc6ee608a 100644 --- a/Sources/Services/AWSMarketplaceMetering/Tests/AWSMarketplaceMeteringTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSMarketplaceMetering/Tests/AWSMarketplaceMeteringTests/EndpointResolverTest.swift @@ -237,11 +237,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -252,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -272,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -292,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering-marketplace.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -312,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -332,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -352,15 +352,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -372,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -392,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -412,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -432,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -452,17 +452,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -472,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -492,15 +492,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering-marketplace.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -512,7 +512,7 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://metering.marketplace.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSMarketplaceReporting/Sources/AWSMarketplaceReporting/MarketplaceReportingClient.swift b/Sources/Services/AWSMarketplaceReporting/Sources/AWSMarketplaceReporting/MarketplaceReportingClient.swift index ce4c152f953..e8860129c22 100644 --- a/Sources/Services/AWSMarketplaceReporting/Sources/AWSMarketplaceReporting/MarketplaceReportingClient.swift +++ b/Sources/Services/AWSMarketplaceReporting/Sources/AWSMarketplaceReporting/MarketplaceReportingClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MarketplaceReportingClient: ClientRuntime.Client { +public class MarketplaceReportingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MarketplaceReportingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MarketplaceReportingClient.MarketplaceReportingClientConfiguration let serviceName = "Marketplace Reporting" diff --git a/Sources/Services/AWSMediaConnect/Sources/AWSMediaConnect/MediaConnectClient.swift b/Sources/Services/AWSMediaConnect/Sources/AWSMediaConnect/MediaConnectClient.swift index c4fda45990a..8b73498e1f6 100644 --- a/Sources/Services/AWSMediaConnect/Sources/AWSMediaConnect/MediaConnectClient.swift +++ b/Sources/Services/AWSMediaConnect/Sources/AWSMediaConnect/MediaConnectClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaConnectClient: ClientRuntime.Client { +public class MediaConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaConnectClient.MediaConnectClientConfiguration let serviceName = "MediaConnect" diff --git a/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/MediaConvertClient.swift b/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/MediaConvertClient.swift index 719accfd737..7690619ee6d 100644 --- a/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/MediaConvertClient.swift +++ b/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/MediaConvertClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaConvertClient: ClientRuntime.Client { +public class MediaConvertClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaConvertClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaConvertClient.MediaConvertClientConfiguration let serviceName = "MediaConvert" @@ -386,6 +385,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func associateCertificate(input: AssociateCertificateInput) async throws -> AssociateCertificateOutput { let context = Smithy.ContextBuilder() @@ -459,6 +459,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func cancelJob(input: CancelJobInput) async throws -> CancelJobOutput { let context = Smithy.ContextBuilder() @@ -529,6 +530,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func createJob(input: CreateJobInput) async throws -> CreateJobOutput { let context = Smithy.ContextBuilder() @@ -603,6 +605,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func createJobTemplate(input: CreateJobTemplateInput) async throws -> CreateJobTemplateOutput { let context = Smithy.ContextBuilder() @@ -676,6 +679,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func createPreset(input: CreatePresetInput) async throws -> CreatePresetOutput { let context = Smithy.ContextBuilder() @@ -749,6 +753,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func createQueue(input: CreateQueueInput) async throws -> CreateQueueOutput { let context = Smithy.ContextBuilder() @@ -822,6 +827,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func createResourceShare(input: CreateResourceShareInput) async throws -> CreateResourceShareOutput { let context = Smithy.ContextBuilder() @@ -895,6 +901,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func deleteJobTemplate(input: DeleteJobTemplateInput) async throws -> DeleteJobTemplateOutput { let context = Smithy.ContextBuilder() @@ -965,6 +972,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func deletePolicy(input: DeletePolicyInput) async throws -> DeletePolicyOutput { let context = Smithy.ContextBuilder() @@ -1035,6 +1043,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func deletePreset(input: DeletePresetInput) async throws -> DeletePresetOutput { let context = Smithy.ContextBuilder() @@ -1105,6 +1114,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func deleteQueue(input: DeleteQueueInput) async throws -> DeleteQueueOutput { let context = Smithy.ContextBuilder() @@ -1176,6 +1186,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func describeEndpoints(input: DescribeEndpointsInput) async throws -> DescribeEndpointsOutput { let context = Smithy.ContextBuilder() @@ -1249,6 +1260,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func disassociateCertificate(input: DisassociateCertificateInput) async throws -> DisassociateCertificateOutput { let context = Smithy.ContextBuilder() @@ -1319,6 +1331,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func getJob(input: GetJobInput) async throws -> GetJobOutput { let context = Smithy.ContextBuilder() @@ -1389,6 +1402,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func getJobTemplate(input: GetJobTemplateInput) async throws -> GetJobTemplateOutput { let context = Smithy.ContextBuilder() @@ -1443,6 +1457,77 @@ extension MediaConvertClient { return try await op.execute(input: input) } + /// Performs the `GetJobsQueryResults` operation on the `MediaConvert` service. + /// + /// Retrieve a JSON array of up to twenty of your most recent jobs matched by a jobs query. + /// + /// - Parameter input: [no documentation found] (Type: `GetJobsQueryResultsInput`) + /// + /// - Returns: [no documentation found] (Type: `GetJobsQueryResultsOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `BadRequestException` : The service can't process your request because of a problem in the request. Please check your request form and syntax. + /// - `ConflictException` : The service couldn't complete your request because there is a conflict with the current state of the resource. + /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. + /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. + /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. + /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. + public func getJobsQueryResults(input: GetJobsQueryResultsInput) async throws -> GetJobsQueryResultsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "getJobsQueryResults") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "mediaconvert") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetJobsQueryResultsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetJobsQueryResultsOutput.httpOutput(from:), GetJobsQueryResultsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("MediaConvert", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: MediaConvertClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "MediaConvert") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetJobsQueryResults") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetPolicy` operation on the `MediaConvert` service. /// /// Retrieve the JSON for your policy. @@ -1459,6 +1544,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func getPolicy(input: GetPolicyInput) async throws -> GetPolicyOutput { let context = Smithy.ContextBuilder() @@ -1529,6 +1615,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func getPreset(input: GetPresetInput) async throws -> GetPresetOutput { let context = Smithy.ContextBuilder() @@ -1599,6 +1686,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func getQueue(input: GetQueueInput) async throws -> GetQueueOutput { let context = Smithy.ContextBuilder() @@ -1669,6 +1757,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func listJobTemplates(input: ListJobTemplatesInput) async throws -> ListJobTemplatesOutput { let context = Smithy.ContextBuilder() @@ -1740,6 +1829,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func listJobs(input: ListJobsInput) async throws -> ListJobsOutput { let context = Smithy.ContextBuilder() @@ -1811,6 +1901,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func listPresets(input: ListPresetsInput) async throws -> ListPresetsOutput { let context = Smithy.ContextBuilder() @@ -1882,6 +1973,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func listQueues(input: ListQueuesInput) async throws -> ListQueuesOutput { let context = Smithy.ContextBuilder() @@ -1953,6 +2045,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { let context = Smithy.ContextBuilder() @@ -2023,6 +2116,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func listVersions(input: ListVersionsInput) async throws -> ListVersionsOutput { let context = Smithy.ContextBuilder() @@ -2094,6 +2188,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func probe(input: ProbeInput) async throws -> ProbeOutput { let context = Smithy.ContextBuilder() @@ -2167,6 +2262,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func putPolicy(input: PutPolicyInput) async throws -> PutPolicyOutput { let context = Smithy.ContextBuilder() @@ -2240,6 +2336,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func searchJobs(input: SearchJobsInput) async throws -> SearchJobsOutput { let context = Smithy.ContextBuilder() @@ -2295,6 +2392,80 @@ extension MediaConvertClient { return try await op.execute(input: input) } + /// Performs the `StartJobsQuery` operation on the `MediaConvert` service. + /// + /// Start an asynchronous jobs query using the provided filters. To receive the list of jobs that match your query, call the GetJobsQueryResults API using the query ID returned by this API. + /// + /// - Parameter input: [no documentation found] (Type: `StartJobsQueryInput`) + /// + /// - Returns: [no documentation found] (Type: `StartJobsQueryOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `BadRequestException` : The service can't process your request because of a problem in the request. Please check your request form and syntax. + /// - `ConflictException` : The service couldn't complete your request because there is a conflict with the current state of the resource. + /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. + /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. + /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. + /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. + public func startJobsQuery(input: StartJobsQueryInput) async throws -> StartJobsQueryOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "startJobsQuery") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "mediaconvert") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartJobsQueryInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StartJobsQueryInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(StartJobsQueryOutput.httpOutput(from:), StartJobsQueryOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("MediaConvert", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: MediaConvertClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "MediaConvert") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartJobsQuery") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `TagResource` operation on the `MediaConvert` service. /// /// Add tags to a MediaConvert queue, preset, or job template. For information about tagging, see the User Guide at https://docs.aws.amazon.com/mediaconvert/latest/ug/tagging-resources.html @@ -2311,6 +2482,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { let context = Smithy.ContextBuilder() @@ -2384,6 +2556,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { let context = Smithy.ContextBuilder() @@ -2457,6 +2630,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func updateJobTemplate(input: UpdateJobTemplateInput) async throws -> UpdateJobTemplateOutput { let context = Smithy.ContextBuilder() @@ -2530,6 +2704,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func updatePreset(input: UpdatePresetInput) async throws -> UpdatePresetOutput { let context = Smithy.ContextBuilder() @@ -2603,6 +2778,7 @@ extension MediaConvertClient { /// - `ForbiddenException` : You don't have permissions for this action with the credentials you sent. /// - `InternalServerErrorException` : The service encountered an unexpected condition and can't fulfill your request. /// - `NotFoundException` : The resource you requested doesn't exist. + /// - `ServiceQuotaExceededException` : You attempted to create more resources than the service allows based on service quotas. /// - `TooManyRequestsException` : Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public func updateQueue(input: UpdateQueueInput) async throws -> UpdateQueueOutput { let context = Smithy.ContextBuilder() diff --git a/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/Models.swift b/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/Models.swift index 2fabedea6a0..afe8672e370 100644 --- a/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/Models.swift +++ b/Sources/Services/AWSMediaConvert/Sources/AWSMediaConvert/Models.swift @@ -373,6 +373,51 @@ extension MediaConvertClientTypes { } } +extension MediaConvertClientTypes { + + /// Use Slow PAL pitch correction to compensate for audio pitch changes during slow PAL frame rate conversion. This setting only applies when Slow PAL is enabled in your output video codec settings. To automatically apply audio pitch correction: Choose Enabled. MediaConvert automatically applies a pitch correction to your output to match the original content's audio pitch. To not apply audio pitch correction: Keep the default value, Disabled. + public enum SlowPalPitchCorrection: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case disabled + case enabled + case sdkUnknown(Swift.String) + + public static var allCases: [SlowPalPitchCorrection] { + return [ + .disabled, + .enabled + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .disabled: return "DISABLED" + case .enabled: return "ENABLED" + case let .sdkUnknown(s): return s + } + } + } +} + +extension MediaConvertClientTypes { + + /// Settings for audio pitch correction during framerate conversion. + public struct AudioPitchCorrectionSettings: Swift.Sendable { + /// Use Slow PAL pitch correction to compensate for audio pitch changes during slow PAL frame rate conversion. This setting only applies when Slow PAL is enabled in your output video codec settings. To automatically apply audio pitch correction: Choose Enabled. MediaConvert automatically applies a pitch correction to your output to match the original content's audio pitch. To not apply audio pitch correction: Keep the default value, Disabled. + public var slowPalPitchCorrection: MediaConvertClientTypes.SlowPalPitchCorrection? + + public init( + slowPalPitchCorrection: MediaConvertClientTypes.SlowPalPitchCorrection? = nil + ) { + self.slowPalPitchCorrection = slowPalPitchCorrection + } + } +} + extension MediaConvertClientTypes { /// When set to FOLLOW_INPUT, if the input contains an ISO 639 audio_type, then that value is passed through to the output. If the input contains no ISO 639 audio_type, the value in Audio Type is included in the output. Otherwise the value in Audio Type is included in the output. Note that this field and audioType are both ignored if audioDescriptionBroadcasterMix is set to BROADCASTER_MIXED_AD. @@ -2410,7 +2455,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php. + /// Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public enum LanguageCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case aar case abk @@ -3111,6 +3156,8 @@ extension MediaConvertClientTypes { public var audioChannelTaggingSettings: MediaConvertClientTypes.AudioChannelTaggingSettings? /// Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard. public var audioNormalizationSettings: MediaConvertClientTypes.AudioNormalizationSettings? + /// Settings for audio pitch correction during framerate conversion. + public var audioPitchCorrectionSettings: MediaConvertClientTypes.AudioPitchCorrectionSettings? /// Specifies which audio data to use from each input. In the simplest case, specify an "Audio Selector":#inputs-audio_selector by name based on its order within each input. For example if you specify "Audio Selector 3", then the third audio selector will be used from each input. If an input does not have an "Audio Selector 3", then the audio selector marked as "default" in that input will be used. If there is no audio selector marked as "default", silence will be inserted for the duration of that input. Alternatively, an "Audio Selector Group":#inputs-audio_selector_group name may be specified, with similar default/silence behavior. If no audio_source_name is specified, then "Audio Selector 1" will be chosen automatically. public var audioSourceName: Swift.String? /// Applies only if Follow Input Audio Type is unchecked (false). A number between 0 and 255. The following are defined in ISO-IEC 13818-1: 0 = Undefined, 1 = Clean Effects, 2 = Hearing Impaired, 3 = Visually Impaired Commentary, 4-255 = Reserved. @@ -3121,7 +3168,7 @@ extension MediaConvertClientTypes { public var codecSettings: MediaConvertClientTypes.AudioCodecSettings? /// Specify the language for this audio output track. The service puts this language code into your output audio track when you set Language code control to Use configured. The service also uses your specified custom language code when you set Language code control to Follow input, but your input file doesn't specify a language code. For all outputs, you can use an ISO 639-2 or ISO 639-3 code. For streaming outputs, you can also use any other code in the full RFC-5646 specification. Streaming outputs are those that are in one of the following output groups: CMAF, DASH ISO, Apple HLS, or Microsoft Smooth Streaming. public var customLanguageCode: Swift.String? - /// Indicates the language of the audio output track. The ISO 639 language specified in the 'Language Code' drop down will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input. + /// Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured. public var languageCode: MediaConvertClientTypes.LanguageCode? /// Specify which source for language code takes precedence for this audio track. When you choose Follow input, the service uses the language code from the input track if it's present. If there's no languge code on the input track, the service uses the code that you specify in the setting Language code. When you choose Use configured, the service uses the language code that you specify. public var languageCodeControl: MediaConvertClientTypes.AudioLanguageCodeControl? @@ -3133,6 +3180,7 @@ extension MediaConvertClientTypes { public init( audioChannelTaggingSettings: MediaConvertClientTypes.AudioChannelTaggingSettings? = nil, audioNormalizationSettings: MediaConvertClientTypes.AudioNormalizationSettings? = nil, + audioPitchCorrectionSettings: MediaConvertClientTypes.AudioPitchCorrectionSettings? = nil, audioSourceName: Swift.String? = nil, audioType: Swift.Int? = nil, audioTypeControl: MediaConvertClientTypes.AudioTypeControl? = nil, @@ -3145,6 +3193,7 @@ extension MediaConvertClientTypes { ) { self.audioChannelTaggingSettings = audioChannelTaggingSettings self.audioNormalizationSettings = audioNormalizationSettings + self.audioPitchCorrectionSettings = audioPitchCorrectionSettings self.audioSourceName = audioSourceName self.audioType = audioType self.audioTypeControl = audioTypeControl @@ -4402,7 +4451,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . + /// If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . public enum ImscAccessibilitySubs: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case disabled case enabled @@ -4464,7 +4513,7 @@ extension MediaConvertClientTypes { /// Settings related to IMSC captions. IMSC is a sidecar format that holds captions in a file that is separate from the video container. Set up sidecar captions in the same output group, but different output from your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html. public struct ImscDestinationSettings: Swift.Sendable { - /// If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . + /// If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . public var accessibility: MediaConvertClientTypes.ImscAccessibilitySubs? /// Keep this setting enabled to have MediaConvert use the font style and position information from the captions source in the output. This option is available only when your input captions are IMSC, SMPTE-TT, or TTML. Disable this setting for simplified output captions. public var stylePassthrough: MediaConvertClientTypes.ImscStylePassthrough? @@ -4683,7 +4732,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . + /// If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . public enum WebvttAccessibilitySubs: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case disabled case enabled @@ -4751,7 +4800,7 @@ extension MediaConvertClientTypes { /// Settings related to WebVTT captions. WebVTT is a sidecar format that holds captions in a file that is separate from the video container. Set up sidecar captions in the same output group, but different output from your video. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/ttml-and-webvtt-output-captions.html. public struct WebvttDestinationSettings: Swift.Sendable { - /// If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . + /// If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS="public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound" and AUTOSELECT="YES". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: . public var accessibility: MediaConvertClientTypes.WebvttAccessibilitySubs? /// Specify how MediaConvert writes style information in your output WebVTT captions. To use the available style, color, and position information from your input captions: Choose Enabled. MediaConvert uses default settings when style and position information is missing from your input captions. To recreate the input captions exactly: Choose Strict. MediaConvert automatically applies timing adjustments, including adjustments for frame rate conversion, ad avails, and input clipping. Your input captions format must be WebVTT. To ignore the style and position information from your input captions and use simplified output captions: Keep the default value, Disabled. Or leave blank. To use the available style, color, and position information from your input captions, while merging cues with identical time ranges: Choose merge. This setting can help prevent positioning overlaps for certain players that expect a single single cue for any given time range. public var stylePassthrough: MediaConvertClientTypes.WebvttStylePassthrough? @@ -5019,12 +5068,13 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public enum FrameMetricType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case msSsim case psnr case psnrHvs case qvbr + case shotChange case ssim case vmaf case sdkUnknown(Swift.String) @@ -5035,6 +5085,7 @@ extension MediaConvertClientTypes { .psnr, .psnrHvs, .qvbr, + .shotChange, .ssim, .vmaf ] @@ -5051,6 +5102,7 @@ extension MediaConvertClientTypes { case .psnr: return "PSNR" case .psnrHvs: return "PSNR_HVS" case .qvbr: return "QVBR" + case .shotChange: return "SHOT_CHANGE" case .ssim: return "SSIM" case .vmaf: return "VMAF" case let .sdkUnknown(s): return s @@ -5114,9 +5166,9 @@ extension MediaConvertClientTypes { public struct HlsCaptionLanguageMapping: Swift.Sendable { /// Caption channel. public var captionChannel: Swift.Int? - /// Specify the language for this captions channel, using the ISO 639-2 or ISO 639-3 three-letter language code + /// Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public var customLanguageCode: Swift.String? - /// Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php. + /// Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public var languageCode: MediaConvertClientTypes.LanguageCode? /// Caption language description. public var languageDescription: Swift.String? @@ -5379,7 +5431,7 @@ extension MediaConvertClientTypes { public struct HlsRenditionGroupSettings: Swift.Sendable { /// Optional. Specify alternative group ID public var renditionGroupId: Swift.String? - /// Optional. Specify ISO 639-2 or ISO 639-3 code in the language property + /// Optionally specify the language, using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public var renditionLanguageCode: MediaConvertClientTypes.LanguageCode? /// Optional. Specify media name public var renditionName: Swift.String? @@ -5398,12 +5450,13 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. Language code: Select audio by language using ISO 639-2 or ISO 639-3 three-letter language codes. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers. + /// Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. If more types of audio data get recognized in the future, these numberings may shift, but the numberings used for Stream mode will not. Language code: Select audio by language using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers. Stream: Select audio by stream number. Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these stream numbers, in this audio selector context, only the stream number of a track containing audio data may be used. If your source file contains a track which is not recognized by the service, then the corresponding stream number will still be reserved for future use. If more types of audio data get recognized in the future, these numberings will not shift. public enum AudioSelectorType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case allPcm case hlsRenditionGroup case languageCode case pid + case stream case track case sdkUnknown(Swift.String) @@ -5413,6 +5466,7 @@ extension MediaConvertClientTypes { .hlsRenditionGroup, .languageCode, .pid, + .stream, .track ] } @@ -5428,6 +5482,7 @@ extension MediaConvertClientTypes { case .hlsRenditionGroup: return "HLS_RENDITION_GROUP" case .languageCode: return "LANGUAGE_CODE" case .pid: return "PID" + case .stream: return "STREAM" case .track: return "TRACK" case let .sdkUnknown(s): return s } @@ -5449,7 +5504,7 @@ extension MediaConvertClientTypes { public var externalAudioFileInput: Swift.String? /// Settings specific to audio sources in an HLS alternate rendition group. Specify the properties (renditionGroupId, renditionName or renditionLanguageCode) to identify the unique audio track among the alternative rendition groups present in the HLS manifest. If no unique track is found, or multiple tracks match the properties provided, the job fails. If no properties in hlsRenditionGroupSettings are specified, the default audio track within the video segment is chosen. If there is no audio within video segment, the alternative audio with DEFAULT=YES is chosen instead. public var hlsRenditionGroupSettings: MediaConvertClientTypes.HlsRenditionGroupSettings? - /// Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php + /// Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public var languageCode: MediaConvertClientTypes.LanguageCode? /// Specify a time delta, in milliseconds, to offset the audio from the input video. To specify no offset: Keep the default value, 0. To specify an offset: Enter an integer from -2147483648 to 2147483647 public var offset: Swift.Int? @@ -5459,9 +5514,11 @@ extension MediaConvertClientTypes { public var programSelection: Swift.Int? /// Use these settings to reorder the audio channels of one input to match those of another input. This allows you to combine the two files into a single output, one after the other. public var remixSettings: MediaConvertClientTypes.RemixSettings? - /// Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. Language code: Select audio by language using ISO 639-2 or ISO 639-3 three-letter language codes. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers. + /// Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. If more types of audio data get recognized in the future, these numberings may shift, but the numberings used for Stream mode will not. Language code: Select audio by language using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers. Stream: Select audio by stream number. Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these stream numbers, in this audio selector context, only the stream number of a track containing audio data may be used. If your source file contains a track which is not recognized by the service, then the corresponding stream number will still be reserved for future use. If more types of audio data get recognized in the future, these numberings will not shift. public var selectorType: MediaConvertClientTypes.AudioSelectorType? - /// Identify a track from the input audio to include in this selector by entering the track index number. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For example, type "1,2,3" to include tracks 1 through 3. + /// Identify a track from the input audio to include in this selector by entering the stream index number. These numberings count all tracks in the input file, but only a track containing audio data may be used here. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For example, type "1,2,3" to include tracks 1 through 3. + public var streams: [Swift.Int]? + /// Identify a track from the input audio to include in this selector by entering the track index number. These numberings include only tracks recognized as audio. If the service recognizes more types of audio tracks in the future, these numberings may shift. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For example, type "1,2,3" to include tracks 1 through 3. public var tracks: [Swift.Int]? public init( @@ -5476,6 +5533,7 @@ extension MediaConvertClientTypes { programSelection: Swift.Int? = nil, remixSettings: MediaConvertClientTypes.RemixSettings? = nil, selectorType: MediaConvertClientTypes.AudioSelectorType? = nil, + streams: [Swift.Int]? = nil, tracks: [Swift.Int]? = nil ) { self.audioDurationCorrection = audioDurationCorrection @@ -5489,6 +5547,7 @@ extension MediaConvertClientTypes { self.programSelection = programSelection self.remixSettings = remixSettings self.selectorType = selectorType + self.streams = streams self.tracks = tracks } } @@ -5976,12 +6035,16 @@ extension MediaConvertClientTypes { /// Settings specific to caption sources that are specified by track number. Currently, this is only IMSC captions in an IMF package. If your caption source is IMSC 1.1 in a separate xml file, use FileSourceSettings instead of TrackSourceSettings. public struct TrackSourceSettings: Swift.Sendable { - /// Use this setting to select a single captions track from a source. Track numbers correspond to the order in the captions source file. For IMF sources, track numbering is based on the order that the captions appear in the CPL. For example, use 1 to select the captions asset that is listed first in the CPL. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one track per selector. + /// Use this setting to select a single captions track from a source. Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these stream numbers, in this caption selector context, only the stream number of a track containing caption data may be used. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one stream per selector. If your source file contains a track which is not recognized by the service, then the corresponding stream number will still be reserved for future use. If more types of caption data get recognized in the future, these numberings will not shift. + public var streamNumber: Swift.Int? + /// Use this setting to select a single captions track from a source. Track numbers correspond to the order in the captions source file. For IMF sources, track numbering is based on the order that the captions appear in the CPL. For example, use 1 to select the captions asset that is listed first in the CPL. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one track per selector. If more types of caption data get recognized in the future, these numberings may shift, but the numberings used for streamNumber will not. public var trackNumber: Swift.Int? public init( + streamNumber: Swift.Int? = nil, trackNumber: Swift.Int? = nil ) { + self.streamNumber = streamNumber self.trackNumber = trackNumber } } @@ -5993,7 +6056,7 @@ extension MediaConvertClientTypes { public struct WebvttHlsSourceSettings: Swift.Sendable { /// Optional. Specify alternative group ID public var renditionGroupId: Swift.String? - /// Optional. Specify ISO 639-2 or ISO 639-3 code in the language property + /// Optionally specify the language, using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public var renditionLanguageCode: MediaConvertClientTypes.LanguageCode? /// Optional. Specify media name public var renditionName: Swift.String? @@ -6261,7 +6324,7 @@ extension MediaConvertClientTypes { public var audioDurationCorrection: MediaConvertClientTypes.AudioDurationCorrection? /// Specify the S3, HTTP, or HTTPS URL for your external audio file input. public var externalAudioFileInput: Swift.String? - /// Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php + /// Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php public var languageCode: MediaConvertClientTypes.LanguageCode? /// Specify a time delta, in milliseconds, to offset the audio from the input video. To specify no offset: Keep the default value, 0. To specify an offset: Enter an integer from -2147483648 to 2147483647 public var offset: Swift.Int? @@ -6579,21 +6642,29 @@ extension MediaConvertClientTypes { public var framerateDenominator: Swift.Int? /// Specify the numerator of the fraction that represents the frame rate for your video generator input. When you do, you must also specify a value for Frame rate denominator. MediaConvert uses a default frame rate of 29.97 when you leave Frame rate numerator and Frame rate denominator blank. public var framerateNumerator: Swift.Int? + /// Specify the height, in pixels, for your video generator input. This is useful for positioning when you include one or more video overlays for this input. To use the default resolution 540x360: Leave both width and height blank. To specify a height: Enter an even integer from 32 to 8192. When you do, you must also specify a value for width. + public var height: Swift.Int? /// Specify the audio sample rate, in Hz, for the silent audio in your video generator input. Enter an integer from 32000 to 48000. public var sampleRate: Swift.Int? + /// Specify the width, in pixels, for your video generator input. This is useful for positioning when you include one or more video overlays for this input. To use the default resolution 540x360: Leave both width and height blank. To specify a width: Enter an even integer from 32 to 8192. When you do, you must also specify a value for height. + public var width: Swift.Int? public init( channels: Swift.Int? = nil, duration: Swift.Int? = nil, framerateDenominator: Swift.Int? = nil, framerateNumerator: Swift.Int? = nil, - sampleRate: Swift.Int? = nil + height: Swift.Int? = nil, + sampleRate: Swift.Int? = nil, + width: Swift.Int? = nil ) { self.channels = channels self.duration = duration self.framerateDenominator = framerateDenominator self.framerateNumerator = framerateNumerator + self.height = height self.sampleRate = sampleRate + self.width = width } } } @@ -6665,6 +6736,8 @@ extension MediaConvertClientTypes { public struct VideoOverlayPosition: Swift.Sendable { /// To scale your video overlay to the same height as the base input video: Leave blank. To scale the height of your video overlay to a different height: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 360 and choose Pixels, your video overlay will be rendered with a height of 360. When you enter 50, choose Percentage, and your overlay's source has a height of 1080, your video overlay will be rendered with a height of 540. To scale your overlay to a specific height while automatically maintaining its original aspect ratio, enter a value for Height and leave Width blank. public var height: Swift.Int? + /// Use Opacity to specify how much of the underlying video shows through the overlay video. 0 is transparent and 100 is fully opaque. Default is 100. + public var opacity: Swift.Int? /// Specify the Unit type to use when you enter a value for X position, Y position, Width, or Height. You can choose Pixels or Percentage. Leave blank to use the default value, Pixels. public var unit: MediaConvertClientTypes.VideoOverlayUnit? /// To scale your video overlay to the same width as the base input video: Leave blank. To scale the width of your video overlay to a different width: Enter an integer representing the Unit type that you choose, either Pixels or Percentage. For example, when you enter 640 and choose Pixels, your video overlay will scale to a height of 640 pixels. When you enter 50, choose Percentage, and your overlay's source has a width of 1920, your video overlay will scale to a width of 960. To scale your overlay to a specific width while automatically maintaining its original aspect ratio, enter a value for Width and leave Height blank. @@ -6676,12 +6749,14 @@ extension MediaConvertClientTypes { public init( height: Swift.Int? = nil, + opacity: Swift.Int? = nil, unit: MediaConvertClientTypes.VideoOverlayUnit? = nil, width: Swift.Int? = nil, xPosition: Swift.Int? = nil, yPosition: Swift.Int? = nil ) { self.height = height + self.opacity = opacity self.unit = unit self.width = width self.xPosition = xPosition @@ -6768,7 +6843,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// Specify one or more Transitions for your video overlay. Use Transitions to reposition or resize your overlay over time. To use the same position and size for the duration of your video overlay: Leave blank. To specify a Transition: Enter a value for Start timecode, End Timecode, X Position, Y Position, Width, or Height. + /// Specify one or more Transitions for your video overlay. Use Transitions to reposition or resize your overlay over time. To use the same position and size for the duration of your video overlay: Leave blank. To specify a Transition: Enter a value for Start timecode, End Timecode, X Position, Y Position, Width, Height, or Opacity public struct VideoOverlayTransition: Swift.Sendable { /// Specify the ending position for this transition, relative to the base input video's frame. Your video overlay will move smoothly to this position, beginning at this transition's Start timecode and ending at this transition's End timecode. public var endPosition: MediaConvertClientTypes.VideoOverlayPosition? @@ -7147,7 +7222,7 @@ extension MediaConvertClientTypes { public var sampleRange: MediaConvertClientTypes.InputSampleRange? /// Choose the video selector type for your HLS input. Use to specify which video rendition MediaConvert uses from your HLS input. To have MediaConvert automatically use the highest bitrate rendition from your HLS input: Keep the default value, Auto. To manually specify a rendition: Choose Stream. Then enter the unique stream number in the Streams array, starting at 1, corresponding to the stream order in the manifest. public var selectorType: MediaConvertClientTypes.VideoSelectorType? - /// Specify a stream for MediaConvert to use from your HLS input. Enter an integer corresponding to the stream order in your HLS manifest. + /// Specify one or more video streams for MediaConvert to use from your HLS input. Enter an integer corresponding to the stream number, with the first stream in your HLS multivariant playlist starting at 1.For re-encoding workflows, MediaConvert uses the video stream that you select with the highest bitrate as the input.For video passthrough workflows, you specify whether to passthrough a single video stream or multiple video streams under Video selector source in the output video encoding settings. public var streams: [Swift.Int]? public init( @@ -8275,18 +8350,20 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. + /// Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline for outputs that you also specify a Name modifier for: Keep the default value, Basic. Note that if you do not specify a name modifier for an output, MediaConvert will not write a SegmentTimeline for it. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. To write a SegmentTimeline in each AdaptationSet: Choose Full. public enum DashManifestStyle: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case basic case compact case distinct + case full case sdkUnknown(Swift.String) public static var allCases: [DashManifestStyle] { return [ .basic, .compact, - .distinct + .distinct, + .full ] } @@ -8300,6 +8377,7 @@ extension MediaConvertClientTypes { case .basic: return "BASIC" case .compact: return "COMPACT" case .distinct: return "DISTINCT" + case .full: return "FULL" case let .sdkUnknown(s): return s } } @@ -9300,7 +9378,7 @@ extension MediaConvertClientTypes { public var codecSpecification: MediaConvertClientTypes.CmafCodecSpecification? /// Specify whether MediaConvert generates I-frame only video segments for DASH trick play, also known as trick mode. When specified, the I-frame only video segments are included within an additional AdaptationSet in your DASH output manifest. To generate I-frame only video segments: Enter a name as a text string, up to 256 character long. This name is appended to the end of this output group's base filename, that you specify as part of your destination URI, and used for the I-frame only video segment files. You may also include format identifiers. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html#using-settings-variables-with-streaming-outputs To not generate I-frame only video segments: Leave blank. public var dashIFrameTrickPlayNameModifier: Swift.String? - /// Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. + /// Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline for outputs that you also specify a Name modifier for: Keep the default value, Basic. Note that if you do not specify a name modifier for an output, MediaConvert will not write a SegmentTimeline for it. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. To write a SegmentTimeline in each AdaptationSet: Choose Full. public var dashManifestStyle: MediaConvertClientTypes.DashManifestStyle? /// Use Destination to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. public var destination: Swift.String? @@ -9875,7 +9953,7 @@ extension MediaConvertClientTypes { public var baseUrl: Swift.String? /// Specify whether MediaConvert generates I-frame only video segments for DASH trick play, also known as trick mode. When specified, the I-frame only video segments are included within an additional AdaptationSet in your DASH output manifest. To generate I-frame only video segments: Enter a name as a text string, up to 256 character long. This name is appended to the end of this output group's base filename, that you specify as part of your destination URI, and used for the I-frame only video segment files. You may also include format identifiers. For more information, see: https://docs.aws.amazon.com/mediaconvert/latest/ug/using-variables-in-your-job-settings.html#using-settings-variables-with-streaming-outputs To not generate I-frame only video segments: Leave blank. public var dashIFrameTrickPlayNameModifier: Swift.String? - /// Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. + /// Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline for outputs that you also specify a Name modifier for: Keep the default value, Basic. Note that if you do not specify a name modifier for an output, MediaConvert will not write a SegmentTimeline for it. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. To write a SegmentTimeline in each AdaptationSet: Choose Full. public var dashManifestStyle: MediaConvertClientTypes.DashManifestStyle? /// Use Destination to specify the S3 output location and the output filename base. Destination accepts format identifiers. If you do not specify the base filename in the URI, the service will use the filename of the input file. If your job has multiple inputs, the service uses the filename of the first input file. public var destination: Swift.String? @@ -11089,7 +11167,7 @@ extension MediaConvertClientTypes { public var hlsGroupSettings: MediaConvertClientTypes.HlsGroupSettings? /// Settings related to your Microsoft Smooth Streaming output package. For more information, see https://docs.aws.amazon.com/mediaconvert/latest/ug/outputs-file-ABR.html. public var msSmoothGroupSettings: MediaConvertClientTypes.MsSmoothGroupSettings? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Type of output group (File group, Apple HLS, DASH ISO, Microsoft Smooth Streaming, CMAF) public var type: MediaConvertClientTypes.OutputGroupType? @@ -13111,7 +13189,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files. + /// Use this setting only in DASH output groups that include sidecar TTML, IMSC or WEBVTT captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files. public enum MpdCaptionContainerType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case fragmentedMp4 case raw @@ -13327,7 +13405,7 @@ extension MediaConvertClientTypes { public var accessibilityCaptionHints: MediaConvertClientTypes.MpdAccessibilityCaptionHints? /// Specify this setting only when your output will be consumed by a downstream repackaging workflow that is sensitive to very small duration differences between video and audio. For this situation, choose Match video duration. In all other cases, keep the default value, Default codec duration. When you choose Match video duration, MediaConvert pads the output audio streams with silence or trims them to ensure that the total duration of each audio stream is at least as long as the total duration of the video stream. After padding or trimming, the audio stream duration is no more than one frame longer than the video stream. MediaConvert applies audio padding or trimming only to the end of the last segment of the output. For unsegmented outputs, MediaConvert adds padding only to the end of the file. When you keep the default value, any minor discrepancies between audio and video duration will depend on your output audio codec. public var audioDuration: MediaConvertClientTypes.MpdAudioDuration? - /// Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files. + /// Use this setting only in DASH output groups that include sidecar TTML, IMSC or WEBVTT captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files. public var captionContainerType: MediaConvertClientTypes.MpdCaptionContainerType? /// To include key-length-value metadata in this output: Set KLV metadata insertion to Passthrough. MediaConvert reads KLV metadata present in your input and writes each instance to a separate event message box in the output, according to MISB ST1910.1. To exclude this KLV metadata: Set KLV metadata insertion to None or leave blank. public var klvMetadata: MediaConvertClientTypes.MpdKlvMetadata? @@ -14109,7 +14187,7 @@ extension MediaConvertClientTypes { public var maxBitrate: Swift.Int? /// Specify from the number of B-frames, in the range of 0-15. For AV1 encoding, we recommend using 7 or 15. Choose a larger number for a lower bitrate and smaller file size; choose a smaller number for better video quality. public var numberBFramesBetweenReferenceFrames: Swift.Int? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Settings for quality-defined variable bitrate encoding with the H.265 codec. Use these settings only when you set QVBR for Rate control mode. public var qvbrSettings: MediaConvertClientTypes.Av1QvbrSettings? @@ -14450,7 +14528,7 @@ extension MediaConvertClientTypes { public var framerateNumerator: Swift.Int? /// Choose the scan line type for the output. Keep the default value, Progressive to create a progressive output, regardless of the scan type of your input. Use Top field first or Bottom field first to create an output that's interlaced with the same field polarity throughout. Use Follow, default top or Follow, default bottom to produce outputs with the same field polarity as the source. For jobs that have multiple inputs, the output field polarity might change over the course of the output. Follow behavior depends on the input scan type. If the source is interlaced, the output will be interlaced with the same polarity as the source. If the source is progressive, the output will be interlaced with top field bottom field first, depending on which of the Follow options you choose. public var interlaceMode: MediaConvertClientTypes.AvcIntraInterlaceMode? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Use this setting for interlaced outputs, when your output frame rate is half of your input frame rate. In this situation, choose Optimized interlacing to create a better quality interlaced output. In this case, each progressive frame from the input corresponds to an interlaced field in the output. Keep the default value, Basic interlacing, for all other output frame rates. With basic interlacing, MediaConvert performs any frame rate conversion first and then interlaces the frames. When you choose Optimized interlacing and you set your output frame rate to a value that isn't suitable for optimized interlacing, MediaConvert automatically falls back to basic interlacing. Required settings: To use optimized interlacing, you must set Telecine to None or Soft. You can't use optimized interlacing for hard telecine outputs. You must also set Interlace mode to a value other than Progressive. public var scanTypeConversionMode: MediaConvertClientTypes.AvcIntraScanTypeConversionMode? @@ -15761,7 +15839,7 @@ extension MediaConvertClientTypes { public var parDenominator: Swift.Int? /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. public var parNumerator: Swift.Int? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// The Quality tuning level you choose represents a trade-off between the encoding speed of your job and the output video quality. For the fastest encoding speed at the cost of video quality: Choose Single pass. For a good balance between encoding speed and video quality: Leave blank or keep the default value Single pass HQ. For the best video quality, at the cost of encoding speed: Choose Multi pass HQ. MediaConvert performs an analysis pass on your input followed by an encoding pass. Outputs that use this feature incur pro-tier pricing. public var qualityTuningLevel: MediaConvertClientTypes.H264QualityTuningLevel? @@ -16891,7 +16969,7 @@ extension MediaConvertClientTypes { public var parDenominator: Swift.Int? /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. public var parNumerator: Swift.Int? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. public var qualityTuningLevel: MediaConvertClientTypes.H265QualityTuningLevel? @@ -17682,7 +17760,7 @@ extension MediaConvertClientTypes { public var parDenominator: Swift.Int? /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. public var parNumerator: Swift.Int? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Optional. Use Quality tuning level to choose how you want to trade off encoding speed for output video quality. The default behavior is faster, lower quality, single-pass encoding. public var qualityTuningLevel: MediaConvertClientTypes.Mpeg2QualityTuningLevel? @@ -17779,6 +17857,51 @@ extension MediaConvertClientTypes { } } +extension MediaConvertClientTypes { + + /// AUTO will select the highest bitrate input in the video selector source. REMUX_ALL will passthrough all the selected streams in the video selector source. When selecting streams from multiple renditions (i.e. using Stream video selector type): REMUX_ALL will only remux all streams selected, and AUTO will use the highest bitrate video stream among the selected streams as source. + public enum VideoSelectorMode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case auto + case remuxAll + case sdkUnknown(Swift.String) + + public static var allCases: [VideoSelectorMode] { + return [ + .auto, + .remuxAll + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .auto: return "AUTO" + case .remuxAll: return "REMUX_ALL" + case let .sdkUnknown(s): return s + } + } + } +} + +extension MediaConvertClientTypes { + + /// Optional settings when you set Codec to the value Passthrough. + public struct PassthroughSettings: Swift.Sendable { + /// AUTO will select the highest bitrate input in the video selector source. REMUX_ALL will passthrough all the selected streams in the video selector source. When selecting streams from multiple renditions (i.e. using Stream video selector type): REMUX_ALL will only remux all streams selected, and AUTO will use the highest bitrate video stream among the selected streams as source. + public var videoSelectorMode: MediaConvertClientTypes.VideoSelectorMode? + + public init( + videoSelectorMode: MediaConvertClientTypes.VideoSelectorMode? = nil + ) { + self.videoSelectorMode = videoSelectorMode + } + } +} + extension MediaConvertClientTypes { /// This setting applies only to ProRes 4444 and ProRes 4444 XQ outputs that you create from inputs that use 4:4:4 chroma sampling. Set Preserve 4:4:4 sampling to allow outputs to also use 4:4:4 chroma sampling. You must specify a value for this setting when your output codec profile supports 4:4:4 chroma sampling. Related Settings: For Apple ProRes outputs with 4:4:4 chroma sampling: Choose Preserve 4:4:4 sampling. Use when your input has 4:4:4 chroma sampling and your output codec Profile is Apple ProRes 4444 or 4444 XQ. Note that when you choose Preserve 4:4:4 sampling, you cannot include any of the following Preprocessors: Dolby Vision, HDR10+, or Noise reducer. @@ -18100,7 +18223,7 @@ extension MediaConvertClientTypes { public var parDenominator: Swift.Int? /// Required when you set Pixel aspect ratio to SPECIFIED. On the console, this corresponds to any value other than Follow source. When you specify an output pixel aspect ratio (PAR) that is different from your input video PAR, provide your output PAR as a ratio. For example, for D1/DV NTSC widescreen, you would specify the ratio 40:33. In this example, the value for parNumerator is 40. public var parNumerator: Swift.Int? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Use this setting for interlaced outputs, when your output frame rate is half of your input frame rate. In this situation, choose Optimized interlacing to create a better quality interlaced output. In this case, each progressive frame from the input corresponds to an interlaced field in the output. Keep the default value, Basic interlacing, for all other output frame rates. With basic interlacing, MediaConvert performs any frame rate conversion first and then interlaces the frames. When you choose Optimized interlacing and you set your output frame rate to a value that isn't suitable for optimized interlacing, MediaConvert automatically falls back to basic interlacing. Required settings: To use optimized interlacing, you must set Telecine to None or Soft. You can't use optimized interlacing for hard telecine outputs. You must also set Interlace mode to a value other than Progressive. public var scanTypeConversionMode: MediaConvertClientTypes.ProresScanTypeConversionMode? @@ -19921,7 +20044,7 @@ extension MediaConvertClientTypes { public var framerateDenominator: Swift.Int? /// When you use the API for transcode jobs that use frame rate conversion, specify the frame rate as a fraction. For example, 24000 / 1001 = 23.976 fps. Use FramerateNumerator to specify the numerator of this fraction. In this example, use 24000 for the value of FramerateNumerator. When you use the console for transcode jobs that use frame rate conversion, provide the value as a decimal number for Framerate. In this example, specify 23.976. public var framerateNumerator: Swift.Int? - /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. + /// Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes public var perFrameMetrics: [MediaConvertClientTypes.FrameMetricType]? /// Specify the XAVC profile for this output. For more information, see the Sony documentation at https://www.xavc-info.org/. Note that MediaConvert doesn't support the interlaced video XAVC operating points for XAVC_HD_INTRA_CBG. To create an interlaced XAVC output, choose the profile XAVC_HD. public var profile: MediaConvertClientTypes.XavcProfile? @@ -20004,6 +20127,8 @@ extension MediaConvertClientTypes { public var h265Settings: MediaConvertClientTypes.H265Settings? /// Required when you set Codec to the value MPEG2. public var mpeg2Settings: MediaConvertClientTypes.Mpeg2Settings? + /// Optional settings when you set Codec to the value Passthrough. + public var passthroughSettings: MediaConvertClientTypes.PassthroughSettings? /// Required when you set Codec to the value PRORES. public var proresSettings: MediaConvertClientTypes.ProresSettings? /// Required when you set Codec, under VideoDescription>CodecSettings to the value UNCOMPRESSED. @@ -20026,6 +20151,7 @@ extension MediaConvertClientTypes { h264Settings: MediaConvertClientTypes.H264Settings? = nil, h265Settings: MediaConvertClientTypes.H265Settings? = nil, mpeg2Settings: MediaConvertClientTypes.Mpeg2Settings? = nil, + passthroughSettings: MediaConvertClientTypes.PassthroughSettings? = nil, proresSettings: MediaConvertClientTypes.ProresSettings? = nil, uncompressedSettings: MediaConvertClientTypes.UncompressedSettings? = nil, vc3Settings: MediaConvertClientTypes.Vc3Settings? = nil, @@ -20041,6 +20167,7 @@ extension MediaConvertClientTypes { self.h264Settings = h264Settings self.h265Settings = h265Settings self.mpeg2Settings = mpeg2Settings + self.passthroughSettings = passthroughSettings self.proresSettings = proresSettings self.uncompressedSettings = uncompressedSettings self.vc3Settings = vc3Settings @@ -21811,7 +21938,7 @@ extension MediaConvertClientTypes { public struct JobEngineVersion: Swift.Sendable { /// The date that this Job engine version expires. Requests to create jobs with an expired version result in a regular job, as if no specific Job engine version was requested. public var expirationDate: Foundation.Date? - /// Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. Job engine versions are in a YYYY-MM-DD format. + /// Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. Job engine versions represent periodically grouped MediaConvert releases with new features, updates, improvements, and fixes. Job engine versions are in a YYYY-MM-DD format. Note that the Job engine version feature is not publicly available at this time. To request access, contact AWS support. public var version: Swift.String? public init( @@ -21824,6 +21951,70 @@ extension MediaConvertClientTypes { } } +extension MediaConvertClientTypes { + + /// Specify job details to filter for while performing a jobs query. You specify these filters as part of a key-value pair within the JobsQueryFilter array. The following list describes which keys are available and their possible values: * queue - Your Queue's name or ARN. * status - Your job's status. (SUBMITTED | PROGRESSING | COMPLETE | CANCELED | ERROR) * fileInput - Your input file URL, or partial input file name. * jobEngineVersionRequested - The Job engine version that you requested for your job. Valid versions are in a YYYY-MM-DD format. * jobEngineVersionUsed - The Job engine version that your job used. This may differ from the version that you requested. Valid versions are in a YYYY-MM-DD format. * audioCodec - Your output's audio codec. (AAC | MP2 | MP3 | WAV | AIFF | AC3| EAC3 | EAC3_ATMOS | VORBIS | OPUS | PASSTHROUGH | FLAC) * videoCodec - Your output's video codec. (AV1 | AVC_INTRA | FRAME_CAPTURE | H_264 | H_265 | MPEG2 | PASSTHROUGH | PRORES | UNCOMPRESSED | VC3 | VP8 | VP9 | XAVC) + public enum JobsQueryFilterKey: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case audiocodec + case fileinput + case jobengineversionrequested + case jobengineversionused + case queue + case status + case videocodec + case sdkUnknown(Swift.String) + + public static var allCases: [JobsQueryFilterKey] { + return [ + .audiocodec, + .fileinput, + .jobengineversionrequested, + .jobengineversionused, + .queue, + .status, + .videocodec + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .audiocodec: return "audioCodec" + case .fileinput: return "fileInput" + case .jobengineversionrequested: return "jobEngineVersionRequested" + case .jobengineversionused: return "jobEngineVersionUsed" + case .queue: return "queue" + case .status: return "status" + case .videocodec: return "videoCodec" + case let .sdkUnknown(s): return s + } + } + } +} + +extension MediaConvertClientTypes { + + /// Provide one or more JobsQueryFilter objects, each containing a Key with an associated Values array. Note that MediaConvert queries jobs using OR logic. + public struct JobsQueryFilter: Swift.Sendable { + /// Specify job details to filter for while performing a jobs query. You specify these filters as part of a key-value pair within the JobsQueryFilter array. The following list describes which keys are available and their possible values: * queue - Your Queue's name or ARN. * status - Your job's status. (SUBMITTED | PROGRESSING | COMPLETE | CANCELED | ERROR) * fileInput - Your input file URL, or partial input file name. * jobEngineVersionRequested - The Job engine version that you requested for your job. Valid versions are in a YYYY-MM-DD format. * jobEngineVersionUsed - The Job engine version that your job used. This may differ from the version that you requested. Valid versions are in a YYYY-MM-DD format. * audioCodec - Your output's audio codec. (AAC | MP2 | MP3 | WAV | AIFF | AC3| EAC3 | EAC3_ATMOS | VORBIS | OPUS | PASSTHROUGH | FLAC) * videoCodec - Your output's video codec. (AV1 | AVC_INTRA | FRAME_CAPTURE | H_264 | H_265 | MPEG2 | PASSTHROUGH | PRORES | UNCOMPRESSED | VC3 | VP8 | VP9 | XAVC) + public var key: MediaConvertClientTypes.JobsQueryFilterKey? + /// A list of values associated with a JobsQueryFilterKey. + public var values: [Swift.String]? + + public init( + key: MediaConvertClientTypes.JobsQueryFilterKey? = nil, + values: [Swift.String]? = nil + ) { + self.key = key + self.values = values + } + } +} + extension MediaConvertClientTypes { /// JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it. @@ -22112,7 +22303,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// The frame rate of the video or audio track. + /// The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values. public struct FrameRate: Swift.Sendable { /// The denominator, or bottom number, in the fractional frame rate. For example, if your frame rate is 24000 / 1001 (23.976 frames per second), then the denominator would be 1001. public var denominator: Swift.Int? @@ -22139,7 +22330,7 @@ extension MediaConvertClientTypes { public var bitRate: Swift.Int? /// The number of audio channels in the audio track. public var channels: Swift.Int? - /// The frame rate of the video or audio track. + /// The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values. public var frameRate: MediaConvertClientTypes.FrameRate? /// The language code of the audio track, in three character ISO 639-3 format. public var languageCode: Swift.String? @@ -22180,12 +22371,15 @@ extension MediaConvertClientTypes { case mjpeg case mp3 case mp4v + case mpeg1 case mpeg2 case opus case pcm case prores + case qtrle case theora case unknown + case vfw case vorbis case vp8 case vp9 @@ -22207,12 +22401,15 @@ extension MediaConvertClientTypes { .mjpeg, .mp3, .mp4v, + .mpeg1, .mpeg2, .opus, .pcm, .prores, + .qtrle, .theora, .unknown, + .vfw, .vorbis, .vp8, .vp9, @@ -22240,12 +22437,15 @@ extension MediaConvertClientTypes { case .mjpeg: return "MJPEG" case .mp3: return "MP3" case .mp4v: return "MP4V" + case .mpeg1: return "MPEG1" case .mpeg2: return "MPEG2" case .opus: return "OPUS" case .pcm: return "PCM" case .prores: return "PRORES" + case .qtrle: return "QTRLE" case .theora: return "THEORA" case .unknown: return "UNKNOWN" + case .vfw: return "VFW" case .vorbis: return "VORBIS" case .vp8: return "VP8" case .vp9: return "VP9" @@ -22305,7 +22505,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// The color space color primaries of the video track. + /// The color space primaries of the video track, defining the red, green, and blue color coordinates used for the video. This information helps ensure accurate color reproduction during playback and transcoding. public enum ColorPrimaries: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case ebu3213E case genericFilm @@ -22377,7 +22577,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// The color space matrix coefficients of the video track. + /// The color space matrix coefficients of the video track, defining how RGB color values are converted to and from YUV color space. This affects color accuracy during encoding and decoding processes. public enum MatrixCoefficients: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case cdCl case cdNcl @@ -22455,7 +22655,7 @@ extension MediaConvertClientTypes { extension MediaConvertClientTypes { - /// The color space transfer characteristics of the video track. + /// The color space transfer characteristics of the video track, defining the relationship between linear light values and the encoded signal values. This affects brightness and contrast reproduction. public enum TransferCharacteristics: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case aribB67 case iec6196621 @@ -22534,23 +22734,80 @@ extension MediaConvertClientTypes { } } +extension MediaConvertClientTypes { + + /// Codec-specific parameters parsed from the video essence headers. This information provides detailed technical specifications about how the video was encoded, including profile settings, resolution details, and color space information that can help you understand the source video characteristics and make informed encoding decisions. + public struct CodecMetadata: Swift.Sendable { + /// The number of bits used per color component in the video essence such as 8, 10, or 12 bits. Standard range (SDR) video typically uses 8-bit, while 10-bit is common for high dynamic range (HDR). + public var bitDepth: Swift.Int? + /// The chroma subsampling format used in the video encoding, such as "4:2:0" or "4:4:4". This describes how color information is sampled relative to brightness information. Different subsampling ratios affect video quality and file size, with "4:4:4" providing the highest color fidelity and "4:2:0" being most common for standard video. + public var chromaSubsampling: Swift.String? + /// The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values. + public var codedFrameRate: MediaConvertClientTypes.FrameRate? + /// The color space primaries of the video track, defining the red, green, and blue color coordinates used for the video. This information helps ensure accurate color reproduction during playback and transcoding. + public var colorPrimaries: MediaConvertClientTypes.ColorPrimaries? + /// The height in pixels as coded by the codec. This represents the actual encoded video height as specified in the video stream headers. + public var height: Swift.Int? + /// The codec level or tier that specifies the maximum processing requirements and capabilities. Levels define constraints such as maximum bit rate, frame rate, and resolution. + public var level: Swift.String? + /// The color space matrix coefficients of the video track, defining how RGB color values are converted to and from YUV color space. This affects color accuracy during encoding and decoding processes. + public var matrixCoefficients: MediaConvertClientTypes.MatrixCoefficients? + /// The codec profile used to encode the video. Profiles define specific feature sets and capabilities within a codec standard. For example, H.264 profiles include Baseline, Main, and High, each supporting different encoding features and complexity levels. + public var profile: Swift.String? + /// The scanning method specified in the video essence, indicating whether the video uses progressive or interlaced scanning. + public var scanType: Swift.String? + /// The color space transfer characteristics of the video track, defining the relationship between linear light values and the encoded signal values. This affects brightness and contrast reproduction. + public var transferCharacteristics: MediaConvertClientTypes.TransferCharacteristics? + /// The width in pixels as coded by the codec. This represents the actual encoded video width as specified in the video stream headers. + public var width: Swift.Int? + + public init( + bitDepth: Swift.Int? = nil, + chromaSubsampling: Swift.String? = nil, + codedFrameRate: MediaConvertClientTypes.FrameRate? = nil, + colorPrimaries: MediaConvertClientTypes.ColorPrimaries? = nil, + height: Swift.Int? = nil, + level: Swift.String? = nil, + matrixCoefficients: MediaConvertClientTypes.MatrixCoefficients? = nil, + profile: Swift.String? = nil, + scanType: Swift.String? = nil, + transferCharacteristics: MediaConvertClientTypes.TransferCharacteristics? = nil, + width: Swift.Int? = nil + ) { + self.bitDepth = bitDepth + self.chromaSubsampling = chromaSubsampling + self.codedFrameRate = codedFrameRate + self.colorPrimaries = colorPrimaries + self.height = height + self.level = level + self.matrixCoefficients = matrixCoefficients + self.profile = profile + self.scanType = scanType + self.transferCharacteristics = transferCharacteristics + self.width = width + } + } +} + extension MediaConvertClientTypes { /// Details about the media file's video track. public struct VideoProperties: Swift.Sendable { - /// The bit depth of the video track. + /// The number of bits used per color component such as 8, 10, or 12 bits. Standard range (SDR) video typically uses 8-bit, while 10-bit is common for high dynamic range (HDR). public var bitDepth: Swift.Int? /// The bit rate of the video track, in bits per second. public var bitRate: Swift.Int? - /// The color space color primaries of the video track. + /// Codec-specific parameters parsed from the video essence headers. This information provides detailed technical specifications about how the video was encoded, including profile settings, resolution details, and color space information that can help you understand the source video characteristics and make informed encoding decisions. + public var codecMetadata: MediaConvertClientTypes.CodecMetadata? + /// The color space primaries of the video track, defining the red, green, and blue color coordinates used for the video. This information helps ensure accurate color reproduction during playback and transcoding. public var colorPrimaries: MediaConvertClientTypes.ColorPrimaries? - /// The frame rate of the video or audio track. + /// The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values. public var frameRate: MediaConvertClientTypes.FrameRate? /// The height of the video track, in pixels. public var height: Swift.Int? - /// The color space matrix coefficients of the video track. + /// The color space matrix coefficients of the video track, defining how RGB color values are converted to and from YUV color space. This affects color accuracy during encoding and decoding processes. public var matrixCoefficients: MediaConvertClientTypes.MatrixCoefficients? - /// The color space transfer characteristics of the video track. + /// The color space transfer characteristics of the video track, defining the relationship between linear light values and the encoded signal values. This affects brightness and contrast reproduction. public var transferCharacteristics: MediaConvertClientTypes.TransferCharacteristics? /// The width of the video track, in pixels. public var width: Swift.Int? @@ -22558,6 +22815,7 @@ extension MediaConvertClientTypes { public init( bitDepth: Swift.Int? = nil, bitRate: Swift.Int? = nil, + codecMetadata: MediaConvertClientTypes.CodecMetadata? = nil, colorPrimaries: MediaConvertClientTypes.ColorPrimaries? = nil, frameRate: MediaConvertClientTypes.FrameRate? = nil, height: Swift.Int? = nil, @@ -22567,6 +22825,7 @@ extension MediaConvertClientTypes { ) { self.bitDepth = bitDepth self.bitRate = bitRate + self.codecMetadata = codecMetadata self.colorPrimaries = colorPrimaries self.frameRate = frameRate self.height = height @@ -23100,6 +23359,29 @@ public struct NotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AW } } +/// You attempted to create more resources than the service allows based on service quotas. +public struct ServiceQuotaExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ServiceQuotaExceededException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + /// Too many requests have been sent in too short of a time. The service limits the rate at which it will accept requests. public struct TooManyRequestsException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { @@ -23166,7 +23448,7 @@ public struct CreateJobInput: Swift.Sendable { public var clientRequestToken: Swift.String? /// Optional. Use queue hopping to avoid overly long waits in the backlog of the queue that you submit your job to. Specify an alternate queue and the maximum time that your job will wait in the initial queue before hopping. For more information about this feature, see the AWS Elemental MediaConvert User Guide. public var hopDestinations: [MediaConvertClientTypes.HopDestination]? - /// Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. To specify a Job engine version: Enter a date in a YYYY-MM-DD format. For a list of valid Job engine versions, submit a ListVersions request. To not specify a Job engine version: Leave blank. + /// Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. Job engine versions represent periodically grouped MediaConvert releases with new features, updates, improvements, and fixes. Job engine versions are in a YYYY-MM-DD format. Note that the Job engine version feature is not publicly available at this time. To request access, contact AWS support. public var jobEngineVersion: Swift.String? /// Optional. When you create a job, you can either specify a job template or specify the transcoding settings individually. public var jobTemplate: Swift.String? @@ -23597,6 +23879,73 @@ public struct GetJobOutput: Swift.Sendable { } } +public struct GetJobsQueryResultsInput: Swift.Sendable { + /// The ID of the jobs query. + /// This member is required. + public var id: Swift.String? + + public init( + id: Swift.String? = nil + ) { + self.id = id + } +} + +extension MediaConvertClientTypes { + + /// A job query's status can be SUBMITTED, PROGRESSING, COMPLETE, or ERROR. + public enum JobsQueryStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case complete + case error + case progressing + case submitted + case sdkUnknown(Swift.String) + + public static var allCases: [JobsQueryStatus] { + return [ + .complete, + .error, + .progressing, + .submitted + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .complete: return "COMPLETE" + case .error: return "ERROR" + case .progressing: return "PROGRESSING" + case .submitted: return "SUBMITTED" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct GetJobsQueryResultsOutput: Swift.Sendable { + /// List of jobs. + public var jobs: [MediaConvertClientTypes.Job]? + /// Use this string to request the next batch of jobs via the StartJobsQuery API. + public var nextToken: Swift.String? + /// The status of the jobs query. + public var status: MediaConvertClientTypes.JobsQueryStatus? + + public init( + jobs: [MediaConvertClientTypes.Job]? = nil, + nextToken: Swift.String? = nil, + status: MediaConvertClientTypes.JobsQueryStatus? = nil + ) { + self.jobs = jobs + self.nextToken = nextToken + self.status = status + } +} + public struct GetJobTemplateInput: Swift.Sendable { /// The name of the job template. /// This member is required. @@ -24196,6 +24545,40 @@ public struct SearchJobsOutput: Swift.Sendable { } } +public struct StartJobsQueryInput: Swift.Sendable { + /// Optional. Provide an array of JobsQueryFilters for your StartJobsQuery request. + public var filterList: [MediaConvertClientTypes.JobsQueryFilter]? + /// Optional. Number of jobs, up to twenty, that will be included in the jobs query. + public var maxResults: Swift.Int? + /// Use this string to request the next batch of jobs matched by a jobs query. + public var nextToken: Swift.String? + /// Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource. + public var order: MediaConvertClientTypes.Order? + + public init( + filterList: [MediaConvertClientTypes.JobsQueryFilter]? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil, + order: MediaConvertClientTypes.Order? = nil + ) { + self.filterList = filterList + self.maxResults = maxResults + self.nextToken = nextToken + self.order = order + } +} + +public struct StartJobsQueryOutput: Swift.Sendable { + /// The ID of the jobs query. + public var id: Swift.String? + + public init( + id: Swift.String? = nil + ) { + self.id = id + } +} + public struct TagResourceInput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the resource that you want to tag. To get the ARN, send a GET request with the resource name. /// This member is required. @@ -24484,6 +24867,16 @@ extension GetJobInput { } } +extension GetJobsQueryResultsInput { + + static func urlPathProvider(_ value: GetJobsQueryResultsInput) -> Swift.String? { + guard let id = value.id else { + return nil + } + return "/2017-08-29/jobsQueries/\(id.urlPercentEncoding())" + } +} + extension GetJobTemplateInput { static func urlPathProvider(_ value: GetJobTemplateInput) -> Swift.String? { @@ -24743,6 +25136,13 @@ extension SearchJobsInput { } } +extension StartJobsQueryInput { + + static func urlPathProvider(_ value: StartJobsQueryInput) -> Swift.String? { + return "/2017-08-29/jobsQueries" + } +} + extension TagResourceInput { static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { @@ -24897,6 +25297,17 @@ extension PutPolicyInput { } } +extension StartJobsQueryInput { + + static func write(value: StartJobsQueryInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["filterList"].writeList(value.filterList, memberWritingClosure: MediaConvertClientTypes.JobsQueryFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["maxResults"].write(value.maxResults) + try writer["nextToken"].write(value.nextToken) + try writer["order"].write(value.order) + } +} + extension TagResourceInput { static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { @@ -25079,6 +25490,20 @@ extension GetJobOutput { } } +extension GetJobsQueryResultsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetJobsQueryResultsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetJobsQueryResultsOutput() + value.jobs = try reader["jobs"].readListIfPresent(memberReadingClosure: MediaConvertClientTypes.Job.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + value.status = try reader["status"].readIfPresent() + return value + } +} + extension GetJobTemplateOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetJobTemplateOutput { @@ -25243,6 +25668,18 @@ extension SearchJobsOutput { } } +extension StartJobsQueryOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartJobsQueryOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = StartJobsQueryOutput() + value.id = try reader["id"].readIfPresent() + return value + } +} + extension TagResourceOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { @@ -25306,6 +25743,7 @@ enum AssociateCertificateOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25325,6 +25763,7 @@ enum CancelJobOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25344,6 +25783,7 @@ enum CreateJobOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25363,6 +25803,7 @@ enum CreateJobTemplateOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25382,6 +25823,7 @@ enum CreatePresetOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25401,6 +25843,7 @@ enum CreateQueueOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25420,6 +25863,7 @@ enum CreateResourceShareOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25439,6 +25883,7 @@ enum DeleteJobTemplateOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25458,6 +25903,7 @@ enum DeletePolicyOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25477,6 +25923,7 @@ enum DeletePresetOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25496,6 +25943,7 @@ enum DeleteQueueOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25515,6 +25963,7 @@ enum DescribeEndpointsOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25534,6 +25983,7 @@ enum DisassociateCertificateOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25553,6 +26003,27 @@ enum GetJobOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetJobsQueryResultsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "BadRequestException": return try BadRequestException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) + case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) + case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25572,6 +26043,7 @@ enum GetJobTemplateOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25591,6 +26063,7 @@ enum GetPolicyOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25610,6 +26083,7 @@ enum GetPresetOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25629,6 +26103,7 @@ enum GetQueueOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25648,6 +26123,7 @@ enum ListJobsOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25667,6 +26143,7 @@ enum ListJobTemplatesOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25686,6 +26163,7 @@ enum ListPresetsOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25705,6 +26183,7 @@ enum ListQueuesOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25724,6 +26203,7 @@ enum ListTagsForResourceOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25743,6 +26223,7 @@ enum ListVersionsOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25762,6 +26243,7 @@ enum ProbeOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25781,6 +26263,7 @@ enum PutPolicyOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25800,6 +26283,27 @@ enum SearchJobsOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum StartJobsQueryOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "BadRequestException": return try BadRequestException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) + case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) + case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25819,6 +26323,7 @@ enum TagResourceOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25838,6 +26343,7 @@ enum UntagResourceOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25857,6 +26363,7 @@ enum UpdateJobTemplateOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25876,6 +26383,7 @@ enum UpdatePresetOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25895,6 +26403,7 @@ enum UpdateQueueOutputError { case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) } @@ -25966,6 +26475,19 @@ extension NotFoundException { } } +extension ServiceQuotaExceededException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { + let reader = baseError.errorBodyReader + var value = ServiceQuotaExceededException() + value.properties.message = try reader["message"].readIfPresent() + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + extension TooManyRequestsException { static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> TooManyRequestsException { @@ -26649,6 +27171,7 @@ extension MediaConvertClientTypes.VideoCodecSettings { try writer["h264Settings"].write(value.h264Settings, with: MediaConvertClientTypes.H264Settings.write(value:to:)) try writer["h265Settings"].write(value.h265Settings, with: MediaConvertClientTypes.H265Settings.write(value:to:)) try writer["mpeg2Settings"].write(value.mpeg2Settings, with: MediaConvertClientTypes.Mpeg2Settings.write(value:to:)) + try writer["passthroughSettings"].write(value.passthroughSettings, with: MediaConvertClientTypes.PassthroughSettings.write(value:to:)) try writer["proresSettings"].write(value.proresSettings, with: MediaConvertClientTypes.ProresSettings.write(value:to:)) try writer["uncompressedSettings"].write(value.uncompressedSettings, with: MediaConvertClientTypes.UncompressedSettings.write(value:to:)) try writer["vc3Settings"].write(value.vc3Settings, with: MediaConvertClientTypes.Vc3Settings.write(value:to:)) @@ -26668,6 +27191,7 @@ extension MediaConvertClientTypes.VideoCodecSettings { value.h264Settings = try reader["h264Settings"].readIfPresent(with: MediaConvertClientTypes.H264Settings.read(from:)) value.h265Settings = try reader["h265Settings"].readIfPresent(with: MediaConvertClientTypes.H265Settings.read(from:)) value.mpeg2Settings = try reader["mpeg2Settings"].readIfPresent(with: MediaConvertClientTypes.Mpeg2Settings.read(from:)) + value.passthroughSettings = try reader["passthroughSettings"].readIfPresent(with: MediaConvertClientTypes.PassthroughSettings.read(from:)) value.proresSettings = try reader["proresSettings"].readIfPresent(with: MediaConvertClientTypes.ProresSettings.read(from:)) value.uncompressedSettings = try reader["uncompressedSettings"].readIfPresent(with: MediaConvertClientTypes.UncompressedSettings.read(from:)) value.vc3Settings = try reader["vc3Settings"].readIfPresent(with: MediaConvertClientTypes.Vc3Settings.read(from:)) @@ -27011,6 +27535,21 @@ extension MediaConvertClientTypes.ProresSettings { } } +extension MediaConvertClientTypes.PassthroughSettings { + + static func write(value: MediaConvertClientTypes.PassthroughSettings?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["videoSelectorMode"].write(value.videoSelectorMode) + } + + static func read(from reader: SmithyJSON.Reader) throws -> MediaConvertClientTypes.PassthroughSettings { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = MediaConvertClientTypes.PassthroughSettings() + value.videoSelectorMode = try reader["videoSelectorMode"].readIfPresent() + return value + } +} + extension MediaConvertClientTypes.Mpeg2Settings { static func write(value: MediaConvertClientTypes.Mpeg2Settings?, to writer: SmithyJSON.Writer) throws { @@ -28302,6 +28841,7 @@ extension MediaConvertClientTypes.AudioDescription { guard let value else { return } try writer["audioChannelTaggingSettings"].write(value.audioChannelTaggingSettings, with: MediaConvertClientTypes.AudioChannelTaggingSettings.write(value:to:)) try writer["audioNormalizationSettings"].write(value.audioNormalizationSettings, with: MediaConvertClientTypes.AudioNormalizationSettings.write(value:to:)) + try writer["audioPitchCorrectionSettings"].write(value.audioPitchCorrectionSettings, with: MediaConvertClientTypes.AudioPitchCorrectionSettings.write(value:to:)) try writer["audioSourceName"].write(value.audioSourceName) try writer["audioType"].write(value.audioType) try writer["audioTypeControl"].write(value.audioTypeControl) @@ -28318,6 +28858,7 @@ extension MediaConvertClientTypes.AudioDescription { var value = MediaConvertClientTypes.AudioDescription() value.audioChannelTaggingSettings = try reader["audioChannelTaggingSettings"].readIfPresent(with: MediaConvertClientTypes.AudioChannelTaggingSettings.read(from:)) value.audioNormalizationSettings = try reader["audioNormalizationSettings"].readIfPresent(with: MediaConvertClientTypes.AudioNormalizationSettings.read(from:)) + value.audioPitchCorrectionSettings = try reader["audioPitchCorrectionSettings"].readIfPresent(with: MediaConvertClientTypes.AudioPitchCorrectionSettings.read(from:)) value.audioSourceName = try reader["audioSourceName"].readIfPresent() value.audioType = try reader["audioType"].readIfPresent() value.audioTypeControl = try reader["audioTypeControl"].readIfPresent() @@ -28736,6 +29277,21 @@ extension MediaConvertClientTypes.AacSettings { } } +extension MediaConvertClientTypes.AudioPitchCorrectionSettings { + + static func write(value: MediaConvertClientTypes.AudioPitchCorrectionSettings?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["slowPalPitchCorrection"].write(value.slowPalPitchCorrection) + } + + static func read(from reader: SmithyJSON.Reader) throws -> MediaConvertClientTypes.AudioPitchCorrectionSettings { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = MediaConvertClientTypes.AudioPitchCorrectionSettings() + value.slowPalPitchCorrection = try reader["slowPalPitchCorrection"].readIfPresent() + return value + } +} + extension MediaConvertClientTypes.AudioNormalizationSettings { static func write(value: MediaConvertClientTypes.AudioNormalizationSettings?, to writer: SmithyJSON.Writer) throws { @@ -29896,6 +30452,7 @@ extension MediaConvertClientTypes.VideoOverlayPosition { static func write(value: MediaConvertClientTypes.VideoOverlayPosition?, to writer: SmithyJSON.Writer) throws { guard let value else { return } try writer["height"].write(value.height) + try writer["opacity"].write(value.opacity) try writer["unit"].write(value.unit) try writer["width"].write(value.width) try writer["xPosition"].write(value.xPosition) @@ -29906,6 +30463,7 @@ extension MediaConvertClientTypes.VideoOverlayPosition { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = MediaConvertClientTypes.VideoOverlayPosition() value.height = try reader["height"].readIfPresent() + value.opacity = try reader["opacity"].readIfPresent() value.unit = try reader["unit"].readIfPresent() value.width = try reader["width"].readIfPresent() value.xPosition = try reader["xPosition"].readIfPresent() @@ -29983,7 +30541,9 @@ extension MediaConvertClientTypes.InputVideoGenerator { try writer["duration"].write(value.duration) try writer["framerateDenominator"].write(value.framerateDenominator) try writer["framerateNumerator"].write(value.framerateNumerator) + try writer["height"].write(value.height) try writer["sampleRate"].write(value.sampleRate) + try writer["width"].write(value.width) } static func read(from reader: SmithyJSON.Reader) throws -> MediaConvertClientTypes.InputVideoGenerator { @@ -29993,7 +30553,9 @@ extension MediaConvertClientTypes.InputVideoGenerator { value.duration = try reader["duration"].readIfPresent() value.framerateDenominator = try reader["framerateDenominator"].readIfPresent() value.framerateNumerator = try reader["framerateNumerator"].readIfPresent() + value.height = try reader["height"].readIfPresent() value.sampleRate = try reader["sampleRate"].readIfPresent() + value.width = try reader["width"].readIfPresent() return value } } @@ -30151,12 +30713,14 @@ extension MediaConvertClientTypes.TrackSourceSettings { static func write(value: MediaConvertClientTypes.TrackSourceSettings?, to writer: SmithyJSON.Writer) throws { guard let value else { return } + try writer["streamNumber"].write(value.streamNumber) try writer["trackNumber"].write(value.trackNumber) } static func read(from reader: SmithyJSON.Reader) throws -> MediaConvertClientTypes.TrackSourceSettings { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = MediaConvertClientTypes.TrackSourceSettings() + value.streamNumber = try reader["streamNumber"].readIfPresent() value.trackNumber = try reader["trackNumber"].readIfPresent() return value } @@ -30293,6 +30857,7 @@ extension MediaConvertClientTypes.AudioSelector { try writer["programSelection"].write(value.programSelection) try writer["remixSettings"].write(value.remixSettings, with: MediaConvertClientTypes.RemixSettings.write(value:to:)) try writer["selectorType"].write(value.selectorType) + try writer["streams"].writeList(value.streams, memberWritingClosure: SmithyReadWrite.WritingClosures.writeInt(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["tracks"].writeList(value.tracks, memberWritingClosure: SmithyReadWrite.WritingClosures.writeInt(value:to:), memberNodeInfo: "member", isFlattened: false) } @@ -30310,6 +30875,7 @@ extension MediaConvertClientTypes.AudioSelector { value.programSelection = try reader["programSelection"].readIfPresent() value.remixSettings = try reader["remixSettings"].readIfPresent(with: MediaConvertClientTypes.RemixSettings.read(from:)) value.selectorType = try reader["selectorType"].readIfPresent() + value.streams = try reader["streams"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readInt(from:), memberNodeInfo: "member", isFlattened: false) value.tracks = try reader["tracks"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readInt(from:), memberNodeInfo: "member", isFlattened: false) return value } @@ -30911,6 +31477,7 @@ extension MediaConvertClientTypes.VideoProperties { var value = MediaConvertClientTypes.VideoProperties() value.bitDepth = try reader["bitDepth"].readIfPresent() value.bitRate = try reader["bitRate"].readIfPresent() + value.codecMetadata = try reader["codecMetadata"].readIfPresent(with: MediaConvertClientTypes.CodecMetadata.read(from:)) value.colorPrimaries = try reader["colorPrimaries"].readIfPresent() value.frameRate = try reader["frameRate"].readIfPresent(with: MediaConvertClientTypes.FrameRate.read(from:)) value.height = try reader["height"].readIfPresent() @@ -30932,6 +31499,26 @@ extension MediaConvertClientTypes.FrameRate { } } +extension MediaConvertClientTypes.CodecMetadata { + + static func read(from reader: SmithyJSON.Reader) throws -> MediaConvertClientTypes.CodecMetadata { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = MediaConvertClientTypes.CodecMetadata() + value.bitDepth = try reader["bitDepth"].readIfPresent() + value.chromaSubsampling = try reader["chromaSubsampling"].readIfPresent() + value.codedFrameRate = try reader["codedFrameRate"].readIfPresent(with: MediaConvertClientTypes.FrameRate.read(from:)) + value.colorPrimaries = try reader["colorPrimaries"].readIfPresent() + value.height = try reader["height"].readIfPresent() + value.level = try reader["level"].readIfPresent() + value.matrixCoefficients = try reader["matrixCoefficients"].readIfPresent() + value.profile = try reader["profile"].readIfPresent() + value.scanType = try reader["scanType"].readIfPresent() + value.transferCharacteristics = try reader["transferCharacteristics"].readIfPresent() + value.width = try reader["width"].readIfPresent() + return value + } +} + extension MediaConvertClientTypes.DataProperties { static func read(from reader: SmithyJSON.Reader) throws -> MediaConvertClientTypes.DataProperties { @@ -30975,4 +31562,13 @@ extension MediaConvertClientTypes.ProbeInputFile { } } +extension MediaConvertClientTypes.JobsQueryFilter { + + static func write(value: MediaConvertClientTypes.JobsQueryFilter?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["key"].write(value.key) + try writer["values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + } +} + public enum MediaConvertClientTypes {} diff --git a/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/MediaLiveClient.swift b/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/MediaLiveClient.swift index ca5337830e3..66cc4436fbf 100644 --- a/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/MediaLiveClient.swift +++ b/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/MediaLiveClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaLiveClient: ClientRuntime.Client { +public class MediaLiveClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaLiveClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaLiveClient.MediaLiveClientConfiguration let serviceName = "MediaLive" @@ -5070,6 +5069,78 @@ extension MediaLiveClient { return try await op.execute(input: input) } + /// Performs the `ListAlerts` operation on the `MediaLive` service. + /// + /// List the alerts for a channel with optional filtering based on alert state. + /// + /// - Parameter input: Placeholder documentation for ListAlertsRequest (Type: `ListAlertsInput`) + /// + /// - Returns: Placeholder documentation for ListAlertsResponse (Type: `ListAlertsOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `BadGatewayException` : Placeholder documentation for BadGatewayException + /// - `BadRequestException` : Placeholder documentation for BadRequestException + /// - `ForbiddenException` : Placeholder documentation for ForbiddenException + /// - `GatewayTimeoutException` : Placeholder documentation for GatewayTimeoutException + /// - `InternalServerErrorException` : Placeholder documentation for InternalServerErrorException + /// - `NotFoundException` : Placeholder documentation for NotFoundException + /// - `TooManyRequestsException` : Placeholder documentation for TooManyRequestsException + public func listAlerts(input: ListAlertsInput) async throws -> ListAlertsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listAlerts") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "medialive") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListAlertsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListAlertsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListAlertsOutput.httpOutput(from:), ListAlertsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("MediaLive", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: MediaLiveClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "MediaLive") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListAlerts") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListChannelPlacementGroups` operation on the `MediaLive` service. /// /// Retrieve the list of ChannelPlacementGroups in the specified Cluster. @@ -5352,6 +5423,78 @@ extension MediaLiveClient { return try await op.execute(input: input) } + /// Performs the `ListClusterAlerts` operation on the `MediaLive` service. + /// + /// List the alerts for a cluster with optional filtering based on alert state. + /// + /// - Parameter input: Placeholder documentation for ListClusterAlertsRequest (Type: `ListClusterAlertsInput`) + /// + /// - Returns: Placeholder documentation for ListClusterAlertsResponse (Type: `ListClusterAlertsOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `BadGatewayException` : Placeholder documentation for BadGatewayException + /// - `BadRequestException` : Placeholder documentation for BadRequestException + /// - `ForbiddenException` : Placeholder documentation for ForbiddenException + /// - `GatewayTimeoutException` : Placeholder documentation for GatewayTimeoutException + /// - `InternalServerErrorException` : Placeholder documentation for InternalServerErrorException + /// - `NotFoundException` : Placeholder documentation for NotFoundException + /// - `TooManyRequestsException` : Placeholder documentation for TooManyRequestsException + public func listClusterAlerts(input: ListClusterAlertsInput) async throws -> ListClusterAlertsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listClusterAlerts") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "medialive") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListClusterAlertsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListClusterAlertsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListClusterAlertsOutput.httpOutput(from:), ListClusterAlertsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("MediaLive", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: MediaLiveClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "MediaLive") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListClusterAlerts") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListClusters` operation on the `MediaLive` service. /// /// Retrieve the list of Clusters. @@ -5848,6 +5991,78 @@ extension MediaLiveClient { return try await op.execute(input: input) } + /// Performs the `ListMultiplexAlerts` operation on the `MediaLive` service. + /// + /// List the alerts for a multiplex with optional filtering based on alert state. + /// + /// - Parameter input: Placeholder documentation for ListMultiplexAlertsRequest (Type: `ListMultiplexAlertsInput`) + /// + /// - Returns: Placeholder documentation for ListMultiplexAlertsResponse (Type: `ListMultiplexAlertsOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `BadGatewayException` : Placeholder documentation for BadGatewayException + /// - `BadRequestException` : Placeholder documentation for BadRequestException + /// - `ForbiddenException` : Placeholder documentation for ForbiddenException + /// - `GatewayTimeoutException` : Placeholder documentation for GatewayTimeoutException + /// - `InternalServerErrorException` : Placeholder documentation for InternalServerErrorException + /// - `NotFoundException` : Placeholder documentation for NotFoundException + /// - `TooManyRequestsException` : Placeholder documentation for TooManyRequestsException + public func listMultiplexAlerts(input: ListMultiplexAlertsInput) async throws -> ListMultiplexAlertsOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .get) + .withServiceName(value: serviceName) + .withOperation(value: "listMultiplexAlerts") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "medialive") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListMultiplexAlertsInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListMultiplexAlertsInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListMultiplexAlertsOutput.httpOutput(from:), ListMultiplexAlertsOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("MediaLive", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: MediaLiveClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "MediaLive") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListMultiplexAlerts") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `ListMultiplexPrograms` operation on the `MediaLive` service. /// /// List the programs that currently exist for a specific multiplex. diff --git a/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Models.swift b/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Models.swift index 485dc15d0ee..e6b1e63eeff 100644 --- a/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Models.swift +++ b/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Models.swift @@ -3963,6 +3963,75 @@ extension MediaLiveClientTypes { } } +extension MediaLiveClientTypes { + + /// The possible states of a channel alert. SET - The alert is actively happening. CLEARED - The alert is no longer happening. + public enum ChannelAlertState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case cleared + case `set` + case sdkUnknown(Swift.String) + + public static var allCases: [ChannelAlertState] { + return [ + .cleared, + .set + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .cleared: return "CLEARED" + case .set: return "SET" + case let .sdkUnknown(s): return s + } + } + } +} + +extension MediaLiveClientTypes { + + /// An alert on a channel + public struct ChannelAlert: Swift.Sendable { + /// The type of the alert + public var alertType: Swift.String? + /// The time when the alert was cleared + public var clearedTimestamp: Foundation.Date? + /// The unique ID for this alert instance + public var id: Swift.String? + /// The user facing alert message which can have more context + public var message: Swift.String? + /// The ID of the pipeline this alert is associated with + public var pipelineId: Swift.String? + /// The time when the alert was set + public var setTimestamp: Foundation.Date? + /// The state of the alert + public var state: MediaLiveClientTypes.ChannelAlertState? + + public init( + alertType: Swift.String? = nil, + clearedTimestamp: Foundation.Date? = nil, + id: Swift.String? = nil, + message: Swift.String? = nil, + pipelineId: Swift.String? = nil, + setTimestamp: Foundation.Date? = nil, + state: MediaLiveClientTypes.ChannelAlertState? = nil + ) { + self.alertType = alertType + self.clearedTimestamp = clearedTimestamp + self.id = id + self.message = message + self.pipelineId = pipelineId + self.setTimestamp = setTimestamp + self.state = state + } + } +} + extension MediaLiveClientTypes { /// Placeholder documentation for ChannelEgressEndpoint @@ -5667,6 +5736,79 @@ extension MediaLiveClientTypes { } } +extension MediaLiveClientTypes { + + /// The possible states of a cluster alert. SET - The alert is actively happening. CLEARED - The alert is no longer happening. + public enum ClusterAlertState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case cleared + case `set` + case sdkUnknown(Swift.String) + + public static var allCases: [ClusterAlertState] { + return [ + .cleared, + .set + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .cleared: return "CLEARED" + case .set: return "SET" + case let .sdkUnknown(s): return s + } + } + } +} + +extension MediaLiveClientTypes { + + /// An alert on a cluster + public struct ClusterAlert: Swift.Sendable { + /// The type of the alert + public var alertType: Swift.String? + /// The ID of the channel this alert is associated with + public var channelId: Swift.String? + /// The time when the alert was cleared + public var clearedTimestamp: Foundation.Date? + /// The further subtype of this alert + public var id: Swift.String? + /// The user facing alert message which can have more context + public var message: Swift.String? + /// The ID of the node this alert is associated with + public var nodeId: Swift.String? + /// The time when the alert was set + public var setTimestamp: Foundation.Date? + /// The state of the alert + public var state: MediaLiveClientTypes.ClusterAlertState? + + public init( + alertType: Swift.String? = nil, + channelId: Swift.String? = nil, + clearedTimestamp: Foundation.Date? = nil, + id: Swift.String? = nil, + message: Swift.String? = nil, + nodeId: Swift.String? = nil, + setTimestamp: Foundation.Date? = nil, + state: MediaLiveClientTypes.ClusterAlertState? = nil + ) { + self.alertType = alertType + self.channelId = channelId + self.clearedTimestamp = clearedTimestamp + self.id = id + self.message = message + self.nodeId = nodeId + self.setTimestamp = setTimestamp + self.state = state + } + } +} + extension MediaLiveClientTypes { /// Add an array item for each language. Follow the order of the caption descriptions. For example, if the first caption description is for German, then the first array item must be for German, and its caption channel must be set to 1. The second array item must be 2, and so on. @@ -8246,6 +8388,75 @@ extension MediaLiveClientTypes { } } +extension MediaLiveClientTypes { + + /// The possible states of a multiplex alert. SET - The alert is actively happening. CLEARED - The alert is no longer happening. + public enum MultiplexAlertState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case cleared + case `set` + case sdkUnknown(Swift.String) + + public static var allCases: [MultiplexAlertState] { + return [ + .cleared, + .set + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .cleared: return "CLEARED" + case .set: return "SET" + case let .sdkUnknown(s): return s + } + } + } +} + +extension MediaLiveClientTypes { + + /// An alert on a multiplex + public struct MultiplexAlert: Swift.Sendable { + /// The type of the alert + public var alertType: Swift.String? + /// The time when the alert was cleared + public var clearedTimestamp: Foundation.Date? + /// The unique ID for this alert instance + public var id: Swift.String? + /// The user facing alert message which can have more context + public var message: Swift.String? + /// The ID of the pipeline this alert is associated with + public var pipelineId: Swift.String? + /// The time when the alert was set + public var setTimestamp: Foundation.Date? + /// The state of the alert + public var state: MediaLiveClientTypes.MultiplexAlertState? + + public init( + alertType: Swift.String? = nil, + clearedTimestamp: Foundation.Date? = nil, + id: Swift.String? = nil, + message: Swift.String? = nil, + pipelineId: Swift.String? = nil, + setTimestamp: Foundation.Date? = nil, + state: MediaLiveClientTypes.MultiplexAlertState? = nil + ) { + self.alertType = alertType + self.clearedTimestamp = clearedTimestamp + self.id = id + self.message = message + self.pipelineId = pipelineId + self.setTimestamp = setTimestamp + self.state = state + } + } +} + extension MediaLiveClientTypes { /// Multiplex MediaConnect output destination settings. @@ -23937,6 +24148,47 @@ extension MediaLiveClientTypes { } } +/// Placeholder documentation for ListAlertsRequest +public struct ListAlertsInput: Swift.Sendable { + /// The unique ID of the channel + /// This member is required. + public var channelId: Swift.String? + /// The maximum number of items to return + public var maxResults: Swift.Int? + /// The next pagination token + public var nextToken: Swift.String? + /// Specifies the set of alerts to return based on their state. SET - Return only alerts with SET state. CLEARED - Return only alerts with CLEARED state. ALL - Return all alerts. + public var stateFilter: Swift.String? + + public init( + channelId: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil, + stateFilter: Swift.String? = nil + ) { + self.channelId = channelId + self.maxResults = maxResults + self.nextToken = nextToken + self.stateFilter = stateFilter + } +} + +/// Placeholder documentation for ListAlertsResponse +public struct ListAlertsOutput: Swift.Sendable { + /// The alerts found for this channel + public var alerts: [MediaLiveClientTypes.ChannelAlert]? + /// The token to use to retrieve the next page of results + public var nextToken: Swift.String? + + public init( + alerts: [MediaLiveClientTypes.ChannelAlert]? = nil, + nextToken: Swift.String? = nil + ) { + self.alerts = alerts + self.nextToken = nextToken + } +} + /// Placeholder documentation for ListChannelPlacementGroupsRequest public struct ListChannelPlacementGroupsInput: Swift.Sendable { /// The ID of the cluster @@ -24090,6 +24342,47 @@ public struct ListCloudWatchAlarmTemplatesOutput: Swift.Sendable { } } +/// Placeholder documentation for ListClusterAlertsRequest +public struct ListClusterAlertsInput: Swift.Sendable { + /// The unique ID of the cluster + /// This member is required. + public var clusterId: Swift.String? + /// The maximum number of items to return + public var maxResults: Swift.Int? + /// The next pagination token + public var nextToken: Swift.String? + /// Specifies the set of alerts to return based on their state. SET - Return only alerts with SET state. CLEARED - Return only alerts with CLEARED state. ALL - Return all alerts. + public var stateFilter: Swift.String? + + public init( + clusterId: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil, + stateFilter: Swift.String? = nil + ) { + self.clusterId = clusterId + self.maxResults = maxResults + self.nextToken = nextToken + self.stateFilter = stateFilter + } +} + +/// Placeholder documentation for ListClusterAlertsResponse +public struct ListClusterAlertsOutput: Swift.Sendable { + /// The alerts found for this cluster + public var alerts: [MediaLiveClientTypes.ClusterAlert]? + /// The token to use to retrieve the next page of results + public var nextToken: Swift.String? + + public init( + alerts: [MediaLiveClientTypes.ClusterAlert]? = nil, + nextToken: Swift.String? = nil + ) { + self.alerts = alerts + self.nextToken = nextToken + } +} + /// Placeholder documentation for ListClustersRequest public struct ListClustersInput: Swift.Sendable { /// The maximum number of items to return. @@ -24331,6 +24624,47 @@ public struct ListInputSecurityGroupsOutput: Swift.Sendable { } } +/// Placeholder documentation for ListMultiplexAlertsRequest +public struct ListMultiplexAlertsInput: Swift.Sendable { + /// The maximum number of items to return + public var maxResults: Swift.Int? + /// The unique ID of the multiplex + /// This member is required. + public var multiplexId: Swift.String? + /// The next pagination token + public var nextToken: Swift.String? + /// Specifies the set of alerts to return based on their state. SET - Return only alerts with SET state. CLEARED - Return only alerts with CLEARED state. ALL - Return all alerts. + public var stateFilter: Swift.String? + + public init( + maxResults: Swift.Int? = nil, + multiplexId: Swift.String? = nil, + nextToken: Swift.String? = nil, + stateFilter: Swift.String? = nil + ) { + self.maxResults = maxResults + self.multiplexId = multiplexId + self.nextToken = nextToken + self.stateFilter = stateFilter + } +} + +/// Placeholder documentation for ListMultiplexAlertsResponse +public struct ListMultiplexAlertsOutput: Swift.Sendable { + /// The alerts found for this multiplex + public var alerts: [MediaLiveClientTypes.MultiplexAlert]? + /// The token to use to retrieve the next page of results + public var nextToken: Swift.String? + + public init( + alerts: [MediaLiveClientTypes.MultiplexAlert]? = nil, + nextToken: Swift.String? = nil + ) { + self.alerts = alerts + self.nextToken = nextToken + } +} + /// Placeholder documentation for ListMultiplexesRequest public struct ListMultiplexesInput: Swift.Sendable { /// The maximum number of items to return. @@ -27577,6 +27911,36 @@ extension GetSignalMapInput { } } +extension ListAlertsInput { + + static func urlPathProvider(_ value: ListAlertsInput) -> Swift.String? { + guard let channelId = value.channelId else { + return nil + } + return "/prod/channels/\(channelId.urlPercentEncoding())/alerts" + } +} + +extension ListAlertsInput { + + static func queryItemProvider(_ value: ListAlertsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let stateFilter = value.stateFilter { + let stateFilterQueryItem = Smithy.URIQueryItem(name: "stateFilter".urlPercentEncoding(), value: Swift.String(stateFilter).urlPercentEncoding()) + items.append(stateFilterQueryItem) + } + return items + } +} + extension ListChannelPlacementGroupsInput { static func urlPathProvider(_ value: ListChannelPlacementGroupsInput) -> Swift.String? { @@ -27692,6 +28056,36 @@ extension ListCloudWatchAlarmTemplatesInput { } } +extension ListClusterAlertsInput { + + static func urlPathProvider(_ value: ListClusterAlertsInput) -> Swift.String? { + guard let clusterId = value.clusterId else { + return nil + } + return "/prod/clusters/\(clusterId.urlPercentEncoding())/alerts" + } +} + +extension ListClusterAlertsInput { + + static func queryItemProvider(_ value: ListClusterAlertsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let stateFilter = value.stateFilter { + let stateFilterQueryItem = Smithy.URIQueryItem(name: "stateFilter".urlPercentEncoding(), value: Swift.String(stateFilter).urlPercentEncoding()) + items.append(stateFilterQueryItem) + } + return items + } +} + extension ListClustersInput { static func urlPathProvider(_ value: ListClustersInput) -> Swift.String? { @@ -27871,6 +28265,36 @@ extension ListInputSecurityGroupsInput { } } +extension ListMultiplexAlertsInput { + + static func urlPathProvider(_ value: ListMultiplexAlertsInput) -> Swift.String? { + guard let multiplexId = value.multiplexId else { + return nil + } + return "/prod/multiplexes/\(multiplexId.urlPercentEncoding())/alerts" + } +} + +extension ListMultiplexAlertsInput { + + static func queryItemProvider(_ value: ListMultiplexAlertsInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let stateFilter = value.stateFilter { + let stateFilterQueryItem = Smithy.URIQueryItem(name: "stateFilter".urlPercentEncoding(), value: Swift.String(stateFilter).urlPercentEncoding()) + items.append(stateFilterQueryItem) + } + return items + } +} + extension ListMultiplexesInput { static func urlPathProvider(_ value: ListMultiplexesInput) -> Swift.String? { @@ -30136,6 +30560,19 @@ extension GetSignalMapOutput { } } +extension ListAlertsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListAlertsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListAlertsOutput() + value.alerts = try reader["alerts"].readListIfPresent(memberReadingClosure: MediaLiveClientTypes.ChannelAlert.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension ListChannelPlacementGroupsOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListChannelPlacementGroupsOutput { @@ -30188,6 +30625,19 @@ extension ListCloudWatchAlarmTemplatesOutput { } } +extension ListClusterAlertsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListClusterAlertsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListClusterAlertsOutput() + value.alerts = try reader["alerts"].readListIfPresent(memberReadingClosure: MediaLiveClientTypes.ClusterAlert.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension ListClustersOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListClustersOutput { @@ -30279,6 +30729,19 @@ extension ListInputSecurityGroupsOutput { } } +extension ListMultiplexAlertsOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListMultiplexAlertsOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListMultiplexAlertsOutput() + value.alerts = try reader["alerts"].readListIfPresent(memberReadingClosure: MediaLiveClientTypes.MultiplexAlert.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + extension ListMultiplexesOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListMultiplexesOutput { @@ -32295,6 +32758,26 @@ enum GetSignalMapOutputError { } } +enum ListAlertsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "BadGatewayException": return try BadGatewayException.makeError(baseError: baseError) + case "BadRequestException": return try BadRequestException.makeError(baseError: baseError) + case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) + case "GatewayTimeoutException": return try GatewayTimeoutException.makeError(baseError: baseError) + case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) + case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListChannelPlacementGroupsOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -32369,6 +32852,26 @@ enum ListCloudWatchAlarmTemplatesOutputError { } } +enum ListClusterAlertsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "BadGatewayException": return try BadGatewayException.makeError(baseError: baseError) + case "BadRequestException": return try BadRequestException.makeError(baseError: baseError) + case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) + case "GatewayTimeoutException": return try GatewayTimeoutException.makeError(baseError: baseError) + case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) + case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListClustersOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -32501,6 +33004,26 @@ enum ListInputSecurityGroupsOutputError { } } +enum ListMultiplexAlertsOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "BadGatewayException": return try BadGatewayException.makeError(baseError: baseError) + case "BadRequestException": return try BadRequestException.makeError(baseError: baseError) + case "ForbiddenException": return try ForbiddenException.makeError(baseError: baseError) + case "GatewayTimeoutException": return try GatewayTimeoutException.makeError(baseError: baseError) + case "InternalServerErrorException": return try InternalServerErrorException.makeError(baseError: baseError) + case "NotFoundException": return try NotFoundException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum ListMultiplexesOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -38922,6 +39445,22 @@ extension MediaLiveClientTypes.Thumbnail { } } +extension MediaLiveClientTypes.ChannelAlert { + + static func read(from reader: SmithyJSON.Reader) throws -> MediaLiveClientTypes.ChannelAlert { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = MediaLiveClientTypes.ChannelAlert() + value.alertType = try reader["alertType"].readIfPresent() + value.clearedTimestamp = try reader["clearedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.id = try reader["id"].readIfPresent() + value.message = try reader["message"].readIfPresent() + value.pipelineId = try reader["pipelineId"].readIfPresent() + value.setTimestamp = try reader["setTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.state = try reader["state"].readIfPresent() + return value + } +} + extension MediaLiveClientTypes.DescribeChannelPlacementGroupSummary { static func read(from reader: SmithyJSON.Reader) throws -> MediaLiveClientTypes.DescribeChannelPlacementGroupSummary { @@ -39009,6 +39548,23 @@ extension MediaLiveClientTypes.CloudWatchAlarmTemplateSummary { } } +extension MediaLiveClientTypes.ClusterAlert { + + static func read(from reader: SmithyJSON.Reader) throws -> MediaLiveClientTypes.ClusterAlert { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = MediaLiveClientTypes.ClusterAlert() + value.alertType = try reader["alertType"].readIfPresent() + value.channelId = try reader["channelId"].readIfPresent() + value.clearedTimestamp = try reader["clearedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.id = try reader["id"].readIfPresent() + value.message = try reader["message"].readIfPresent() + value.nodeId = try reader["nodeId"].readIfPresent() + value.setTimestamp = try reader["setTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.state = try reader["state"].readIfPresent() + return value + } +} + extension MediaLiveClientTypes.DescribeClusterSummary { static func read(from reader: SmithyJSON.Reader) throws -> MediaLiveClientTypes.DescribeClusterSummary { @@ -39100,6 +39656,22 @@ extension MediaLiveClientTypes.TransferringInputDeviceSummary { } } +extension MediaLiveClientTypes.MultiplexAlert { + + static func read(from reader: SmithyJSON.Reader) throws -> MediaLiveClientTypes.MultiplexAlert { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = MediaLiveClientTypes.MultiplexAlert() + value.alertType = try reader["alertType"].readIfPresent() + value.clearedTimestamp = try reader["clearedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.id = try reader["id"].readIfPresent() + value.message = try reader["message"].readIfPresent() + value.pipelineId = try reader["pipelineId"].readIfPresent() + value.setTimestamp = try reader["setTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.dateTime) + value.state = try reader["state"].readIfPresent() + return value + } +} + extension MediaLiveClientTypes.MultiplexSummary { static func read(from reader: SmithyJSON.Reader) throws -> MediaLiveClientTypes.MultiplexSummary { diff --git a/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Paginators.swift b/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Paginators.swift index 3d09a7f1cff..6596f2e08d5 100644 --- a/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Paginators.swift +++ b/Sources/Services/AWSMediaLive/Sources/AWSMediaLive/Paginators.swift @@ -41,6 +41,38 @@ extension PaginatorSequence where OperationStackInput == DescribeScheduleInput, return try await self.asyncCompactMap { item in item.scheduleActions } } } +extension MediaLiveClient { + /// Paginate over `[ListAlertsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListAlertsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListAlertsOutput` + public func listAlertsPaginated(input: ListAlertsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listAlerts(input:)) + } +} + +extension ListAlertsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListAlertsInput { + return ListAlertsInput( + channelId: self.channelId, + maxResults: self.maxResults, + nextToken: token, + stateFilter: self.stateFilter + )} +} + +extension PaginatorSequence where OperationStackInput == ListAlertsInput, OperationStackOutput == ListAlertsOutput { + /// This paginator transforms the `AsyncSequence` returned by `listAlertsPaginated` + /// to access the nested member `[MediaLiveClientTypes.ChannelAlert]` + /// - Returns: `[MediaLiveClientTypes.ChannelAlert]` + public func alerts() async throws -> [MediaLiveClientTypes.ChannelAlert] { + return try await self.asyncCompactMap { item in item.alerts } + } +} extension MediaLiveClient { /// Paginate over `[ListChannelPlacementGroupsOutput]` results. /// @@ -167,6 +199,38 @@ extension PaginatorSequence where OperationStackInput == ListCloudWatchAlarmTemp return try await self.asyncCompactMap { item in item.cloudWatchAlarmTemplates } } } +extension MediaLiveClient { + /// Paginate over `[ListClusterAlertsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListClusterAlertsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListClusterAlertsOutput` + public func listClusterAlertsPaginated(input: ListClusterAlertsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listClusterAlerts(input:)) + } +} + +extension ListClusterAlertsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListClusterAlertsInput { + return ListClusterAlertsInput( + clusterId: self.clusterId, + maxResults: self.maxResults, + nextToken: token, + stateFilter: self.stateFilter + )} +} + +extension PaginatorSequence where OperationStackInput == ListClusterAlertsInput, OperationStackOutput == ListClusterAlertsOutput { + /// This paginator transforms the `AsyncSequence` returned by `listClusterAlertsPaginated` + /// to access the nested member `[MediaLiveClientTypes.ClusterAlert]` + /// - Returns: `[MediaLiveClientTypes.ClusterAlert]` + public func alerts() async throws -> [MediaLiveClientTypes.ClusterAlert] { + return try await self.asyncCompactMap { item in item.alerts } + } +} extension MediaLiveClient { /// Paginate over `[ListClustersOutput]` results. /// @@ -381,6 +445,38 @@ extension PaginatorSequence where OperationStackInput == ListInputSecurityGroups return try await self.asyncCompactMap { item in item.inputSecurityGroups } } } +extension MediaLiveClient { + /// Paginate over `[ListMultiplexAlertsOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListMultiplexAlertsInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListMultiplexAlertsOutput` + public func listMultiplexAlertsPaginated(input: ListMultiplexAlertsInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listMultiplexAlerts(input:)) + } +} + +extension ListMultiplexAlertsInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListMultiplexAlertsInput { + return ListMultiplexAlertsInput( + maxResults: self.maxResults, + multiplexId: self.multiplexId, + nextToken: token, + stateFilter: self.stateFilter + )} +} + +extension PaginatorSequence where OperationStackInput == ListMultiplexAlertsInput, OperationStackOutput == ListMultiplexAlertsOutput { + /// This paginator transforms the `AsyncSequence` returned by `listMultiplexAlertsPaginated` + /// to access the nested member `[MediaLiveClientTypes.MultiplexAlert]` + /// - Returns: `[MediaLiveClientTypes.MultiplexAlert]` + public func alerts() async throws -> [MediaLiveClientTypes.MultiplexAlert] { + return try await self.asyncCompactMap { item in item.alerts } + } +} extension MediaLiveClient { /// Paginate over `[ListMultiplexesOutput]` results. /// diff --git a/Sources/Services/AWSMediaPackage/Sources/AWSMediaPackage/MediaPackageClient.swift b/Sources/Services/AWSMediaPackage/Sources/AWSMediaPackage/MediaPackageClient.swift index ebd0010ddf8..b0a2e461b25 100644 --- a/Sources/Services/AWSMediaPackage/Sources/AWSMediaPackage/MediaPackageClient.swift +++ b/Sources/Services/AWSMediaPackage/Sources/AWSMediaPackage/MediaPackageClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaPackageClient: ClientRuntime.Client { +public class MediaPackageClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaPackageClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaPackageClient.MediaPackageClientConfiguration let serviceName = "MediaPackage" diff --git a/Sources/Services/AWSMediaPackageV2/Sources/AWSMediaPackageV2/MediaPackageV2Client.swift b/Sources/Services/AWSMediaPackageV2/Sources/AWSMediaPackageV2/MediaPackageV2Client.swift index edcd927e3a8..9a1ba28ce2d 100644 --- a/Sources/Services/AWSMediaPackageV2/Sources/AWSMediaPackageV2/MediaPackageV2Client.swift +++ b/Sources/Services/AWSMediaPackageV2/Sources/AWSMediaPackageV2/MediaPackageV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaPackageV2Client: ClientRuntime.Client { +public class MediaPackageV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaPackageV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaPackageV2Client.MediaPackageV2ClientConfiguration let serviceName = "MediaPackageV2" diff --git a/Sources/Services/AWSMediaPackageVod/Sources/AWSMediaPackageVod/MediaPackageVodClient.swift b/Sources/Services/AWSMediaPackageVod/Sources/AWSMediaPackageVod/MediaPackageVodClient.swift index 8461b14b9c1..aeb268be4f5 100644 --- a/Sources/Services/AWSMediaPackageVod/Sources/AWSMediaPackageVod/MediaPackageVodClient.swift +++ b/Sources/Services/AWSMediaPackageVod/Sources/AWSMediaPackageVod/MediaPackageVodClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaPackageVodClient: ClientRuntime.Client { +public class MediaPackageVodClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaPackageVodClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaPackageVodClient.MediaPackageVodClientConfiguration let serviceName = "MediaPackage Vod" diff --git a/Sources/Services/AWSMediaStore/Sources/AWSMediaStore/MediaStoreClient.swift b/Sources/Services/AWSMediaStore/Sources/AWSMediaStore/MediaStoreClient.swift index a4412f1e569..f26b2c772b1 100644 --- a/Sources/Services/AWSMediaStore/Sources/AWSMediaStore/MediaStoreClient.swift +++ b/Sources/Services/AWSMediaStore/Sources/AWSMediaStore/MediaStoreClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaStoreClient: ClientRuntime.Client { +public class MediaStoreClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaStoreClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaStoreClient.MediaStoreClientConfiguration let serviceName = "MediaStore" diff --git a/Sources/Services/AWSMediaStoreData/Sources/AWSMediaStoreData/MediaStoreDataClient.swift b/Sources/Services/AWSMediaStoreData/Sources/AWSMediaStoreData/MediaStoreDataClient.swift index f9d8e7c1d46..7150ce53de7 100644 --- a/Sources/Services/AWSMediaStoreData/Sources/AWSMediaStoreData/MediaStoreDataClient.swift +++ b/Sources/Services/AWSMediaStoreData/Sources/AWSMediaStoreData/MediaStoreDataClient.swift @@ -33,7 +33,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaStoreDataClient: ClientRuntime.Client { +public class MediaStoreDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaStoreDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaStoreDataClient.MediaStoreDataClientConfiguration let serviceName = "MediaStore Data" diff --git a/Sources/Services/AWSMediaTailor/Sources/AWSMediaTailor/MediaTailorClient.swift b/Sources/Services/AWSMediaTailor/Sources/AWSMediaTailor/MediaTailorClient.swift index 2ea33a6ef7d..0887b207907 100644 --- a/Sources/Services/AWSMediaTailor/Sources/AWSMediaTailor/MediaTailorClient.swift +++ b/Sources/Services/AWSMediaTailor/Sources/AWSMediaTailor/MediaTailorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MediaTailorClient: ClientRuntime.Client { +public class MediaTailorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MediaTailorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MediaTailorClient.MediaTailorClientConfiguration let serviceName = "MediaTailor" diff --git a/Sources/Services/AWSMedicalImaging/Sources/AWSMedicalImaging/MedicalImagingClient.swift b/Sources/Services/AWSMedicalImaging/Sources/AWSMedicalImaging/MedicalImagingClient.swift index 33fc2be5e05..d2c4f077c3f 100644 --- a/Sources/Services/AWSMedicalImaging/Sources/AWSMedicalImaging/MedicalImagingClient.swift +++ b/Sources/Services/AWSMedicalImaging/Sources/AWSMedicalImaging/MedicalImagingClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MedicalImagingClient: ClientRuntime.Client { +public class MedicalImagingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MedicalImagingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MedicalImagingClient.MedicalImagingClientConfiguration let serviceName = "Medical Imaging" diff --git a/Sources/Services/AWSMemoryDB/Sources/AWSMemoryDB/MemoryDBClient.swift b/Sources/Services/AWSMemoryDB/Sources/AWSMemoryDB/MemoryDBClient.swift index 4cb63a8b452..3d3b6a8ef74 100644 --- a/Sources/Services/AWSMemoryDB/Sources/AWSMemoryDB/MemoryDBClient.swift +++ b/Sources/Services/AWSMemoryDB/Sources/AWSMemoryDB/MemoryDBClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MemoryDBClient: ClientRuntime.Client { +public class MemoryDBClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MemoryDBClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MemoryDBClient.MemoryDBClientConfiguration let serviceName = "MemoryDB" diff --git a/Sources/Services/AWSMgn/Sources/AWSMgn/MgnClient.swift b/Sources/Services/AWSMgn/Sources/AWSMgn/MgnClient.swift index 413a9c340ef..1064f3b7a8b 100644 --- a/Sources/Services/AWSMgn/Sources/AWSMgn/MgnClient.swift +++ b/Sources/Services/AWSMgn/Sources/AWSMgn/MgnClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MgnClient: ClientRuntime.Client { +public class MgnClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MgnClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MgnClient.MgnClientConfiguration let serviceName = "mgn" diff --git a/Sources/Services/AWSMigrationHub/Sources/AWSMigrationHub/MigrationHubClient.swift b/Sources/Services/AWSMigrationHub/Sources/AWSMigrationHub/MigrationHubClient.swift index 6eb3f19b971..be6a22b9926 100644 --- a/Sources/Services/AWSMigrationHub/Sources/AWSMigrationHub/MigrationHubClient.swift +++ b/Sources/Services/AWSMigrationHub/Sources/AWSMigrationHub/MigrationHubClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MigrationHubClient: ClientRuntime.Client { +public class MigrationHubClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MigrationHubClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MigrationHubClient.MigrationHubClientConfiguration let serviceName = "Migration Hub" diff --git a/Sources/Services/AWSMigrationHubConfig/Sources/AWSMigrationHubConfig/MigrationHubConfigClient.swift b/Sources/Services/AWSMigrationHubConfig/Sources/AWSMigrationHubConfig/MigrationHubConfigClient.swift index e45f3e535a6..78906243d8c 100644 --- a/Sources/Services/AWSMigrationHubConfig/Sources/AWSMigrationHubConfig/MigrationHubConfigClient.swift +++ b/Sources/Services/AWSMigrationHubConfig/Sources/AWSMigrationHubConfig/MigrationHubConfigClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MigrationHubConfigClient: ClientRuntime.Client { +public class MigrationHubConfigClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MigrationHubConfigClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MigrationHubConfigClient.MigrationHubConfigClientConfiguration let serviceName = "MigrationHub Config" diff --git a/Sources/Services/AWSMigrationHubOrchestrator/Sources/AWSMigrationHubOrchestrator/MigrationHubOrchestratorClient.swift b/Sources/Services/AWSMigrationHubOrchestrator/Sources/AWSMigrationHubOrchestrator/MigrationHubOrchestratorClient.swift index 85b27e97386..7771a0c2912 100644 --- a/Sources/Services/AWSMigrationHubOrchestrator/Sources/AWSMigrationHubOrchestrator/MigrationHubOrchestratorClient.swift +++ b/Sources/Services/AWSMigrationHubOrchestrator/Sources/AWSMigrationHubOrchestrator/MigrationHubOrchestratorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MigrationHubOrchestratorClient: ClientRuntime.Client { +public class MigrationHubOrchestratorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MigrationHubOrchestratorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MigrationHubOrchestratorClient.MigrationHubOrchestratorClientConfiguration let serviceName = "MigrationHubOrchestrator" diff --git a/Sources/Services/AWSMigrationHubRefactorSpaces/Sources/AWSMigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.swift b/Sources/Services/AWSMigrationHubRefactorSpaces/Sources/AWSMigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.swift index 301b4995d31..d7c7580966e 100644 --- a/Sources/Services/AWSMigrationHubRefactorSpaces/Sources/AWSMigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.swift +++ b/Sources/Services/AWSMigrationHubRefactorSpaces/Sources/AWSMigrationHubRefactorSpaces/MigrationHubRefactorSpacesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MigrationHubRefactorSpacesClient: ClientRuntime.Client { +public class MigrationHubRefactorSpacesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MigrationHubRefactorSpacesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MigrationHubRefactorSpacesClient.MigrationHubRefactorSpacesClientConfiguration let serviceName = "Migration Hub Refactor Spaces" diff --git a/Sources/Services/AWSMigrationHubStrategy/Sources/AWSMigrationHubStrategy/MigrationHubStrategyClient.swift b/Sources/Services/AWSMigrationHubStrategy/Sources/AWSMigrationHubStrategy/MigrationHubStrategyClient.swift index f682c8a8079..99625943022 100644 --- a/Sources/Services/AWSMigrationHubStrategy/Sources/AWSMigrationHubStrategy/MigrationHubStrategyClient.swift +++ b/Sources/Services/AWSMigrationHubStrategy/Sources/AWSMigrationHubStrategy/MigrationHubStrategyClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MigrationHubStrategyClient: ClientRuntime.Client { +public class MigrationHubStrategyClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MigrationHubStrategyClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MigrationHubStrategyClient.MigrationHubStrategyClientConfiguration let serviceName = "MigrationHubStrategy" diff --git a/Sources/Services/AWSMq/Sources/AWSMq/MqClient.swift b/Sources/Services/AWSMq/Sources/AWSMq/MqClient.swift index ea70d06ee56..b90982b2871 100644 --- a/Sources/Services/AWSMq/Sources/AWSMq/MqClient.swift +++ b/Sources/Services/AWSMq/Sources/AWSMq/MqClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class MqClient: ClientRuntime.Client { +public class MqClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "MqClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: MqClient.MqClientConfiguration let serviceName = "mq" diff --git a/Sources/Services/AWSNeptune/Sources/AWSNeptune/NeptuneClient.swift b/Sources/Services/AWSNeptune/Sources/AWSNeptune/NeptuneClient.swift index 39f9382ca1f..4757d691c92 100644 --- a/Sources/Services/AWSNeptune/Sources/AWSNeptune/NeptuneClient.swift +++ b/Sources/Services/AWSNeptune/Sources/AWSNeptune/NeptuneClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NeptuneClient: ClientRuntime.Client { +public class NeptuneClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NeptuneClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NeptuneClient.NeptuneClientConfiguration let serviceName = "Neptune" diff --git a/Sources/Services/AWSNeptuneGraph/Sources/AWSNeptuneGraph/NeptuneGraphClient.swift b/Sources/Services/AWSNeptuneGraph/Sources/AWSNeptuneGraph/NeptuneGraphClient.swift index f0143a19151..6779031fded 100644 --- a/Sources/Services/AWSNeptuneGraph/Sources/AWSNeptuneGraph/NeptuneGraphClient.swift +++ b/Sources/Services/AWSNeptuneGraph/Sources/AWSNeptuneGraph/NeptuneGraphClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NeptuneGraphClient: ClientRuntime.Client { +public class NeptuneGraphClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NeptuneGraphClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NeptuneGraphClient.NeptuneGraphClientConfiguration let serviceName = "Neptune Graph" diff --git a/Sources/Services/AWSNeptunedata/Sources/AWSNeptunedata/NeptunedataClient.swift b/Sources/Services/AWSNeptunedata/Sources/AWSNeptunedata/NeptunedataClient.swift index 16ccbf2c1a9..04129365ac2 100644 --- a/Sources/Services/AWSNeptunedata/Sources/AWSNeptunedata/NeptunedataClient.swift +++ b/Sources/Services/AWSNeptunedata/Sources/AWSNeptunedata/NeptunedataClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NeptunedataClient: ClientRuntime.Client { +public class NeptunedataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NeptunedataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NeptunedataClient.NeptunedataClientConfiguration let serviceName = "neptunedata" diff --git a/Sources/Services/AWSNetworkFirewall/Sources/AWSNetworkFirewall/NetworkFirewallClient.swift b/Sources/Services/AWSNetworkFirewall/Sources/AWSNetworkFirewall/NetworkFirewallClient.swift index 37304c24c9d..4147d45e589 100644 --- a/Sources/Services/AWSNetworkFirewall/Sources/AWSNetworkFirewall/NetworkFirewallClient.swift +++ b/Sources/Services/AWSNetworkFirewall/Sources/AWSNetworkFirewall/NetworkFirewallClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NetworkFirewallClient: ClientRuntime.Client { +public class NetworkFirewallClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NetworkFirewallClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NetworkFirewallClient.NetworkFirewallClientConfiguration let serviceName = "Network Firewall" diff --git a/Sources/Services/AWSNetworkFlowMonitor/Sources/AWSNetworkFlowMonitor/NetworkFlowMonitorClient.swift b/Sources/Services/AWSNetworkFlowMonitor/Sources/AWSNetworkFlowMonitor/NetworkFlowMonitorClient.swift index be2b50c8167..ae6457bfca3 100644 --- a/Sources/Services/AWSNetworkFlowMonitor/Sources/AWSNetworkFlowMonitor/NetworkFlowMonitorClient.swift +++ b/Sources/Services/AWSNetworkFlowMonitor/Sources/AWSNetworkFlowMonitor/NetworkFlowMonitorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NetworkFlowMonitorClient: ClientRuntime.Client { +public class NetworkFlowMonitorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NetworkFlowMonitorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NetworkFlowMonitorClient.NetworkFlowMonitorClientConfiguration let serviceName = "NetworkFlowMonitor" diff --git a/Sources/Services/AWSNetworkManager/Sources/AWSNetworkManager/NetworkManagerClient.swift b/Sources/Services/AWSNetworkManager/Sources/AWSNetworkManager/NetworkManagerClient.swift index 424a04d62a5..08343e108e5 100644 --- a/Sources/Services/AWSNetworkManager/Sources/AWSNetworkManager/NetworkManagerClient.swift +++ b/Sources/Services/AWSNetworkManager/Sources/AWSNetworkManager/NetworkManagerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NetworkManagerClient: ClientRuntime.Client { +public class NetworkManagerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NetworkManagerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NetworkManagerClient.NetworkManagerClientConfiguration let serviceName = "NetworkManager" diff --git a/Sources/Services/AWSNetworkManager/Tests/AWSNetworkManagerTests/EndpointResolverTest.swift b/Sources/Services/AWSNetworkManager/Tests/AWSNetworkManagerTests/EndpointResolverTest.swift index d0f4918d481..05b630ef093 100644 --- a/Sources/Services/AWSNetworkManager/Tests/AWSNetworkManagerTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSNetworkManager/Tests/AWSNetworkManagerTests/EndpointResolverTest.swift @@ -293,11 +293,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -309,23 +309,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -336,23 +336,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -363,21 +363,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -390,21 +390,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -417,21 +417,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -444,21 +444,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -471,21 +471,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -498,21 +498,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -525,21 +525,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -552,22 +552,22 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -579,23 +579,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -606,23 +606,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -633,21 +633,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -660,13 +660,13 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://networkmanager.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSNetworkMonitor/Sources/AWSNetworkMonitor/NetworkMonitorClient.swift b/Sources/Services/AWSNetworkMonitor/Sources/AWSNetworkMonitor/NetworkMonitorClient.swift index 29db3d5a83d..bc519c948de 100644 --- a/Sources/Services/AWSNetworkMonitor/Sources/AWSNetworkMonitor/NetworkMonitorClient.swift +++ b/Sources/Services/AWSNetworkMonitor/Sources/AWSNetworkMonitor/NetworkMonitorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NetworkMonitorClient: ClientRuntime.Client { +public class NetworkMonitorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NetworkMonitorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NetworkMonitorClient.NetworkMonitorClientConfiguration let serviceName = "NetworkMonitor" diff --git a/Sources/Services/AWSNotifications/Sources/AWSNotifications/NotificationsClient.swift b/Sources/Services/AWSNotifications/Sources/AWSNotifications/NotificationsClient.swift index 9eccf3a670b..3a7c8a2af56 100644 --- a/Sources/Services/AWSNotifications/Sources/AWSNotifications/NotificationsClient.swift +++ b/Sources/Services/AWSNotifications/Sources/AWSNotifications/NotificationsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NotificationsClient: ClientRuntime.Client { +public class NotificationsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NotificationsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NotificationsClient.NotificationsClientConfiguration let serviceName = "Notifications" diff --git a/Sources/Services/AWSNotificationsContacts/Sources/AWSNotificationsContacts/NotificationsContactsClient.swift b/Sources/Services/AWSNotificationsContacts/Sources/AWSNotificationsContacts/NotificationsContactsClient.swift index 7dc9fda3db1..8937630cbec 100644 --- a/Sources/Services/AWSNotificationsContacts/Sources/AWSNotificationsContacts/NotificationsContactsClient.swift +++ b/Sources/Services/AWSNotificationsContacts/Sources/AWSNotificationsContacts/NotificationsContactsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class NotificationsContactsClient: ClientRuntime.Client { +public class NotificationsContactsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "NotificationsContactsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: NotificationsContactsClient.NotificationsContactsClientConfiguration let serviceName = "NotificationsContacts" diff --git a/Sources/Services/AWSOAM/Sources/AWSOAM/OAMClient.swift b/Sources/Services/AWSOAM/Sources/AWSOAM/OAMClient.swift index eca15ee3d94..42ecb695cf9 100644 --- a/Sources/Services/AWSOAM/Sources/AWSOAM/OAMClient.swift +++ b/Sources/Services/AWSOAM/Sources/AWSOAM/OAMClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OAMClient: ClientRuntime.Client { +public class OAMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OAMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OAMClient.OAMClientConfiguration let serviceName = "OAM" diff --git a/Sources/Services/AWSOSIS/Sources/AWSOSIS/OSISClient.swift b/Sources/Services/AWSOSIS/Sources/AWSOSIS/OSISClient.swift index a9c61c3f1ef..f6ca302c002 100644 --- a/Sources/Services/AWSOSIS/Sources/AWSOSIS/OSISClient.swift +++ b/Sources/Services/AWSOSIS/Sources/AWSOSIS/OSISClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OSISClient: ClientRuntime.Client { +public class OSISClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OSISClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OSISClient.OSISClientConfiguration let serviceName = "OSIS" diff --git a/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/Models.swift b/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/Models.swift index 922070bd726..e3178214d2a 100644 --- a/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/Models.swift +++ b/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/Models.swift @@ -41,6 +41,11 @@ public struct DeleteTelemetryRuleOutput: Swift.Sendable { public init() { } } +public struct GetTelemetryEnrichmentStatusInput: Swift.Sendable { + + public init() { } +} + public struct GetTelemetryEvaluationStatusForOrganizationInput: Swift.Sendable { public init() { } @@ -51,6 +56,11 @@ public struct GetTelemetryEvaluationStatusInput: Swift.Sendable { public init() { } } +public struct StartTelemetryEnrichmentInput: Swift.Sendable { + + public init() { } +} + public struct StartTelemetryEvaluationForOrganizationInput: Swift.Sendable { public init() { } @@ -71,6 +81,11 @@ public struct StartTelemetryEvaluationOutput: Swift.Sendable { public init() { } } +public struct StopTelemetryEnrichmentInput: Swift.Sendable { + + public init() { } +} + public struct StopTelemetryEvaluationForOrganizationInput: Swift.Sendable { public init() { } @@ -988,6 +1003,53 @@ public struct GetCentralizationRuleForOrganizationOutput: Swift.Sendable { } } +extension ObservabilityAdminClientTypes { + + public enum TelemetryEnrichmentStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case impaired + case running + case stopped + case sdkUnknown(Swift.String) + + public static var allCases: [TelemetryEnrichmentStatus] { + return [ + .impaired, + .running, + .stopped + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .impaired: return "Impaired" + case .running: return "Running" + case .stopped: return "Stopped" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct GetTelemetryEnrichmentStatusOutput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the Amazon Web Services Resource Explorer managed view used for resource tags for telemetry, if the feature is enabled. + public var awsResourceExplorerManagedViewArn: Swift.String? + /// The current status of the resource tags for telemetry feature (Running, Stopped, or Impaired). + public var status: ObservabilityAdminClientTypes.TelemetryEnrichmentStatus? + + public init( + awsResourceExplorerManagedViewArn: Swift.String? = nil, + status: ObservabilityAdminClientTypes.TelemetryEnrichmentStatus? = nil + ) { + self.awsResourceExplorerManagedViewArn = awsResourceExplorerManagedViewArn + self.status = status + } +} + extension ObservabilityAdminClientTypes { public enum Status: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -1476,6 +1538,32 @@ public struct ListTelemetryRulesForOrganizationOutput: Swift.Sendable { } } +public struct StartTelemetryEnrichmentOutput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the Amazon Web Services Resource Explorer managed view created for resource tags for telemetry. + public var awsResourceExplorerManagedViewArn: Swift.String? + /// The status of the resource tags for telemetry feature after the start operation (Running, Stopped, or Impaired). + public var status: ObservabilityAdminClientTypes.TelemetryEnrichmentStatus? + + public init( + awsResourceExplorerManagedViewArn: Swift.String? = nil, + status: ObservabilityAdminClientTypes.TelemetryEnrichmentStatus? = nil + ) { + self.awsResourceExplorerManagedViewArn = awsResourceExplorerManagedViewArn + self.status = status + } +} + +public struct StopTelemetryEnrichmentOutput: Swift.Sendable { + /// The status of the resource tags for telemetry feature after the stop operation (Running, Stopped, or Impaired). + public var status: ObservabilityAdminClientTypes.TelemetryEnrichmentStatus? + + public init( + status: ObservabilityAdminClientTypes.TelemetryEnrichmentStatus? = nil + ) { + self.status = status + } +} + public struct TagResourceInput: Swift.Sendable { /// The Amazon Resource Name (ARN) of the telemetry rule resource to tag. /// This member is required. @@ -1643,6 +1731,13 @@ extension GetCentralizationRuleForOrganizationInput { } } +extension GetTelemetryEnrichmentStatusInput { + + static func urlPathProvider(_ value: GetTelemetryEnrichmentStatusInput) -> Swift.String? { + return "/GetTelemetryEnrichmentStatus" + } +} + extension GetTelemetryEvaluationStatusInput { static func urlPathProvider(_ value: GetTelemetryEvaluationStatusInput) -> Swift.String? { @@ -1713,6 +1808,13 @@ extension ListTelemetryRulesForOrganizationInput { } } +extension StartTelemetryEnrichmentInput { + + static func urlPathProvider(_ value: StartTelemetryEnrichmentInput) -> Swift.String? { + return "/StartTelemetryEnrichment" + } +} + extension StartTelemetryEvaluationInput { static func urlPathProvider(_ value: StartTelemetryEvaluationInput) -> Swift.String? { @@ -1727,6 +1829,13 @@ extension StartTelemetryEvaluationForOrganizationInput { } } +extension StopTelemetryEnrichmentInput { + + static func urlPathProvider(_ value: StopTelemetryEnrichmentInput) -> Swift.String? { + return "/StopTelemetryEnrichment" + } +} + extension StopTelemetryEvaluationInput { static func urlPathProvider(_ value: StopTelemetryEvaluationInput) -> Swift.String? { @@ -2044,6 +2153,19 @@ extension GetCentralizationRuleForOrganizationOutput { } } +extension GetTelemetryEnrichmentStatusOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetTelemetryEnrichmentStatusOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetTelemetryEnrichmentStatusOutput() + value.awsResourceExplorerManagedViewArn = try reader["AwsResourceExplorerManagedViewArn"].readIfPresent() + value.status = try reader["Status"].readIfPresent() + return value + } +} + extension GetTelemetryEvaluationStatusOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetTelemetryEvaluationStatusOutput { @@ -2179,6 +2301,19 @@ extension ListTelemetryRulesForOrganizationOutput { } } +extension StartTelemetryEnrichmentOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartTelemetryEnrichmentOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = StartTelemetryEnrichmentOutput() + value.awsResourceExplorerManagedViewArn = try reader["AwsResourceExplorerManagedViewArn"].readIfPresent() + value.status = try reader["Status"].readIfPresent() + return value + } +} + extension StartTelemetryEvaluationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartTelemetryEvaluationOutput { @@ -2193,6 +2328,18 @@ extension StartTelemetryEvaluationForOrganizationOutput { } } +extension StopTelemetryEnrichmentOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StopTelemetryEnrichmentOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = StopTelemetryEnrichmentOutput() + value.status = try reader["Status"].readIfPresent() + return value + } +} + extension StopTelemetryEvaluationOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StopTelemetryEvaluationOutput { @@ -2386,6 +2533,23 @@ enum GetCentralizationRuleForOrganizationOutputError { } } +enum GetTelemetryEnrichmentStatusOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum GetTelemetryEvaluationStatusOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -2558,6 +2722,23 @@ enum ListTelemetryRulesForOrganizationOutputError { } } +enum StartTelemetryEnrichmentOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum StartTelemetryEvaluationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -2592,6 +2773,23 @@ enum StartTelemetryEvaluationForOrganizationOutputError { } } +enum StopTelemetryEnrichmentOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "TooManyRequestsException": return try TooManyRequestsException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum StopTelemetryEvaluationOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { diff --git a/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/ObservabilityAdminClient.swift b/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/ObservabilityAdminClient.swift index e5ef16300a1..ba932fa220e 100644 --- a/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/ObservabilityAdminClient.swift +++ b/Sources/Services/AWSObservabilityAdmin/Sources/AWSObservabilityAdmin/ObservabilityAdminClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ObservabilityAdminClient: ClientRuntime.Client { +public class ObservabilityAdminClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ObservabilityAdminClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ObservabilityAdminClient.ObservabilityAdminClientConfiguration let serviceName = "ObservabilityAdmin" @@ -875,6 +874,74 @@ extension ObservabilityAdminClient { return try await op.execute(input: input) } + /// Performs the `GetTelemetryEnrichmentStatus` operation on the `ObservabilityAdmin` service. + /// + /// Returns the current status of the resource tags for telemetry feature, which enhances telemetry data with additional resource metadata from Amazon Web Services Resource Explorer. + /// + /// - Parameter input: [no documentation found] (Type: `GetTelemetryEnrichmentStatusInput`) + /// + /// - Returns: [no documentation found] (Type: `GetTelemetryEnrichmentStatusOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see [Access management for Amazon Web Services resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) in the IAM user guide. + /// - `InternalServerException` : Indicates the request has failed to process because of an unknown server error, exception, or failure. + /// - `ResourceNotFoundException` : The specified resource (such as a telemetry rule) could not be found. + /// - `TooManyRequestsException` : The request throughput limit was exceeded. + public func getTelemetryEnrichmentStatus(input: GetTelemetryEnrichmentStatusInput) async throws -> GetTelemetryEnrichmentStatusOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "getTelemetryEnrichmentStatus") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "observabilityadmin") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetTelemetryEnrichmentStatusInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetTelemetryEnrichmentStatusOutput.httpOutput(from:), GetTelemetryEnrichmentStatusOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("ObservabilityAdmin", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: ObservabilityAdminClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "ObservabilityAdmin") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetTelemetryEnrichmentStatus") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `GetTelemetryEvaluationStatus` operation on the `ObservabilityAdmin` service. /// /// Returns the current onboarding status of the telemetry config feature, including the status of the feature and reason the feature failed to start or stop. @@ -1581,6 +1648,74 @@ extension ObservabilityAdminClient { return try await op.execute(input: input) } + /// Performs the `StartTelemetryEnrichment` operation on the `ObservabilityAdmin` service. + /// + /// Enables the resource tags for telemetry feature for your account, which enhances telemetry data with additional resource metadata from Amazon Web Services Resource Explorer to provide richer context for monitoring and observability. + /// + /// - Parameter input: [no documentation found] (Type: `StartTelemetryEnrichmentInput`) + /// + /// - Returns: [no documentation found] (Type: `StartTelemetryEnrichmentOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see [Access management for Amazon Web Services resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) in the IAM user guide. + /// - `ConflictException` : The requested operation conflicts with the current state of the specified resource or with another request. + /// - `InternalServerException` : Indicates the request has failed to process because of an unknown server error, exception, or failure. + /// - `TooManyRequestsException` : The request throughput limit was exceeded. + public func startTelemetryEnrichment(input: StartTelemetryEnrichmentInput) async throws -> StartTelemetryEnrichmentOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "startTelemetryEnrichment") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "observabilityadmin") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartTelemetryEnrichmentInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(StartTelemetryEnrichmentOutput.httpOutput(from:), StartTelemetryEnrichmentOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("ObservabilityAdmin", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: ObservabilityAdminClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "ObservabilityAdmin") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartTelemetryEnrichment") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `StartTelemetryEvaluation` operation on the `ObservabilityAdmin` service. /// /// This action begins onboarding the caller Amazon Web Services account to the telemetry config feature. @@ -1717,6 +1852,74 @@ extension ObservabilityAdminClient { return try await op.execute(input: input) } + /// Performs the `StopTelemetryEnrichment` operation on the `ObservabilityAdmin` service. + /// + /// Disables the resource tags for telemetry feature for your account, stopping the enhancement of telemetry data with additional resource metadata. + /// + /// - Parameter input: [no documentation found] (Type: `StopTelemetryEnrichmentInput`) + /// + /// - Returns: [no documentation found] (Type: `StopTelemetryEnrichmentOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see [Access management for Amazon Web Services resources](https://docs.aws.amazon.com/IAM/latest/UserGuide/access.html) in the IAM user guide. + /// - `ConflictException` : The requested operation conflicts with the current state of the specified resource or with another request. + /// - `InternalServerException` : Indicates the request has failed to process because of an unknown server error, exception, or failure. + /// - `TooManyRequestsException` : The request throughput limit was exceeded. + public func stopTelemetryEnrichment(input: StopTelemetryEnrichmentInput) async throws -> StopTelemetryEnrichmentOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "stopTelemetryEnrichment") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "observabilityadmin") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(StopTelemetryEnrichmentInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(StopTelemetryEnrichmentOutput.httpOutput(from:), StopTelemetryEnrichmentOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("ObservabilityAdmin", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: ObservabilityAdminClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "ObservabilityAdmin") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StopTelemetryEnrichment") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `StopTelemetryEvaluation` operation on the `ObservabilityAdmin` service. /// /// This action begins offboarding the caller Amazon Web Services account from the telemetry config feature. diff --git a/Sources/Services/AWSOdb/Sources/AWSOdb/Models.swift b/Sources/Services/AWSOdb/Sources/AWSOdb/Models.swift index 90516818a6f..996dd0d2677 100644 --- a/Sources/Services/AWSOdb/Sources/AWSOdb/Models.swift +++ b/Sources/Services/AWSOdb/Sources/AWSOdb/Models.swift @@ -732,7 +732,7 @@ extension OdbClientTypes { public var hostname: Swift.String? /// Indicates whether mutual TLS (mTLS) authentication is enabled for the Autonomous VM cluster. public var isMtlsEnabledVmCluster: Swift.Bool? - /// The Oracle license model that applies to the Autonomous VM cluster. Valid values are LICENSE_INCLUDED or BRING_YOUR_OWN_LICENSE. + /// The Oracle license model that applies to the Autonomous VM cluster. public var licenseModel: OdbClientTypes.LicenseModel? /// The scheduling details for the maintenance window. Patching and system updates take place during the maintenance window. public var maintenanceWindow: OdbClientTypes.MaintenanceWindow? @@ -3209,7 +3209,7 @@ public struct CreateOdbPeeringConnectionOutput: Swift.Sendable { /// The unique identifier of the ODB peering connection. /// This member is required. public var odbPeeringConnectionId: Swift.String? - /// The status of the ODB peering connection. Valid Values: provisioning | active | terminating | terminated | failed + /// The status of the ODB peering connection. public var status: OdbClientTypes.ResourceStatus? /// The reason for the current status of the ODB peering connection. public var statusReason: Swift.String? @@ -4034,7 +4034,7 @@ extension OdbClientTypes { public struct ManagedS3BackupAccess: Swift.Sendable { /// The IPv4 addresses for the managed Amazon S3 backup access. public var ipv4Addresses: [Swift.String]? - /// The status of the managed Amazon S3 backup access. Valid Values: enabled | disabled + /// The status of the managed Amazon S3 backup access. public var status: OdbClientTypes.ManagedResourceStatus? public init( @@ -4057,7 +4057,7 @@ extension OdbClientTypes { public var ipv4Addresses: [Swift.String]? /// The endpoint policy for the Amazon S3 access. public var s3PolicyDocument: Swift.String? - /// The status of the Amazon S3 access. Valid Values: enabled | disabled + /// The status of the Amazon S3 access. public var status: OdbClientTypes.ManagedResourceStatus? public init( @@ -4106,7 +4106,7 @@ extension OdbClientTypes { public struct ServiceNetworkEndpoint: Swift.Sendable { /// The identifier of the VPC endpoint. public var vpcEndpointId: Swift.String? - /// The type of the VPC endpoint. Valid Values: Interface | Gateway + /// The type of the VPC endpoint. public var vpcEndpointType: OdbClientTypes.VpcEndpointType? public init( @@ -4125,7 +4125,7 @@ extension OdbClientTypes { public struct ZeroEtlAccess: Swift.Sendable { /// The CIDR block for the Zero-ETL access. public var cidr: Swift.String? - /// The status of the Zero-ETL access. Valid Values: enabled | disabled + /// The status of the Zero-ETL access. public var status: OdbClientTypes.ManagedResourceStatus? public init( @@ -4338,7 +4338,7 @@ extension OdbClientTypes { public var peerNetworkCidrs: [Swift.String]? /// The percentage progress of the ODB peering connection creation or deletion. public var percentProgress: Swift.Float? - /// The status of the ODB peering connection. Valid Values: provisioning | active | terminating | terminated | failed + /// The status of the ODB peering connection. public var status: OdbClientTypes.ResourceStatus? /// The reason for the current status of the ODB peering connection. public var statusReason: Swift.String? @@ -4652,7 +4652,7 @@ extension OdbClientTypes { public var peerNetworkCidrs: [Swift.String]? /// The percentage progress of the ODB peering connection creation or deletion. public var percentProgress: Swift.Float? - /// The status of the ODB peering connection. Valid Values: provisioning | active | terminating | terminated | failed + /// The status of the ODB peering connection. public var status: OdbClientTypes.ResourceStatus? /// The reason for the current status of the ODB peering connection. public var statusReason: Swift.String? diff --git a/Sources/Services/AWSOdb/Sources/AWSOdb/OdbClient.swift b/Sources/Services/AWSOdb/Sources/AWSOdb/OdbClient.swift index fdbbaa27679..469f11d6727 100644 --- a/Sources/Services/AWSOdb/Sources/AWSOdb/OdbClient.swift +++ b/Sources/Services/AWSOdb/Sources/AWSOdb/OdbClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OdbClient: ClientRuntime.Client { +public class OdbClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OdbClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OdbClient.OdbClientConfiguration let serviceName = "odb" diff --git a/Sources/Services/AWSOmics/Sources/AWSOmics/Models.swift b/Sources/Services/AWSOmics/Sources/AWSOmics/Models.swift index ef4eb555728..6ca86d373f5 100644 --- a/Sources/Services/AWSOmics/Sources/AWSOmics/Models.swift +++ b/Sources/Services/AWSOmics/Sources/AWSOmics/Models.swift @@ -3218,13 +3218,15 @@ extension OmicsClientTypes { case cwl case nextflow case wdl + case wdlLenient case sdkUnknown(Swift.String) public static var allCases: [WorkflowEngine] { return [ .cwl, .nextflow, - .wdl + .wdl, + .wdlLenient ] } @@ -3238,6 +3240,7 @@ extension OmicsClientTypes { case .cwl: return "CWL" case .nextflow: return "NEXTFLOW" case .wdl: return "WDL" + case .wdlLenient: return "WDL_LENIENT" case let .sdkUnknown(s): return s } } diff --git a/Sources/Services/AWSOmics/Sources/AWSOmics/OmicsClient.swift b/Sources/Services/AWSOmics/Sources/AWSOmics/OmicsClient.swift index 6e0e89ef55b..0dd226a32ea 100644 --- a/Sources/Services/AWSOmics/Sources/AWSOmics/OmicsClient.swift +++ b/Sources/Services/AWSOmics/Sources/AWSOmics/OmicsClient.swift @@ -34,7 +34,7 @@ import enum Smithy.ByteStream @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -72,9 +72,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OmicsClient: ClientRuntime.Client { +public class OmicsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OmicsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OmicsClient.OmicsClientConfiguration let serviceName = "Omics" @@ -594,7 +593,7 @@ extension OmicsClient { /// Performs the `CancelAnnotationImportJob` operation on the `Omics` service. /// - /// Cancels an annotation import job. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Cancels an annotation import job. /// /// - Parameter input: [no documentation found] (Type: `CancelAnnotationImportJobInput`) /// @@ -735,7 +734,7 @@ extension OmicsClient { /// Performs the `CancelVariantImportJob` operation on the `Omics` service. /// - /// Cancels a variant import job. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Cancels a variant import job. /// /// - Parameter input: [no documentation found] (Type: `CancelVariantImportJobInput`) /// @@ -879,7 +878,7 @@ extension OmicsClient { /// Performs the `CreateAnnotationStore` operation on the `Omics` service. /// - /// Creates an annotation store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Creates an annotation store. /// /// - Parameter input: [no documentation found] (Type: `CreateAnnotationStoreInput`) /// @@ -1501,7 +1500,7 @@ extension OmicsClient { /// Performs the `CreateVariantStore` operation on the `Omics` service. /// - /// Creates a variant store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Creates a variant store. /// /// - Parameter input: [no documentation found] (Type: `CreateVariantStoreInput`) /// @@ -1577,13 +1576,18 @@ extension OmicsClient { /// /// Creates a private workflow. Before you create a private workflow, you must create and configure these required resources: /// - /// * Workflow definition files: Define your workflow in one or more workflow definition files, written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in .zip format. + /// * Workflow definition file: A workflow definition file written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in .zip format. For more information, see [Workflow definition files](https://docs.aws.amazon.com/omics/latest/dev/workflow-definition-files.html) in Amazon Web Services HealthOmics. /// - /// * (Optional) Parameter template: You can create a parameter template file that defines the run parameters, or Amazon Web Services HealthOmics can generate the parameter template for you. + /// * You can use Amazon Q CLI to build and validate your workflow definition files in WDL, Nextflow, and CWL. For more information, see [Example prompts for Amazon Q CLI](https://docs.aws.amazon.com/omics/latest/dev/getting-started.html#omics-q-prompts) and the [Amazon Web Services HealthOmics Agentic generative AI tutorial](https://github.com/aws-samples/aws-healthomics-tutorials/tree/main/generative-ai) on GitHub. + /// + /// + /// + /// + /// * (Optional) Parameter template file: A parameter template file written in JSON. Create the file to define the run parameters, or Amazon Web Services HealthOmics generates the parameter template for you. For more information, see [Parameter template files for HealthOmics workflows](https://docs.aws.amazon.com/omics/latest/dev/parameter-templates.html). /// /// * ECR container images: Create container images for the workflow in a private ECR repository, or synchronize images from a supported upstream registry with your Amazon ECR private repository. /// - /// * (Optional) Sentieon licenses: Request a Sentieon license if using the Sentieon software in a private workflow. + /// * (Optional) Sentieon licenses: Request a Sentieon license to use the Sentieon software in private workflows. /// /// /// For more information, see [Creating or updating a private workflow in Amazon Web Services HealthOmics](https://docs.aws.amazon.com/omics/latest/dev/creating-private-workflows.html) in the Amazon Web Services HealthOmics User Guide. @@ -1738,7 +1742,7 @@ extension OmicsClient { /// Performs the `DeleteAnnotationStore` operation on the `Omics` service. /// - /// Deletes an annotation store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Deletes an annotation store. /// /// - Parameter input: [no documentation found] (Type: `DeleteAnnotationStoreInput`) /// @@ -2462,7 +2466,7 @@ extension OmicsClient { /// Performs the `DeleteVariantStore` operation on the `Omics` service. /// - /// Deletes a variant store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Deletes a variant store. /// /// - Parameter input: [no documentation found] (Type: `DeleteVariantStoreInput`) /// @@ -2681,7 +2685,7 @@ extension OmicsClient { /// Performs the `GetAnnotationImportJob` operation on the `Omics` service. /// - /// Gets information about an annotation import job. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Gets information about an annotation import job. /// /// - Parameter input: [no documentation found] (Type: `GetAnnotationImportJobInput`) /// @@ -2750,7 +2754,7 @@ extension OmicsClient { /// Performs the `GetAnnotationStore` operation on the `Omics` service. /// - /// Gets information about an annotation store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Gets information about an annotation store. /// /// - Parameter input: [no documentation found] (Type: `GetAnnotationStoreInput`) /// @@ -4026,7 +4030,7 @@ extension OmicsClient { /// Performs the `GetVariantImportJob` operation on the `Omics` service. /// - /// Gets information about a variant import job. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Gets information about a variant import job. /// /// - Parameter input: [no documentation found] (Type: `GetVariantImportJobInput`) /// @@ -4095,7 +4099,7 @@ extension OmicsClient { /// Performs the `GetVariantStore` operation on the `Omics` service. /// - /// Gets information about a variant store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Gets information about a variant store. /// /// - Parameter input: [no documentation found] (Type: `GetVariantStoreInput`) /// @@ -4310,7 +4314,7 @@ extension OmicsClient { /// Performs the `ListAnnotationImportJobs` operation on the `Omics` service. /// - /// Retrieves a list of annotation import jobs. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Retrieves a list of annotation import jobs. /// /// - Parameter input: [no documentation found] (Type: `ListAnnotationImportJobsInput`) /// @@ -4456,7 +4460,7 @@ extension OmicsClient { /// Performs the `ListAnnotationStores` operation on the `Omics` service. /// - /// Retrieves a list of annotation stores. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Retrieves a list of annotation stores. /// /// - Parameter input: [no documentation found] (Type: `ListAnnotationStoresInput`) /// @@ -5707,7 +5711,7 @@ extension OmicsClient { /// Performs the `ListVariantImportJobs` operation on the `Omics` service. /// - /// Retrieves a list of variant import jobs. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Retrieves a list of variant import jobs. /// /// - Parameter input: [no documentation found] (Type: `ListVariantImportJobsInput`) /// @@ -5780,7 +5784,7 @@ extension OmicsClient { /// Performs the `ListVariantStores` operation on the `Omics` service. /// - /// Retrieves a list of variant stores. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Retrieves a list of variant stores. /// /// - Parameter input: [no documentation found] (Type: `ListVariantStoresInput`) /// @@ -6073,7 +6077,7 @@ extension OmicsClient { /// Performs the `StartAnnotationImportJob` operation on the `Omics` service. /// - /// Starts an annotation import job. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Starts an annotation import job. /// /// - Parameter input: [no documentation found] (Type: `StartAnnotationImportJobInput`) /// @@ -6471,7 +6475,7 @@ extension OmicsClient { /// * The retentionMode is set to the RETAIN mode by default, which allows you to manually remove runs after reaching the maximum service retention limit. Under this setting, you cannot create additional runs until you remove the excess runs. /// /// - /// To learn more about the retention modes, see [Run retention mode](https://docs.aws.amazon.com/omics/latest/dev/run-retention.html) in the Amazon Web Services HealthOmics User Guide. + /// To learn more about the retention modes, see [Run retention mode](https://docs.aws.amazon.com/omics/latest/dev/run-retention.html) in the Amazon Web Services HealthOmics User Guide. You can use Amazon Q CLI to analyze run logs and make performance optimization recommendations. To get started, see the [Amazon Web Services HealthOmics MCP server](https://github.com/awslabs/mcp/tree/main/src/aws-healthomics-mcp-server) on GitHub. /// /// - Parameter input: [no documentation found] (Type: `StartRunInput`) /// @@ -6547,7 +6551,7 @@ extension OmicsClient { /// Performs the `StartVariantImportJob` operation on the `Omics` service. /// - /// Starts a variant import job. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Starts a variant import job. /// /// - Parameter input: [no documentation found] (Type: `StartVariantImportJobInput`) /// @@ -6768,7 +6772,7 @@ extension OmicsClient { /// Performs the `UpdateAnnotationStore` operation on the `Omics` service. /// - /// Updates an annotation store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Updates an annotation store. /// /// - Parameter input: [no documentation found] (Type: `UpdateAnnotationStoreInput`) /// @@ -7150,7 +7154,7 @@ extension OmicsClient { /// Performs the `UpdateVariantStore` operation on the `Omics` service. /// - /// Updates a variant store. + /// Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see [ Amazon Web Services HealthOmics variant store and annotation store availability change](https://docs.aws.amazon.com/omics/latest/dev/variant-store-availability-change.html). Updates a variant store. /// /// - Parameter input: [no documentation found] (Type: `UpdateVariantStoreInput`) /// diff --git a/Sources/Services/AWSOpenSearch/Sources/AWSOpenSearch/OpenSearchClient.swift b/Sources/Services/AWSOpenSearch/Sources/AWSOpenSearch/OpenSearchClient.swift index bc1bb3805ca..83acb263d8e 100644 --- a/Sources/Services/AWSOpenSearch/Sources/AWSOpenSearch/OpenSearchClient.swift +++ b/Sources/Services/AWSOpenSearch/Sources/AWSOpenSearch/OpenSearchClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OpenSearchClient: ClientRuntime.Client { +public class OpenSearchClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OpenSearchClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OpenSearchClient.OpenSearchClientConfiguration let serviceName = "OpenSearch" diff --git a/Sources/Services/AWSOpenSearchServerless/Sources/AWSOpenSearchServerless/OpenSearchServerlessClient.swift b/Sources/Services/AWSOpenSearchServerless/Sources/AWSOpenSearchServerless/OpenSearchServerlessClient.swift index aa1aeb93c28..11833f1dd01 100644 --- a/Sources/Services/AWSOpenSearchServerless/Sources/AWSOpenSearchServerless/OpenSearchServerlessClient.swift +++ b/Sources/Services/AWSOpenSearchServerless/Sources/AWSOpenSearchServerless/OpenSearchServerlessClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OpenSearchServerlessClient: ClientRuntime.Client { +public class OpenSearchServerlessClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OpenSearchServerlessClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OpenSearchServerlessClient.OpenSearchServerlessClientConfiguration let serviceName = "OpenSearchServerless" diff --git a/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/Models.swift b/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/Models.swift index 43a95868d18..95a2baacb1f 100644 --- a/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/Models.swift +++ b/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/Models.swift @@ -1350,7 +1350,7 @@ extension OrganizationsClientTypes { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// -/// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. +/// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. public struct ConstraintViolationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { public struct Properties: Swift.Sendable { @@ -3602,6 +3602,8 @@ extension OrganizationsClientTypes { public var joinedTimestamp: Foundation.Date? /// The friendly name of the delegated administrator's account. public var name: Swift.String? + /// Each state represents a specific phase in the account lifecycle. Use this information to manage account access, automate workflows, or trigger actions based on account state changes. For more information about account states and their implications, see [Monitor the state of your Amazon Web Services accounts ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts_account_state.html) in the Organizations User Guide. + public var state: OrganizationsClientTypes.AccountState? /// The status of the delegated administrator's account in the organization. public var status: OrganizationsClientTypes.AccountStatus? @@ -3613,6 +3615,7 @@ extension OrganizationsClientTypes { joinedMethod: OrganizationsClientTypes.AccountJoinedMethod? = nil, joinedTimestamp: Foundation.Date? = nil, name: Swift.String? = nil, + state: OrganizationsClientTypes.AccountState? = nil, status: OrganizationsClientTypes.AccountStatus? = nil ) { self.arn = arn @@ -3622,6 +3625,7 @@ extension OrganizationsClientTypes { self.joinedMethod = joinedMethod self.joinedTimestamp = joinedTimestamp self.name = name + self.state = state self.status = status } } @@ -3629,7 +3633,7 @@ extension OrganizationsClientTypes { extension OrganizationsClientTypes.DelegatedAdministrator: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "DelegatedAdministrator(arn: \(Swift.String(describing: arn)), delegationEnabledDate: \(Swift.String(describing: delegationEnabledDate)), id: \(Swift.String(describing: id)), joinedMethod: \(Swift.String(describing: joinedMethod)), joinedTimestamp: \(Swift.String(describing: joinedTimestamp)), status: \(Swift.String(describing: status)), email: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} + "DelegatedAdministrator(arn: \(Swift.String(describing: arn)), delegationEnabledDate: \(Swift.String(describing: delegationEnabledDate)), id: \(Swift.String(describing: id)), joinedMethod: \(Swift.String(describing: joinedMethod)), joinedTimestamp: \(Swift.String(describing: joinedTimestamp)), state: \(Swift.String(describing: state)), status: \(Swift.String(describing: status)), email: \"CONTENT_REDACTED\", name: \"CONTENT_REDACTED\")"} } public struct ListDelegatedAdministratorsOutput: Swift.Sendable { @@ -8356,6 +8360,7 @@ extension OrganizationsClientTypes.DelegatedAdministrator { value.email = try reader["Email"].readIfPresent() value.name = try reader["Name"].readIfPresent() value.status = try reader["Status"].readIfPresent() + value.state = try reader["State"].readIfPresent() value.joinedMethod = try reader["JoinedMethod"].readIfPresent() value.joinedTimestamp = try reader["JoinedTimestamp"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) value.delegationEnabledDate = try reader["DelegationEnabledDate"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) diff --git a/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/OrganizationsClient.swift b/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/OrganizationsClient.swift index 80335dcdbe2..9b8a7e7ef33 100644 --- a/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/OrganizationsClient.swift +++ b/Sources/Services/AWSOrganizations/Sources/AWSOrganizations/OrganizationsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OrganizationsClient: ClientRuntime.Client { +public class OrganizationsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OrganizationsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OrganizationsClient.OrganizationsClientConfiguration let serviceName = "Organizations" @@ -638,7 +637,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `DuplicatePolicyAttachmentException` : The selected policy is already attached to the specified target. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -994,7 +993,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -1219,7 +1218,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `FinalizingOrganizationException` : Organizations couldn't perform the operation because your organization hasn't finished initializing. This can take up to an hour. Try again later. If after one hour you continue to receive this error, contact [Amazon Web Services Support](https://console.aws.amazon.com/support/home#/). /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -1463,7 +1462,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `FinalizingOrganizationException` : Organizations couldn't perform the operation because your organization hasn't finished initializing. This can take up to an hour. Try again later. If after one hour you continue to receive this error, contact [Amazon Web Services Support](https://console.aws.amazon.com/support/home#/). /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -1672,7 +1671,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -1878,7 +1877,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `DuplicateOrganizationalUnitException` : An OU with the same name already exists. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -2086,7 +2085,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `DuplicatePolicyException` : A policy with the same name already exists. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -2808,7 +2807,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `ResourcePolicyNotFoundException` : We can't find a resource policy request with the parameter that you specified. /// - `ServiceException` : Organizations can't complete your request because of an internal service error. Try again later. /// - `TooManyRequestsException` : You have sent too many requests in too short a period of time. The quota helps protect against denial-of-service attacks. Try again later. For information about quotas that affect Organizations, see [Quotas for Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the Organizations User Guide. @@ -2965,7 +2964,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -3424,7 +3423,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `EffectivePolicyNotFoundException` : If you ran this action on the management account, this policy type is not enabled. If you ran the action on a member account, the account doesn't have an effective policy of this type. Contact the administrator of your organization about attaching a policy of this type to the account. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -4084,7 +4083,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `ResourcePolicyNotFoundException` : We can't find a resource policy request with the parameter that you specified. /// - `ServiceException` : Organizations can't complete your request because of an internal service error. Try again later. /// - `TooManyRequestsException` : You have sent too many requests in too short a period of time. The quota helps protect against denial-of-service attacks. Try again later. For information about quotas that affect Organizations, see [Quotas for Organizations](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_reference_limits.html) in the Organizations User Guide. @@ -4239,7 +4238,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -4459,7 +4458,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -4666,7 +4665,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -4876,7 +4875,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -5083,7 +5082,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `HandshakeConstraintViolationException` : The requested operation would violate the constraint identified in the reason code. Some of the reasons in the following list might not be applicable to this specific API or operation: /// /// * ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number of accounts in an organization. Note that deleted and closed accounts still count toward your limit. If you get this exception immediately after creating the organization, wait one hour and try again. If after an hour it continues to fail with this error, contact [Amazon Web Services Support](https://console.aws.amazon.com/support/home#/). @@ -5308,7 +5307,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -5520,7 +5519,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `DuplicateHandshakeException` : A handshake with the same action and target already exists. For example, if you invited an account to join your organization, the invited account might already have a pending invitation from this organization. If you intend to resend an invitation to an account, ensure that existing handshakes that might be considered duplicates are canceled or declined. /// - `FinalizingOrganizationException` : Organizations couldn't perform the operation because your organization hasn't finished initializing. This can take up to an hour. Try again later. If after one hour you continue to receive this error, contact [Amazon Web Services Support](https://console.aws.amazon.com/support/home#/). /// - `HandshakeConstraintViolationException` : The requested operation would violate the constraint identified in the reason code. Some of the reasons in the following list might not be applicable to this specific API or operation: @@ -5675,7 +5674,7 @@ extension OrganizationsClient { /// /// * After the account leaves the organization, all tags that were attached to the account object in the organization are deleted. Amazon Web Services accounts outside of an organization do not support tags. /// - /// * A newly created account has a waiting period before it can be removed from its organization. You must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * A newly created account has a waiting period before it can be removed from its organization. You must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// /// * If you are using an organization principal to call LeaveOrganization across multiple accounts, you can only do this up to 5 accounts per second in a single organization. /// @@ -5769,7 +5768,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -5975,7 +5974,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -6432,7 +6431,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `EffectivePolicyNotFoundException` : If you ran this action on the management account, this policy type is not enabled. If you ran the action on a member account, the account doesn't have an effective policy of this type. Contact the administrator of your organization about attaching a policy of this type to the account. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -6891,7 +6890,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -7099,7 +7098,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -7306,7 +7305,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `EffectivePolicyNotFoundException` : If you ran this action on the management account, this policy type is not enabled. If you ran the action on a member account, the account doesn't have an effective policy of this type. Contact the administrator of your organization about attaching a policy of this type to the account. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// @@ -8789,7 +8788,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -8998,7 +8997,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -9212,7 +9211,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -9430,7 +9429,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -9648,7 +9647,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// /// * DUPLICATE_TAG_KEY: Tag keys must be unique among the tags attached to the same entity. @@ -9983,7 +9982,7 @@ extension OrganizationsClient { /// /// * TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags that are not compliant with the tag policy requirements for this account. /// - /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least seven days after the account was created. Invited accounts aren't subject to this waiting period. + /// * WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at least four days after the account was created. Invited accounts aren't subject to this waiting period. /// - `DuplicatePolicyException` : A policy with the same name already exists. /// - `InvalidInputException` : The requested operation failed because you provided invalid values for one or more of the request parameters. This exception includes a reason that contains additional information about the violated limit: Some of the reasons in the following list might not be applicable to this specific API or operation. /// diff --git a/Sources/Services/AWSOutposts/Sources/AWSOutposts/OutpostsClient.swift b/Sources/Services/AWSOutposts/Sources/AWSOutposts/OutpostsClient.swift index 7d420117335..4445360bbc8 100644 --- a/Sources/Services/AWSOutposts/Sources/AWSOutposts/OutpostsClient.swift +++ b/Sources/Services/AWSOutposts/Sources/AWSOutposts/OutpostsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class OutpostsClient: ClientRuntime.Client { +public class OutpostsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "OutpostsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: OutpostsClient.OutpostsClientConfiguration let serviceName = "Outposts" diff --git a/Sources/Services/AWSPCS/Sources/AWSPCS/PCSClient.swift b/Sources/Services/AWSPCS/Sources/AWSPCS/PCSClient.swift index aeaf4f10412..2d0890d7990 100644 --- a/Sources/Services/AWSPCS/Sources/AWSPCS/PCSClient.swift +++ b/Sources/Services/AWSPCS/Sources/AWSPCS/PCSClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PCSClient: ClientRuntime.Client { +public class PCSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PCSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PCSClient.PCSClientConfiguration let serviceName = "PCS" diff --git a/Sources/Services/AWSPI/Sources/AWSPI/PIClient.swift b/Sources/Services/AWSPI/Sources/AWSPI/PIClient.swift index 723e4f3d0fb..bb2143e876d 100644 --- a/Sources/Services/AWSPI/Sources/AWSPI/PIClient.swift +++ b/Sources/Services/AWSPI/Sources/AWSPI/PIClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PIClient: ClientRuntime.Client { +public class PIClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PIClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PIClient.PIClientConfiguration let serviceName = "PI" diff --git a/Sources/Services/AWSPanorama/Sources/AWSPanorama/PanoramaClient.swift b/Sources/Services/AWSPanorama/Sources/AWSPanorama/PanoramaClient.swift index 5ef542b5ba8..5591917604c 100644 --- a/Sources/Services/AWSPanorama/Sources/AWSPanorama/PanoramaClient.swift +++ b/Sources/Services/AWSPanorama/Sources/AWSPanorama/PanoramaClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PanoramaClient: ClientRuntime.Client { +public class PanoramaClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PanoramaClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PanoramaClient.PanoramaClientConfiguration let serviceName = "Panorama" diff --git a/Sources/Services/AWSPartnerCentralSelling/Sources/AWSPartnerCentralSelling/PartnerCentralSellingClient.swift b/Sources/Services/AWSPartnerCentralSelling/Sources/AWSPartnerCentralSelling/PartnerCentralSellingClient.swift index dad31ec3c6a..b0faa92defd 100644 --- a/Sources/Services/AWSPartnerCentralSelling/Sources/AWSPartnerCentralSelling/PartnerCentralSellingClient.swift +++ b/Sources/Services/AWSPartnerCentralSelling/Sources/AWSPartnerCentralSelling/PartnerCentralSellingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PartnerCentralSellingClient: ClientRuntime.Client { +public class PartnerCentralSellingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PartnerCentralSellingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PartnerCentralSellingClient.PartnerCentralSellingClientConfiguration let serviceName = "PartnerCentral Selling" diff --git a/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/Models.swift b/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/Models.swift index 069ac6e5eba..97b525aca4b 100644 --- a/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/Models.swift +++ b/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/Models.swift @@ -728,9 +728,9 @@ extension PaymentCryptographyClientTypes { extension PaymentCryptographyClientTypes { - /// Represents the replication status information for a key in a replication region. This structure contains details about the current state of key replication, including any status messages and operational information about the replication process. + /// Represents the replication status information for a key in a replication region for [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html). This structure contains details about the current state of key replication, including any status messages and operational information about the replication process. public struct ReplicationStatusType: Swift.Sendable { - /// The current status of key replication in this region. This field indicates whether the key replication is in progress, completed successfully, or has encountered an error. Possible values include states such as SYNCRHONIZED, IN_PROGRESS, DELETE_IN_PROGRESS, or FAILED. This provides visibility into the replication process for monitoring and troubleshooting purposes. + /// The current status of key replication in this Amazon Web Services Region. This field indicates whether the key replication is in progress, completed successfully, or has encountered an error. Possible values include states such as SYNCRHONIZED, IN_PROGRESS, DELETE_IN_PROGRESS, or FAILED. This provides visibility into the replication process for monitoring and troubleshooting purposes. /// This member is required. public var status: PaymentCryptographyClientTypes.KeyReplicationState? /// A message that provides additional information about the current replication status of the key. This field contains details about any issues or progress updates related to key replication operations. It may include information about replication failures, synchronization status, or other operational details. @@ -783,17 +783,17 @@ extension PaymentCryptographyClientTypes { /// The state of key that is being created or deleted. /// This member is required. public var keyState: PaymentCryptographyClientTypes.KeyState? - /// Indicates whether this key is a multi-region key and its role in the multi-region key hierarchy. Multi-region keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a primary key (which can be replicated to other regions) or a replica key (which is a copy of a primary key in another region). + /// Indicates whether this key is a Multi-Region key and its role in the Multi-Region key hierarchy. Multi-Region replication keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a Primary Region key (PRK) (which can be replicated to other Amazon Web Services Regions) or a Replica Region key (RRK) (which is a copy of a PRK in another Region). For more information, see [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html). public var multiRegionKeyType: PaymentCryptographyClientTypes.MultiRegionKeyType? /// An Amazon Web Services Region identifier in the standard format (e.g., us-east-1, eu-west-1). Used to specify regions for key replication operations. The region must be a valid Amazon Web Services Region where Amazon Web Services Payment Cryptography is available. public var primaryRegion: Swift.String? - /// Information about the replication status of the key across different regions. This field provides details about the current state of key replication, including any status messages or operational information. It helps track the progress and health of key replication operations. + /// Information about the replication status of the key across different Amazon Web Services Regions. This field provides details about the current state of key replication, including any status messages or operational information. It helps track the progress and health of key replication operations. public var replicationStatus: [Swift.String: PaymentCryptographyClientTypes.ReplicationStatusType]? /// The date and time after which Amazon Web Services Payment Cryptography will start using the key material for cryptographic operations. public var usageStartTimestamp: Foundation.Date? /// The date and time after which Amazon Web Services Payment Cryptography will stop using the key material for cryptographic operations. public var usageStopTimestamp: Foundation.Date? - /// Indicates whether this key is using the account's default replication regions configuration. When set to true, the key automatically replicates to the regions specified in the account's default replication settings. When set to false, the key has a custom replication configuration that overrides the account defaults. + /// Indicates whether this key is using the account's default replication regions configuration for [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html). When set to true, the key automatically replicates to the regions specified in the account's default replication settings. When set to false, the key has a custom replication configuration that overrides the account defaults. public var usingDefaultReplicationRegions: Swift.Bool? public init( @@ -1028,22 +1028,22 @@ public struct UpdateAliasOutput: Swift.Sendable { extension PaymentCryptographyClientTypes { - /// Metadata used in generating the CSR + /// The metadata used to create the certificate signing request. public struct CertificateSubjectType: Swift.Sendable { - /// City to be used in the certificate signing request + /// The city you provide to create the certificate signing request. public var city: Swift.String? - /// Common Name to be used in the certificate signing request + /// The name you provide to create the certificate signing request. /// This member is required. public var commonName: Swift.String? - /// Country to be used in the certificate signing request + /// The city you provide to create the certificate signing request. public var country: Swift.String? - /// Email to be used in the certificate signing request + /// The email address you provide to create the certificate signing request. public var emailAddress: Swift.String? - /// Organization to be used in the certificate signing request + /// The organization you provide to create the certificate signing request. public var organization: Swift.String? - /// Organization Unit to be used in the certificate signing request + /// The organization unit you provide to create the certificate signing request. public var organizationUnit: Swift.String? - /// State Or Province to be used in the certificate signing request + /// The state or province you provide to create the certificate signing request. public var stateOrProvince: Swift.String? public init( @@ -1202,7 +1202,7 @@ public struct DisableDefaultKeyReplicationRegionsOutput: Swift.Sendable { /// Input parameters for enabling default key replication regions for the account. public struct EnableDefaultKeyReplicationRegionsInput: Swift.Sendable { - /// The list of Amazon Web Services Regions to enable as default replication regions for the account. New keys created in this account will automatically be replicated to these regions unless explicitly overridden during key creation. + /// The list of Amazon Web Services Regions to enable as default replication regions for the Amazon Web Services account for [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html). New keys created in this account will automatically be replicated to these regions unless explicitly overridden during key creation. /// This member is required. public var replicationRegions: [Swift.String]? @@ -1602,7 +1602,7 @@ extension PaymentCryptographyClientTypes { public var keyBlockHeaders: PaymentCryptographyClientTypes.KeyBlockHeaders? /// A random number value that is unique to the TR-34 key block generated using 2 pass. The operation will fail, if a random nonce value is not provided for a TR-34 key block generated using 2 pass. public var randomNonce: Swift.String? - /// Certificate used for signing the export key + /// The certificate used to sign the TR-34 key block. public var signingKeyCertificate: Swift.String? /// Key Identifier used for signing the export key public var signingKeyIdentifier: Swift.String? @@ -1788,13 +1788,13 @@ extension PaymentCryptographyClientTypes { } public struct GetCertificateSigningRequestInput: Swift.Sendable { - /// Certificate subject data + /// The metadata used to create the CSR. /// This member is required. public var certificateSubject: PaymentCryptographyClientTypes.CertificateSubjectType? /// Asymmetric key used for generating the certificate signing request /// This member is required. public var keyIdentifier: Swift.String? - /// Algorithm used to generate the certificate signing request + /// The cryptographic algorithm used to sign your CSR. /// This member is required. public var signingAlgorithm: PaymentCryptographyClientTypes.SigningAlgorithmType? @@ -1810,7 +1810,7 @@ public struct GetCertificateSigningRequestInput: Swift.Sendable { } public struct GetCertificateSigningRequestOutput: Swift.Sendable { - /// Certificate signing request + /// The certificate signing request generated using the key pair associated with the key identifier. /// This member is required. public var certificateSigningRequest: Swift.String? @@ -2197,7 +2197,7 @@ extension PaymentCryptographyClientTypes { /// The TR-34 wrapped key block to import. /// This member is required. public var wrappedKeyBlock: Swift.String? - /// Key Identifier used for unwrapping the import key + /// The certificate used to wrap the TR-34 key block. public var wrappingKeyCertificate: Swift.String? /// Key Identifier used for unwrapping the import key public var wrappingKeyIdentifier: Swift.String? @@ -2356,7 +2356,7 @@ extension PaymentCryptographyClientTypes { /// The state of an Amazon Web Services Payment Cryptography that is being created or deleted. /// This member is required. public var keyState: PaymentCryptographyClientTypes.KeyState? - /// Indicates whether this key is a multi-region key and its role in the multi-region key hierarchy. Multi-region keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a primary key (which can be replicated to other regions) or a replica key (which is a copy of a primary key in another region). + /// Indicates whether this key is a Multi-Region key and its role in the Multi-Region key hierarchy. Multi-Region replication keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a Primary Region key (PRK) (which can be replicated to other Amazon Web Services Regions) or a Replica Region key (RRK) (which is a copy of a PRK in another Region). For more information, see [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html). public var multiRegionKeyType: PaymentCryptographyClientTypes.MultiRegionKeyType? /// An Amazon Web Services Region identifier in the standard format (e.g., us-east-1, eu-west-1). Used to specify regions for key replication operations. The region must be a valid Amazon Web Services Region where Amazon Web Services Payment Cryptography is available. public var primaryRegion: Swift.String? diff --git a/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/PaymentCryptographyClient.swift b/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/PaymentCryptographyClient.swift index c088eb44d57..e0f676eda0d 100644 --- a/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/PaymentCryptographyClient.swift +++ b/Sources/Services/AWSPaymentCryptography/Sources/AWSPaymentCryptography/PaymentCryptographyClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PaymentCryptographyClient: ClientRuntime.Client { +public class PaymentCryptographyClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PaymentCryptographyClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PaymentCryptographyClient.PaymentCryptographyClientConfiguration let serviceName = "Payment Cryptography" @@ -372,7 +371,7 @@ extension PaymentCryptographyClient { extension PaymentCryptographyClient { /// Performs the `AddKeyReplicationRegions` operation on the `PaymentCryptography` service. /// - /// Adds replication Amazon Web Services Regions to an existing Amazon Web Services Payment Cryptography key, enabling the key to be used for cryptographic operations in additional Amazon Web Services Regions. Multi-region keys allow you to use the same key material across multiple Amazon Web Services Regions, providing lower latency for applications distributed across regions. When you add Replication Regions, Amazon Web Services Payment Cryptography securely replicates the key material to the specified Amazon Web Services Regions. The key must be in an active state to add Replication Regions. You can add multiple regions in a single operation, and the key will be available for use in those regions once replication is complete. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: + /// Adds replication Amazon Web Services Regions to an existing Amazon Web Services Payment Cryptography key, enabling the key to be used for cryptographic operations in additional Amazon Web Services Regions. [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html) allow you to use the same key material across multiple Amazon Web Services Regions, providing lower latency for applications distributed across regions. When you add Replication Regions, Amazon Web Services Payment Cryptography securely replicates the key material to the specified Amazon Web Services Regions. The key must be in an active state to add Replication Regions. You can add multiple regions in a single operation, and the key will be available for use in those regions once replication is complete. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: /// /// * [RemoveKeyReplicationRegions](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_RemoveKeyReplicationRegions.html) /// @@ -783,7 +782,7 @@ extension PaymentCryptographyClient { /// Performs the `DisableDefaultKeyReplicationRegions` operation on the `PaymentCryptography` service. /// - /// Disables multi-region key replication settings for the specified Amazon Web Services Regions in your account, preventing new keys from being automatically replicated to those regions. After disabling default replication for specific regions, new keys created in your account will not be automatically replicated to those regions. You can still manually add replication to those regions for individual keys using the AddKeyReplicationRegions operation. This operation does not affect existing keys or their current replication configuration. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: + /// Disables [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html) settings for the specified Amazon Web Services Regions in your Amazon Web Services account, preventing new keys from being automatically replicated to those regions. After disabling Multi-Region key replication for specific regions, new keys created in your account will not be automatically replicated to those regions. You can still manually add replication to those regions for individual keys using the [AddKeyReplicationRegions](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_AddKeyReplicationRegions.html) operation. This operation does not affect existing keys or their current replication configuration. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: /// /// * [EnableDefaultKeyReplicationRegions](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_EnableDefaultKeyReplicationRegions.html) /// @@ -862,7 +861,7 @@ extension PaymentCryptographyClient { /// Performs the `EnableDefaultKeyReplicationRegions` operation on the `PaymentCryptography` service. /// - /// Enables multi-region key replication settings for your account, causing new keys to be automatically replicated to the specified Amazon Web Services Regions when created. When default Replication Regions are enabled, any new keys created in your account will automatically be replicated to these regions unless you explicitly override this behavior during key creation. This simplifies key management for applications that operate across multiple regions. Existing keys are not affected by this operation - only keys created after enabling default replication will be automatically replicated. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: + /// Enables [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html) settings for your Amazon Web Services account, causing new keys to be automatically replicated to the specified Amazon Web Services Regions when created. When Multi-Region key replication are enabled, any new keys created in your account will automatically be replicated to these regions unless you explicitly override this behavior during key creation. This simplifies key management for applications that operate across multiple regions. Existing keys are not affected by this operation - only keys created after enabling default replication will be automatically replicated. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: /// /// * [DisableDefaultKeyReplicationRegions](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_DisableDefaultKeyReplicationRegions.html) /// @@ -1146,7 +1145,7 @@ extension PaymentCryptographyClient { /// Performs the `GetCertificateSigningRequest` operation on the `PaymentCryptography` service. /// - /// Used to retrieve the public key for a keypair. + /// Creates a certificate signing request (CSR) from a key pair. /// /// - Parameter input: [no documentation found] (Type: `GetCertificateSigningRequestInput`) /// @@ -1220,7 +1219,7 @@ extension PaymentCryptographyClient { /// Performs the `GetDefaultKeyReplicationRegions` operation on the `PaymentCryptography` service. /// - /// Retrieves the list of regions where default key replication is currently enabled for your account. This operation returns the current configuration of default Replication Regions. New keys created in your account will be automatically replicated to these regions unless explicitly overridden during key creation. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: + /// Retrieves the list of Amazon Web Services Regions where [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html) is currently enabled for your Amazon Web Services account. This operation returns the current Multi-Region key replication configuration. New keys created in your account will be automatically replicated to these regions unless explicitly overridden during key creation. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: /// /// * [EnableDefaultKeyReplicationRegions](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_EnableDefaultKeyReplicationRegions.html) /// @@ -1990,7 +1989,7 @@ extension PaymentCryptographyClient { /// Performs the `RemoveKeyReplicationRegions` operation on the `PaymentCryptography` service. /// - /// Removes Replication Regions from an existing Amazon Web Services Payment Cryptography key, disabling the key's availability for cryptographic operations in the specified Amazon Web Services Regions. When you remove Replication Regions, the key material is securely deleted from those regions and can no longer be used for cryptographic operations there. This operation is irreversible for the specified Amazon Web Services Regions. Ensure that no active cryptographic operations or applications depend on the key in the regions you're removing before performing this operation. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: + /// Removes Replication Regions from an existing Amazon Web Services Payment Cryptography key, disabling the key's availability for cryptographic operations in the specified Amazon Web Services Regions. When you remove Replication Regions, the key material is securely deleted from those regions and can no longer be used for cryptographic operations there. This operation is irreversible for the specified Amazon Web Services Regions. For more information, see [Multi-Region key replication](https://docs.aws.amazon.com/payment-cryptography/latest/userguide/keys-multi-region-replication.html). Ensure that no active cryptographic operations or applications depend on the key in the regions you're removing before performing this operation. Cross-account use: This operation can't be used across different Amazon Web Services accounts. Related operations: /// /// * [AddKeyReplicationRegions](https://docs.aws.amazon.com/payment-cryptography/latest/APIReference/API_AddKeyReplicationRegions.html) /// diff --git a/Sources/Services/AWSPaymentCryptographyData/Sources/AWSPaymentCryptographyData/PaymentCryptographyDataClient.swift b/Sources/Services/AWSPaymentCryptographyData/Sources/AWSPaymentCryptographyData/PaymentCryptographyDataClient.swift index 8f38bdfb727..7f419c1b391 100644 --- a/Sources/Services/AWSPaymentCryptographyData/Sources/AWSPaymentCryptographyData/PaymentCryptographyDataClient.swift +++ b/Sources/Services/AWSPaymentCryptographyData/Sources/AWSPaymentCryptographyData/PaymentCryptographyDataClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PaymentCryptographyDataClient: ClientRuntime.Client { +public class PaymentCryptographyDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PaymentCryptographyDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PaymentCryptographyDataClient.PaymentCryptographyDataClientConfiguration let serviceName = "Payment Cryptography Data" diff --git a/Sources/Services/AWSPcaConnectorAd/Sources/AWSPcaConnectorAd/PcaConnectorAdClient.swift b/Sources/Services/AWSPcaConnectorAd/Sources/AWSPcaConnectorAd/PcaConnectorAdClient.swift index 252f7a956cf..62407a2c77b 100644 --- a/Sources/Services/AWSPcaConnectorAd/Sources/AWSPcaConnectorAd/PcaConnectorAdClient.swift +++ b/Sources/Services/AWSPcaConnectorAd/Sources/AWSPcaConnectorAd/PcaConnectorAdClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PcaConnectorAdClient: ClientRuntime.Client { +public class PcaConnectorAdClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PcaConnectorAdClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PcaConnectorAdClient.PcaConnectorAdClientConfiguration let serviceName = "Pca Connector Ad" diff --git a/Sources/Services/AWSPcaConnectorScep/Sources/AWSPcaConnectorScep/PcaConnectorScepClient.swift b/Sources/Services/AWSPcaConnectorScep/Sources/AWSPcaConnectorScep/PcaConnectorScepClient.swift index 76b9938be31..420664ee555 100644 --- a/Sources/Services/AWSPcaConnectorScep/Sources/AWSPcaConnectorScep/PcaConnectorScepClient.swift +++ b/Sources/Services/AWSPcaConnectorScep/Sources/AWSPcaConnectorScep/PcaConnectorScepClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PcaConnectorScepClient: ClientRuntime.Client { +public class PcaConnectorScepClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PcaConnectorScepClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PcaConnectorScepClient.PcaConnectorScepClientConfiguration let serviceName = "Pca Connector Scep" diff --git a/Sources/Services/AWSPersonalize/Sources/AWSPersonalize/PersonalizeClient.swift b/Sources/Services/AWSPersonalize/Sources/AWSPersonalize/PersonalizeClient.swift index 9d67210e13b..f7e84382d4e 100644 --- a/Sources/Services/AWSPersonalize/Sources/AWSPersonalize/PersonalizeClient.swift +++ b/Sources/Services/AWSPersonalize/Sources/AWSPersonalize/PersonalizeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PersonalizeClient: ClientRuntime.Client { +public class PersonalizeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PersonalizeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PersonalizeClient.PersonalizeClientConfiguration let serviceName = "Personalize" diff --git a/Sources/Services/AWSPersonalizeEvents/Sources/AWSPersonalizeEvents/PersonalizeEventsClient.swift b/Sources/Services/AWSPersonalizeEvents/Sources/AWSPersonalizeEvents/PersonalizeEventsClient.swift index d445e6227fe..78633a59f9b 100644 --- a/Sources/Services/AWSPersonalizeEvents/Sources/AWSPersonalizeEvents/PersonalizeEventsClient.swift +++ b/Sources/Services/AWSPersonalizeEvents/Sources/AWSPersonalizeEvents/PersonalizeEventsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PersonalizeEventsClient: ClientRuntime.Client { +public class PersonalizeEventsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PersonalizeEventsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PersonalizeEventsClient.PersonalizeEventsClientConfiguration let serviceName = "Personalize Events" diff --git a/Sources/Services/AWSPersonalizeRuntime/Sources/AWSPersonalizeRuntime/PersonalizeRuntimeClient.swift b/Sources/Services/AWSPersonalizeRuntime/Sources/AWSPersonalizeRuntime/PersonalizeRuntimeClient.swift index 41cd9d10fc2..6ee4d55288a 100644 --- a/Sources/Services/AWSPersonalizeRuntime/Sources/AWSPersonalizeRuntime/PersonalizeRuntimeClient.swift +++ b/Sources/Services/AWSPersonalizeRuntime/Sources/AWSPersonalizeRuntime/PersonalizeRuntimeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PersonalizeRuntimeClient: ClientRuntime.Client { +public class PersonalizeRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PersonalizeRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PersonalizeRuntimeClient.PersonalizeRuntimeClientConfiguration let serviceName = "Personalize Runtime" diff --git a/Sources/Services/AWSPinpoint/Sources/AWSPinpoint/PinpointClient.swift b/Sources/Services/AWSPinpoint/Sources/AWSPinpoint/PinpointClient.swift index 21b83dc76ad..cec0af11bc6 100644 --- a/Sources/Services/AWSPinpoint/Sources/AWSPinpoint/PinpointClient.swift +++ b/Sources/Services/AWSPinpoint/Sources/AWSPinpoint/PinpointClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PinpointClient: ClientRuntime.Client { +public class PinpointClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PinpointClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PinpointClient.PinpointClientConfiguration let serviceName = "Pinpoint" diff --git a/Sources/Services/AWSPinpointEmail/Sources/AWSPinpointEmail/PinpointEmailClient.swift b/Sources/Services/AWSPinpointEmail/Sources/AWSPinpointEmail/PinpointEmailClient.swift index 86ad1900e6b..eb97499d4a8 100644 --- a/Sources/Services/AWSPinpointEmail/Sources/AWSPinpointEmail/PinpointEmailClient.swift +++ b/Sources/Services/AWSPinpointEmail/Sources/AWSPinpointEmail/PinpointEmailClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PinpointEmailClient: ClientRuntime.Client { +public class PinpointEmailClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PinpointEmailClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PinpointEmailClient.PinpointEmailClientConfiguration let serviceName = "Pinpoint Email" diff --git a/Sources/Services/AWSPinpointSMSVoice/Sources/AWSPinpointSMSVoice/PinpointSMSVoiceClient.swift b/Sources/Services/AWSPinpointSMSVoice/Sources/AWSPinpointSMSVoice/PinpointSMSVoiceClient.swift index c368f27b5ff..567c5480513 100644 --- a/Sources/Services/AWSPinpointSMSVoice/Sources/AWSPinpointSMSVoice/PinpointSMSVoiceClient.swift +++ b/Sources/Services/AWSPinpointSMSVoice/Sources/AWSPinpointSMSVoice/PinpointSMSVoiceClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PinpointSMSVoiceClient: ClientRuntime.Client { +public class PinpointSMSVoiceClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PinpointSMSVoiceClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PinpointSMSVoiceClient.PinpointSMSVoiceClientConfiguration let serviceName = "Pinpoint SMS Voice" diff --git a/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift b/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift index 7680e02e0e7..ea1c564cc6a 100644 --- a/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift +++ b/Sources/Services/AWSPinpointSMSVoiceV2/Sources/AWSPinpointSMSVoiceV2/PinpointSMSVoiceV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PinpointSMSVoiceV2Client: ClientRuntime.Client { +public class PinpointSMSVoiceV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "PinpointSMSVoiceV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PinpointSMSVoiceV2Client.PinpointSMSVoiceV2ClientConfiguration let serviceName = "Pinpoint SMS Voice V2" diff --git a/Sources/Services/AWSPipes/Sources/AWSPipes/PipesClient.swift b/Sources/Services/AWSPipes/Sources/AWSPipes/PipesClient.swift index 1c56ca16896..ebd2d8b658a 100644 --- a/Sources/Services/AWSPipes/Sources/AWSPipes/PipesClient.swift +++ b/Sources/Services/AWSPipes/Sources/AWSPipes/PipesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PipesClient: ClientRuntime.Client { +public class PipesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PipesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PipesClient.PipesClientConfiguration let serviceName = "Pipes" diff --git a/Sources/Services/AWSPolly/Sources/AWSPolly/PollyClient.swift b/Sources/Services/AWSPolly/Sources/AWSPolly/PollyClient.swift index 6f2d4c99638..e48f660e789 100644 --- a/Sources/Services/AWSPolly/Sources/AWSPolly/PollyClient.swift +++ b/Sources/Services/AWSPolly/Sources/AWSPolly/PollyClient.swift @@ -37,7 +37,7 @@ import enum Smithy.ByteStream import enum Smithy.ClientError import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -71,9 +71,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PollyClient: ClientRuntime.Client { +public class PollyClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PollyClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PollyClient.PollyClientConfiguration let serviceName = "Polly" diff --git a/Sources/Services/AWSPricing/Sources/AWSPricing/PricingClient.swift b/Sources/Services/AWSPricing/Sources/AWSPricing/PricingClient.swift index 554ace7a762..447837f5de5 100644 --- a/Sources/Services/AWSPricing/Sources/AWSPricing/PricingClient.swift +++ b/Sources/Services/AWSPricing/Sources/AWSPricing/PricingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class PricingClient: ClientRuntime.Client { +public class PricingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "PricingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: PricingClient.PricingClientConfiguration let serviceName = "Pricing" diff --git a/Sources/Services/AWSProton/Sources/AWSProton/ProtonClient.swift b/Sources/Services/AWSProton/Sources/AWSProton/ProtonClient.swift index ca5cfb0aa51..8fdb6a8ca81 100644 --- a/Sources/Services/AWSProton/Sources/AWSProton/ProtonClient.swift +++ b/Sources/Services/AWSProton/Sources/AWSProton/ProtonClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ProtonClient: ClientRuntime.Client { +public class ProtonClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ProtonClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ProtonClient.ProtonClientConfiguration let serviceName = "Proton" diff --git a/Sources/Services/AWSQApps/Sources/AWSQApps/QAppsClient.swift b/Sources/Services/AWSQApps/Sources/AWSQApps/QAppsClient.swift index 4d547d27ce8..4fd0452b7a0 100644 --- a/Sources/Services/AWSQApps/Sources/AWSQApps/QAppsClient.swift +++ b/Sources/Services/AWSQApps/Sources/AWSQApps/QAppsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class QAppsClient: ClientRuntime.Client { +public class QAppsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "QAppsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: QAppsClient.QAppsClientConfiguration let serviceName = "QApps" diff --git a/Sources/Services/AWSQBusiness/Sources/AWSQBusiness/QBusinessClient.swift b/Sources/Services/AWSQBusiness/Sources/AWSQBusiness/QBusinessClient.swift index 55e061d6827..97ee552503c 100644 --- a/Sources/Services/AWSQBusiness/Sources/AWSQBusiness/QBusinessClient.swift +++ b/Sources/Services/AWSQBusiness/Sources/AWSQBusiness/QBusinessClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import func AWSSDKEventStreamsAuth.setupBidirectionalStreaming import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class QBusinessClient: ClientRuntime.Client { +public class QBusinessClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "QBusinessClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: QBusinessClient.QBusinessClientConfiguration let serviceName = "QBusiness" diff --git a/Sources/Services/AWSQConnect/Sources/AWSQConnect/QConnectClient.swift b/Sources/Services/AWSQConnect/Sources/AWSQConnect/QConnectClient.swift index 093d5e63287..8db9df8a8f2 100644 --- a/Sources/Services/AWSQConnect/Sources/AWSQConnect/QConnectClient.swift +++ b/Sources/Services/AWSQConnect/Sources/AWSQConnect/QConnectClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class QConnectClient: ClientRuntime.Client { +public class QConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "QConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: QConnectClient.QConnectClientConfiguration let serviceName = "QConnect" diff --git a/Sources/Services/AWSQLDB/Dependencies.json b/Sources/Services/AWSQLDB/Dependencies.json deleted file mode 100644 index e8d9442b374..00000000000 --- a/Sources/Services/AWSQLDB/Dependencies.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - "AWSClientRuntime", - "AWSSDKChecksums", - "AWSSDKHTTPAuth", - "AWSSDKIdentity", - "ClientRuntime", - "Smithy", - "SmithyHTTPAPI", - "SmithyHTTPAuthAPI", - "SmithyIdentity", - "SmithyJSON", - "SmithyReadWrite", - "SmithyRetries", - "SmithyRetriesAPI", - "SmithyTestUtil", - "SmithyTimestamps" -] diff --git a/Sources/Services/AWSQLDB/Sources/AWSQLDB/AuthSchemeResolver.swift b/Sources/Services/AWSQLDB/Sources/AWSQLDB/AuthSchemeResolver.swift deleted file mode 100644 index 1adf184b527..00000000000 --- a/Sources/Services/AWSQLDB/Sources/AWSQLDB/AuthSchemeResolver.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class Smithy.Context -import enum Smithy.ClientError -import enum SmithyHTTPAuthAPI.SigningPropertyKeys -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters -import struct SmithyHTTPAuthAPI.AuthOption - -public struct QLDBAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - public let authSchemePreference: [String]? - public let operation: Swift.String - // Region is used for SigV4 auth scheme - public let region: Swift.String? -} - -public protocol QLDBAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { - // Intentionally empty. - // This is the parent protocol that all auth scheme resolver implementations of - // the service QLDB must conform to. -} - -public struct DefaultQLDBAuthSchemeResolver: QLDBAuthSchemeResolver { - - public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { - var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? QLDBAuthSchemeResolverParameters else { - throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") - } - switch serviceParams.operation { - default: - var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "qldb") - guard let region = serviceParams.region else { - throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") - } - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingRegion, value: region) - validAuthOptions.append(sigv4Option) - } - return self.reprioritizeAuthOptions(authSchemePreference: serviceParams.authSchemePreference, authOptions: validAuthOptions) - } - - public func constructParameters(context: Smithy.Context) throws -> SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - guard let opName = context.getOperation() else { - throw Smithy.ClientError.dataNotFound("Operation name not configured in middleware context for auth scheme resolver params construction.") - } - let authSchemePreference = context.getAuthSchemePreference() - let opRegion = context.getRegion() - return QLDBAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) - } -} diff --git a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Endpoints.swift b/Sources/Services/AWSQLDB/Sources/AWSQLDB/Endpoints.swift deleted file mode 100644 index d2997bc8477..00000000000 --- a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Endpoints.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class ClientRuntime.EndpointsRequestContext -import let AWSClientRuntime.awsPartitionJSON -import protocol ClientRuntime.EndpointsRequestContextProviding -import struct ClientRuntime.DefaultEndpointResolver -import struct ClientRuntime.StaticEndpointResolver -import struct SmithyHTTPAPI.Endpoint - -public struct EndpointParams: Sendable { - /// Override the endpoint used to send this request - public let endpoint: Swift.String? - /// The AWS region used to dispatch the request. - public let region: Swift.String? - /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. - public let useDualStack: Swift.Bool - /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. - public let useFIPS: Swift.Bool - - public init( - endpoint: Swift.String? = nil, - region: Swift.String? = nil, - useDualStack: Swift.Bool = false, - useFIPS: Swift.Bool = false - ) - { - self.endpoint = endpoint - self.region = region - self.useDualStack = useDualStack - self.useFIPS = useFIPS - } -} - -extension EndpointParams: ClientRuntime.EndpointsRequestContextProviding { - - public var context: ClientRuntime.EndpointsRequestContext { - get throws { - let context = try ClientRuntime.EndpointsRequestContext() - try context.add(name: "Endpoint", value: self.endpoint) - try context.add(name: "Region", value: self.region) - try context.add(name: "UseDualStack", value: self.useDualStack) - try context.add(name: "UseFIPS", value: self.useFIPS) - return context - } - } -} - -public protocol EndpointResolver { - func resolve(params: EndpointParams) throws -> SmithyHTTPAPI.Endpoint -} - -typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver - -extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://qldb-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://qldb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://qldb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" - - init() throws { - try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) - } -} - -extension DefaultEndpointResolver: EndpointResolver {} - -typealias StaticEndpointResolver = ClientRuntime.StaticEndpointResolver - -extension StaticEndpointResolver: EndpointResolver {} diff --git a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Models.swift b/Sources/Services/AWSQLDB/Sources/AWSQLDB/Models.swift deleted file mode 100644 index 6403ade7bdb..00000000000 --- a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Models.swift +++ /dev/null @@ -1,2672 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import Foundation -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum Smithy.ClientError -import enum SmithyReadWrite.ReaderError -@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures -@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures -@_spi(SmithyTimestamps) import enum SmithyTimestamps.TimestampFormat -@_spi(SmithyReadWrite) import func SmithyReadWrite.optionalFormOf -@_spi(SmithyReadWrite) import func SmithyReadWrite.sparseFormOf -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError -import struct Smithy.URIQueryItem -@_spi(SmithyTimestamps) import struct SmithyTimestamps.TimestampFormatter - - -public struct DeleteLedgerOutput: Swift.Sendable { - - public init() { } -} - -/// One or more parameters in the request aren't valid. -public struct InvalidParameterException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - /// The name of the invalid parameter. - public internal(set) var parameterName: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InvalidParameterException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - parameterName: Swift.String? = nil - ) { - self.properties.message = message - self.properties.parameterName = parameterName - } -} - -/// The specified resource doesn't exist. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - /// The name of the resource. - public internal(set) var resourceName: Swift.String? = nil - /// The type of resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceName: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceName = resourceName - self.properties.resourceType = resourceType - } -} - -/// The operation failed because a condition wasn't satisfied in advance. -public struct ResourcePreconditionNotMetException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - /// The name of the resource. - public internal(set) var resourceName: Swift.String? = nil - /// The type of resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourcePreconditionNotMetException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceName: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceName = resourceName - self.properties.resourceType = resourceType - } -} - -public struct CancelJournalKinesisStreamInput: Swift.Sendable { - /// The name of the ledger. - /// This member is required. - public var ledgerName: Swift.String? - /// The UUID (represented in Base62-encoded text) of the QLDB journal stream to be canceled. - /// This member is required. - public var streamId: Swift.String? - - public init( - ledgerName: Swift.String? = nil, - streamId: Swift.String? = nil - ) { - self.ledgerName = ledgerName - self.streamId = streamId - } -} - -public struct CancelJournalKinesisStreamOutput: Swift.Sendable { - /// The UUID (Base62-encoded text) of the canceled QLDB journal stream. - public var streamId: Swift.String? - - public init( - streamId: Swift.String? = nil - ) { - self.streamId = streamId - } -} - -/// You have reached the limit on the maximum number of resources allowed. -public struct LimitExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - /// The type of resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "LimitExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceType = resourceType - } -} - -/// The specified resource already exists. -public struct ResourceAlreadyExistsException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - /// The name of the resource. - public internal(set) var resourceName: Swift.String? = nil - /// The type of resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceAlreadyExistsException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceName: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceName = resourceName - self.properties.resourceType = resourceType - } -} - -/// The specified resource can't be modified at this time. -public struct ResourceInUseException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - /// The name of the resource. - public internal(set) var resourceName: Swift.String? = nil - /// The type of resource. - public internal(set) var resourceType: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceInUseException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil, - resourceName: Swift.String? = nil, - resourceType: Swift.String? = nil - ) { - self.properties.message = message - self.properties.resourceName = resourceName - self.properties.resourceType = resourceType - } -} - -extension QLDBClientTypes { - - public enum PermissionsMode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case allowAll - case standard - case sdkUnknown(Swift.String) - - public static var allCases: [PermissionsMode] { - return [ - .allowAll, - .standard - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .allowAll: return "ALLOW_ALL" - case .standard: return "STANDARD" - case let .sdkUnknown(s): return s - } - } - } -} - -public struct CreateLedgerInput: Swift.Sendable { - /// Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false. - public var deletionProtection: Swift.Bool? - /// The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see [Encryption at rest](https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html) in the Amazon QLDB Developer Guide. Use one of the following options to specify this parameter: - /// - /// * AWS_OWNED_KMS_KEY: Use an KMS key that is owned and managed by Amazon Web Services on your behalf. - /// - /// * Undefined: By default, use an Amazon Web Services owned KMS key. - /// - /// * A valid symmetric customer managed KMS key: Use the specified symmetric encryption KMS key in your account that you create, own, and manage. Amazon QLDB does not support asymmetric keys. For more information, see [Using symmetric and asymmetric keys](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the Key Management Service Developer Guide. - /// - /// - /// To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN. For example: - /// - /// * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - /// - /// * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - /// - /// * Alias name: alias/ExampleAlias - /// - /// * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias - /// - /// - /// For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) in the Key Management Service Developer Guide. - public var kmsKey: Swift.String? - /// The name of the ledger that you want to create. The name must be unique among all of the ledgers in your Amazon Web Services account in the current Region. Naming constraints for ledger names are defined in [Quotas in Amazon QLDB](https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming) in the Amazon QLDB Developer Guide. - /// This member is required. - public var name: Swift.String? - /// The permissions mode to assign to the ledger that you want to create. This parameter can have one of the following values: - /// - /// * ALLOW_ALL: A legacy permissions mode that enables access control with API-level granularity for ledgers. This mode allows users who have the SendCommand API permission for this ledger to run all PartiQL commands (hence, ALLOW_ALL) on any tables in the specified ledger. This mode disregards any table-level or command-level IAM permissions policies that you create for the ledger. - /// - /// * STANDARD: (Recommended) A permissions mode that enables access control with finer granularity for ledgers, tables, and PartiQL commands. By default, this mode denies all user requests to run any PartiQL commands on any tables in this ledger. To allow PartiQL commands to run, you must create IAM permissions policies for specific table resources and PartiQL actions, in addition to the SendCommand API permission for the ledger. For information, see [Getting started with the standard permissions mode](https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-standard-mode.html) in the Amazon QLDB Developer Guide. - /// - /// - /// We strongly recommend using the STANDARD permissions mode to maximize the security of your ledger data. - /// This member is required. - public var permissionsMode: QLDBClientTypes.PermissionsMode? - /// The key-value pairs to add as tags to the ledger that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null. - public var tags: [Swift.String: Swift.String?]? - - public init( - deletionProtection: Swift.Bool? = nil, - kmsKey: Swift.String? = nil, - name: Swift.String? = nil, - permissionsMode: QLDBClientTypes.PermissionsMode? = nil, - tags: [Swift.String: Swift.String?]? = nil - ) { - self.deletionProtection = deletionProtection - self.kmsKey = kmsKey - self.name = name - self.permissionsMode = permissionsMode - self.tags = tags - } -} - -extension QLDBClientTypes { - - public enum LedgerState: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case creating - case deleted - case deleting - case sdkUnknown(Swift.String) - - public static var allCases: [LedgerState] { - return [ - .active, - .creating, - .deleted, - .deleting - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "ACTIVE" - case .creating: return "CREATING" - case .deleted: return "DELETED" - case .deleting: return "DELETING" - case let .sdkUnknown(s): return s - } - } - } -} - -public struct CreateLedgerOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) for the ledger. - public var arn: Swift.String? - /// The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.) - public var creationDateTime: Foundation.Date? - /// Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false. - public var deletionProtection: Swift.Bool? - /// The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption. - public var kmsKeyArn: Swift.String? - /// The name of the ledger. - public var name: Swift.String? - /// The permissions mode of the ledger that you created. - public var permissionsMode: QLDBClientTypes.PermissionsMode? - /// The current status of the ledger. - public var state: QLDBClientTypes.LedgerState? - - public init( - arn: Swift.String? = nil, - creationDateTime: Foundation.Date? = nil, - deletionProtection: Swift.Bool? = nil, - kmsKeyArn: Swift.String? = nil, - name: Swift.String? = nil, - permissionsMode: QLDBClientTypes.PermissionsMode? = nil, - state: QLDBClientTypes.LedgerState? = nil - ) { - self.arn = arn - self.creationDateTime = creationDateTime - self.deletionProtection = deletionProtection - self.kmsKeyArn = kmsKeyArn - self.name = name - self.permissionsMode = permissionsMode - self.state = state - } -} - -public struct DeleteLedgerInput: Swift.Sendable { - /// The name of the ledger that you want to delete. - /// This member is required. - public var name: Swift.String? - - public init( - name: Swift.String? = nil - ) { - self.name = name - } -} - -public struct DescribeJournalKinesisStreamInput: Swift.Sendable { - /// The name of the ledger. - /// This member is required. - public var ledgerName: Swift.String? - /// The UUID (represented in Base62-encoded text) of the QLDB journal stream to describe. - /// This member is required. - public var streamId: Swift.String? - - public init( - ledgerName: Swift.String? = nil, - streamId: Swift.String? = nil - ) { - self.ledgerName = ledgerName - self.streamId = streamId - } -} - -extension QLDBClientTypes { - - public enum ErrorCause: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case iamPermissionRevoked - case kinesisStreamNotFound - case sdkUnknown(Swift.String) - - public static var allCases: [ErrorCause] { - return [ - .iamPermissionRevoked, - .kinesisStreamNotFound - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .iamPermissionRevoked: return "IAM_PERMISSION_REVOKED" - case .kinesisStreamNotFound: return "KINESIS_STREAM_NOT_FOUND" - case let .sdkUnknown(s): return s - } - } - } -} - -extension QLDBClientTypes { - - /// The configuration settings of the Amazon Kinesis Data Streams destination for an Amazon QLDB journal stream. - public struct KinesisConfiguration: Swift.Sendable { - /// Enables QLDB to publish multiple data records in a single Kinesis Data Streams record, increasing the number of records sent per API call. Default: True Record aggregation has important implications for processing records and requires de-aggregation in your stream consumer. To learn more, see [KPL Key Concepts](https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html) and [Consumer De-aggregation](https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-consumer-deaggregation.html) in the Amazon Kinesis Data Streams Developer Guide. - public var aggregationEnabled: Swift.Bool? - /// The Amazon Resource Name (ARN) of the Kinesis Data Streams resource. - /// This member is required. - public var streamArn: Swift.String? - - public init( - aggregationEnabled: Swift.Bool? = nil, - streamArn: Swift.String? = nil - ) { - self.aggregationEnabled = aggregationEnabled - self.streamArn = streamArn - } - } -} - -extension QLDBClientTypes { - - public enum StreamStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case active - case canceled - case completed - case failed - case impaired - case sdkUnknown(Swift.String) - - public static var allCases: [StreamStatus] { - return [ - .active, - .canceled, - .completed, - .failed, - .impaired - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .active: return "ACTIVE" - case .canceled: return "CANCELED" - case .completed: return "COMPLETED" - case .failed: return "FAILED" - case .impaired: return "IMPAIRED" - case let .sdkUnknown(s): return s - } - } - } -} - -extension QLDBClientTypes { - - /// Information about an Amazon QLDB journal stream, including the Amazon Resource Name (ARN), stream name, creation time, current status, and the parameters of the original stream creation request. - public struct JournalKinesisStreamDescription: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the QLDB journal stream. - public var arn: Swift.String? - /// The date and time, in epoch time format, when the QLDB journal stream was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.) - public var creationTime: Foundation.Date? - /// The error message that describes the reason that a stream has a status of IMPAIRED or FAILED. This is not applicable to streams that have other status values. - public var errorCause: QLDBClientTypes.ErrorCause? - /// The exclusive date and time that specifies when the stream ends. If this parameter is undefined, the stream runs indefinitely until you cancel it. - public var exclusiveEndTime: Foundation.Date? - /// The inclusive start date and time from which to start streaming journal data. - public var inclusiveStartTime: Foundation.Date? - /// The configuration settings of the Amazon Kinesis Data Streams destination for a QLDB journal stream. - /// This member is required. - public var kinesisConfiguration: QLDBClientTypes.KinesisConfiguration? - /// The name of the ledger. - /// This member is required. - public var ledgerName: Swift.String? - /// The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource. - /// This member is required. - public var roleArn: Swift.String? - /// The current state of the QLDB journal stream. - /// This member is required. - public var status: QLDBClientTypes.StreamStatus? - /// The UUID (represented in Base62-encoded text) of the QLDB journal stream. - /// This member is required. - public var streamId: Swift.String? - /// The user-defined name of the QLDB journal stream. - /// This member is required. - public var streamName: Swift.String? - - public init( - arn: Swift.String? = nil, - creationTime: Foundation.Date? = nil, - errorCause: QLDBClientTypes.ErrorCause? = nil, - exclusiveEndTime: Foundation.Date? = nil, - inclusiveStartTime: Foundation.Date? = nil, - kinesisConfiguration: QLDBClientTypes.KinesisConfiguration? = nil, - ledgerName: Swift.String? = nil, - roleArn: Swift.String? = nil, - status: QLDBClientTypes.StreamStatus? = nil, - streamId: Swift.String? = nil, - streamName: Swift.String? = nil - ) { - self.arn = arn - self.creationTime = creationTime - self.errorCause = errorCause - self.exclusiveEndTime = exclusiveEndTime - self.inclusiveStartTime = inclusiveStartTime - self.kinesisConfiguration = kinesisConfiguration - self.ledgerName = ledgerName - self.roleArn = roleArn - self.status = status - self.streamId = streamId - self.streamName = streamName - } - } -} - -public struct DescribeJournalKinesisStreamOutput: Swift.Sendable { - /// Information about the QLDB journal stream returned by a DescribeJournalS3Export request. - public var stream: QLDBClientTypes.JournalKinesisStreamDescription? - - public init( - stream: QLDBClientTypes.JournalKinesisStreamDescription? = nil - ) { - self.stream = stream - } -} - -public struct DescribeJournalS3ExportInput: Swift.Sendable { - /// The UUID (represented in Base62-encoded text) of the journal export job to describe. - /// This member is required. - public var exportId: Swift.String? - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - - public init( - exportId: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.exportId = exportId - self.name = name - } -} - -extension QLDBClientTypes { - - public enum OutputFormat: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case ionBinary - case ionText - case json - case sdkUnknown(Swift.String) - - public static var allCases: [OutputFormat] { - return [ - .ionBinary, - .ionText, - .json - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .ionBinary: return "ION_BINARY" - case .ionText: return "ION_TEXT" - case .json: return "JSON" - case let .sdkUnknown(s): return s - } - } - } -} - -extension QLDBClientTypes { - - public enum S3ObjectEncryptionType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case noEncryption - case sseKms - case sseS3 - case sdkUnknown(Swift.String) - - public static var allCases: [S3ObjectEncryptionType] { - return [ - .noEncryption, - .sseKms, - .sseS3 - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .noEncryption: return "NO_ENCRYPTION" - case .sseKms: return "SSE_KMS" - case .sseS3: return "SSE_S3" - case let .sdkUnknown(s): return s - } - } - } -} - -extension QLDBClientTypes { - - /// The encryption settings that are used by a journal export job to write data in an Amazon Simple Storage Service (Amazon S3) bucket. - public struct S3EncryptionConfiguration: Swift.Sendable { - /// The Amazon Resource Name (ARN) of a symmetric encryption key in Key Management Service (KMS). Amazon S3 does not support asymmetric KMS keys. You must provide a KmsKeyArn if you specify SSE_KMS as the ObjectEncryptionType. KmsKeyArn is not required if you specify SSE_S3 as the ObjectEncryptionType. - public var kmsKeyArn: Swift.String? - /// The Amazon S3 object encryption type. To learn more about server-side encryption options in Amazon S3, see [Protecting Data Using Server-Side Encryption](https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html) in the Amazon S3 Developer Guide. - /// This member is required. - public var objectEncryptionType: QLDBClientTypes.S3ObjectEncryptionType? - - public init( - kmsKeyArn: Swift.String? = nil, - objectEncryptionType: QLDBClientTypes.S3ObjectEncryptionType? = nil - ) { - self.kmsKeyArn = kmsKeyArn - self.objectEncryptionType = objectEncryptionType - } - } -} - -extension QLDBClientTypes { - - /// The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal contents. - public struct S3ExportConfiguration: Swift.Sendable { - /// The Amazon S3 bucket name in which a journal export job writes the journal contents. The bucket name must comply with the Amazon S3 bucket naming conventions. For more information, see [Bucket Restrictions and Limitations](https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html) in the Amazon S3 Developer Guide. - /// This member is required. - public var bucket: Swift.String? - /// The encryption settings that are used by a journal export job to write data in an Amazon S3 bucket. - /// This member is required. - public var encryptionConfiguration: QLDBClientTypes.S3EncryptionConfiguration? - /// The prefix for the Amazon S3 bucket in which a journal export job writes the journal contents. The prefix must comply with Amazon S3 key naming rules and restrictions. For more information, see [Object Key and Metadata](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingMetadata.html) in the Amazon S3 Developer Guide. The following are examples of valid Prefix values: - /// - /// * JournalExports-ForMyLedger/Testing/ - /// - /// * JournalExports - /// - /// * My:Tests/ - /// This member is required. - public var `prefix`: Swift.String? - - public init( - bucket: Swift.String? = nil, - encryptionConfiguration: QLDBClientTypes.S3EncryptionConfiguration? = nil, - `prefix`: Swift.String? = nil - ) { - self.bucket = bucket - self.encryptionConfiguration = encryptionConfiguration - self.`prefix` = `prefix` - } - } -} - -extension QLDBClientTypes { - - public enum ExportStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case cancelled - case completed - case inProgress - case sdkUnknown(Swift.String) - - public static var allCases: [ExportStatus] { - return [ - .cancelled, - .completed, - .inProgress - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .cancelled: return "CANCELLED" - case .completed: return "COMPLETED" - case .inProgress: return "IN_PROGRESS" - case let .sdkUnknown(s): return s - } - } - } -} - -extension QLDBClientTypes { - - /// Information about a journal export job, including the ledger name, export ID, creation time, current status, and the parameters of the original export creation request. - public struct JournalS3ExportDescription: Swift.Sendable { - /// The exclusive end date and time for the range of journal contents that was specified in the original export request. - /// This member is required. - public var exclusiveEndTime: Foundation.Date? - /// The date and time, in epoch time format, when the export job was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.) - /// This member is required. - public var exportCreationTime: Foundation.Date? - /// The UUID (represented in Base62-encoded text) of the journal export job. - /// This member is required. - public var exportId: Swift.String? - /// The inclusive start date and time for the range of journal contents that was specified in the original export request. - /// This member is required. - public var inclusiveStartTime: Foundation.Date? - /// The name of the ledger. - /// This member is required. - public var ledgerName: Swift.String? - /// The output format of the exported journal data. - public var outputFormat: QLDBClientTypes.OutputFormat? - /// The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following: - /// - /// * Write objects into your Amazon Simple Storage Service (Amazon S3) bucket. - /// - /// * (Optional) Use your customer managed key in Key Management Service (KMS) for server-side encryption of your exported data. - /// This member is required. - public var roleArn: Swift.String? - /// The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal contents. - /// This member is required. - public var s3ExportConfiguration: QLDBClientTypes.S3ExportConfiguration? - /// The current state of the journal export job. - /// This member is required. - public var status: QLDBClientTypes.ExportStatus? - - public init( - exclusiveEndTime: Foundation.Date? = nil, - exportCreationTime: Foundation.Date? = nil, - exportId: Swift.String? = nil, - inclusiveStartTime: Foundation.Date? = nil, - ledgerName: Swift.String? = nil, - outputFormat: QLDBClientTypes.OutputFormat? = nil, - roleArn: Swift.String? = nil, - s3ExportConfiguration: QLDBClientTypes.S3ExportConfiguration? = nil, - status: QLDBClientTypes.ExportStatus? = nil - ) { - self.exclusiveEndTime = exclusiveEndTime - self.exportCreationTime = exportCreationTime - self.exportId = exportId - self.inclusiveStartTime = inclusiveStartTime - self.ledgerName = ledgerName - self.outputFormat = outputFormat - self.roleArn = roleArn - self.s3ExportConfiguration = s3ExportConfiguration - self.status = status - } - } -} - -public struct DescribeJournalS3ExportOutput: Swift.Sendable { - /// Information about the journal export job returned by a DescribeJournalS3Export request. - /// This member is required. - public var exportDescription: QLDBClientTypes.JournalS3ExportDescription? - - public init( - exportDescription: QLDBClientTypes.JournalS3ExportDescription? = nil - ) { - self.exportDescription = exportDescription - } -} - -public struct DescribeLedgerInput: Swift.Sendable { - /// The name of the ledger that you want to describe. - /// This member is required. - public var name: Swift.String? - - public init( - name: Swift.String? = nil - ) { - self.name = name - } -} - -extension QLDBClientTypes { - - public enum EncryptionStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case enabled - case kmsKeyInaccessible - case updating - case sdkUnknown(Swift.String) - - public static var allCases: [EncryptionStatus] { - return [ - .enabled, - .kmsKeyInaccessible, - .updating - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .enabled: return "ENABLED" - case .kmsKeyInaccessible: return "KMS_KEY_INACCESSIBLE" - case .updating: return "UPDATING" - case let .sdkUnknown(s): return s - } - } - } -} - -extension QLDBClientTypes { - - /// Information about the encryption of data at rest in an Amazon QLDB ledger. This includes the current status, the key in Key Management Service (KMS), and when the key became inaccessible (in the case of an error). For more information, see [Encryption at rest](https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html) in the Amazon QLDB Developer Guide. - public struct LedgerEncryptionDescription: Swift.Sendable { - /// The current state of encryption at rest for the ledger. This can be one of the following values: - /// - /// * ENABLED: Encryption is fully enabled using the specified key. - /// - /// * UPDATING: The ledger is actively processing the specified key change. Key changes in QLDB are asynchronous. The ledger is fully accessible without any performance impact while the key change is being processed. The amount of time it takes to update a key varies depending on the ledger size. - /// - /// * KMS_KEY_INACCESSIBLE: The specified customer managed KMS key is not accessible, and the ledger is impaired. Either the key was disabled or deleted, or the grants on the key were revoked. When a ledger is impaired, it is not accessible and does not accept any read or write requests. An impaired ledger automatically returns to an active state after you restore the grants on the key, or re-enable the key that was disabled. However, deleting a customer managed KMS key is irreversible. After a key is deleted, you can no longer access the ledgers that are protected with that key, and the data becomes unrecoverable permanently. - /// This member is required. - public var encryptionStatus: QLDBClientTypes.EncryptionStatus? - /// The date and time, in epoch time format, when the KMS key first became inaccessible, in the case of an error. (Epoch time format is the number of seconds that have elapsed since 12:00:00 AM January 1, 1970 UTC.) This parameter is undefined if the KMS key is accessible. - public var inaccessibleKmsKeyDateTime: Foundation.Date? - /// The Amazon Resource Name (ARN) of the customer managed KMS key that the ledger uses for encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption. It will display AWS_OWNED_KMS_KEY when updating the ledger's encryption configuration to the Amazon Web Services owned KMS key. - /// This member is required. - public var kmsKeyArn: Swift.String? - - public init( - encryptionStatus: QLDBClientTypes.EncryptionStatus? = nil, - inaccessibleKmsKeyDateTime: Foundation.Date? = nil, - kmsKeyArn: Swift.String? = nil - ) { - self.encryptionStatus = encryptionStatus - self.inaccessibleKmsKeyDateTime = inaccessibleKmsKeyDateTime - self.kmsKeyArn = kmsKeyArn - } - } -} - -public struct DescribeLedgerOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) for the ledger. - public var arn: Swift.String? - /// The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.) - public var creationDateTime: Foundation.Date? - /// Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false. - public var deletionProtection: Swift.Bool? - /// Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption. - public var encryptionDescription: QLDBClientTypes.LedgerEncryptionDescription? - /// The name of the ledger. - public var name: Swift.String? - /// The permissions mode of the ledger. - public var permissionsMode: QLDBClientTypes.PermissionsMode? - /// The current status of the ledger. - public var state: QLDBClientTypes.LedgerState? - - public init( - arn: Swift.String? = nil, - creationDateTime: Foundation.Date? = nil, - deletionProtection: Swift.Bool? = nil, - encryptionDescription: QLDBClientTypes.LedgerEncryptionDescription? = nil, - name: Swift.String? = nil, - permissionsMode: QLDBClientTypes.PermissionsMode? = nil, - state: QLDBClientTypes.LedgerState? = nil - ) { - self.arn = arn - self.creationDateTime = creationDateTime - self.deletionProtection = deletionProtection - self.encryptionDescription = encryptionDescription - self.name = name - self.permissionsMode = permissionsMode - self.state = state - } -} - -public struct ExportJournalToS3Input: Swift.Sendable { - /// The exclusive end date and time for the range of journal contents to export. The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. The ExclusiveEndTime must be less than or equal to the current UTC date and time. - /// This member is required. - public var exclusiveEndTime: Foundation.Date? - /// The inclusive start date and time for the range of journal contents to export. The InclusiveStartTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. The InclusiveStartTime must be before ExclusiveEndTime. If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, Amazon QLDB defaults it to the ledger's CreationDateTime. - /// This member is required. - public var inclusiveStartTime: Foundation.Date? - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - /// The output format of your exported journal data. A journal export job can write the data objects in either the text or binary representation of [Amazon Ion](https://docs.aws.amazon.com/qldb/latest/developerguide/ion.html) format, or in [JSON Lines](https://jsonlines.org/) text format. Default: ION_TEXT In JSON Lines format, each journal block in an exported data object is a valid JSON object that is delimited by a newline. You can use this format to directly integrate JSON exports with analytics tools such as Amazon Athena and Glue because these services can parse newline-delimited JSON automatically. - public var outputFormat: QLDBClientTypes.OutputFormat? - /// The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal export job to do the following: - /// - /// * Write objects into your Amazon S3 bucket. - /// - /// * (Optional) Use your customer managed key in Key Management Service (KMS) for server-side encryption of your exported data. - /// - /// - /// To pass a role to QLDB when requesting a journal export, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal export requests. - /// This member is required. - public var roleArn: Swift.String? - /// The configuration settings of the Amazon S3 bucket destination for your export request. - /// This member is required. - public var s3ExportConfiguration: QLDBClientTypes.S3ExportConfiguration? - - public init( - exclusiveEndTime: Foundation.Date? = nil, - inclusiveStartTime: Foundation.Date? = nil, - name: Swift.String? = nil, - outputFormat: QLDBClientTypes.OutputFormat? = nil, - roleArn: Swift.String? = nil, - s3ExportConfiguration: QLDBClientTypes.S3ExportConfiguration? = nil - ) { - self.exclusiveEndTime = exclusiveEndTime - self.inclusiveStartTime = inclusiveStartTime - self.name = name - self.outputFormat = outputFormat - self.roleArn = roleArn - self.s3ExportConfiguration = s3ExportConfiguration - } -} - -public struct ExportJournalToS3Output: Swift.Sendable { - /// The UUID (represented in Base62-encoded text) that QLDB assigns to each journal export job. To describe your export request and check the status of the job, you can use ExportId to call DescribeJournalS3Export. - /// This member is required. - public var exportId: Swift.String? - - public init( - exportId: Swift.String? = nil - ) { - self.exportId = exportId - } -} - -extension QLDBClientTypes { - - /// A structure that can contain a value in multiple encoding formats. - public struct ValueHolder: Swift.Sendable { - /// An Amazon Ion plaintext value contained in a ValueHolder structure. - public var ionText: Swift.String? - - public init( - ionText: Swift.String? = nil - ) { - self.ionText = ionText - } - } -} - -extension QLDBClientTypes.ValueHolder: Swift.CustomDebugStringConvertible { - public var debugDescription: Swift.String { - "CONTENT_REDACTED" - } -} - -public struct GetBlockInput: Swift.Sendable { - /// The location of the block that you want to request. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}. - /// This member is required. - public var blockAddress: QLDBClientTypes.ValueHolder? - /// The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}. - public var digestTipAddress: QLDBClientTypes.ValueHolder? - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - - public init( - blockAddress: QLDBClientTypes.ValueHolder? = nil, - digestTipAddress: QLDBClientTypes.ValueHolder? = nil, - name: Swift.String? = nil - ) { - self.blockAddress = blockAddress - self.digestTipAddress = digestTipAddress - self.name = name - } -} - -extension GetBlockInput: Swift.CustomDebugStringConvertible { - public var debugDescription: Swift.String { - "GetBlockInput(name: \(Swift.String(describing: name)), blockAddress: \"CONTENT_REDACTED\", digestTipAddress: \"CONTENT_REDACTED\")"} -} - -public struct GetBlockOutput: Swift.Sendable { - /// The block data object in Amazon Ion format. - /// This member is required. - public var block: QLDBClientTypes.ValueHolder? - /// The proof object in Amazon Ion format returned by a GetBlock request. A proof contains the list of hash values required to recalculate the specified digest using a Merkle tree, starting with the specified block. - public var proof: QLDBClientTypes.ValueHolder? - - public init( - block: QLDBClientTypes.ValueHolder? = nil, - proof: QLDBClientTypes.ValueHolder? = nil - ) { - self.block = block - self.proof = proof - } -} - -extension GetBlockOutput: Swift.CustomDebugStringConvertible { - public var debugDescription: Swift.String { - "GetBlockOutput(block: \"CONTENT_REDACTED\", proof: \"CONTENT_REDACTED\")"} -} - -public struct GetDigestInput: Swift.Sendable { - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - - public init( - name: Swift.String? = nil - ) { - self.name = name - } -} - -public struct GetDigestOutput: Swift.Sendable { - /// The 256-bit hash value representing the digest returned by a GetDigest request. - /// This member is required. - public var digest: Foundation.Data? - /// The latest block location covered by the digest that you requested. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. - /// This member is required. - public var digestTipAddress: QLDBClientTypes.ValueHolder? - - public init( - digest: Foundation.Data? = nil, - digestTipAddress: QLDBClientTypes.ValueHolder? = nil - ) { - self.digest = digest - self.digestTipAddress = digestTipAddress - } -} - -extension GetDigestOutput: Swift.CustomDebugStringConvertible { - public var debugDescription: Swift.String { - "GetDigestOutput(digest: \(Swift.String(describing: digest)), digestTipAddress: \"CONTENT_REDACTED\")"} -} - -public struct GetRevisionInput: Swift.Sendable { - /// The block location of the document revision to be verified. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:14}. - /// This member is required. - public var blockAddress: QLDBClientTypes.ValueHolder? - /// The latest block location covered by the digest for which to request a proof. An address is an Amazon Ion structure that has two fields: strandId and sequenceNo. For example: {strandId:"BlFTjlSXze9BIh1KOszcE3",sequenceNo:49}. - public var digestTipAddress: QLDBClientTypes.ValueHolder? - /// The UUID (represented in Base62-encoded text) of the document to be verified. - /// This member is required. - public var documentId: Swift.String? - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - - public init( - blockAddress: QLDBClientTypes.ValueHolder? = nil, - digestTipAddress: QLDBClientTypes.ValueHolder? = nil, - documentId: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.blockAddress = blockAddress - self.digestTipAddress = digestTipAddress - self.documentId = documentId - self.name = name - } -} - -extension GetRevisionInput: Swift.CustomDebugStringConvertible { - public var debugDescription: Swift.String { - "GetRevisionInput(documentId: \(Swift.String(describing: documentId)), name: \(Swift.String(describing: name)), blockAddress: \"CONTENT_REDACTED\", digestTipAddress: \"CONTENT_REDACTED\")"} -} - -public struct GetRevisionOutput: Swift.Sendable { - /// The proof object in Amazon Ion format returned by a GetRevision request. A proof contains the list of hash values that are required to recalculate the specified digest using a Merkle tree, starting with the specified document revision. - public var proof: QLDBClientTypes.ValueHolder? - /// The document revision data object in Amazon Ion format. - /// This member is required. - public var revision: QLDBClientTypes.ValueHolder? - - public init( - proof: QLDBClientTypes.ValueHolder? = nil, - revision: QLDBClientTypes.ValueHolder? = nil - ) { - self.proof = proof - self.revision = revision - } -} - -extension GetRevisionOutput: Swift.CustomDebugStringConvertible { - public var debugDescription: Swift.String { - "GetRevisionOutput(proof: \"CONTENT_REDACTED\", revision: \"CONTENT_REDACTED\")"} -} - -public struct ListJournalKinesisStreamsForLedgerInput: Swift.Sendable { - /// The name of the ledger. - /// This member is required. - public var ledgerName: Swift.String? - /// The maximum number of results to return in a single ListJournalKinesisStreamsForLedger request. (The actual number of results returned might be fewer.) - public var maxResults: Swift.Int? - /// A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalKinesisStreamsForLedger call, you should use that value as input here. - public var nextToken: Swift.String? - - public init( - ledgerName: Swift.String? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.ledgerName = ledgerName - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -public struct ListJournalKinesisStreamsForLedgerOutput: Swift.Sendable { - /// * If NextToken is empty, the last page of results has been processed and there are no more results to be retrieved. - /// - /// * If NextToken is not empty, more results are available. To retrieve the next page of results, use the value of NextToken in a subsequent ListJournalKinesisStreamsForLedger call. - public var nextToken: Swift.String? - /// The QLDB journal streams that are currently associated with the given ledger. - public var streams: [QLDBClientTypes.JournalKinesisStreamDescription]? - - public init( - nextToken: Swift.String? = nil, - streams: [QLDBClientTypes.JournalKinesisStreamDescription]? = nil - ) { - self.nextToken = nextToken - self.streams = streams - } -} - -public struct ListJournalS3ExportsInput: Swift.Sendable { - /// The maximum number of results to return in a single ListJournalS3Exports request. (The actual number of results returned might be fewer.) - public var maxResults: Swift.Int? - /// A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalS3Exports call, then you should use that value as input here. - public var nextToken: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -public struct ListJournalS3ExportsOutput: Swift.Sendable { - /// The journal export jobs for all ledgers that are associated with the current Amazon Web Services account and Region. - public var journalS3Exports: [QLDBClientTypes.JournalS3ExportDescription]? - /// * If NextToken is empty, then the last page of results has been processed and there are no more results to be retrieved. - /// - /// * If NextToken is not empty, then there are more results available. To retrieve the next page of results, use the value of NextToken in a subsequent ListJournalS3Exports call. - public var nextToken: Swift.String? - - public init( - journalS3Exports: [QLDBClientTypes.JournalS3ExportDescription]? = nil, - nextToken: Swift.String? = nil - ) { - self.journalS3Exports = journalS3Exports - self.nextToken = nextToken - } -} - -public struct ListJournalS3ExportsForLedgerInput: Swift.Sendable { - /// The maximum number of results to return in a single ListJournalS3ExportsForLedger request. (The actual number of results returned might be fewer.) - public var maxResults: Swift.Int? - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - /// A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListJournalS3ExportsForLedger call, then you should use that value as input here. - public var nextToken: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - name: Swift.String? = nil, - nextToken: Swift.String? = nil - ) { - self.maxResults = maxResults - self.name = name - self.nextToken = nextToken - } -} - -public struct ListJournalS3ExportsForLedgerOutput: Swift.Sendable { - /// The journal export jobs that are currently associated with the specified ledger. - public var journalS3Exports: [QLDBClientTypes.JournalS3ExportDescription]? - /// * If NextToken is empty, then the last page of results has been processed and there are no more results to be retrieved. - /// - /// * If NextToken is not empty, then there are more results available. To retrieve the next page of results, use the value of NextToken in a subsequent ListJournalS3ExportsForLedger call. - public var nextToken: Swift.String? - - public init( - journalS3Exports: [QLDBClientTypes.JournalS3ExportDescription]? = nil, - nextToken: Swift.String? = nil - ) { - self.journalS3Exports = journalS3Exports - self.nextToken = nextToken - } -} - -public struct ListLedgersInput: Swift.Sendable { - /// The maximum number of results to return in a single ListLedgers request. (The actual number of results returned might be fewer.) - public var maxResults: Swift.Int? - /// A pagination token, indicating that you want to retrieve the next page of results. If you received a value for NextToken in the response from a previous ListLedgers call, then you should use that value as input here. - public var nextToken: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension QLDBClientTypes { - - /// Information about a ledger, including its name, state, and when it was created. - public struct LedgerSummary: Swift.Sendable { - /// The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.) - public var creationDateTime: Foundation.Date? - /// The name of the ledger. - public var name: Swift.String? - /// The current status of the ledger. - public var state: QLDBClientTypes.LedgerState? - - public init( - creationDateTime: Foundation.Date? = nil, - name: Swift.String? = nil, - state: QLDBClientTypes.LedgerState? = nil - ) { - self.creationDateTime = creationDateTime - self.name = name - self.state = state - } - } -} - -public struct ListLedgersOutput: Swift.Sendable { - /// The ledgers that are associated with the current Amazon Web Services account and Region. - public var ledgers: [QLDBClientTypes.LedgerSummary]? - /// A pagination token, indicating whether there are more results available: - /// - /// * If NextToken is empty, then the last page of results has been processed and there are no more results to be retrieved. - /// - /// * If NextToken is not empty, then there are more results available. To retrieve the next page of results, use the value of NextToken in a subsequent ListLedgers call. - public var nextToken: Swift.String? - - public init( - ledgers: [QLDBClientTypes.LedgerSummary]? = nil, - nextToken: Swift.String? = nil - ) { - self.ledgers = ledgers - self.nextToken = nextToken - } -} - -public struct ListTagsForResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) for which to list the tags. For example: arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger - /// This member is required. - public var resourceArn: Swift.String? - - public init( - resourceArn: Swift.String? = nil - ) { - self.resourceArn = resourceArn - } -} - -public struct ListTagsForResourceOutput: Swift.Sendable { - /// The tags that are currently associated with the specified Amazon QLDB resource. - public var tags: [Swift.String: Swift.String?]? - - public init( - tags: [Swift.String: Swift.String?]? = nil - ) { - self.tags = tags - } -} - -public struct StreamJournalToKinesisInput: Swift.Sendable { - /// The exclusive date and time that specifies when the stream ends. If you don't define this parameter, the stream runs indefinitely until you cancel it. The ExclusiveEndTime must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. - public var exclusiveEndTime: Foundation.Date? - /// The inclusive start date and time from which to start streaming journal data. This parameter must be in ISO 8601 date and time format and in Universal Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z. The InclusiveStartTime cannot be in the future and must be before ExclusiveEndTime. If you provide an InclusiveStartTime that is before the ledger's CreationDateTime, QLDB effectively defaults it to the ledger's CreationDateTime. - /// This member is required. - public var inclusiveStartTime: Foundation.Date? - /// The configuration settings of the Kinesis Data Streams destination for your stream request. - /// This member is required. - public var kinesisConfiguration: QLDBClientTypes.KinesisConfiguration? - /// The name of the ledger. - /// This member is required. - public var ledgerName: Swift.String? - /// The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource. To pass a role to QLDB when requesting a journal stream, you must have permissions to perform the iam:PassRole action on the IAM role resource. This is required for all journal stream requests. - /// This member is required. - public var roleArn: Swift.String? - /// The name that you want to assign to the QLDB journal stream. User-defined names can help identify and indicate the purpose of a stream. Your stream name must be unique among other active streams for a given ledger. Stream names have the same naming constraints as ledger names, as defined in [Quotas in Amazon QLDB](https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming) in the Amazon QLDB Developer Guide. - /// This member is required. - public var streamName: Swift.String? - /// The key-value pairs to add as tags to the stream that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null. - public var tags: [Swift.String: Swift.String?]? - - public init( - exclusiveEndTime: Foundation.Date? = nil, - inclusiveStartTime: Foundation.Date? = nil, - kinesisConfiguration: QLDBClientTypes.KinesisConfiguration? = nil, - ledgerName: Swift.String? = nil, - roleArn: Swift.String? = nil, - streamName: Swift.String? = nil, - tags: [Swift.String: Swift.String?]? = nil - ) { - self.exclusiveEndTime = exclusiveEndTime - self.inclusiveStartTime = inclusiveStartTime - self.kinesisConfiguration = kinesisConfiguration - self.ledgerName = ledgerName - self.roleArn = roleArn - self.streamName = streamName - self.tags = tags - } -} - -public struct StreamJournalToKinesisOutput: Swift.Sendable { - /// The UUID (represented in Base62-encoded text) that QLDB assigns to each QLDB journal stream. - public var streamId: Swift.String? - - public init( - streamId: Swift.String? = nil - ) { - self.streamId = streamId - } -} - -public struct TagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) to which you want to add the tags. For example: arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger - /// This member is required. - public var resourceArn: Swift.String? - /// The key-value pairs to add as tags to the specified QLDB resource. Tag keys are case sensitive. If you specify a key that already exists for the resource, your request fails and returns an error. Tag values are case sensitive and can be null. - /// This member is required. - public var tags: [Swift.String: Swift.String?]? - - public init( - resourceArn: Swift.String? = nil, - tags: [Swift.String: Swift.String?]? = nil - ) { - self.resourceArn = resourceArn - self.tags = tags - } -} - -public struct TagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UntagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) from which to remove the tags. For example: arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger - /// This member is required. - public var resourceArn: Swift.String? - /// The list of tag keys to remove. - /// This member is required. - public var tagKeys: [Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tagKeys: [Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } -} - -public struct UntagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateLedgerInput: Swift.Sendable { - /// Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false. - public var deletionProtection: Swift.Bool? - /// The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For more information, see [Encryption at rest](https://docs.aws.amazon.com/qldb/latest/developerguide/encryption-at-rest.html) in the Amazon QLDB Developer Guide. Use one of the following options to specify this parameter: - /// - /// * AWS_OWNED_KMS_KEY: Use an KMS key that is owned and managed by Amazon Web Services on your behalf. - /// - /// * Undefined: Make no changes to the KMS key of the ledger. - /// - /// * A valid symmetric customer managed KMS key: Use the specified symmetric encryption KMS key in your account that you create, own, and manage. Amazon QLDB does not support asymmetric keys. For more information, see [Using symmetric and asymmetric keys](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) in the Key Management Service Developer Guide. - /// - /// - /// To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name (ARN), alias name, or alias ARN. When using an alias name, prefix it with "alias/". To specify a key in a different Amazon Web Services account, you must use the key ARN or alias ARN. For example: - /// - /// * Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab - /// - /// * Key ARN: arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab - /// - /// * Alias name: alias/ExampleAlias - /// - /// * Alias ARN: arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias - /// - /// - /// For more information, see [Key identifiers (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) in the Key Management Service Developer Guide. - public var kmsKey: Swift.String? - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - - public init( - deletionProtection: Swift.Bool? = nil, - kmsKey: Swift.String? = nil, - name: Swift.String? = nil - ) { - self.deletionProtection = deletionProtection - self.kmsKey = kmsKey - self.name = name - } -} - -public struct UpdateLedgerOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) for the ledger. - public var arn: Swift.String? - /// The date and time, in epoch time format, when the ledger was created. (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.) - public var creationDateTime: Foundation.Date? - /// Specifies whether the ledger is protected from being deleted by any user. If not defined during ledger creation, this feature is enabled (true) by default. If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false. - public var deletionProtection: Swift.Bool? - /// Information about the encryption of data at rest in the ledger. This includes the current status, the KMS key, and when the key became inaccessible (in the case of an error). - public var encryptionDescription: QLDBClientTypes.LedgerEncryptionDescription? - /// The name of the ledger. - public var name: Swift.String? - /// The current status of the ledger. - public var state: QLDBClientTypes.LedgerState? - - public init( - arn: Swift.String? = nil, - creationDateTime: Foundation.Date? = nil, - deletionProtection: Swift.Bool? = nil, - encryptionDescription: QLDBClientTypes.LedgerEncryptionDescription? = nil, - name: Swift.String? = nil, - state: QLDBClientTypes.LedgerState? = nil - ) { - self.arn = arn - self.creationDateTime = creationDateTime - self.deletionProtection = deletionProtection - self.encryptionDescription = encryptionDescription - self.name = name - self.state = state - } -} - -public struct UpdateLedgerPermissionsModeInput: Swift.Sendable { - /// The name of the ledger. - /// This member is required. - public var name: Swift.String? - /// The permissions mode to assign to the ledger. This parameter can have one of the following values: - /// - /// * ALLOW_ALL: A legacy permissions mode that enables access control with API-level granularity for ledgers. This mode allows users who have the SendCommand API permission for this ledger to run all PartiQL commands (hence, ALLOW_ALL) on any tables in the specified ledger. This mode disregards any table-level or command-level IAM permissions policies that you create for the ledger. - /// - /// * STANDARD: (Recommended) A permissions mode that enables access control with finer granularity for ledgers, tables, and PartiQL commands. By default, this mode denies all user requests to run any PartiQL commands on any tables in this ledger. To allow PartiQL commands to run, you must create IAM permissions policies for specific table resources and PartiQL actions, in addition to the SendCommand API permission for the ledger. For information, see [Getting started with the standard permissions mode](https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-standard-mode.html) in the Amazon QLDB Developer Guide. - /// - /// - /// We strongly recommend using the STANDARD permissions mode to maximize the security of your ledger data. - /// This member is required. - public var permissionsMode: QLDBClientTypes.PermissionsMode? - - public init( - name: Swift.String? = nil, - permissionsMode: QLDBClientTypes.PermissionsMode? = nil - ) { - self.name = name - self.permissionsMode = permissionsMode - } -} - -public struct UpdateLedgerPermissionsModeOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) for the ledger. - public var arn: Swift.String? - /// The name of the ledger. - public var name: Swift.String? - /// The current permissions mode of the ledger. - public var permissionsMode: QLDBClientTypes.PermissionsMode? - - public init( - arn: Swift.String? = nil, - name: Swift.String? = nil, - permissionsMode: QLDBClientTypes.PermissionsMode? = nil - ) { - self.arn = arn - self.name = name - self.permissionsMode = permissionsMode - } -} - -extension CancelJournalKinesisStreamInput { - - static func urlPathProvider(_ value: CancelJournalKinesisStreamInput) -> Swift.String? { - guard let ledgerName = value.ledgerName else { - return nil - } - guard let streamId = value.streamId else { - return nil - } - return "/ledgers/\(ledgerName.urlPercentEncoding())/journal-kinesis-streams/\(streamId.urlPercentEncoding())" - } -} - -extension CreateLedgerInput { - - static func urlPathProvider(_ value: CreateLedgerInput) -> Swift.String? { - return "/ledgers" - } -} - -extension DeleteLedgerInput { - - static func urlPathProvider(_ value: DeleteLedgerInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())" - } -} - -extension DescribeJournalKinesisStreamInput { - - static func urlPathProvider(_ value: DescribeJournalKinesisStreamInput) -> Swift.String? { - guard let ledgerName = value.ledgerName else { - return nil - } - guard let streamId = value.streamId else { - return nil - } - return "/ledgers/\(ledgerName.urlPercentEncoding())/journal-kinesis-streams/\(streamId.urlPercentEncoding())" - } -} - -extension DescribeJournalS3ExportInput { - - static func urlPathProvider(_ value: DescribeJournalS3ExportInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - guard let exportId = value.exportId else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/journal-s3-exports/\(exportId.urlPercentEncoding())" - } -} - -extension DescribeLedgerInput { - - static func urlPathProvider(_ value: DescribeLedgerInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())" - } -} - -extension ExportJournalToS3Input { - - static func urlPathProvider(_ value: ExportJournalToS3Input) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/journal-s3-exports" - } -} - -extension GetBlockInput { - - static func urlPathProvider(_ value: GetBlockInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/block" - } -} - -extension GetDigestInput { - - static func urlPathProvider(_ value: GetDigestInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/digest" - } -} - -extension GetRevisionInput { - - static func urlPathProvider(_ value: GetRevisionInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/revision" - } -} - -extension ListJournalKinesisStreamsForLedgerInput { - - static func urlPathProvider(_ value: ListJournalKinesisStreamsForLedgerInput) -> Swift.String? { - guard let ledgerName = value.ledgerName else { - return nil - } - return "/ledgers/\(ledgerName.urlPercentEncoding())/journal-kinesis-streams" - } -} - -extension ListJournalKinesisStreamsForLedgerInput { - - static func queryItemProvider(_ value: ListJournalKinesisStreamsForLedgerInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "next_token".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "max_results".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListJournalS3ExportsInput { - - static func urlPathProvider(_ value: ListJournalS3ExportsInput) -> Swift.String? { - return "/journal-s3-exports" - } -} - -extension ListJournalS3ExportsInput { - - static func queryItemProvider(_ value: ListJournalS3ExportsInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "next_token".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "max_results".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListJournalS3ExportsForLedgerInput { - - static func urlPathProvider(_ value: ListJournalS3ExportsForLedgerInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/journal-s3-exports" - } -} - -extension ListJournalS3ExportsForLedgerInput { - - static func queryItemProvider(_ value: ListJournalS3ExportsForLedgerInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "next_token".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "max_results".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListLedgersInput { - - static func urlPathProvider(_ value: ListLedgersInput) -> Swift.String? { - return "/ledgers" - } -} - -extension ListLedgersInput { - - static func queryItemProvider(_ value: ListLedgersInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - if let nextToken = value.nextToken { - let nextTokenQueryItem = Smithy.URIQueryItem(name: "next_token".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) - items.append(nextTokenQueryItem) - } - if let maxResults = value.maxResults { - let maxResultsQueryItem = Smithy.URIQueryItem(name: "max_results".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) - items.append(maxResultsQueryItem) - } - return items - } -} - -extension ListTagsForResourceInput { - - static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension StreamJournalToKinesisInput { - - static func urlPathProvider(_ value: StreamJournalToKinesisInput) -> Swift.String? { - guard let ledgerName = value.ledgerName else { - return nil - } - return "/ledgers/\(ledgerName.urlPercentEncoding())/journal-kinesis-streams" - } -} - -extension TagResourceInput { - - static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - guard let tagKeys = value.tagKeys else { - let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." - throw Smithy.ClientError.unknownError(message) - } - tagKeys.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - return items - } -} - -extension UpdateLedgerInput { - - static func urlPathProvider(_ value: UpdateLedgerInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())" - } -} - -extension UpdateLedgerPermissionsModeInput { - - static func urlPathProvider(_ value: UpdateLedgerPermissionsModeInput) -> Swift.String? { - guard let name = value.name else { - return nil - } - return "/ledgers/\(name.urlPercentEncoding())/permissions-mode" - } -} - -extension CreateLedgerInput { - - static func write(value: CreateLedgerInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DeletionProtection"].write(value.deletionProtection) - try writer["KmsKey"].write(value.kmsKey) - try writer["Name"].write(value.name) - try writer["PermissionsMode"].write(value.permissionsMode) - try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.sparseFormOf(writingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:)), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension ExportJournalToS3Input { - - static func write(value: ExportJournalToS3Input?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["ExclusiveEndTime"].writeTimestamp(value.exclusiveEndTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) - try writer["InclusiveStartTime"].writeTimestamp(value.inclusiveStartTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) - try writer["OutputFormat"].write(value.outputFormat) - try writer["RoleArn"].write(value.roleArn) - try writer["S3ExportConfiguration"].write(value.s3ExportConfiguration, with: QLDBClientTypes.S3ExportConfiguration.write(value:to:)) - } -} - -extension GetBlockInput { - - static func write(value: GetBlockInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["BlockAddress"].write(value.blockAddress, with: QLDBClientTypes.ValueHolder.write(value:to:)) - try writer["DigestTipAddress"].write(value.digestTipAddress, with: QLDBClientTypes.ValueHolder.write(value:to:)) - } -} - -extension GetRevisionInput { - - static func write(value: GetRevisionInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["BlockAddress"].write(value.blockAddress, with: QLDBClientTypes.ValueHolder.write(value:to:)) - try writer["DigestTipAddress"].write(value.digestTipAddress, with: QLDBClientTypes.ValueHolder.write(value:to:)) - try writer["DocumentId"].write(value.documentId) - } -} - -extension StreamJournalToKinesisInput { - - static func write(value: StreamJournalToKinesisInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["ExclusiveEndTime"].writeTimestamp(value.exclusiveEndTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) - try writer["InclusiveStartTime"].writeTimestamp(value.inclusiveStartTime, format: SmithyTimestamps.TimestampFormat.epochSeconds) - try writer["KinesisConfiguration"].write(value.kinesisConfiguration, with: QLDBClientTypes.KinesisConfiguration.write(value:to:)) - try writer["RoleArn"].write(value.roleArn) - try writer["StreamName"].write(value.streamName) - try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.sparseFormOf(writingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:)), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension TagResourceInput { - - static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.sparseFormOf(writingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:)), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension UpdateLedgerInput { - - static func write(value: UpdateLedgerInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["DeletionProtection"].write(value.deletionProtection) - try writer["KmsKey"].write(value.kmsKey) - } -} - -extension UpdateLedgerPermissionsModeInput { - - static func write(value: UpdateLedgerPermissionsModeInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["PermissionsMode"].write(value.permissionsMode) - } -} - -extension CancelJournalKinesisStreamOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelJournalKinesisStreamOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CancelJournalKinesisStreamOutput() - value.streamId = try reader["StreamId"].readIfPresent() - return value - } -} - -extension CreateLedgerOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateLedgerOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateLedgerOutput() - value.arn = try reader["Arn"].readIfPresent() - value.creationDateTime = try reader["CreationDateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deletionProtection = try reader["DeletionProtection"].readIfPresent() - value.kmsKeyArn = try reader["KmsKeyArn"].readIfPresent() - value.name = try reader["Name"].readIfPresent() - value.permissionsMode = try reader["PermissionsMode"].readIfPresent() - value.state = try reader["State"].readIfPresent() - return value - } -} - -extension DeleteLedgerOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteLedgerOutput { - return DeleteLedgerOutput() - } -} - -extension DescribeJournalKinesisStreamOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeJournalKinesisStreamOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeJournalKinesisStreamOutput() - value.stream = try reader["Stream"].readIfPresent(with: QLDBClientTypes.JournalKinesisStreamDescription.read(from:)) - return value - } -} - -extension DescribeJournalS3ExportOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeJournalS3ExportOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeJournalS3ExportOutput() - value.exportDescription = try reader["ExportDescription"].readIfPresent(with: QLDBClientTypes.JournalS3ExportDescription.read(from:)) - return value - } -} - -extension DescribeLedgerOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeLedgerOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeLedgerOutput() - value.arn = try reader["Arn"].readIfPresent() - value.creationDateTime = try reader["CreationDateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deletionProtection = try reader["DeletionProtection"].readIfPresent() - value.encryptionDescription = try reader["EncryptionDescription"].readIfPresent(with: QLDBClientTypes.LedgerEncryptionDescription.read(from:)) - value.name = try reader["Name"].readIfPresent() - value.permissionsMode = try reader["PermissionsMode"].readIfPresent() - value.state = try reader["State"].readIfPresent() - return value - } -} - -extension ExportJournalToS3Output { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ExportJournalToS3Output { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ExportJournalToS3Output() - value.exportId = try reader["ExportId"].readIfPresent() ?? "" - return value - } -} - -extension GetBlockOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetBlockOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetBlockOutput() - value.block = try reader["Block"].readIfPresent(with: QLDBClientTypes.ValueHolder.read(from:)) - value.proof = try reader["Proof"].readIfPresent(with: QLDBClientTypes.ValueHolder.read(from:)) - return value - } -} - -extension GetDigestOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetDigestOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetDigestOutput() - value.digest = try reader["Digest"].readIfPresent() ?? Foundation.Data(base64Encoded: "") - value.digestTipAddress = try reader["DigestTipAddress"].readIfPresent(with: QLDBClientTypes.ValueHolder.read(from:)) - return value - } -} - -extension GetRevisionOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetRevisionOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetRevisionOutput() - value.proof = try reader["Proof"].readIfPresent(with: QLDBClientTypes.ValueHolder.read(from:)) - value.revision = try reader["Revision"].readIfPresent(with: QLDBClientTypes.ValueHolder.read(from:)) - return value - } -} - -extension ListJournalKinesisStreamsForLedgerOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListJournalKinesisStreamsForLedgerOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListJournalKinesisStreamsForLedgerOutput() - value.nextToken = try reader["NextToken"].readIfPresent() - value.streams = try reader["Streams"].readListIfPresent(memberReadingClosure: QLDBClientTypes.JournalKinesisStreamDescription.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListJournalS3ExportsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListJournalS3ExportsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListJournalS3ExportsOutput() - value.journalS3Exports = try reader["JournalS3Exports"].readListIfPresent(memberReadingClosure: QLDBClientTypes.JournalS3ExportDescription.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListJournalS3ExportsForLedgerOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListJournalS3ExportsForLedgerOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListJournalS3ExportsForLedgerOutput() - value.journalS3Exports = try reader["JournalS3Exports"].readListIfPresent(memberReadingClosure: QLDBClientTypes.JournalS3ExportDescription.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListLedgersOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListLedgersOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListLedgersOutput() - value.ledgers = try reader["Ledgers"].readListIfPresent(memberReadingClosure: QLDBClientTypes.LedgerSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["NextToken"].readIfPresent() - return value - } -} - -extension ListTagsForResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTagsForResourceOutput() - value.tags = try reader["Tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.optionalFormOf(readingClosure: SmithyReadWrite.ReadingClosures.readString(from:)), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension StreamJournalToKinesisOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StreamJournalToKinesisOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = StreamJournalToKinesisOutput() - value.streamId = try reader["StreamId"].readIfPresent() - return value - } -} - -extension TagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { - return TagResourceOutput() - } -} - -extension UntagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { - return UntagResourceOutput() - } -} - -extension UpdateLedgerOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateLedgerOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateLedgerOutput() - value.arn = try reader["Arn"].readIfPresent() - value.creationDateTime = try reader["CreationDateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deletionProtection = try reader["DeletionProtection"].readIfPresent() - value.encryptionDescription = try reader["EncryptionDescription"].readIfPresent(with: QLDBClientTypes.LedgerEncryptionDescription.read(from:)) - value.name = try reader["Name"].readIfPresent() - value.state = try reader["State"].readIfPresent() - return value - } -} - -extension UpdateLedgerPermissionsModeOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateLedgerPermissionsModeOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateLedgerPermissionsModeOutput() - value.arn = try reader["Arn"].readIfPresent() - value.name = try reader["Name"].readIfPresent() - value.permissionsMode = try reader["PermissionsMode"].readIfPresent() - return value - } -} - -enum CancelJournalKinesisStreamOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateLedgerOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceAlreadyExistsException": return try ResourceAlreadyExistsException.makeError(baseError: baseError) - case "ResourceInUseException": return try ResourceInUseException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteLedgerOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceInUseException": return try ResourceInUseException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeJournalKinesisStreamOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeJournalS3ExportOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeLedgerOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ExportJournalToS3OutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetBlockOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetDigestOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetRevisionOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListJournalKinesisStreamsForLedgerOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListJournalS3ExportsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListJournalS3ExportsForLedgerOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListLedgersOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTagsForResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum StreamJournalToKinesisOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ResourcePreconditionNotMetException": return try ResourcePreconditionNotMetException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum TagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UntagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateLedgerOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateLedgerPermissionsModeOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension InvalidParameterException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InvalidParameterException { - let reader = baseError.errorBodyReader - var value = InvalidParameterException() - value.properties.message = try reader["Message"].readIfPresent() - value.properties.parameterName = try reader["ParameterName"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceNotFoundException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { - let reader = baseError.errorBodyReader - var value = ResourceNotFoundException() - value.properties.message = try reader["Message"].readIfPresent() - value.properties.resourceName = try reader["ResourceName"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourcePreconditionNotMetException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourcePreconditionNotMetException { - let reader = baseError.errorBodyReader - var value = ResourcePreconditionNotMetException() - value.properties.message = try reader["Message"].readIfPresent() - value.properties.resourceName = try reader["ResourceName"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension LimitExceededException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> LimitExceededException { - let reader = baseError.errorBodyReader - var value = LimitExceededException() - value.properties.message = try reader["Message"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceAlreadyExistsException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceAlreadyExistsException { - let reader = baseError.errorBodyReader - var value = ResourceAlreadyExistsException() - value.properties.message = try reader["Message"].readIfPresent() - value.properties.resourceName = try reader["ResourceName"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceInUseException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceInUseException { - let reader = baseError.errorBodyReader - var value = ResourceInUseException() - value.properties.message = try reader["Message"].readIfPresent() - value.properties.resourceName = try reader["ResourceName"].readIfPresent() - value.properties.resourceType = try reader["ResourceType"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension QLDBClientTypes.JournalKinesisStreamDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.JournalKinesisStreamDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.JournalKinesisStreamDescription() - value.ledgerName = try reader["LedgerName"].readIfPresent() ?? "" - value.creationTime = try reader["CreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.inclusiveStartTime = try reader["InclusiveStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.exclusiveEndTime = try reader["ExclusiveEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.roleArn = try reader["RoleArn"].readIfPresent() ?? "" - value.streamId = try reader["StreamId"].readIfPresent() ?? "" - value.arn = try reader["Arn"].readIfPresent() - value.status = try reader["Status"].readIfPresent() ?? .sdkUnknown("") - value.kinesisConfiguration = try reader["KinesisConfiguration"].readIfPresent(with: QLDBClientTypes.KinesisConfiguration.read(from:)) - value.errorCause = try reader["ErrorCause"].readIfPresent() - value.streamName = try reader["StreamName"].readIfPresent() ?? "" - return value - } -} - -extension QLDBClientTypes.KinesisConfiguration { - - static func write(value: QLDBClientTypes.KinesisConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AggregationEnabled"].write(value.aggregationEnabled) - try writer["StreamArn"].write(value.streamArn) - } - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.KinesisConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.KinesisConfiguration() - value.streamArn = try reader["StreamArn"].readIfPresent() ?? "" - value.aggregationEnabled = try reader["AggregationEnabled"].readIfPresent() - return value - } -} - -extension QLDBClientTypes.JournalS3ExportDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.JournalS3ExportDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.JournalS3ExportDescription() - value.ledgerName = try reader["LedgerName"].readIfPresent() ?? "" - value.exportId = try reader["ExportId"].readIfPresent() ?? "" - value.exportCreationTime = try reader["ExportCreationTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.status = try reader["Status"].readIfPresent() ?? .sdkUnknown("") - value.inclusiveStartTime = try reader["InclusiveStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.exclusiveEndTime = try reader["ExclusiveEndTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") - value.s3ExportConfiguration = try reader["S3ExportConfiguration"].readIfPresent(with: QLDBClientTypes.S3ExportConfiguration.read(from:)) - value.roleArn = try reader["RoleArn"].readIfPresent() ?? "" - value.outputFormat = try reader["OutputFormat"].readIfPresent() - return value - } -} - -extension QLDBClientTypes.S3ExportConfiguration { - - static func write(value: QLDBClientTypes.S3ExportConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Bucket"].write(value.bucket) - try writer["EncryptionConfiguration"].write(value.encryptionConfiguration, with: QLDBClientTypes.S3EncryptionConfiguration.write(value:to:)) - try writer["Prefix"].write(value.`prefix`) - } - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.S3ExportConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.S3ExportConfiguration() - value.bucket = try reader["Bucket"].readIfPresent() ?? "" - value.`prefix` = try reader["Prefix"].readIfPresent() ?? "" - value.encryptionConfiguration = try reader["EncryptionConfiguration"].readIfPresent(with: QLDBClientTypes.S3EncryptionConfiguration.read(from:)) - return value - } -} - -extension QLDBClientTypes.S3EncryptionConfiguration { - - static func write(value: QLDBClientTypes.S3EncryptionConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["KmsKeyArn"].write(value.kmsKeyArn) - try writer["ObjectEncryptionType"].write(value.objectEncryptionType) - } - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.S3EncryptionConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.S3EncryptionConfiguration() - value.objectEncryptionType = try reader["ObjectEncryptionType"].readIfPresent() ?? .sdkUnknown("") - value.kmsKeyArn = try reader["KmsKeyArn"].readIfPresent() - return value - } -} - -extension QLDBClientTypes.LedgerEncryptionDescription { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.LedgerEncryptionDescription { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.LedgerEncryptionDescription() - value.kmsKeyArn = try reader["KmsKeyArn"].readIfPresent() ?? "" - value.encryptionStatus = try reader["EncryptionStatus"].readIfPresent() ?? .sdkUnknown("") - value.inaccessibleKmsKeyDateTime = try reader["InaccessibleKmsKeyDateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension QLDBClientTypes.ValueHolder { - - static func write(value: QLDBClientTypes.ValueHolder?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["IonText"].write(value.ionText) - } - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.ValueHolder { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.ValueHolder() - value.ionText = try reader["IonText"].readIfPresent() - return value - } -} - -extension QLDBClientTypes.LedgerSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBClientTypes.LedgerSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBClientTypes.LedgerSummary() - value.name = try reader["Name"].readIfPresent() - value.state = try reader["State"].readIfPresent() - value.creationDateTime = try reader["CreationDateTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -public enum QLDBClientTypes {} diff --git a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Paginators.swift b/Sources/Services/AWSQLDB/Sources/AWSQLDB/Paginators.swift deleted file mode 100644 index 675591cd08c..00000000000 --- a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Paginators.swift +++ /dev/null @@ -1,98 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import protocol ClientRuntime.PaginateToken -import struct ClientRuntime.PaginatorSequence - -extension QLDBClient { - /// Paginate over `[ListJournalKinesisStreamsForLedgerOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListJournalKinesisStreamsForLedgerInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListJournalKinesisStreamsForLedgerOutput` - public func listJournalKinesisStreamsForLedgerPaginated(input: ListJournalKinesisStreamsForLedgerInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listJournalKinesisStreamsForLedger(input:)) - } -} - -extension ListJournalKinesisStreamsForLedgerInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListJournalKinesisStreamsForLedgerInput { - return ListJournalKinesisStreamsForLedgerInput( - ledgerName: self.ledgerName, - maxResults: self.maxResults, - nextToken: token - )} -} -extension QLDBClient { - /// Paginate over `[ListJournalS3ExportsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListJournalS3ExportsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListJournalS3ExportsOutput` - public func listJournalS3ExportsPaginated(input: ListJournalS3ExportsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listJournalS3Exports(input:)) - } -} - -extension ListJournalS3ExportsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListJournalS3ExportsInput { - return ListJournalS3ExportsInput( - maxResults: self.maxResults, - nextToken: token - )} -} -extension QLDBClient { - /// Paginate over `[ListJournalS3ExportsForLedgerOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListJournalS3ExportsForLedgerInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListJournalS3ExportsForLedgerOutput` - public func listJournalS3ExportsForLedgerPaginated(input: ListJournalS3ExportsForLedgerInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listJournalS3ExportsForLedger(input:)) - } -} - -extension ListJournalS3ExportsForLedgerInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListJournalS3ExportsForLedgerInput { - return ListJournalS3ExportsForLedgerInput( - maxResults: self.maxResults, - name: self.name, - nextToken: token - )} -} -extension QLDBClient { - /// Paginate over `[ListLedgersOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListLedgersInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListLedgersOutput` - public func listLedgersPaginated(input: ListLedgersInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listLedgers(input:)) - } -} - -extension ListLedgersInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListLedgersInput { - return ListLedgersInput( - maxResults: self.maxResults, - nextToken: token - )} -} diff --git a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Plugins.swift b/Sources/Services/AWSQLDB/Sources/AWSQLDB/Plugins.swift deleted file mode 100644 index 58394000891..00000000000 --- a/Sources/Services/AWSQLDB/Sources/AWSQLDB/Plugins.swift +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import protocol ClientRuntime.ClientConfiguration -import protocol ClientRuntime.Plugin -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -import struct AWSSDKHTTPAuth.SigV4AuthScheme -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class QLDBClientEndpointPlugin: Plugin { - private var endpointResolver: EndpointResolver - - public init(endpointResolver: EndpointResolver) { - self.endpointResolver = endpointResolver - } - - public convenience init() throws { - self.init(endpointResolver: try DefaultEndpointResolver()) - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? QLDBClient.QLDBClientConfiguration { - config.endpointResolver = self.endpointResolver - } - } -} - -public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { - - public init() {} - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? QLDBClient.QLDBClientConfiguration { - config.authSchemeResolver = DefaultQLDBAuthSchemeResolver() - config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] - config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() - config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() - } - } -} - -public class QLDBClientAuthSchemePlugin: ClientRuntime.Plugin { - private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - private var authSchemePreference: [String] - private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? - private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? - private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: QLDBAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { - self.authSchemeResolver = authSchemeResolver - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference ?? [] - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? QLDBClient.QLDBClientConfiguration { - if (self.authSchemes != nil) { - config.authSchemes = self.authSchemes - } - config.authSchemePreference = self.authSchemePreference - if (self.authSchemeResolver != nil) { - config.authSchemeResolver = self.authSchemeResolver! - } - if (self.awsCredentialIdentityResolver != nil) { - config.awsCredentialIdentityResolver = self.awsCredentialIdentityResolver! - } - if (self.bearerTokenIdentityResolver != nil) { - config.bearerTokenIdentityResolver = self.bearerTokenIdentityResolver! - } - } - } -} diff --git a/Sources/Services/AWSQLDB/Sources/AWSQLDB/QLDBClient.swift b/Sources/Services/AWSQLDB/Sources/AWSQLDB/QLDBClient.swift deleted file mode 100644 index 9badac89f30..00000000000 --- a/Sources/Services/AWSQLDB/Sources/AWSQLDB/QLDBClient.swift +++ /dev/null @@ -1,1713 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import Foundation -import class AWSClientRuntime.AWSClientConfigDefaultsProvider -import class AWSClientRuntime.AmzSdkRequestMiddleware -import class AWSClientRuntime.DefaultAWSClientPlugin -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import class ClientRuntime.ClientBuilder -import class ClientRuntime.DefaultClientPlugin -import class ClientRuntime.HttpClientConfiguration -import class ClientRuntime.OrchestratorBuilder -import class ClientRuntime.OrchestratorTelemetry -import class ClientRuntime.SdkHttpClient -import class Smithy.Context -import class Smithy.ContextBuilder -import class SmithyHTTPAPI.HTTPRequest -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum AWSClientRuntime.AWSClockSkewProvider -import enum AWSClientRuntime.AWSRetryErrorInfoProvider -import enum AWSClientRuntime.AWSRetryMode -import enum AWSSDKChecksums.AWSChecksumCalculationMode -import enum ClientRuntime.ClientLogMode -import enum ClientRuntime.DefaultTelemetry -import enum ClientRuntime.OrchestratorMetricsAttributesKeys -import protocol AWSClientRuntime.AWSDefaultClientConfiguration -import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client -import protocol ClientRuntime.DefaultClientConfiguration -import protocol ClientRuntime.DefaultHttpClientConfiguration -import protocol ClientRuntime.HttpInterceptorProvider -import protocol ClientRuntime.IdempotencyTokenGenerator -import protocol ClientRuntime.InterceptorProvider -import protocol ClientRuntime.TelemetryProvider -import protocol Smithy.LogAgent -import protocol SmithyHTTPAPI.HTTPClient -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(AWSEndpointResolverMiddleware) import struct AWSClientRuntime.AWSEndpointResolverMiddleware -import struct AWSClientRuntime.AmzSdkInvocationIdMiddleware -import struct AWSClientRuntime.UserAgentMiddleware -import struct AWSSDKHTTPAuth.SigV4AuthScheme -import struct ClientRuntime.AuthSchemeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.BodyMiddleware -import struct ClientRuntime.ContentLengthMiddleware -import struct ClientRuntime.ContentTypeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware -import struct ClientRuntime.LoggerMiddleware -import struct ClientRuntime.QueryItemMiddleware -import struct ClientRuntime.SignerMiddleware -import struct ClientRuntime.URLHostMiddleware -import struct ClientRuntime.URLPathMiddleware -import struct Smithy.Attributes -import struct SmithyIdentity.BearerTokenIdentity -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import struct SmithyRetries.DefaultRetryStrategy -import struct SmithyRetriesAPI.RetryStrategyOptions -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class QLDBClient: ClientRuntime.Client { - public static let clientName = "QLDBClient" - public static let version = "1.5.61" - let client: ClientRuntime.SdkHttpClient - let config: QLDBClient.QLDBClientConfiguration - let serviceName = "QLDB" - - public required init(config: QLDBClient.QLDBClientConfiguration) { - client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) - self.config = config - } - - public convenience init(region: Swift.String) throws { - let config = try QLDBClient.QLDBClientConfiguration(region: region) - self.init(config: config) - } - - public convenience required init() async throws { - let config = try await QLDBClient.QLDBClientConfiguration() - self.init(config: config) - } -} - -extension QLDBClient { - - public class QLDBClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { - public var useFIPS: Swift.Bool? - public var useDualStack: Swift.Bool? - public var appID: Swift.String? - public var awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver - public var awsRetryMode: AWSClientRuntime.AWSRetryMode - public var maxAttempts: Swift.Int? - public var requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode - public var responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode - public var ignoreConfiguredEndpointURLs: Swift.Bool? - public var region: Swift.String? - public var signingRegion: Swift.String? - public var endpointResolver: EndpointResolver - public var telemetryProvider: ClientRuntime.TelemetryProvider - public var retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions - public var clientLogMode: ClientRuntime.ClientLogMode - public var endpoint: Swift.String? - public var idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator - public var httpClientEngine: SmithyHTTPAPI.HTTPClient - public var httpClientConfiguration: ClientRuntime.HttpClientConfiguration - public var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - public var authSchemePreference: [String]? - public var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver - public var bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver - public private(set) var interceptorProviders: [ClientRuntime.InterceptorProvider] - public private(set) var httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - public let logger: Smithy.LogAgent - - private init( - _ useFIPS: Swift.Bool?, - _ useDualStack: Swift.Bool?, - _ appID: Swift.String?, - _ awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver, - _ awsRetryMode: AWSClientRuntime.AWSRetryMode, - _ maxAttempts: Swift.Int?, - _ requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ ignoreConfiguredEndpointURLs: Swift.Bool?, - _ region: Swift.String?, - _ signingRegion: Swift.String?, - _ endpointResolver: EndpointResolver, - _ telemetryProvider: ClientRuntime.TelemetryProvider, - _ retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions, - _ clientLogMode: ClientRuntime.ClientLogMode, - _ endpoint: Swift.String?, - _ idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator, - _ httpClientEngine: SmithyHTTPAPI.HTTPClient, - _ httpClientConfiguration: ClientRuntime.HttpClientConfiguration, - _ authSchemes: SmithyHTTPAuthAPI.AuthSchemes?, - _ authSchemePreference: [String]?, - _ authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver, - _ bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver, - _ interceptorProviders: [ClientRuntime.InterceptorProvider], - _ httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - ) { - self.useFIPS = useFIPS - self.useDualStack = useDualStack - self.appID = appID - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.awsRetryMode = awsRetryMode - self.maxAttempts = maxAttempts - self.requestChecksumCalculation = requestChecksumCalculation - self.responseChecksumValidation = responseChecksumValidation - self.ignoreConfiguredEndpointURLs = ignoreConfiguredEndpointURLs - self.region = region - self.signingRegion = signingRegion - self.endpointResolver = endpointResolver - self.telemetryProvider = telemetryProvider - self.retryStrategyOptions = retryStrategyOptions - self.clientLogMode = clientLogMode - self.endpoint = endpoint - self.idempotencyTokenGenerator = idempotencyTokenGenerator - self.httpClientEngine = httpClientEngine - self.httpClientConfiguration = httpClientConfiguration - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference - self.authSchemeResolver = authSchemeResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - self.interceptorProviders = interceptorProviders - self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: QLDBClient.clientName) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - region, - signingRegion, - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultQLDBAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) async throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultQLDBAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience required init() async throws { - try await self.init( - useFIPS: nil, - useDualStack: nil, - appID: nil, - awsCredentialIdentityResolver: nil, - awsRetryMode: nil, - maxAttempts: nil, - requestChecksumCalculation: nil, - responseChecksumValidation: nil, - ignoreConfiguredEndpointURLs: nil, - region: nil, - signingRegion: nil, - endpointResolver: nil, - telemetryProvider: nil, - retryStrategyOptions: nil, - clientLogMode: nil, - endpoint: nil, - idempotencyTokenGenerator: nil, - httpClientEngine: nil, - httpClientConfiguration: nil, - authSchemes: nil, - authSchemePreference: nil, - authSchemeResolver: nil, - bearerTokenIdentityResolver: nil, - interceptorProviders: nil, - httpInterceptorProviders: nil - ) - } - - public convenience init(region: Swift.String) throws { - self.init( - nil, - nil, - try AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - nil, - try AWSClientConfigDefaultsProvider.requestChecksumCalculation(), - try AWSClientConfigDefaultsProvider.responseChecksumValidation(), - nil, - region, - region, - try DefaultEndpointResolver(), - ClientRuntime.DefaultTelemetry.provider, - try AWSClientConfigDefaultsProvider.retryStrategyOptions(), - AWSClientConfigDefaultsProvider.clientLogMode(), - nil, - AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - AWSClientConfigDefaultsProvider.httpClientEngine(), - AWSClientConfigDefaultsProvider.httpClientConfiguration(), - [AWSSDKHTTPAuth.SigV4AuthScheme()], - nil, - DefaultQLDBAuthSchemeResolver(), - SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - [], - [] - ) - } - - public var partitionID: String? { - return "\(QLDBClient.clientName) - \(region ?? "")" - } - - public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { - self.interceptorProviders.append(provider) - } - - public func addInterceptorProvider(_ provider: ClientRuntime.HttpInterceptorProvider) { - self.httpInterceptorProviders.append(provider) - } - - } - - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ - ClientRuntime.DefaultClientPlugin(), - AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), - DefaultAWSAuthSchemePlugin() - ]) - } -} - -extension QLDBClient { - /// Performs the `CancelJournalKinesisStream` operation on the `QLDB` service. - /// - /// Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its current status must be ACTIVE. You can't restart a stream after you cancel it. Canceled QLDB stream resources are subject to a 7-day retention period, so they are automatically deleted after this limit expires. - /// - /// - Parameter input: [no documentation found] (Type: `CancelJournalKinesisStreamInput`) - /// - /// - Returns: [no documentation found] (Type: `CancelJournalKinesisStreamOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func cancelJournalKinesisStream(input: CancelJournalKinesisStreamInput) async throws -> CancelJournalKinesisStreamOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "cancelJournalKinesisStream") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CancelJournalKinesisStreamInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CancelJournalKinesisStreamOutput.httpOutput(from:), CancelJournalKinesisStreamOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CancelJournalKinesisStream") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateLedger` operation on the `QLDB` service. - /// - /// Creates a new ledger in your Amazon Web Services account in the current Region. - /// - /// - Parameter input: [no documentation found] (Type: `CreateLedgerInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateLedgerOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `LimitExceededException` : You have reached the limit on the maximum number of resources allowed. - /// - `ResourceAlreadyExistsException` : The specified resource already exists. - /// - `ResourceInUseException` : The specified resource can't be modified at this time. - public func createLedger(input: CreateLedgerInput) async throws -> CreateLedgerOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createLedger") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateLedgerInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateLedgerInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateLedgerOutput.httpOutput(from:), CreateLedgerOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateLedger") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteLedger` operation on the `QLDB` service. - /// - /// Deletes a ledger and all of its contents. This action is irreversible. If deletion protection is enabled, you must first disable it before you can delete the ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteLedgerInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteLedgerOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceInUseException` : The specified resource can't be modified at this time. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func deleteLedger(input: DeleteLedgerInput) async throws -> DeleteLedgerOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "deleteLedger") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteLedgerInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteLedgerOutput.httpOutput(from:), DeleteLedgerOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteLedger") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeJournalKinesisStream` operation on the `QLDB` service. - /// - /// Returns detailed information about a given Amazon QLDB journal stream. The output includes the Amazon Resource Name (ARN), stream name, current status, creation time, and the parameters of the original stream creation request. This action does not return any expired journal streams. For more information, see [Expiration for terminal streams](https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration) in the Amazon QLDB Developer Guide. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeJournalKinesisStreamInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeJournalKinesisStreamOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func describeJournalKinesisStream(input: DescribeJournalKinesisStreamInput) async throws -> DescribeJournalKinesisStreamOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeJournalKinesisStream") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeJournalKinesisStreamInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeJournalKinesisStreamOutput.httpOutput(from:), DescribeJournalKinesisStreamOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeJournalKinesisStream") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeJournalS3Export` operation on the `QLDB` service. - /// - /// Returns information about a journal export job, including the ledger name, export ID, creation time, current status, and the parameters of the original export creation request. This action does not return any expired export jobs. For more information, see [Export job expiration](https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) in the Amazon QLDB Developer Guide. If the export job with the given ExportId doesn't exist, then throws ResourceNotFoundException. If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeJournalS3ExportInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeJournalS3ExportOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func describeJournalS3Export(input: DescribeJournalS3ExportInput) async throws -> DescribeJournalS3ExportOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeJournalS3Export") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeJournalS3ExportInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeJournalS3ExportOutput.httpOutput(from:), DescribeJournalS3ExportOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeJournalS3Export") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeLedger` operation on the `QLDB` service. - /// - /// Returns information about a ledger, including its state, permissions mode, encryption at rest settings, and when it was created. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeLedgerInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeLedgerOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func describeLedger(input: DescribeLedgerInput) async throws -> DescribeLedgerOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "describeLedger") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeLedgerInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeLedgerOutput.httpOutput(from:), DescribeLedgerOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeLedger") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ExportJournalToS3` operation on the `QLDB` service. - /// - /// Exports journal contents within a date and time range from a ledger into a specified Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the data objects in either the text or binary representation of Amazon Ion format, or in JSON Lines text format. If the ledger with the given Name doesn't exist, then throws ResourceNotFoundException. If the ledger with the given Name is in CREATING status, then throws ResourcePreconditionNotMetException. You can initiate up to two concurrent journal export requests for each ledger. Beyond this limit, journal export requests throw LimitExceededException. - /// - /// - Parameter input: [no documentation found] (Type: `ExportJournalToS3Input`) - /// - /// - Returns: [no documentation found] (Type: `ExportJournalToS3Output`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func exportJournalToS3(input: ExportJournalToS3Input) async throws -> ExportJournalToS3Output { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "exportJournalToS3") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ExportJournalToS3Input.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ExportJournalToS3Input.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ExportJournalToS3Output.httpOutput(from:), ExportJournalToS3OutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ExportJournalToS3") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetBlock` operation on the `QLDB` service. - /// - /// Returns a block object at a specified address in a journal. Also returns a proof of the specified block for verification if DigestTipAddress is provided. For information about the data contents in a block, see [Journal contents](https://docs.aws.amazon.com/qldb/latest/developerguide/journal-contents.html) in the Amazon QLDB Developer Guide. If the specified ledger doesn't exist or is in DELETING status, then throws ResourceNotFoundException. If the specified ledger is in CREATING status, then throws ResourcePreconditionNotMetException. If no block exists with the specified address, then throws InvalidParameterException. - /// - /// - Parameter input: [no documentation found] (Type: `GetBlockInput`) - /// - /// - Returns: [no documentation found] (Type: `GetBlockOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func getBlock(input: GetBlockInput) async throws -> GetBlockOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getBlock") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetBlockInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetBlockInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetBlockOutput.httpOutput(from:), GetBlockOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetBlock") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetDigest` operation on the `QLDB` service. - /// - /// Returns the digest of a ledger at the latest committed block in the journal. The response includes a 256-bit hash value and a block address. - /// - /// - Parameter input: [no documentation found] (Type: `GetDigestInput`) - /// - /// - Returns: [no documentation found] (Type: `GetDigestOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func getDigest(input: GetDigestInput) async throws -> GetDigestOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getDigest") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetDigestInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetDigestOutput.httpOutput(from:), GetDigestOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetDigest") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetRevision` operation on the `QLDB` service. - /// - /// Returns a revision data object for a specified document ID and block address. Also returns a proof of the specified revision for verification if DigestTipAddress is provided. - /// - /// - Parameter input: [no documentation found] (Type: `GetRevisionInput`) - /// - /// - Returns: [no documentation found] (Type: `GetRevisionOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func getRevision(input: GetRevisionInput) async throws -> GetRevisionOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getRevision") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetRevisionInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetRevisionInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetRevisionOutput.httpOutput(from:), GetRevisionOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetRevision") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListJournalKinesisStreamsForLedger` operation on the `QLDB` service. - /// - /// Returns all Amazon QLDB journal streams for a given ledger. This action does not return any expired journal streams. For more information, see [Expiration for terminal streams](https://docs.aws.amazon.com/qldb/latest/developerguide/streams.create.html#streams.create.states.expiration) in the Amazon QLDB Developer Guide. This action returns a maximum of MaxResults items. It is paginated so that you can retrieve all the items by calling ListJournalKinesisStreamsForLedger multiple times. - /// - /// - Parameter input: [no documentation found] (Type: `ListJournalKinesisStreamsForLedgerInput`) - /// - /// - Returns: [no documentation found] (Type: `ListJournalKinesisStreamsForLedgerOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func listJournalKinesisStreamsForLedger(input: ListJournalKinesisStreamsForLedgerInput) async throws -> ListJournalKinesisStreamsForLedgerOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listJournalKinesisStreamsForLedger") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListJournalKinesisStreamsForLedgerInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListJournalKinesisStreamsForLedgerInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListJournalKinesisStreamsForLedgerOutput.httpOutput(from:), ListJournalKinesisStreamsForLedgerOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListJournalKinesisStreamsForLedger") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListJournalS3Exports` operation on the `QLDB` service. - /// - /// Returns all journal export jobs for all ledgers that are associated with the current Amazon Web Services account and Region. This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3Exports multiple times. This action does not return any expired export jobs. For more information, see [Export job expiration](https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) in the Amazon QLDB Developer Guide. - /// - /// - Parameter input: [no documentation found] (Type: `ListJournalS3ExportsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListJournalS3ExportsOutput`) - public func listJournalS3Exports(input: ListJournalS3ExportsInput) async throws -> ListJournalS3ExportsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listJournalS3Exports") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListJournalS3ExportsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListJournalS3ExportsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListJournalS3ExportsOutput.httpOutput(from:), ListJournalS3ExportsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListJournalS3Exports") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListJournalS3ExportsForLedger` operation on the `QLDB` service. - /// - /// Returns all journal export jobs for a specified ledger. This action returns a maximum of MaxResults items, and is paginated so that you can retrieve all the items by calling ListJournalS3ExportsForLedger multiple times. This action does not return any expired export jobs. For more information, see [Export job expiration](https://docs.aws.amazon.com/qldb/latest/developerguide/export-journal.request.html#export-journal.request.expiration) in the Amazon QLDB Developer Guide. - /// - /// - Parameter input: [no documentation found] (Type: `ListJournalS3ExportsForLedgerInput`) - /// - /// - Returns: [no documentation found] (Type: `ListJournalS3ExportsForLedgerOutput`) - public func listJournalS3ExportsForLedger(input: ListJournalS3ExportsForLedgerInput) async throws -> ListJournalS3ExportsForLedgerOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listJournalS3ExportsForLedger") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListJournalS3ExportsForLedgerInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListJournalS3ExportsForLedgerInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListJournalS3ExportsForLedgerOutput.httpOutput(from:), ListJournalS3ExportsForLedgerOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListJournalS3ExportsForLedger") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListLedgers` operation on the `QLDB` service. - /// - /// Returns all ledgers that are associated with the current Amazon Web Services account and Region. This action returns a maximum of MaxResults items and is paginated so that you can retrieve all the items by calling ListLedgers multiple times. - /// - /// - Parameter input: [no documentation found] (Type: `ListLedgersInput`) - /// - /// - Returns: [no documentation found] (Type: `ListLedgersOutput`) - public func listLedgers(input: ListLedgersInput) async throws -> ListLedgersOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listLedgers") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListLedgersInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListLedgersInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListLedgersOutput.httpOutput(from:), ListLedgersOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListLedgers") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListTagsForResource` operation on the `QLDB` service. - /// - /// Returns all tags for a specified Amazon QLDB resource. - /// - /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listTagsForResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `StreamJournalToKinesis` operation on the `QLDB` service. - /// - /// Creates a journal stream for a given Amazon QLDB ledger. The stream captures every document revision that is committed to the ledger's journal and delivers the data to a specified Amazon Kinesis Data Streams resource. - /// - /// - Parameter input: [no documentation found] (Type: `StreamJournalToKinesisInput`) - /// - /// - Returns: [no documentation found] (Type: `StreamJournalToKinesisOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - /// - `ResourcePreconditionNotMetException` : The operation failed because a condition wasn't satisfied in advance. - public func streamJournalToKinesis(input: StreamJournalToKinesisInput) async throws -> StreamJournalToKinesisOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "streamJournalToKinesis") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(StreamJournalToKinesisInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StreamJournalToKinesisInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(StreamJournalToKinesisOutput.httpOutput(from:), StreamJournalToKinesisOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StreamJournalToKinesis") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `TagResource` operation on the `QLDB` service. - /// - /// Adds one or more tags to a specified Amazon QLDB resource. A resource can have up to 50 tags. If you try to create more than 50 tags for a resource, your request fails and returns an error. - /// - /// - Parameter input: [no documentation found] (Type: `TagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `TagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "tagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(TagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: TagResourceInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(TagResourceOutput.httpOutput(from:), TagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "TagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UntagResource` operation on the `QLDB` service. - /// - /// Removes one or more tags from a specified Amazon QLDB resource. You can specify up to 50 tag keys to remove. - /// - /// - Parameter input: [no documentation found] (Type: `UntagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `UntagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "untagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UntagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(UntagResourceInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UntagResourceOutput.httpOutput(from:), UntagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UntagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateLedger` operation on the `QLDB` service. - /// - /// Updates properties on a ledger. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateLedgerInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateLedgerOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func updateLedger(input: UpdateLedgerInput) async throws -> UpdateLedgerOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .patch) - .withServiceName(value: serviceName) - .withOperation(value: "updateLedger") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateLedgerInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateLedgerInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateLedgerOutput.httpOutput(from:), UpdateLedgerOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateLedger") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateLedgerPermissionsMode` operation on the `QLDB` service. - /// - /// Updates the permissions mode of a ledger. Before you switch to the STANDARD permissions mode, you must first create all required IAM policies and table tags to avoid disruption to your users. To learn more, see [Migrating to the standard permissions mode](https://docs.aws.amazon.com/qldb/latest/developerguide/ledger-management.basics.html#ledger-mgmt.basics.update-permissions.migrating) in the Amazon QLDB Developer Guide. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateLedgerPermissionsModeInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateLedgerPermissionsModeOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InvalidParameterException` : One or more parameters in the request aren't valid. - /// - `ResourceNotFoundException` : The specified resource doesn't exist. - public func updateLedgerPermissionsMode(input: UpdateLedgerPermissionsModeInput) async throws -> UpdateLedgerPermissionsModeOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .patch) - .withServiceName(value: serviceName) - .withOperation(value: "updateLedgerPermissionsMode") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateLedgerPermissionsModeInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateLedgerPermissionsModeInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateLedgerPermissionsModeOutput.httpOutput(from:), UpdateLedgerPermissionsModeOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDB") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateLedgerPermissionsMode") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } -} diff --git a/Sources/Services/AWSQLDB/Tests/AWSQLDBTests/EndpointResolverTest.swift b/Sources/Services/AWSQLDB/Tests/AWSQLDBTests/EndpointResolverTest.swift deleted file mode 100644 index 5e96b378038..00000000000 --- a/Sources/Services/AWSQLDB/Tests/AWSQLDBTests/EndpointResolverTest.swift +++ /dev/null @@ -1,701 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@testable import AWSQLDB -import XCTest -import enum ClientRuntime.EndpointError -import enum SmithyHTTPAPI.EndpointPropertyValue -import enum SmithyTestUtil.TestInitializer -import struct SmithyHTTPAPI.Endpoint -import struct SmithyHTTPAPI.Headers - -class EndpointResolverTest: XCTestCase { - - override class func setUp() { - SmithyTestUtil.TestInitializer.initialize() - } - - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled - func testResolve1() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-northeast-2 with FIPS disabled and DualStack disabled - func testResolve2() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.ap-northeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-1 with FIPS disabled and DualStack disabled - func testResolve3() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.ap-southeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-2 with FIPS disabled and DualStack disabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.ap-southeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ca-central-1 with FIPS disabled and DualStack disabled - func testResolve5() throws { - let endpointParams = EndpointParams( - region: "ca-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.ca-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ca-central-1 with FIPS enabled and DualStack disabled - func testResolve6() throws { - let endpointParams = EndpointParams( - region: "ca-central-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.ca-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-central-1 with FIPS disabled and DualStack disabled - func testResolve7() throws { - let endpointParams = EndpointParams( - region: "eu-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.eu-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-1 with FIPS disabled and DualStack disabled - func testResolve8() throws { - let endpointParams = EndpointParams( - region: "eu-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.eu-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-2 with FIPS disabled and DualStack disabled - func testResolve9() throws { - let endpointParams = EndpointParams( - region: "eu-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.eu-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve10() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack disabled - func testResolve11() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS disabled and DualStack disabled - func testResolve12() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS enabled and DualStack disabled - func testResolve13() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS disabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS enabled and DualStack disabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve17() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve18() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve19() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve20() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve21() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve22() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve23() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve24() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve26() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve27() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve28() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve29() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://qldb.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve30() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve31() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve32() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve33() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// Missing region - func testResolve34() throws { - let endpointParams = EndpointParams( - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } - } - -} diff --git a/Sources/Services/AWSQLDBSession/Dependencies.json b/Sources/Services/AWSQLDBSession/Dependencies.json deleted file mode 100644 index 500470a5b78..00000000000 --- a/Sources/Services/AWSQLDBSession/Dependencies.json +++ /dev/null @@ -1,16 +0,0 @@ -[ - "AWSClientRuntime", - "AWSSDKChecksums", - "AWSSDKHTTPAuth", - "AWSSDKIdentity", - "ClientRuntime", - "Smithy", - "SmithyHTTPAPI", - "SmithyHTTPAuthAPI", - "SmithyIdentity", - "SmithyJSON", - "SmithyReadWrite", - "SmithyRetries", - "SmithyRetriesAPI", - "SmithyTestUtil" -] diff --git a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/AuthSchemeResolver.swift b/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/AuthSchemeResolver.swift deleted file mode 100644 index 8249f8f1ef3..00000000000 --- a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/AuthSchemeResolver.swift +++ /dev/null @@ -1,58 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class Smithy.Context -import enum Smithy.ClientError -import enum SmithyHTTPAuthAPI.SigningPropertyKeys -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters -import struct SmithyHTTPAuthAPI.AuthOption - -public struct QLDBSessionAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - public let authSchemePreference: [String]? - public let operation: Swift.String - // Region is used for SigV4 auth scheme - public let region: Swift.String? -} - -public protocol QLDBSessionAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { - // Intentionally empty. - // This is the parent protocol that all auth scheme resolver implementations of - // the service QLDBSession must conform to. -} - -public struct DefaultQLDBSessionAuthSchemeResolver: QLDBSessionAuthSchemeResolver { - - public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { - var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? QLDBSessionAuthSchemeResolverParameters else { - throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") - } - switch serviceParams.operation { - default: - var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "qldb") - guard let region = serviceParams.region else { - throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") - } - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingRegion, value: region) - validAuthOptions.append(sigv4Option) - } - return self.reprioritizeAuthOptions(authSchemePreference: serviceParams.authSchemePreference, authOptions: validAuthOptions) - } - - public func constructParameters(context: Smithy.Context) throws -> SmithyHTTPAuthAPI.AuthSchemeResolverParameters { - guard let opName = context.getOperation() else { - throw Smithy.ClientError.dataNotFound("Operation name not configured in middleware context for auth scheme resolver params construction.") - } - let authSchemePreference = context.getAuthSchemePreference() - let opRegion = context.getRegion() - return QLDBSessionAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) - } -} diff --git a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Endpoints.swift b/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Endpoints.swift deleted file mode 100644 index cd28422c053..00000000000 --- a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Endpoints.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class ClientRuntime.EndpointsRequestContext -import let AWSClientRuntime.awsPartitionJSON -import protocol ClientRuntime.EndpointsRequestContextProviding -import struct ClientRuntime.DefaultEndpointResolver -import struct ClientRuntime.StaticEndpointResolver -import struct SmithyHTTPAPI.Endpoint - -public struct EndpointParams: Sendable { - /// Override the endpoint used to send this request - public let endpoint: Swift.String? - /// The AWS region used to dispatch the request. - public let region: Swift.String? - /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. - public let useDualStack: Swift.Bool - /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. - public let useFIPS: Swift.Bool - - public init( - endpoint: Swift.String? = nil, - region: Swift.String? = nil, - useDualStack: Swift.Bool = false, - useFIPS: Swift.Bool = false - ) - { - self.endpoint = endpoint - self.region = region - self.useDualStack = useDualStack - self.useFIPS = useFIPS - } -} - -extension EndpointParams: ClientRuntime.EndpointsRequestContextProviding { - - public var context: ClientRuntime.EndpointsRequestContext { - get throws { - let context = try ClientRuntime.EndpointsRequestContext() - try context.add(name: "Endpoint", value: self.endpoint) - try context.add(name: "Region", value: self.region) - try context.add(name: "UseDualStack", value: self.useDualStack) - try context.add(name: "UseFIPS", value: self.useFIPS) - return context - } - } -} - -public protocol EndpointResolver { - func resolve(params: EndpointParams) throws -> SmithyHTTPAPI.Endpoint -} - -typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver - -extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://session.qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://session.qldb-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://session.qldb.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://session.qldb.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" - - init() throws { - try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) - } -} - -extension DefaultEndpointResolver: EndpointResolver {} - -typealias StaticEndpointResolver = ClientRuntime.StaticEndpointResolver - -extension StaticEndpointResolver: EndpointResolver {} diff --git a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Models.swift b/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Models.swift deleted file mode 100644 index b851aae7410..00000000000 --- a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Models.swift +++ /dev/null @@ -1,893 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import Foundation -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum SmithyReadWrite.ReaderError -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.AWSJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError - -extension QLDBSessionClientTypes { - - /// Contains the details of the transaction to abort. - public struct AbortTransactionRequest: Swift.Sendable { - - public init() { } - } -} - -extension QLDBSessionClientTypes { - - /// Contains server-side performance information for a command. Amazon QLDB captures timing information between the times when it receives the request and when it sends the corresponding response. - public struct TimingInformation: Swift.Sendable { - /// The amount of time that QLDB spent on processing the command, measured in milliseconds. - public var processingTimeMilliseconds: Swift.Int - - public init( - processingTimeMilliseconds: Swift.Int = 0 - ) { - self.processingTimeMilliseconds = processingTimeMilliseconds - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the aborted transaction. - public struct AbortTransactionResult: Swift.Sendable { - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - - public init( - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil - ) { - self.timingInformation = timingInformation - } - } -} - -/// Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter. -public struct BadRequestException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var code: Swift.String? = nil - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "BadRequestException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - code: Swift.String? = nil, - message: Swift.String? = nil - ) { - self.properties.code = code - self.properties.message = message - } -} - -/// Returned when the request exceeds the processing capacity of the ledger. -public struct CapacityExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "CapacityExceededException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the transaction to commit. - public struct CommitTransactionRequest: Swift.Sendable { - /// Specifies the commit digest for the transaction to commit. For every active transaction, the commit digest must be passed. QLDB validates CommitDigest and rejects the commit with an error if the digest computed on the client does not match the digest computed by QLDB. The purpose of the CommitDigest parameter is to ensure that QLDB commits a transaction if and only if the server has processed the exact set of statements sent by the client, in the same order that client sent them, and with no duplicates. - /// This member is required. - public var commitDigest: Foundation.Data? - /// Specifies the transaction ID of the transaction to commit. - /// This member is required. - public var transactionId: Swift.String? - - public init( - commitDigest: Foundation.Data? = nil, - transactionId: Swift.String? = nil - ) { - self.commitDigest = commitDigest - self.transactionId = transactionId - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains I/O usage metrics for a command that was invoked. - public struct IOUsage: Swift.Sendable { - /// The number of read I/O requests that the command made. - public var readIOs: Swift.Int - /// The number of write I/O requests that the command made. - public var writeIOs: Swift.Int - - public init( - readIOs: Swift.Int = 0, - writeIOs: Swift.Int = 0 - ) { - self.readIOs = readIOs - self.writeIOs = writeIOs - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the committed transaction. - public struct CommitTransactionResult: Swift.Sendable { - /// The commit digest of the committed transaction. - public var commitDigest: Foundation.Data? - /// Contains metrics about the number of I/O requests that were consumed. - public var consumedIOs: QLDBSessionClientTypes.IOUsage? - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - /// The transaction ID of the committed transaction. - public var transactionId: Swift.String? - - public init( - commitDigest: Foundation.Data? = nil, - consumedIOs: QLDBSessionClientTypes.IOUsage? = nil, - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil, - transactionId: Swift.String? = nil - ) { - self.commitDigest = commitDigest - self.consumedIOs = consumedIOs - self.timingInformation = timingInformation - self.transactionId = transactionId - } - } -} - -extension QLDBSessionClientTypes { - - /// Specifies a request to end the session. - public struct EndSessionRequest: Swift.Sendable { - - public init() { } - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the ended session. - public struct EndSessionResult: Swift.Sendable { - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - - public init( - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil - ) { - self.timingInformation = timingInformation - } - } -} - -extension QLDBSessionClientTypes { - - /// A structure that can contain a value in multiple encoding formats. - public struct ValueHolder: Swift.Sendable { - /// An Amazon Ion binary value contained in a ValueHolder structure. - public var ionBinary: Foundation.Data? - /// An Amazon Ion plaintext value contained in a ValueHolder structure. - public var ionText: Swift.String? - - public init( - ionBinary: Foundation.Data? = nil, - ionText: Swift.String? = nil - ) { - self.ionBinary = ionBinary - self.ionText = ionText - } - } -} - -extension QLDBSessionClientTypes { - - /// Specifies a request to execute a statement. - public struct ExecuteStatementRequest: Swift.Sendable { - /// Specifies the parameters for the parameterized statement in the request. - public var parameters: [QLDBSessionClientTypes.ValueHolder]? - /// Specifies the statement of the request. - /// This member is required. - public var statement: Swift.String? - /// Specifies the transaction ID of the request. - /// This member is required. - public var transactionId: Swift.String? - - public init( - parameters: [QLDBSessionClientTypes.ValueHolder]? = nil, - statement: Swift.String? = nil, - transactionId: Swift.String? = nil - ) { - self.parameters = parameters - self.statement = statement - self.transactionId = transactionId - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains details of the fetched page. - public struct Page: Swift.Sendable { - /// The token of the next page. - public var nextPageToken: Swift.String? - /// A structure that contains values in multiple encoding formats. - public var values: [QLDBSessionClientTypes.ValueHolder]? - - public init( - nextPageToken: Swift.String? = nil, - values: [QLDBSessionClientTypes.ValueHolder]? = nil - ) { - self.nextPageToken = nextPageToken - self.values = values - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the executed statement. - public struct ExecuteStatementResult: Swift.Sendable { - /// Contains metrics about the number of I/O requests that were consumed. - public var consumedIOs: QLDBSessionClientTypes.IOUsage? - /// Contains the details of the first fetched page. - public var firstPage: QLDBSessionClientTypes.Page? - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - - public init( - consumedIOs: QLDBSessionClientTypes.IOUsage? = nil, - firstPage: QLDBSessionClientTypes.Page? = nil, - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil - ) { - self.consumedIOs = consumedIOs - self.firstPage = firstPage - self.timingInformation = timingInformation - } - } -} - -extension QLDBSessionClientTypes { - - /// Specifies the details of the page to be fetched. - public struct FetchPageRequest: Swift.Sendable { - /// Specifies the next page token of the page to be fetched. - /// This member is required. - public var nextPageToken: Swift.String? - /// Specifies the transaction ID of the page to be fetched. - /// This member is required. - public var transactionId: Swift.String? - - public init( - nextPageToken: Swift.String? = nil, - transactionId: Swift.String? = nil - ) { - self.nextPageToken = nextPageToken - self.transactionId = transactionId - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains the page that was fetched. - public struct FetchPageResult: Swift.Sendable { - /// Contains metrics about the number of I/O requests that were consumed. - public var consumedIOs: QLDBSessionClientTypes.IOUsage? - /// Contains details of the fetched page. - public var page: QLDBSessionClientTypes.Page? - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - - public init( - consumedIOs: QLDBSessionClientTypes.IOUsage? = nil, - page: QLDBSessionClientTypes.Page? = nil, - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil - ) { - self.consumedIOs = consumedIOs - self.page = page - self.timingInformation = timingInformation - } - } -} - -/// Returned if the session doesn't exist anymore because it timed out or expired. -public struct InvalidSessionException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var code: Swift.String? = nil - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InvalidSessionException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - code: Swift.String? = nil, - message: Swift.String? = nil - ) { - self.properties.code = code - self.properties.message = message - } -} - -/// Returned if a resource limit such as number of active sessions is exceeded. -public struct LimitExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "LimitExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// Returned when a transaction cannot be written to the journal due to a failure in the verification phase of optimistic concurrency control (OCC). -public struct OccConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "OccConflictException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// Returned when the rate of requests exceeds the allowed throughput. -public struct RateExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "RateExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension QLDBSessionClientTypes { - - /// Specifies a request to start a new session. - public struct StartSessionRequest: Swift.Sendable { - /// The name of the ledger to start a new session against. - /// This member is required. - public var ledgerName: Swift.String? - - public init( - ledgerName: Swift.String? = nil - ) { - self.ledgerName = ledgerName - } - } -} - -extension QLDBSessionClientTypes { - - /// Specifies a request to start a transaction. - public struct StartTransactionRequest: Swift.Sendable { - - public init() { } - } -} - -public struct SendCommandInput: Swift.Sendable { - /// Command to abort the current transaction. - public var abortTransaction: QLDBSessionClientTypes.AbortTransactionRequest? - /// Command to commit the specified transaction. - public var commitTransaction: QLDBSessionClientTypes.CommitTransactionRequest? - /// Command to end the current session. - public var endSession: QLDBSessionClientTypes.EndSessionRequest? - /// Command to execute a statement in the specified transaction. - public var executeStatement: QLDBSessionClientTypes.ExecuteStatementRequest? - /// Command to fetch a page. - public var fetchPage: QLDBSessionClientTypes.FetchPageRequest? - /// Specifies the session token for the current command. A session token is constant throughout the life of the session. To obtain a session token, run the StartSession command. This SessionToken is required for every subsequent command that is issued during the current session. - public var sessionToken: Swift.String? - /// Command to start a new session. A session token is obtained as part of the response. - public var startSession: QLDBSessionClientTypes.StartSessionRequest? - /// Command to start a new transaction. - public var startTransaction: QLDBSessionClientTypes.StartTransactionRequest? - - public init( - abortTransaction: QLDBSessionClientTypes.AbortTransactionRequest? = nil, - commitTransaction: QLDBSessionClientTypes.CommitTransactionRequest? = nil, - endSession: QLDBSessionClientTypes.EndSessionRequest? = nil, - executeStatement: QLDBSessionClientTypes.ExecuteStatementRequest? = nil, - fetchPage: QLDBSessionClientTypes.FetchPageRequest? = nil, - sessionToken: Swift.String? = nil, - startSession: QLDBSessionClientTypes.StartSessionRequest? = nil, - startTransaction: QLDBSessionClientTypes.StartTransactionRequest? = nil - ) { - self.abortTransaction = abortTransaction - self.commitTransaction = commitTransaction - self.endSession = endSession - self.executeStatement = executeStatement - self.fetchPage = fetchPage - self.sessionToken = sessionToken - self.startSession = startSession - self.startTransaction = startTransaction - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the started session. - public struct StartSessionResult: Swift.Sendable { - /// Session token of the started session. This SessionToken is required for every subsequent command that is issued during the current session. - public var sessionToken: Swift.String? - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - - public init( - sessionToken: Swift.String? = nil, - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil - ) { - self.sessionToken = sessionToken - self.timingInformation = timingInformation - } - } -} - -extension QLDBSessionClientTypes { - - /// Contains the details of the started transaction. - public struct StartTransactionResult: Swift.Sendable { - /// Contains server-side performance information for the command. - public var timingInformation: QLDBSessionClientTypes.TimingInformation? - /// The transaction ID of the started transaction. - public var transactionId: Swift.String? - - public init( - timingInformation: QLDBSessionClientTypes.TimingInformation? = nil, - transactionId: Swift.String? = nil - ) { - self.timingInformation = timingInformation - self.transactionId = transactionId - } - } -} - -public struct SendCommandOutput: Swift.Sendable { - /// Contains the details of the aborted transaction. - public var abortTransaction: QLDBSessionClientTypes.AbortTransactionResult? - /// Contains the details of the committed transaction. - public var commitTransaction: QLDBSessionClientTypes.CommitTransactionResult? - /// Contains the details of the ended session. - public var endSession: QLDBSessionClientTypes.EndSessionResult? - /// Contains the details of the executed statement. - public var executeStatement: QLDBSessionClientTypes.ExecuteStatementResult? - /// Contains the details of the fetched page. - public var fetchPage: QLDBSessionClientTypes.FetchPageResult? - /// Contains the details of the started session that includes a session token. This SessionToken is required for every subsequent command that is issued during the current session. - public var startSession: QLDBSessionClientTypes.StartSessionResult? - /// Contains the details of the started transaction. - public var startTransaction: QLDBSessionClientTypes.StartTransactionResult? - - public init( - abortTransaction: QLDBSessionClientTypes.AbortTransactionResult? = nil, - commitTransaction: QLDBSessionClientTypes.CommitTransactionResult? = nil, - endSession: QLDBSessionClientTypes.EndSessionResult? = nil, - executeStatement: QLDBSessionClientTypes.ExecuteStatementResult? = nil, - fetchPage: QLDBSessionClientTypes.FetchPageResult? = nil, - startSession: QLDBSessionClientTypes.StartSessionResult? = nil, - startTransaction: QLDBSessionClientTypes.StartTransactionResult? = nil - ) { - self.abortTransaction = abortTransaction - self.commitTransaction = commitTransaction - self.endSession = endSession - self.executeStatement = executeStatement - self.fetchPage = fetchPage - self.startSession = startSession - self.startTransaction = startTransaction - } -} - -extension SendCommandInput { - - static func urlPathProvider(_ value: SendCommandInput) -> Swift.String? { - return "/" - } -} - -extension SendCommandInput { - - static func write(value: SendCommandInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["AbortTransaction"].write(value.abortTransaction, with: QLDBSessionClientTypes.AbortTransactionRequest.write(value:to:)) - try writer["CommitTransaction"].write(value.commitTransaction, with: QLDBSessionClientTypes.CommitTransactionRequest.write(value:to:)) - try writer["EndSession"].write(value.endSession, with: QLDBSessionClientTypes.EndSessionRequest.write(value:to:)) - try writer["ExecuteStatement"].write(value.executeStatement, with: QLDBSessionClientTypes.ExecuteStatementRequest.write(value:to:)) - try writer["FetchPage"].write(value.fetchPage, with: QLDBSessionClientTypes.FetchPageRequest.write(value:to:)) - try writer["SessionToken"].write(value.sessionToken) - try writer["StartSession"].write(value.startSession, with: QLDBSessionClientTypes.StartSessionRequest.write(value:to:)) - try writer["StartTransaction"].write(value.startTransaction, with: QLDBSessionClientTypes.StartTransactionRequest.write(value:to:)) - } -} - -extension SendCommandOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> SendCommandOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = SendCommandOutput() - value.abortTransaction = try reader["AbortTransaction"].readIfPresent(with: QLDBSessionClientTypes.AbortTransactionResult.read(from:)) - value.commitTransaction = try reader["CommitTransaction"].readIfPresent(with: QLDBSessionClientTypes.CommitTransactionResult.read(from:)) - value.endSession = try reader["EndSession"].readIfPresent(with: QLDBSessionClientTypes.EndSessionResult.read(from:)) - value.executeStatement = try reader["ExecuteStatement"].readIfPresent(with: QLDBSessionClientTypes.ExecuteStatementResult.read(from:)) - value.fetchPage = try reader["FetchPage"].readIfPresent(with: QLDBSessionClientTypes.FetchPageResult.read(from:)) - value.startSession = try reader["StartSession"].readIfPresent(with: QLDBSessionClientTypes.StartSessionResult.read(from:)) - value.startTransaction = try reader["StartTransaction"].readIfPresent(with: QLDBSessionClientTypes.StartTransactionResult.read(from:)) - return value - } -} - -enum SendCommandOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "BadRequestException": return try BadRequestException.makeError(baseError: baseError) - case "CapacityExceededException": return try CapacityExceededException.makeError(baseError: baseError) - case "InvalidSessionException": return try InvalidSessionException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "OccConflictException": return try OccConflictException.makeError(baseError: baseError) - case "RateExceededException": return try RateExceededException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension BadRequestException { - - static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> BadRequestException { - let reader = baseError.errorBodyReader - var value = BadRequestException() - value.properties.code = try reader["Code"].readIfPresent() - value.properties.message = try reader["Message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension CapacityExceededException { - - static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> CapacityExceededException { - let reader = baseError.errorBodyReader - var value = CapacityExceededException() - value.properties.message = try reader["Message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension InvalidSessionException { - - static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> InvalidSessionException { - let reader = baseError.errorBodyReader - var value = InvalidSessionException() - value.properties.code = try reader["Code"].readIfPresent() - value.properties.message = try reader["Message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension LimitExceededException { - - static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> LimitExceededException { - let reader = baseError.errorBodyReader - var value = LimitExceededException() - value.properties.message = try reader["Message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension OccConflictException { - - static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> OccConflictException { - let reader = baseError.errorBodyReader - var value = OccConflictException() - value.properties.message = try reader["Message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension RateExceededException { - - static func makeError(baseError: AWSClientRuntime.AWSJSONError) throws -> RateExceededException { - let reader = baseError.errorBodyReader - var value = RateExceededException() - value.properties.message = try reader["Message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension QLDBSessionClientTypes.StartSessionResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.StartSessionResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.StartSessionResult() - value.sessionToken = try reader["SessionToken"].readIfPresent() - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.TimingInformation { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.TimingInformation { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.TimingInformation() - value.processingTimeMilliseconds = try reader["ProcessingTimeMilliseconds"].readIfPresent() ?? 0 - return value - } -} - -extension QLDBSessionClientTypes.StartTransactionResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.StartTransactionResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.StartTransactionResult() - value.transactionId = try reader["TransactionId"].readIfPresent() - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.EndSessionResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.EndSessionResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.EndSessionResult() - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.CommitTransactionResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.CommitTransactionResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.CommitTransactionResult() - value.transactionId = try reader["TransactionId"].readIfPresent() - value.commitDigest = try reader["CommitDigest"].readIfPresent() - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - value.consumedIOs = try reader["ConsumedIOs"].readIfPresent(with: QLDBSessionClientTypes.IOUsage.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.IOUsage { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.IOUsage { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.IOUsage() - value.readIOs = try reader["ReadIOs"].readIfPresent() ?? 0 - value.writeIOs = try reader["WriteIOs"].readIfPresent() ?? 0 - return value - } -} - -extension QLDBSessionClientTypes.AbortTransactionResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.AbortTransactionResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.AbortTransactionResult() - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.ExecuteStatementResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.ExecuteStatementResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.ExecuteStatementResult() - value.firstPage = try reader["FirstPage"].readIfPresent(with: QLDBSessionClientTypes.Page.read(from:)) - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - value.consumedIOs = try reader["ConsumedIOs"].readIfPresent(with: QLDBSessionClientTypes.IOUsage.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.Page { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.Page { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.Page() - value.values = try reader["Values"].readListIfPresent(memberReadingClosure: QLDBSessionClientTypes.ValueHolder.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextPageToken = try reader["NextPageToken"].readIfPresent() - return value - } -} - -extension QLDBSessionClientTypes.ValueHolder { - - static func write(value: QLDBSessionClientTypes.ValueHolder?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["IonBinary"].write(value.ionBinary) - try writer["IonText"].write(value.ionText) - } - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.ValueHolder { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.ValueHolder() - value.ionBinary = try reader["IonBinary"].readIfPresent() - value.ionText = try reader["IonText"].readIfPresent() - return value - } -} - -extension QLDBSessionClientTypes.FetchPageResult { - - static func read(from reader: SmithyJSON.Reader) throws -> QLDBSessionClientTypes.FetchPageResult { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = QLDBSessionClientTypes.FetchPageResult() - value.page = try reader["Page"].readIfPresent(with: QLDBSessionClientTypes.Page.read(from:)) - value.timingInformation = try reader["TimingInformation"].readIfPresent(with: QLDBSessionClientTypes.TimingInformation.read(from:)) - value.consumedIOs = try reader["ConsumedIOs"].readIfPresent(with: QLDBSessionClientTypes.IOUsage.read(from:)) - return value - } -} - -extension QLDBSessionClientTypes.StartSessionRequest { - - static func write(value: QLDBSessionClientTypes.StartSessionRequest?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["LedgerName"].write(value.ledgerName) - } -} - -extension QLDBSessionClientTypes.StartTransactionRequest { - - static func write(value: QLDBSessionClientTypes.StartTransactionRequest?, to writer: SmithyJSON.Writer) throws { - guard value != nil else { return } - _ = writer[""] // create an empty structure - } -} - -extension QLDBSessionClientTypes.EndSessionRequest { - - static func write(value: QLDBSessionClientTypes.EndSessionRequest?, to writer: SmithyJSON.Writer) throws { - guard value != nil else { return } - _ = writer[""] // create an empty structure - } -} - -extension QLDBSessionClientTypes.CommitTransactionRequest { - - static func write(value: QLDBSessionClientTypes.CommitTransactionRequest?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["CommitDigest"].write(value.commitDigest) - try writer["TransactionId"].write(value.transactionId) - } -} - -extension QLDBSessionClientTypes.AbortTransactionRequest { - - static func write(value: QLDBSessionClientTypes.AbortTransactionRequest?, to writer: SmithyJSON.Writer) throws { - guard value != nil else { return } - _ = writer[""] // create an empty structure - } -} - -extension QLDBSessionClientTypes.ExecuteStatementRequest { - - static func write(value: QLDBSessionClientTypes.ExecuteStatementRequest?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Parameters"].writeList(value.parameters, memberWritingClosure: QLDBSessionClientTypes.ValueHolder.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["Statement"].write(value.statement) - try writer["TransactionId"].write(value.transactionId) - } -} - -extension QLDBSessionClientTypes.FetchPageRequest { - - static func write(value: QLDBSessionClientTypes.FetchPageRequest?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["NextPageToken"].write(value.nextPageToken) - try writer["TransactionId"].write(value.transactionId) - } -} - -public enum QLDBSessionClientTypes {} diff --git a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Plugins.swift b/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Plugins.swift deleted file mode 100644 index 64dd36c5f45..00000000000 --- a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/Plugins.swift +++ /dev/null @@ -1,84 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import protocol ClientRuntime.ClientConfiguration -import protocol ClientRuntime.Plugin -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -import struct AWSSDKHTTPAuth.SigV4AuthScheme -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class QLDBSessionClientEndpointPlugin: Plugin { - private var endpointResolver: EndpointResolver - - public init(endpointResolver: EndpointResolver) { - self.endpointResolver = endpointResolver - } - - public convenience init() throws { - self.init(endpointResolver: try DefaultEndpointResolver()) - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? QLDBSessionClient.QLDBSessionClientConfiguration { - config.endpointResolver = self.endpointResolver - } - } -} - -public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { - - public init() {} - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? QLDBSessionClient.QLDBSessionClientConfiguration { - config.authSchemeResolver = DefaultQLDBSessionAuthSchemeResolver() - config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] - config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() - config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() - } - } -} - -public class QLDBSessionClientAuthSchemePlugin: ClientRuntime.Plugin { - private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - private var authSchemePreference: [String] - private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? - private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? - private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: QLDBSessionAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { - self.authSchemeResolver = authSchemeResolver - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference ?? [] - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - } - - public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? QLDBSessionClient.QLDBSessionClientConfiguration { - if (self.authSchemes != nil) { - config.authSchemes = self.authSchemes - } - config.authSchemePreference = self.authSchemePreference - if (self.authSchemeResolver != nil) { - config.authSchemeResolver = self.authSchemeResolver! - } - if (self.awsCredentialIdentityResolver != nil) { - config.awsCredentialIdentityResolver = self.awsCredentialIdentityResolver! - } - if (self.bearerTokenIdentityResolver != nil) { - config.bearerTokenIdentityResolver = self.bearerTokenIdentityResolver! - } - } - } -} diff --git a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/QLDBSessionClient.swift b/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/QLDBSessionClient.swift deleted file mode 100644 index a68864e357e..00000000000 --- a/Sources/Services/AWSQLDBSession/Sources/AWSQLDBSession/QLDBSessionClient.swift +++ /dev/null @@ -1,449 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class AWSClientRuntime.AWSClientConfigDefaultsProvider -import class AWSClientRuntime.AmzSdkRequestMiddleware -import class AWSClientRuntime.DefaultAWSClientPlugin -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import class ClientRuntime.ClientBuilder -import class ClientRuntime.DefaultClientPlugin -import class ClientRuntime.HttpClientConfiguration -import class ClientRuntime.OrchestratorBuilder -import class ClientRuntime.OrchestratorTelemetry -import class ClientRuntime.SdkHttpClient -import class Smithy.Context -import class Smithy.ContextBuilder -import class SmithyHTTPAPI.HTTPRequest -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum AWSClientRuntime.AWSClockSkewProvider -import enum AWSClientRuntime.AWSRetryErrorInfoProvider -import enum AWSClientRuntime.AWSRetryMode -import enum AWSSDKChecksums.AWSChecksumCalculationMode -import enum ClientRuntime.ClientLogMode -import enum ClientRuntime.DefaultTelemetry -import enum ClientRuntime.OrchestratorMetricsAttributesKeys -import protocol AWSClientRuntime.AWSDefaultClientConfiguration -import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client -import protocol ClientRuntime.DefaultClientConfiguration -import protocol ClientRuntime.DefaultHttpClientConfiguration -import protocol ClientRuntime.HttpInterceptorProvider -import protocol ClientRuntime.IdempotencyTokenGenerator -import protocol ClientRuntime.InterceptorProvider -import protocol ClientRuntime.TelemetryProvider -import protocol Smithy.LogAgent -import protocol SmithyHTTPAPI.HTTPClient -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(AWSEndpointResolverMiddleware) import struct AWSClientRuntime.AWSEndpointResolverMiddleware -import struct AWSClientRuntime.AmzSdkInvocationIdMiddleware -import struct AWSClientRuntime.UserAgentMiddleware -import struct AWSClientRuntime.XAmzTargetMiddleware -import struct AWSSDKHTTPAuth.SigV4AuthScheme -import struct ClientRuntime.AuthSchemeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.BodyMiddleware -import struct ClientRuntime.ContentLengthMiddleware -import struct ClientRuntime.ContentTypeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware -import struct ClientRuntime.LoggerMiddleware -import struct ClientRuntime.SignerMiddleware -import struct ClientRuntime.URLHostMiddleware -import struct ClientRuntime.URLPathMiddleware -import struct Smithy.Attributes -import struct SmithyIdentity.BearerTokenIdentity -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import struct SmithyRetries.DefaultRetryStrategy -import struct SmithyRetriesAPI.RetryStrategyOptions -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class QLDBSessionClient: ClientRuntime.Client { - public static let clientName = "QLDBSessionClient" - public static let version = "1.5.61" - let client: ClientRuntime.SdkHttpClient - let config: QLDBSessionClient.QLDBSessionClientConfiguration - let serviceName = "QLDB Session" - - public required init(config: QLDBSessionClient.QLDBSessionClientConfiguration) { - client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) - self.config = config - } - - public convenience init(region: Swift.String) throws { - let config = try QLDBSessionClient.QLDBSessionClientConfiguration(region: region) - self.init(config: config) - } - - public convenience required init() async throws { - let config = try await QLDBSessionClient.QLDBSessionClientConfiguration() - self.init(config: config) - } -} - -extension QLDBSessionClient { - - public class QLDBSessionClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { - public var useFIPS: Swift.Bool? - public var useDualStack: Swift.Bool? - public var appID: Swift.String? - public var awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver - public var awsRetryMode: AWSClientRuntime.AWSRetryMode - public var maxAttempts: Swift.Int? - public var requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode - public var responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode - public var ignoreConfiguredEndpointURLs: Swift.Bool? - public var region: Swift.String? - public var signingRegion: Swift.String? - public var endpointResolver: EndpointResolver - public var telemetryProvider: ClientRuntime.TelemetryProvider - public var retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions - public var clientLogMode: ClientRuntime.ClientLogMode - public var endpoint: Swift.String? - public var idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator - public var httpClientEngine: SmithyHTTPAPI.HTTPClient - public var httpClientConfiguration: ClientRuntime.HttpClientConfiguration - public var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - public var authSchemePreference: [String]? - public var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver - public var bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver - public private(set) var interceptorProviders: [ClientRuntime.InterceptorProvider] - public private(set) var httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - public let logger: Smithy.LogAgent - - private init( - _ useFIPS: Swift.Bool?, - _ useDualStack: Swift.Bool?, - _ appID: Swift.String?, - _ awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver, - _ awsRetryMode: AWSClientRuntime.AWSRetryMode, - _ maxAttempts: Swift.Int?, - _ requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ ignoreConfiguredEndpointURLs: Swift.Bool?, - _ region: Swift.String?, - _ signingRegion: Swift.String?, - _ endpointResolver: EndpointResolver, - _ telemetryProvider: ClientRuntime.TelemetryProvider, - _ retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions, - _ clientLogMode: ClientRuntime.ClientLogMode, - _ endpoint: Swift.String?, - _ idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator, - _ httpClientEngine: SmithyHTTPAPI.HTTPClient, - _ httpClientConfiguration: ClientRuntime.HttpClientConfiguration, - _ authSchemes: SmithyHTTPAuthAPI.AuthSchemes?, - _ authSchemePreference: [String]?, - _ authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver, - _ bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver, - _ interceptorProviders: [ClientRuntime.InterceptorProvider], - _ httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - ) { - self.useFIPS = useFIPS - self.useDualStack = useDualStack - self.appID = appID - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.awsRetryMode = awsRetryMode - self.maxAttempts = maxAttempts - self.requestChecksumCalculation = requestChecksumCalculation - self.responseChecksumValidation = responseChecksumValidation - self.ignoreConfiguredEndpointURLs = ignoreConfiguredEndpointURLs - self.region = region - self.signingRegion = signingRegion - self.endpointResolver = endpointResolver - self.telemetryProvider = telemetryProvider - self.retryStrategyOptions = retryStrategyOptions - self.clientLogMode = clientLogMode - self.endpoint = endpoint - self.idempotencyTokenGenerator = idempotencyTokenGenerator - self.httpClientEngine = httpClientEngine - self.httpClientConfiguration = httpClientConfiguration - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference - self.authSchemeResolver = authSchemeResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - self.interceptorProviders = interceptorProviders - self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: QLDBSessionClient.clientName) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - region, - signingRegion, - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultQLDBSessionAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) async throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultQLDBSessionAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience required init() async throws { - try await self.init( - useFIPS: nil, - useDualStack: nil, - appID: nil, - awsCredentialIdentityResolver: nil, - awsRetryMode: nil, - maxAttempts: nil, - requestChecksumCalculation: nil, - responseChecksumValidation: nil, - ignoreConfiguredEndpointURLs: nil, - region: nil, - signingRegion: nil, - endpointResolver: nil, - telemetryProvider: nil, - retryStrategyOptions: nil, - clientLogMode: nil, - endpoint: nil, - idempotencyTokenGenerator: nil, - httpClientEngine: nil, - httpClientConfiguration: nil, - authSchemes: nil, - authSchemePreference: nil, - authSchemeResolver: nil, - bearerTokenIdentityResolver: nil, - interceptorProviders: nil, - httpInterceptorProviders: nil - ) - } - - public convenience init(region: Swift.String) throws { - self.init( - nil, - nil, - try AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - nil, - try AWSClientConfigDefaultsProvider.requestChecksumCalculation(), - try AWSClientConfigDefaultsProvider.responseChecksumValidation(), - nil, - region, - region, - try DefaultEndpointResolver(), - ClientRuntime.DefaultTelemetry.provider, - try AWSClientConfigDefaultsProvider.retryStrategyOptions(), - AWSClientConfigDefaultsProvider.clientLogMode(), - nil, - AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - AWSClientConfigDefaultsProvider.httpClientEngine(), - AWSClientConfigDefaultsProvider.httpClientConfiguration(), - [AWSSDKHTTPAuth.SigV4AuthScheme()], - nil, - DefaultQLDBSessionAuthSchemeResolver(), - SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - [], - [] - ) - } - - public var partitionID: String? { - return "\(QLDBSessionClient.clientName) - \(region ?? "")" - } - - public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { - self.interceptorProviders.append(provider) - } - - public func addInterceptorProvider(_ provider: ClientRuntime.HttpInterceptorProvider) { - self.httpInterceptorProviders.append(provider) - } - - } - - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ - ClientRuntime.DefaultClientPlugin(), - AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), - DefaultAWSAuthSchemePlugin() - ]) - } -} - -extension QLDBSessionClient { - /// Performs the `SendCommand` operation on the `QLDBSession` service. - /// - /// Sends a command to an Amazon QLDB ledger. Instead of interacting directly with this API, we recommend using the QLDB driver or the QLDB shell to execute data transactions on a ledger. - /// - /// * If you are working with an AWS SDK, use the QLDB driver. The driver provides a high-level abstraction layer above this QLDB Session data plane and manages SendCommand API calls for you. For information and a list of supported programming languages, see [Getting started with the driver](https://docs.aws.amazon.com/qldb/latest/developerguide/getting-started-driver.html) in the Amazon QLDB Developer Guide. - /// - /// * If you are working with the AWS Command Line Interface (AWS CLI), use the QLDB shell. The shell is a command line interface that uses the QLDB driver to interact with a ledger. For information, see [Accessing Amazon QLDB using the QLDB shell](https://docs.aws.amazon.com/qldb/latest/developerguide/data-shell.html). - /// - /// - Parameter input: [no documentation found] (Type: `SendCommandInput`) - /// - /// - Returns: [no documentation found] (Type: `SendCommandOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `BadRequestException` : Returned if the request is malformed or contains an error such as an invalid parameter value or a missing required parameter. - /// - `CapacityExceededException` : Returned when the request exceeds the processing capacity of the ledger. - /// - `InvalidSessionException` : Returned if the session doesn't exist anymore because it timed out or expired. - /// - `LimitExceededException` : Returned if a resource limit such as number of active sessions is exceeded. - /// - `OccConflictException` : Returned when a transaction cannot be written to the journal due to a failure in the verification phase of optimistic concurrency control (OCC). - /// - `RateExceededException` : Returned when the rate of requests exceeds the allowed throughput. - public func sendCommand(input: SendCommandInput) async throws -> SendCommandOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "sendCommand") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "qldb") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(SendCommandInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(SendCommandOutput.httpOutput(from:), SendCommandOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("QLDB Session", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "QLDBSession.SendCommand")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: SendCommandInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.0")) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: QLDBSessionClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "QLDBSession") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "SendCommand") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } -} diff --git a/Sources/Services/AWSQLDBSession/Tests/AWSQLDBSessionTests/EndpointResolverTest.swift b/Sources/Services/AWSQLDBSession/Tests/AWSQLDBSessionTests/EndpointResolverTest.swift deleted file mode 100644 index 0620544ced8..00000000000 --- a/Sources/Services/AWSQLDBSession/Tests/AWSQLDBSessionTests/EndpointResolverTest.swift +++ /dev/null @@ -1,681 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@testable import AWSQLDBSession -import XCTest -import enum ClientRuntime.EndpointError -import enum SmithyHTTPAPI.EndpointPropertyValue -import enum SmithyTestUtil.TestInitializer -import struct SmithyHTTPAPI.Endpoint -import struct SmithyHTTPAPI.Headers - -class EndpointResolverTest: XCTestCase { - - override class func setUp() { - SmithyTestUtil.TestInitializer.initialize() - } - - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled - func testResolve1() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-northeast-2 with FIPS disabled and DualStack disabled - func testResolve2() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.ap-northeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-1 with FIPS disabled and DualStack disabled - func testResolve3() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.ap-southeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-2 with FIPS disabled and DualStack disabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.ap-southeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ca-central-1 with FIPS disabled and DualStack disabled - func testResolve5() throws { - let endpointParams = EndpointParams( - region: "ca-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.ca-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-central-1 with FIPS disabled and DualStack disabled - func testResolve6() throws { - let endpointParams = EndpointParams( - region: "eu-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.eu-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-1 with FIPS disabled and DualStack disabled - func testResolve7() throws { - let endpointParams = EndpointParams( - region: "eu-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.eu-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-2 with FIPS disabled and DualStack disabled - func testResolve8() throws { - let endpointParams = EndpointParams( - region: "eu-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.eu-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve9() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack disabled - func testResolve10() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS disabled and DualStack disabled - func testResolve11() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS enabled and DualStack disabled - func testResolve12() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS disabled and DualStack disabled - func testResolve13() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS enabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve17() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve18() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve19() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve20() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve21() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve22() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve23() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve24() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve26() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve27() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve28() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://session.qldb.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve29() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve30() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve31() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve32() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// Missing region - func testResolve33() throws { - let endpointParams = EndpointParams( - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } - } - -} diff --git a/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift b/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift index f7cc99275c1..9bac9cf0331 100644 --- a/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift +++ b/Sources/Services/AWSQuickSight/Sources/AWSQuickSight/QuickSightClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class QuickSightClient: ClientRuntime.Client { +public class QuickSightClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "QuickSightClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: QuickSightClient.QuickSightClientConfiguration let serviceName = "QuickSight" diff --git a/Sources/Services/AWSRAM/Sources/AWSRAM/RAMClient.swift b/Sources/Services/AWSRAM/Sources/AWSRAM/RAMClient.swift index aedad347e4a..7f6667cb264 100644 --- a/Sources/Services/AWSRAM/Sources/AWSRAM/RAMClient.swift +++ b/Sources/Services/AWSRAM/Sources/AWSRAM/RAMClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RAMClient: ClientRuntime.Client { +public class RAMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RAMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RAMClient.RAMClientConfiguration let serviceName = "RAM" diff --git a/Sources/Services/AWSRDS/Sources/AWSRDS/RDSClient.swift b/Sources/Services/AWSRDS/Sources/AWSRDS/RDSClient.swift index dfea24fc0e9..614b7254439 100644 --- a/Sources/Services/AWSRDS/Sources/AWSRDS/RDSClient.swift +++ b/Sources/Services/AWSRDS/Sources/AWSRDS/RDSClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RDSClient: ClientRuntime.Client { +public class RDSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RDSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RDSClient.RDSClientConfiguration let serviceName = "RDS" diff --git a/Sources/Services/AWSRDSData/Sources/AWSRDSData/RDSDataClient.swift b/Sources/Services/AWSRDSData/Sources/AWSRDSData/RDSDataClient.swift index 4a6f0ff72be..d6211069668 100644 --- a/Sources/Services/AWSRDSData/Sources/AWSRDSData/RDSDataClient.swift +++ b/Sources/Services/AWSRDSData/Sources/AWSRDSData/RDSDataClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RDSDataClient: ClientRuntime.Client { +public class RDSDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RDSDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RDSDataClient.RDSDataClientConfiguration let serviceName = "RDS Data" diff --git a/Sources/Services/AWSAppTest/Dependencies.json b/Sources/Services/AWSRTBFabric/Dependencies.json similarity index 100% rename from Sources/Services/AWSAppTest/Dependencies.json rename to Sources/Services/AWSRTBFabric/Dependencies.json diff --git a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/AuthSchemeResolver.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/AuthSchemeResolver.swift similarity index 85% rename from Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/AuthSchemeResolver.swift rename to Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/AuthSchemeResolver.swift index c115f2b53db..e9442f39401 100644 --- a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/AuthSchemeResolver.swift +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/AuthSchemeResolver.swift @@ -14,30 +14,30 @@ import protocol SmithyHTTPAuthAPI.AuthSchemeResolver import protocol SmithyHTTPAuthAPI.AuthSchemeResolverParameters import struct SmithyHTTPAuthAPI.AuthOption -public struct RoboMakerAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { +public struct RTBFabricAuthSchemeResolverParameters: SmithyHTTPAuthAPI.AuthSchemeResolverParameters { public let authSchemePreference: [String]? public let operation: Swift.String // Region is used for SigV4 auth scheme public let region: Swift.String? } -public protocol RoboMakerAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { +public protocol RTBFabricAuthSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver { // Intentionally empty. // This is the parent protocol that all auth scheme resolver implementations of - // the service RoboMaker must conform to. + // the service RTBFabric must conform to. } -public struct DefaultRoboMakerAuthSchemeResolver: RoboMakerAuthSchemeResolver { +public struct DefaultRTBFabricAuthSchemeResolver: RTBFabricAuthSchemeResolver { public func resolveAuthScheme(params: SmithyHTTPAuthAPI.AuthSchemeResolverParameters) throws -> [SmithyHTTPAuthAPI.AuthOption] { var validAuthOptions = [SmithyHTTPAuthAPI.AuthOption]() - guard let serviceParams = params as? RoboMakerAuthSchemeResolverParameters else { + guard let serviceParams = params as? RTBFabricAuthSchemeResolverParameters else { throw Smithy.ClientError.authError("Service specific auth scheme parameters type must be passed to auth scheme resolver.") } switch serviceParams.operation { default: var sigv4Option = SmithyHTTPAuthAPI.AuthOption(schemeID: "aws.auth#sigv4") - sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "robomaker") + sigv4Option.signingProperties.set(key: SmithyHTTPAuthAPI.SigningPropertyKeys.signingName, value: "rtbfabric") guard let region = serviceParams.region else { throw Smithy.ClientError.authError("Missing region in auth scheme parameters for SigV4 auth scheme.") } @@ -53,6 +53,6 @@ public struct DefaultRoboMakerAuthSchemeResolver: RoboMakerAuthSchemeResolver { } let authSchemePreference = context.getAuthSchemePreference() let opRegion = context.getRegion() - return RoboMakerAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) + return RTBFabricAuthSchemeResolverParameters(authSchemePreference: authSchemePreference, operation: opName, region: opRegion) } } diff --git a/Sources/Services/AWSAppTest/Sources/AWSAppTest/Endpoints.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Endpoints.swift similarity index 58% rename from Sources/Services/AWSAppTest/Sources/AWSAppTest/Endpoints.swift rename to Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Endpoints.swift index 2681fdc5cdd..7598a3e05e3 100644 --- a/Sources/Services/AWSAppTest/Sources/AWSAppTest/Endpoints.swift +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Endpoints.swift @@ -59,7 +59,7 @@ public protocol EndpointResolver { typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://apptest-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://apptest-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://apptest.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://apptest.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}],\"type\":\"tree\"}]}" + private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"},\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://rtbfabric-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://rtbfabric-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://rtbfabric.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://rtbfabric.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}],\"type\":\"tree\"}]}" init() throws { try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) diff --git a/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Models.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Models.swift new file mode 100644 index 00000000000..bd32d82a83e --- /dev/null +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Models.swift @@ -0,0 +1,4184 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +// Code generated by smithy-swift-codegen. DO NOT EDIT! + +@_spi(SmithyReadWrite) import ClientRuntime +import Foundation +import class SmithyHTTPAPI.HTTPResponse +@_spi(SmithyReadWrite) import class SmithyJSON.Reader +@_spi(SmithyReadWrite) import class SmithyJSON.Writer +import enum ClientRuntime.ErrorFault +import enum Smithy.ClientError +import enum SmithyReadWrite.ReaderError +@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures +@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures +@_spi(SmithyTimestamps) import enum SmithyTimestamps.TimestampFormat +import protocol AWSClientRuntime.AWSServiceError +import protocol ClientRuntime.HTTPError +import protocol ClientRuntime.ModeledError +@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader +@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter +@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError +@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError +import struct Smithy.URIQueryItem +@_spi(SmithyReadWrite) import struct SmithyReadWrite.ReadingClosureBox +@_spi(SmithyReadWrite) import struct SmithyReadWrite.WritingClosureBox +@_spi(SmithyTimestamps) import struct SmithyTimestamps.TimestampFormatter + +/// The request could not be completed because you do not have sufficient access to perform this action. +public struct AccessDeniedException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "AccessDeniedException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +/// The request could not be completed because of a conflict in the current state of the resource. +public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ConflictException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +/// The request could not be completed because of an internal server error. Try your call again. +public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "InternalServerException" } + public static var fault: ClientRuntime.ErrorFault { .server } + public static var isRetryable: Swift.Bool { true } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +/// The request could not be completed because the resource does not exist. +public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ResourceNotFoundException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +/// The request was denied due to request throttling. +public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ThrottlingException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { true } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +/// The request could not be completed because it fails satisfy the constraints specified by the service. +public struct ValidationException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ValidationException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +extension RTBFabricClientTypes { + + public enum ResponderErrorMaskingAction: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case noBid + case passthrough + case sdkUnknown(Swift.String) + + public static var allCases: [ResponderErrorMaskingAction] { + return [ + .noBid, + .passthrough + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .noBid: return "NO_BID" + case .passthrough: return "PASSTHROUGH" + case let .sdkUnknown(s): return s + } + } + } +} + +extension RTBFabricClientTypes { + + public enum ResponderErrorMaskingLoggingType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case metric + case `none` + case response + case sdkUnknown(Swift.String) + + public static var allCases: [ResponderErrorMaskingLoggingType] { + return [ + .metric, + .none, + .response + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .metric: return "METRIC" + case .none: return "NONE" + case .response: return "RESPONSE" + case let .sdkUnknown(s): return s + } + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the masking for HTTP error codes. + public struct ResponderErrorMaskingForHttpCode: Swift.Sendable { + /// The action for the error.. + /// This member is required. + public var action: RTBFabricClientTypes.ResponderErrorMaskingAction? + /// The HTTP error code. + /// This member is required. + public var httpCode: Swift.String? + /// The error log type. + /// This member is required. + public var loggingTypes: [RTBFabricClientTypes.ResponderErrorMaskingLoggingType]? + /// The percentage of response logging. + public var responseLoggingPercentage: Swift.Float? + + public init( + action: RTBFabricClientTypes.ResponderErrorMaskingAction? = nil, + httpCode: Swift.String? = nil, + loggingTypes: [RTBFabricClientTypes.ResponderErrorMaskingLoggingType]? = nil, + responseLoggingPercentage: Swift.Float? = nil + ) { + self.action = action + self.httpCode = httpCode + self.loggingTypes = loggingTypes + self.responseLoggingPercentage = responseLoggingPercentage + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the attributes of a link. + public struct LinkAttributes: Swift.Sendable { + /// The customer-provided unique identifier of the link. + public var customerProvidedId: Swift.String? + /// Describes the masking for HTTP error codes. + public var responderErrorMasking: [RTBFabricClientTypes.ResponderErrorMaskingForHttpCode]? + + public init( + customerProvidedId: Swift.String? = nil, + responderErrorMasking: [RTBFabricClientTypes.ResponderErrorMaskingForHttpCode]? = nil + ) { + self.customerProvidedId = customerProvidedId + self.responderErrorMasking = responderErrorMasking + } + } +} + +extension RTBFabricClientTypes { + + /// Describes a link application log sample. + public struct LinkApplicationLogSampling: Swift.Sendable { + /// An error log entry. + /// This member is required. + public var errorLog: Swift.Double? + /// A filter log entry. + /// This member is required. + public var filterLog: Swift.Double? + + public init( + errorLog: Swift.Double? = nil, + filterLog: Swift.Double? = nil + ) { + self.errorLog = errorLog + self.filterLog = filterLog + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of a link application log. + public struct LinkApplicationLogConfiguration: Swift.Sendable { + /// Describes a link application log sample. + /// This member is required. + public var sampling: RTBFabricClientTypes.LinkApplicationLogSampling? + + public init( + sampling: RTBFabricClientTypes.LinkApplicationLogSampling? = nil + ) { + self.sampling = sampling + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the settings for a link log. + public struct LinkLogSettings: Swift.Sendable { + /// Describes the configuration of a link application log. + /// This member is required. + public var applicationLogs: RTBFabricClientTypes.LinkApplicationLogConfiguration? + + public init( + applicationLogs: RTBFabricClientTypes.LinkApplicationLogConfiguration? = nil + ) { + self.applicationLogs = applicationLogs + } + } +} + +public struct AcceptLinkInput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// Settings for the application logs. + /// This member is required. + public var logSettings: RTBFabricClientTypes.LinkLogSettings? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + logSettings: RTBFabricClientTypes.LinkLogSettings? = nil + ) { + self.attributes = attributes + self.gatewayId = gatewayId + self.linkId = linkId + self.logSettings = logSettings + } +} + +extension RTBFabricClientTypes { + + public enum LinkDirection: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case request + case response + case sdkUnknown(Swift.String) + + public static var allCases: [LinkDirection] { + return [ + .request, + .response + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .request: return "REQUEST" + case .response: return "RESPONSE" + case let .sdkUnknown(s): return s + } + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the parameters of a no bid module. + public struct NoBidModuleParameters: Swift.Sendable { + /// The pass through percentage. + public var passThroughPercentage: Swift.Float? + /// The reason description. + public var reason: Swift.String? + /// The reason code. + public var reasonCode: Swift.Int? + + public init( + passThroughPercentage: Swift.Float? = nil, + reason: Swift.String? = nil, + reasonCode: Swift.Int? = nil + ) { + self.passThroughPercentage = passThroughPercentage + self.reason = reason + self.reasonCode = reasonCode + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the header tag for a bid action. + public struct HeaderTagAction: Swift.Sendable { + /// The name of the bid action. + /// This member is required. + public var name: Swift.String? + /// The value of the bid action. + /// This member is required. + public var value: Swift.String? + + public init( + name: Swift.String? = nil, + value: Swift.String? = nil + ) { + self.name = name + self.value = value + } + } +} + +extension RTBFabricClientTypes { + + /// Describes a no bid action. + public struct NoBidAction: Swift.Sendable { + /// The reason code for the no bid action. + public var noBidReasonCode: Swift.Int? + + public init( + noBidReasonCode: Swift.Int? = nil + ) { + self.noBidReasonCode = noBidReasonCode + } + } +} + +extension RTBFabricClientTypes { + + /// Describes a bid action. + public enum Action: Swift.Sendable { + /// Describes a no bid action. + case nobid(RTBFabricClientTypes.NoBidAction) + /// Describes the header tag for a bid action. + case headertag(RTBFabricClientTypes.HeaderTagAction) + case sdkUnknown(Swift.String) + } +} + +extension RTBFabricClientTypes { + + /// Describes the criteria for a filter. + public struct FilterCriterion: Swift.Sendable { + /// The path to filter. + /// This member is required. + public var path: Swift.String? + /// The value to filter. + /// This member is required. + public var values: [Swift.String]? + + public init( + path: Swift.String? = nil, + values: [Swift.String]? = nil + ) { + self.path = path + self.values = values + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of a filter. + public struct Filter: Swift.Sendable { + /// Describes the criteria for a filter. + /// This member is required. + public var criteria: [RTBFabricClientTypes.FilterCriterion]? + + public init( + criteria: [RTBFabricClientTypes.FilterCriterion]? = nil + ) { + self.criteria = criteria + } + } +} + +extension RTBFabricClientTypes { + + public enum FilterType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case exclude + case include + case sdkUnknown(Swift.String) + + public static var allCases: [FilterType] { + return [ + .exclude, + .include + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .exclude: return "EXCLUDE" + case .include: return "INCLUDE" + case let .sdkUnknown(s): return s + } + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the parameters of an open RTB attribute module. + public struct OpenRtbAttributeModuleParameters: Swift.Sendable { + /// Describes a bid action. + /// This member is required. + public var action: RTBFabricClientTypes.Action? + /// Describes the configuration of a filter. + /// This member is required. + public var filterConfiguration: [RTBFabricClientTypes.Filter]? + /// The filter type. + /// This member is required. + public var filterType: RTBFabricClientTypes.FilterType? + /// The hold back percentage. + /// This member is required. + public var holdbackPercentage: Swift.Float? + + public init( + action: RTBFabricClientTypes.Action? = nil, + filterConfiguration: [RTBFabricClientTypes.Filter]? = nil, + filterType: RTBFabricClientTypes.FilterType? = nil, + holdbackPercentage: Swift.Float? = nil + ) { + self.action = action + self.filterConfiguration = filterConfiguration + self.filterType = filterType + self.holdbackPercentage = holdbackPercentage + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the parameters of a rate limit. + public struct RateLimiterModuleParameters: Swift.Sendable { + /// The transactions per second rate limit. + public var tps: Swift.Float? + + public init( + tps: Swift.Float? = nil + ) { + self.tps = tps + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the parameters of a module. + public enum ModuleParameters: Swift.Sendable { + /// Describes the parameters of a no bid module. + case nobid(RTBFabricClientTypes.NoBidModuleParameters) + /// Describes the parameters of an open RTB attribute module. + case openrtbattribute(RTBFabricClientTypes.OpenRtbAttributeModuleParameters) + /// Describes the parameters of a rate limit. + case ratelimiter(RTBFabricClientTypes.RateLimiterModuleParameters) + case sdkUnknown(Swift.String) + } +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of a module. + public struct ModuleConfiguration: Swift.Sendable { + /// The dependencies of the module. + public var dependsOn: [Swift.String]? + /// Describes the parameters of a module. + public var moduleParameters: RTBFabricClientTypes.ModuleParameters? + /// The name of the module. + /// This member is required. + public var name: Swift.String? + /// The version of the module. + public var version: Swift.String? + + public init( + dependsOn: [Swift.String]? = nil, + moduleParameters: RTBFabricClientTypes.ModuleParameters? = nil, + name: Swift.String? = nil, + version: Swift.String? = nil + ) { + self.dependsOn = dependsOn + self.moduleParameters = moduleParameters + self.name = name + self.version = version + } + } +} + +extension RTBFabricClientTypes { + + public enum LinkStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case accepted + case active + case deleted + case failed + case isolated + case pendingCreation + case pendingDeletion + case pendingIsolation + case pendingRequest + case pendingRestoration + case pendingUpdate + case rejected + case requested + case sdkUnknown(Swift.String) + + public static var allCases: [LinkStatus] { + return [ + .accepted, + .active, + .deleted, + .failed, + .isolated, + .pendingCreation, + .pendingDeletion, + .pendingIsolation, + .pendingRequest, + .pendingRestoration, + .pendingUpdate, + .rejected, + .requested + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .accepted: return "ACCEPTED" + case .active: return "ACTIVE" + case .deleted: return "DELETED" + case .failed: return "FAILED" + case .isolated: return "ISOLATED" + case .pendingCreation: return "PENDING_CREATION" + case .pendingDeletion: return "PENDING_DELETION" + case .pendingIsolation: return "PENDING_ISOLATION" + case .pendingRequest: return "PENDING_REQUEST" + case .pendingRestoration: return "PENDING_RESTORATION" + case .pendingUpdate: return "PENDING_UPDATE" + case .rejected: return "REJECTED" + case .requested: return "REQUESTED" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct AcceptLinkOutput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The timestamp of when the link was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The direction of the link. + public var direction: RTBFabricClientTypes.LinkDirection? + /// The configuration of flow modules. + public var flowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The unique identifier of the peer gateway. + /// This member is required. + public var peerGatewayId: Swift.String? + /// The configuration of pending flow modules. + public var pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The status of the link. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// The timestamp of when the link was updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + createdAt: Foundation.Date? = nil, + direction: RTBFabricClientTypes.LinkDirection? = nil, + flowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + peerGatewayId: Swift.String? = nil, + pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.attributes = attributes + self.createdAt = createdAt + self.direction = direction + self.flowModules = flowModules + self.gatewayId = gatewayId + self.linkId = linkId + self.peerGatewayId = peerGatewayId + self.pendingFlowModules = pendingFlowModules + self.status = status + self.updatedAt = updatedAt + } +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of an auto scaling group. + public struct AutoScalingGroupsConfiguration: Swift.Sendable { + /// The names of the auto scaling group. + /// This member is required. + public var autoScalingGroupNames: [Swift.String]? + /// The role ARN of the auto scaling group. + /// This member is required. + public var roleArn: Swift.String? + + public init( + autoScalingGroupNames: [Swift.String]? = nil, + roleArn: Swift.String? = nil + ) { + self.autoScalingGroupNames = autoScalingGroupNames + self.roleArn = roleArn + } + } +} + +/// The request could not be completed because you exceeded a service quota. +public struct ServiceQuotaExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { + + public struct Properties: Swift.Sendable { + /// This member is required. + public internal(set) var message: Swift.String? = nil + } + + public internal(set) var properties = Properties() + public static var typeName: Swift.String { "ServiceQuotaExceededException" } + public static var fault: ClientRuntime.ErrorFault { .client } + public static var isRetryable: Swift.Bool { false } + public static var isThrottling: Swift.Bool { false } + public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() + public internal(set) var message: Swift.String? + public internal(set) var requestID: Swift.String? + + public init( + message: Swift.String? = nil + ) { + self.properties.message = message + } +} + +public struct CreateInboundExternalLinkInput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + public var tags: [Swift.String: Swift.String]? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + clientToken: Swift.String? = nil, + gatewayId: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.attributes = attributes + self.clientToken = clientToken + self.gatewayId = gatewayId + self.tags = tags + } +} + +public struct CreateInboundExternalLinkOutput: Swift.Sendable { + /// The domain name. + /// This member is required. + public var domainName: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + domainName: Swift.String? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.domainName = domainName + self.gatewayId = gatewayId + self.linkId = linkId + self.status = status + } +} + +public struct CreateLinkInput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// Boolean to specify if an HTTP responder is allowed. + public var httpResponderAllowed: Swift.Bool? + /// Settings for the application logs. + /// This member is required. + public var logSettings: RTBFabricClientTypes.LinkLogSettings? + /// The unique identifier of the peer gateway. + /// This member is required. + public var peerGatewayId: Swift.String? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + public var tags: [Swift.String: Swift.String]? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + gatewayId: Swift.String? = nil, + httpResponderAllowed: Swift.Bool? = nil, + logSettings: RTBFabricClientTypes.LinkLogSettings? = nil, + peerGatewayId: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.attributes = attributes + self.gatewayId = gatewayId + self.httpResponderAllowed = httpResponderAllowed + self.logSettings = logSettings + self.peerGatewayId = peerGatewayId + self.tags = tags + } +} + +public struct CreateLinkOutput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The timestamp of when the link was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The customer-provided unique identifier of the link. + public var customerProvidedId: Swift.String? + /// The direction of the link. + public var direction: RTBFabricClientTypes.LinkDirection? + /// The configuration of flow modules. + public var flowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The unique identifier of the peer gateway. + /// This member is required. + public var peerGatewayId: Swift.String? + /// The configuration of pending flow modules. + public var pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// The timestamp of when the link was updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + createdAt: Foundation.Date? = nil, + customerProvidedId: Swift.String? = nil, + direction: RTBFabricClientTypes.LinkDirection? = nil, + flowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + peerGatewayId: Swift.String? = nil, + pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.attributes = attributes + self.createdAt = createdAt + self.customerProvidedId = customerProvidedId + self.direction = direction + self.flowModules = flowModules + self.gatewayId = gatewayId + self.linkId = linkId + self.peerGatewayId = peerGatewayId + self.pendingFlowModules = pendingFlowModules + self.status = status + self.updatedAt = updatedAt + } +} + +public struct CreateOutboundExternalLinkInput: Swift.Sendable { + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The public endpoint of the link. + /// This member is required. + public var publicEndpoint: Swift.String? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + public var tags: [Swift.String: Swift.String]? + + public init( + clientToken: Swift.String? = nil, + gatewayId: Swift.String? = nil, + publicEndpoint: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.clientToken = clientToken + self.gatewayId = gatewayId + self.publicEndpoint = publicEndpoint + self.tags = tags + } +} + +public struct CreateOutboundExternalLinkOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + self.status = status + } +} + +public struct CreateRequesterGatewayInput: Swift.Sendable { + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// An optional description for the requester gateway. + public var description: Swift.String? + /// The unique identifiers of the security groups. + /// This member is required. + public var securityGroupIds: [Swift.String]? + /// The unique identifiers of the subnets. + /// This member is required. + public var subnetIds: [Swift.String]? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + public var tags: [Swift.String: Swift.String]? + /// The unique identifier of the Virtual Private Cloud (VPC). + /// This member is required. + public var vpcId: Swift.String? + + public init( + clientToken: Swift.String? = nil, + description: Swift.String? = nil, + securityGroupIds: [Swift.String]? = nil, + subnetIds: [Swift.String]? = nil, + tags: [Swift.String: Swift.String]? = nil, + vpcId: Swift.String? = nil + ) { + self.clientToken = clientToken + self.description = description + self.securityGroupIds = securityGroupIds + self.subnetIds = subnetIds + self.tags = tags + self.vpcId = vpcId + } +} + +extension RTBFabricClientTypes { + + public enum RequesterGatewayStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case active + case deleted + case error + case isolated + case pendingCreation + case pendingDeletion + case pendingIsolation + case pendingRestoration + case pendingUpdate + case sdkUnknown(Swift.String) + + public static var allCases: [RequesterGatewayStatus] { + return [ + .active, + .deleted, + .error, + .isolated, + .pendingCreation, + .pendingDeletion, + .pendingIsolation, + .pendingRestoration, + .pendingUpdate + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .active: return "ACTIVE" + case .deleted: return "DELETED" + case .error: return "ERROR" + case .isolated: return "ISOLATED" + case .pendingCreation: return "PENDING_CREATION" + case .pendingDeletion: return "PENDING_DELETION" + case .pendingIsolation: return "PENDING_ISOLATION" + case .pendingRestoration: return "PENDING_RESTORATION" + case .pendingUpdate: return "PENDING_UPDATE" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct CreateRequesterGatewayOutput: Swift.Sendable { + /// The domain name of the requester gateway. + /// This member is required. + public var domainName: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.RequesterGatewayStatus? + + public init( + domainName: Swift.String? = nil, + gatewayId: Swift.String? = nil, + status: RTBFabricClientTypes.RequesterGatewayStatus? = nil + ) { + self.domainName = domainName + self.gatewayId = gatewayId + self.status = status + } +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of an Amazon Elastic Kubernetes Service endpoint. + public struct EksEndpointsConfiguration: Swift.Sendable { + /// The CA certificate chain of the cluster API server. + /// This member is required. + public var clusterApiServerCaCertificateChain: Swift.String? + /// The URI of the cluster API server endpoint. + /// This member is required. + public var clusterApiServerEndpointUri: Swift.String? + /// The name of the cluster. + /// This member is required. + public var clusterName: Swift.String? + /// The name of the endpoint resource. + /// This member is required. + public var endpointsResourceName: Swift.String? + /// The namespace of the endpoint resource. + /// This member is required. + public var endpointsResourceNamespace: Swift.String? + /// The role ARN for the cluster. + /// This member is required. + public var roleArn: Swift.String? + + public init( + clusterApiServerCaCertificateChain: Swift.String? = nil, + clusterApiServerEndpointUri: Swift.String? = nil, + clusterName: Swift.String? = nil, + endpointsResourceName: Swift.String? = nil, + endpointsResourceNamespace: Swift.String? = nil, + roleArn: Swift.String? = nil + ) { + self.clusterApiServerCaCertificateChain = clusterApiServerCaCertificateChain + self.clusterApiServerEndpointUri = clusterApiServerEndpointUri + self.clusterName = clusterName + self.endpointsResourceName = endpointsResourceName + self.endpointsResourceNamespace = endpointsResourceNamespace + self.roleArn = roleArn + } + } +} + +extension RTBFabricClientTypes.EksEndpointsConfiguration: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "EksEndpointsConfiguration(clusterApiServerEndpointUri: \(Swift.String(describing: clusterApiServerEndpointUri)), clusterName: \(Swift.String(describing: clusterName)), endpointsResourceName: \(Swift.String(describing: endpointsResourceName)), endpointsResourceNamespace: \(Swift.String(describing: endpointsResourceNamespace)), roleArn: \(Swift.String(describing: roleArn)), clusterApiServerCaCertificateChain: \"CONTENT_REDACTED\")"} +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of a managed endpoint. + public enum ManagedEndpointConfiguration: Swift.Sendable { + /// Describes the configuration of an auto scaling group. + case autoscalinggroups(RTBFabricClientTypes.AutoScalingGroupsConfiguration) + /// Describes the configuration of an Amazon Elastic Kubernetes Service endpoint. + case eksendpoints(RTBFabricClientTypes.EksEndpointsConfiguration) + case sdkUnknown(Swift.String) + } +} + +extension RTBFabricClientTypes { + + public enum ModelProtocol: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case http + case https + case sdkUnknown(Swift.String) + + public static var allCases: [ModelProtocol] { + return [ + .http, + .https + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .http: return "HTTP" + case .https: return "HTTPS" + case let .sdkUnknown(s): return s + } + } + } +} + +extension RTBFabricClientTypes { + + /// Describes the configuration of a trust store. + public struct TrustStoreConfiguration: Swift.Sendable { + /// The certificate authority certificate. + /// This member is required. + public var certificateAuthorityCertificates: [Swift.String]? + + public init( + certificateAuthorityCertificates: [Swift.String]? = nil + ) { + self.certificateAuthorityCertificates = certificateAuthorityCertificates + } + } +} + +extension RTBFabricClientTypes.TrustStoreConfiguration: Swift.CustomDebugStringConvertible { + public var debugDescription: Swift.String { + "TrustStoreConfiguration(certificateAuthorityCertificates: \"CONTENT_REDACTED\")"} +} + +public struct CreateResponderGatewayInput: Swift.Sendable { + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// An optional description for the responder gateway. + public var description: Swift.String? + /// The domain name for the responder gateway. + public var domainName: Swift.String? + /// The configuration for the managed endpoint. + public var managedEndpointConfiguration: RTBFabricClientTypes.ManagedEndpointConfiguration? + /// The networking port to use. + /// This member is required. + public var port: Swift.Int? + /// The networking protocol to use. + /// This member is required. + public var `protocol`: RTBFabricClientTypes.ModelProtocol? + /// The unique identifiers of the security groups. + /// This member is required. + public var securityGroupIds: [Swift.String]? + /// The unique identifiers of the subnets. + /// This member is required. + public var subnetIds: [Swift.String]? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + public var tags: [Swift.String: Swift.String]? + /// The configuration of the trust store. + public var trustStoreConfiguration: RTBFabricClientTypes.TrustStoreConfiguration? + /// The unique identifier of the Virtual Private Cloud (VPC). + /// This member is required. + public var vpcId: Swift.String? + + public init( + clientToken: Swift.String? = nil, + description: Swift.String? = nil, + domainName: Swift.String? = nil, + managedEndpointConfiguration: RTBFabricClientTypes.ManagedEndpointConfiguration? = nil, + port: Swift.Int? = nil, + `protocol`: RTBFabricClientTypes.ModelProtocol? = nil, + securityGroupIds: [Swift.String]? = nil, + subnetIds: [Swift.String]? = nil, + tags: [Swift.String: Swift.String]? = nil, + trustStoreConfiguration: RTBFabricClientTypes.TrustStoreConfiguration? = nil, + vpcId: Swift.String? = nil + ) { + self.clientToken = clientToken + self.description = description + self.domainName = domainName + self.managedEndpointConfiguration = managedEndpointConfiguration + self.port = port + self.`protocol` = `protocol` + self.securityGroupIds = securityGroupIds + self.subnetIds = subnetIds + self.tags = tags + self.trustStoreConfiguration = trustStoreConfiguration + self.vpcId = vpcId + } +} + +extension RTBFabricClientTypes { + + public enum ResponderGatewayStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case active + case deleted + case error + case isolated + case pendingCreation + case pendingDeletion + case pendingIsolation + case pendingRestoration + case pendingUpdate + case sdkUnknown(Swift.String) + + public static var allCases: [ResponderGatewayStatus] { + return [ + .active, + .deleted, + .error, + .isolated, + .pendingCreation, + .pendingDeletion, + .pendingIsolation, + .pendingRestoration, + .pendingUpdate + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .active: return "ACTIVE" + case .deleted: return "DELETED" + case .error: return "ERROR" + case .isolated: return "ISOLATED" + case .pendingCreation: return "PENDING_CREATION" + case .pendingDeletion: return "PENDING_DELETION" + case .pendingIsolation: return "PENDING_ISOLATION" + case .pendingRestoration: return "PENDING_RESTORATION" + case .pendingUpdate: return "PENDING_UPDATE" + case let .sdkUnknown(s): return s + } + } + } +} + +public struct CreateResponderGatewayOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.ResponderGatewayStatus? + + public init( + gatewayId: Swift.String? = nil, + status: RTBFabricClientTypes.ResponderGatewayStatus? = nil + ) { + self.gatewayId = gatewayId + self.status = status + } +} + +public struct DeleteInboundExternalLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct DeleteInboundExternalLinkOutput: Swift.Sendable { + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.linkId = linkId + self.status = status + } +} + +public struct DeleteLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct DeleteLinkOutput: Swift.Sendable { + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the link. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.linkId = linkId + self.status = status + } +} + +public struct DeleteOutboundExternalLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct DeleteOutboundExternalLinkOutput: Swift.Sendable { + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.linkId = linkId + self.status = status + } +} + +public struct DeleteRequesterGatewayInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + + public init( + gatewayId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + } +} + +public struct DeleteRequesterGatewayOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.RequesterGatewayStatus? + + public init( + gatewayId: Swift.String? = nil, + status: RTBFabricClientTypes.RequesterGatewayStatus? = nil + ) { + self.gatewayId = gatewayId + self.status = status + } +} + +public struct DeleteResponderGatewayInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + + public init( + gatewayId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + } +} + +public struct DeleteResponderGatewayOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.ResponderGatewayStatus? + + public init( + gatewayId: Swift.String? = nil, + status: RTBFabricClientTypes.ResponderGatewayStatus? = nil + ) { + self.gatewayId = gatewayId + self.status = status + } +} + +public struct GetLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct GetLinkOutput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The timestamp of when the link was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The direction of the link. + public var direction: RTBFabricClientTypes.LinkDirection? + /// The configuration of flow modules. + public var flowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// Settings for the application logs. + public var logSettings: RTBFabricClientTypes.LinkLogSettings? + /// The unique identifier of the peer gateway. + /// This member is required. + public var peerGatewayId: Swift.String? + /// The configuration of pending flow modules. + public var pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The status of the link. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// A map of the key-value pairs for the tag or tags assigned to the specified resource. + public var tags: [Swift.String: Swift.String]? + /// The timestamp of when the link was updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + createdAt: Foundation.Date? = nil, + direction: RTBFabricClientTypes.LinkDirection? = nil, + flowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + logSettings: RTBFabricClientTypes.LinkLogSettings? = nil, + peerGatewayId: Swift.String? = nil, + pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + tags: [Swift.String: Swift.String]? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.attributes = attributes + self.createdAt = createdAt + self.direction = direction + self.flowModules = flowModules + self.gatewayId = gatewayId + self.linkId = linkId + self.logSettings = logSettings + self.peerGatewayId = peerGatewayId + self.pendingFlowModules = pendingFlowModules + self.status = status + self.tags = tags + self.updatedAt = updatedAt + } +} + +public struct ListLinksInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum. + public var maxResults: Swift.Int? + /// If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + public var nextToken: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +extension RTBFabricClientTypes { + + /// Describes a link. + public struct ListLinksResponseStructure: Swift.Sendable { + /// Describes attributes of a link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The timestamp of when the link was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The direction of the link. + public var direction: RTBFabricClientTypes.LinkDirection? + /// Describes the configuration of flow modules. + public var flowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The unique identifier of the peer gateway. + /// This member is required. + public var peerGatewayId: Swift.String? + /// Describes the configuration of pending flow modules. + public var pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The status of the link. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + public var tags: [Swift.String: Swift.String]? + /// The timestamp of when the link was updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + createdAt: Foundation.Date? = nil, + direction: RTBFabricClientTypes.LinkDirection? = nil, + flowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + peerGatewayId: Swift.String? = nil, + pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + tags: [Swift.String: Swift.String]? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.attributes = attributes + self.createdAt = createdAt + self.direction = direction + self.flowModules = flowModules + self.gatewayId = gatewayId + self.linkId = linkId + self.peerGatewayId = peerGatewayId + self.pendingFlowModules = pendingFlowModules + self.status = status + self.tags = tags + self.updatedAt = updatedAt + } + } +} + +public struct ListLinksOutput: Swift.Sendable { + /// Information about created links. + public var links: [RTBFabricClientTypes.ListLinksResponseStructure]? + /// If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + public var nextToken: Swift.String? + + public init( + links: [RTBFabricClientTypes.ListLinksResponseStructure]? = nil, + nextToken: Swift.String? = nil + ) { + self.links = links + self.nextToken = nextToken + } +} + +public struct RejectLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct RejectLinkOutput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The timestamp of when the link was created. + /// This member is required. + public var createdAt: Foundation.Date? + /// The direction of the link. + public var direction: RTBFabricClientTypes.LinkDirection? + /// The configuration of flow modules. + public var flowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The unique identifier of the peer gateway. + /// This member is required. + public var peerGatewayId: Swift.String? + /// The configuration of pending flow modules. + public var pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The status of the link. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// The timestamp of when the link was updated. + /// This member is required. + public var updatedAt: Foundation.Date? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + createdAt: Foundation.Date? = nil, + direction: RTBFabricClientTypes.LinkDirection? = nil, + flowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + peerGatewayId: Swift.String? = nil, + pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.attributes = attributes + self.createdAt = createdAt + self.direction = direction + self.flowModules = flowModules + self.gatewayId = gatewayId + self.linkId = linkId + self.peerGatewayId = peerGatewayId + self.pendingFlowModules = pendingFlowModules + self.status = status + self.updatedAt = updatedAt + } +} + +public struct UpdateLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// Settings for the application logs. + public var logSettings: RTBFabricClientTypes.LinkLogSettings? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + logSettings: RTBFabricClientTypes.LinkLogSettings? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + self.logSettings = logSettings + } +} + +public struct UpdateLinkOutput: Swift.Sendable { + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.linkId = linkId + self.status = status + } +} + +public struct UpdateLinkModuleFlowInput: Swift.Sendable { + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The configuration of a module. + /// This member is required. + public var modules: [RTBFabricClientTypes.ModuleConfiguration]? + + public init( + clientToken: Swift.String? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + modules: [RTBFabricClientTypes.ModuleConfiguration]? = nil + ) { + self.clientToken = clientToken + self.gatewayId = gatewayId + self.linkId = linkId + self.modules = modules + } +} + +public struct UpdateLinkModuleFlowOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + self.status = status + } +} + +public struct GetInboundExternalLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct GetInboundExternalLinkOutput: Swift.Sendable { + /// Attributes of the link. + public var attributes: RTBFabricClientTypes.LinkAttributes? + /// The timestamp of when the inbound external link was created. + public var createdAt: Foundation.Date? + /// The domain name. + /// This member is required. + public var domainName: Swift.String? + /// The configuration of flow modules. + public var flowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The configuration of pending flow modules. + public var pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// A map of the key-value pairs for the tag or tags assigned to the specified resource. + public var tags: [Swift.String: Swift.String]? + /// The timestamp of when the inbound external link was updated. + public var updatedAt: Foundation.Date? + + public init( + attributes: RTBFabricClientTypes.LinkAttributes? = nil, + createdAt: Foundation.Date? = nil, + domainName: Swift.String? = nil, + flowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + pendingFlowModules: [RTBFabricClientTypes.ModuleConfiguration]? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + tags: [Swift.String: Swift.String]? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.attributes = attributes + self.createdAt = createdAt + self.domainName = domainName + self.flowModules = flowModules + self.gatewayId = gatewayId + self.linkId = linkId + self.pendingFlowModules = pendingFlowModules + self.status = status + self.tags = tags + self.updatedAt = updatedAt + } +} + +public struct GetOutboundExternalLinkInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + + public init( + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + self.linkId = linkId + } +} + +public struct GetOutboundExternalLinkOutput: Swift.Sendable { + /// The timestamp of when the outbound external link was created. + public var createdAt: Foundation.Date? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifier of the link. + /// This member is required. + public var linkId: Swift.String? + /// The public endpoint for the link. + /// This member is required. + public var publicEndpoint: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.LinkStatus? + /// A map of the key-value pairs for the tag or tags assigned to the specified resource. + public var tags: [Swift.String: Swift.String]? + /// The timestamp of when the outbound external link was updated. + public var updatedAt: Foundation.Date? + + public init( + createdAt: Foundation.Date? = nil, + gatewayId: Swift.String? = nil, + linkId: Swift.String? = nil, + publicEndpoint: Swift.String? = nil, + status: RTBFabricClientTypes.LinkStatus? = nil, + tags: [Swift.String: Swift.String]? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.createdAt = createdAt + self.gatewayId = gatewayId + self.linkId = linkId + self.publicEndpoint = publicEndpoint + self.status = status + self.tags = tags + self.updatedAt = updatedAt + } +} + +public struct GetRequesterGatewayInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + + public init( + gatewayId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + } +} + +public struct GetRequesterGatewayOutput: Swift.Sendable { + /// The count of active links for the requester gateway. + public var activeLinksCount: Swift.Int? + /// The timestamp of when the requester gateway was created. + public var createdAt: Foundation.Date? + /// The description of the requester gateway. + public var description: Swift.String? + /// The domain name of the requester gateway. + /// This member is required. + public var domainName: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The unique identifiers of the security groups. + /// This member is required. + public var securityGroupIds: [Swift.String]? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.RequesterGatewayStatus? + /// The unique identifiers of the subnets. + /// This member is required. + public var subnetIds: [Swift.String]? + /// A map of the key-value pairs for the tag or tags assigned to the specified resource. + public var tags: [Swift.String: Swift.String]? + /// The total count of links for the requester gateway. + public var totalLinksCount: Swift.Int? + /// The timestamp of when the requester gateway was updated. + public var updatedAt: Foundation.Date? + /// The unique identifier of the Virtual Private Cloud (VPC). + /// This member is required. + public var vpcId: Swift.String? + + public init( + activeLinksCount: Swift.Int? = nil, + createdAt: Foundation.Date? = nil, + description: Swift.String? = nil, + domainName: Swift.String? = nil, + gatewayId: Swift.String? = nil, + securityGroupIds: [Swift.String]? = nil, + status: RTBFabricClientTypes.RequesterGatewayStatus? = nil, + subnetIds: [Swift.String]? = nil, + tags: [Swift.String: Swift.String]? = nil, + totalLinksCount: Swift.Int? = nil, + updatedAt: Foundation.Date? = nil, + vpcId: Swift.String? = nil + ) { + self.activeLinksCount = activeLinksCount + self.createdAt = createdAt + self.description = description + self.domainName = domainName + self.gatewayId = gatewayId + self.securityGroupIds = securityGroupIds + self.status = status + self.subnetIds = subnetIds + self.tags = tags + self.totalLinksCount = totalLinksCount + self.updatedAt = updatedAt + self.vpcId = vpcId + } +} + +public struct GetResponderGatewayInput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + + public init( + gatewayId: Swift.String? = nil + ) { + self.gatewayId = gatewayId + } +} + +public struct GetResponderGatewayOutput: Swift.Sendable { + /// The count of active links for the responder gateway. + public var activeLinksCount: Swift.Int? + /// The timestamp of when the responder gateway was created. + public var createdAt: Foundation.Date? + /// The description of the responder gateway. + public var description: Swift.String? + /// The domain name of the responder gateway. + public var domainName: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The count of inbound links for the responder gateway. + public var inboundLinksCount: Swift.Int? + /// The configuration of the managed endpoint. + public var managedEndpointConfiguration: RTBFabricClientTypes.ManagedEndpointConfiguration? + /// The networking port. + /// This member is required. + public var port: Swift.Int? + /// The networking protocol. + /// This member is required. + public var `protocol`: RTBFabricClientTypes.ModelProtocol? + /// The unique identifiers of the security groups. + /// This member is required. + public var securityGroupIds: [Swift.String]? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.ResponderGatewayStatus? + /// The unique identifiers of the subnets. + /// This member is required. + public var subnetIds: [Swift.String]? + /// A map of the key-value pairs for the tag or tags assigned to the specified resource. + public var tags: [Swift.String: Swift.String]? + /// The total count of links for the responder gateway. + public var totalLinksCount: Swift.Int? + /// The configuration of the trust store. + public var trustStoreConfiguration: RTBFabricClientTypes.TrustStoreConfiguration? + /// The timestamp of when the responder gateway was updated. + public var updatedAt: Foundation.Date? + /// The unique identifier of the Virtual Private Cloud (VPC). + /// This member is required. + public var vpcId: Swift.String? + + public init( + activeLinksCount: Swift.Int? = nil, + createdAt: Foundation.Date? = nil, + description: Swift.String? = nil, + domainName: Swift.String? = nil, + gatewayId: Swift.String? = nil, + inboundLinksCount: Swift.Int? = nil, + managedEndpointConfiguration: RTBFabricClientTypes.ManagedEndpointConfiguration? = nil, + port: Swift.Int? = nil, + `protocol`: RTBFabricClientTypes.ModelProtocol? = nil, + securityGroupIds: [Swift.String]? = nil, + status: RTBFabricClientTypes.ResponderGatewayStatus? = nil, + subnetIds: [Swift.String]? = nil, + tags: [Swift.String: Swift.String]? = nil, + totalLinksCount: Swift.Int? = nil, + trustStoreConfiguration: RTBFabricClientTypes.TrustStoreConfiguration? = nil, + updatedAt: Foundation.Date? = nil, + vpcId: Swift.String? = nil + ) { + self.activeLinksCount = activeLinksCount + self.createdAt = createdAt + self.description = description + self.domainName = domainName + self.gatewayId = gatewayId + self.inboundLinksCount = inboundLinksCount + self.managedEndpointConfiguration = managedEndpointConfiguration + self.port = port + self.`protocol` = `protocol` + self.securityGroupIds = securityGroupIds + self.status = status + self.subnetIds = subnetIds + self.tags = tags + self.totalLinksCount = totalLinksCount + self.trustStoreConfiguration = trustStoreConfiguration + self.updatedAt = updatedAt + self.vpcId = vpcId + } +} + +public struct ListRequesterGatewaysInput: Swift.Sendable { + /// The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum. + public var maxResults: Swift.Int? + /// If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + public var nextToken: Swift.String? + + public init( + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +public struct ListRequesterGatewaysOutput: Swift.Sendable { + /// The unique identifier of the gateways. + public var gatewayIds: [Swift.String]? + /// If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + public var nextToken: Swift.String? + + public init( + gatewayIds: [Swift.String]? = nil, + nextToken: Swift.String? = nil + ) { + self.gatewayIds = gatewayIds + self.nextToken = nextToken + } +} + +public struct ListResponderGatewaysInput: Swift.Sendable { + /// The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum. + public var maxResults: Swift.Int? + /// If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + public var nextToken: Swift.String? + + public init( + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil + ) { + self.maxResults = maxResults + self.nextToken = nextToken + } +} + +public struct ListResponderGatewaysOutput: Swift.Sendable { + /// The unique identifier of the gateways. + public var gatewayIds: [Swift.String]? + /// If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error. + public var nextToken: Swift.String? + + public init( + gatewayIds: [Swift.String]? = nil, + nextToken: Swift.String? = nil + ) { + self.gatewayIds = gatewayIds + self.nextToken = nextToken + } +} + +public struct ListTagsForResourceInput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags. + /// This member is required. + public var resourceArn: Swift.String? + + public init( + resourceArn: Swift.String? = nil + ) { + self.resourceArn = resourceArn + } +} + +public struct ListTagsForResourceOutput: Swift.Sendable { + /// A map of the key-value pairs for the tag or tags assigned to the specified resource. + public var tags: [Swift.String: Swift.String]? + + public init( + tags: [Swift.String: Swift.String]? = nil + ) { + self.tags = tags + } +} + +public struct UpdateRequesterGatewayInput: Swift.Sendable { + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// An optional description for the requester gateway. + public var description: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + + public init( + clientToken: Swift.String? = nil, + description: Swift.String? = nil, + gatewayId: Swift.String? = nil + ) { + self.clientToken = clientToken + self.description = description + self.gatewayId = gatewayId + } +} + +public struct UpdateRequesterGatewayOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.RequesterGatewayStatus? + + public init( + gatewayId: Swift.String? = nil, + status: RTBFabricClientTypes.RequesterGatewayStatus? = nil + ) { + self.gatewayId = gatewayId + self.status = status + } +} + +public struct UpdateResponderGatewayInput: Swift.Sendable { + /// The unique client token. + /// This member is required. + public var clientToken: Swift.String? + /// An optional description for the responder gateway. + public var description: Swift.String? + /// The domain name for the responder gateway. + public var domainName: Swift.String? + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The configuration for the managed endpoint. + public var managedEndpointConfiguration: RTBFabricClientTypes.ManagedEndpointConfiguration? + /// The networking port to use. + /// This member is required. + public var port: Swift.Int? + /// The networking protocol to use. + /// This member is required. + public var `protocol`: RTBFabricClientTypes.ModelProtocol? + /// The configuration of the trust store. + public var trustStoreConfiguration: RTBFabricClientTypes.TrustStoreConfiguration? + + public init( + clientToken: Swift.String? = nil, + description: Swift.String? = nil, + domainName: Swift.String? = nil, + gatewayId: Swift.String? = nil, + managedEndpointConfiguration: RTBFabricClientTypes.ManagedEndpointConfiguration? = nil, + port: Swift.Int? = nil, + `protocol`: RTBFabricClientTypes.ModelProtocol? = nil, + trustStoreConfiguration: RTBFabricClientTypes.TrustStoreConfiguration? = nil + ) { + self.clientToken = clientToken + self.description = description + self.domainName = domainName + self.gatewayId = gatewayId + self.managedEndpointConfiguration = managedEndpointConfiguration + self.port = port + self.`protocol` = `protocol` + self.trustStoreConfiguration = trustStoreConfiguration + } +} + +public struct UpdateResponderGatewayOutput: Swift.Sendable { + /// The unique identifier of the gateway. + /// This member is required. + public var gatewayId: Swift.String? + /// The status of the request. + /// This member is required. + public var status: RTBFabricClientTypes.ResponderGatewayStatus? + + public init( + gatewayId: Swift.String? = nil, + status: RTBFabricClientTypes.ResponderGatewayStatus? = nil + ) { + self.gatewayId = gatewayId + self.status = status + } +} + +public struct TagResourceInput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the resource that you want to tag. + /// This member is required. + public var resourceArn: Swift.String? + /// A map of the key-value pairs of the tag or tags to assign to the resource. + /// This member is required. + public var tags: [Swift.String: Swift.String]? + + public init( + resourceArn: Swift.String? = nil, + tags: [Swift.String: Swift.String]? = nil + ) { + self.resourceArn = resourceArn + self.tags = tags + } +} + +public struct TagResourceOutput: Swift.Sendable { + + public init() { } +} + +public struct UntagResourceInput: Swift.Sendable { + /// The Amazon Resource Name (ARN) of the resource that you want to untag. + /// This member is required. + public var resourceArn: Swift.String? + /// The keys of the key-value pairs for the tag or tags you want to remove from the specified resource. + /// This member is required. + public var tagKeys: [Swift.String]? + + public init( + resourceArn: Swift.String? = nil, + tagKeys: [Swift.String]? = nil + ) { + self.resourceArn = resourceArn + self.tagKeys = tagKeys + } +} + +public struct UntagResourceOutput: Swift.Sendable { + + public init() { } +} + +extension AcceptLinkInput { + + static func urlPathProvider(_ value: AcceptLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/link/\(linkId.urlPercentEncoding())/accept" + } +} + +extension CreateInboundExternalLinkInput { + + static func urlPathProvider(_ value: CreateInboundExternalLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/responder-gateway/\(gatewayId.urlPercentEncoding())/inbound-external-link" + } +} + +extension CreateLinkInput { + + static func urlPathProvider(_ value: CreateLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/create-link" + } +} + +extension CreateOutboundExternalLinkInput { + + static func urlPathProvider(_ value: CreateOutboundExternalLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/requester-gateway/\(gatewayId.urlPercentEncoding())/outbound-external-link" + } +} + +extension CreateRequesterGatewayInput { + + static func urlPathProvider(_ value: CreateRequesterGatewayInput) -> Swift.String? { + return "/requester-gateway" + } +} + +extension CreateResponderGatewayInput { + + static func urlPathProvider(_ value: CreateResponderGatewayInput) -> Swift.String? { + return "/responder-gateway" + } +} + +extension DeleteInboundExternalLinkInput { + + static func urlPathProvider(_ value: DeleteInboundExternalLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/responder-gateway/\(gatewayId.urlPercentEncoding())/inbound-external-link/\(linkId.urlPercentEncoding())" + } +} + +extension DeleteLinkInput { + + static func urlPathProvider(_ value: DeleteLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/link/\(linkId.urlPercentEncoding())" + } +} + +extension DeleteOutboundExternalLinkInput { + + static func urlPathProvider(_ value: DeleteOutboundExternalLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/requester-gateway/\(gatewayId.urlPercentEncoding())/outbound-external-link/\(linkId.urlPercentEncoding())" + } +} + +extension DeleteRequesterGatewayInput { + + static func urlPathProvider(_ value: DeleteRequesterGatewayInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/requester-gateway/\(gatewayId.urlPercentEncoding())" + } +} + +extension DeleteResponderGatewayInput { + + static func urlPathProvider(_ value: DeleteResponderGatewayInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/responder-gateway/\(gatewayId.urlPercentEncoding())" + } +} + +extension GetInboundExternalLinkInput { + + static func urlPathProvider(_ value: GetInboundExternalLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/responder-gateway/\(gatewayId.urlPercentEncoding())/inbound-external-link/\(linkId.urlPercentEncoding())" + } +} + +extension GetLinkInput { + + static func urlPathProvider(_ value: GetLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/link/\(linkId.urlPercentEncoding())" + } +} + +extension GetOutboundExternalLinkInput { + + static func urlPathProvider(_ value: GetOutboundExternalLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/requester-gateway/\(gatewayId.urlPercentEncoding())/outbound-external-link/\(linkId.urlPercentEncoding())" + } +} + +extension GetRequesterGatewayInput { + + static func urlPathProvider(_ value: GetRequesterGatewayInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/requester-gateway/\(gatewayId.urlPercentEncoding())" + } +} + +extension GetResponderGatewayInput { + + static func urlPathProvider(_ value: GetResponderGatewayInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/responder-gateway/\(gatewayId.urlPercentEncoding())" + } +} + +extension ListLinksInput { + + static func urlPathProvider(_ value: ListLinksInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/links" + } +} + +extension ListLinksInput { + + static func queryItemProvider(_ value: ListLinksInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + return items + } +} + +extension ListRequesterGatewaysInput { + + static func urlPathProvider(_ value: ListRequesterGatewaysInput) -> Swift.String? { + return "/requester-gateways" + } +} + +extension ListRequesterGatewaysInput { + + static func queryItemProvider(_ value: ListRequesterGatewaysInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + return items + } +} + +extension ListResponderGatewaysInput { + + static func urlPathProvider(_ value: ListResponderGatewaysInput) -> Swift.String? { + return "/responder-gateways" + } +} + +extension ListResponderGatewaysInput { + + static func queryItemProvider(_ value: ListResponderGatewaysInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + if let maxResults = value.maxResults { + let maxResultsQueryItem = Smithy.URIQueryItem(name: "maxResults".urlPercentEncoding(), value: Swift.String(maxResults).urlPercentEncoding()) + items.append(maxResultsQueryItem) + } + if let nextToken = value.nextToken { + let nextTokenQueryItem = Smithy.URIQueryItem(name: "nextToken".urlPercentEncoding(), value: Swift.String(nextToken).urlPercentEncoding()) + items.append(nextTokenQueryItem) + } + return items + } +} + +extension ListTagsForResourceInput { + + static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { + guard let resourceArn = value.resourceArn else { + return nil + } + return "/tags/\(resourceArn.urlPercentEncoding())" + } +} + +extension RejectLinkInput { + + static func urlPathProvider(_ value: RejectLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/link/\(linkId.urlPercentEncoding())/reject" + } +} + +extension TagResourceInput { + + static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { + guard let resourceArn = value.resourceArn else { + return nil + } + return "/tags/\(resourceArn.urlPercentEncoding())" + } +} + +extension UntagResourceInput { + + static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { + guard let resourceArn = value.resourceArn else { + return nil + } + return "/tags/\(resourceArn.urlPercentEncoding())" + } +} + +extension UntagResourceInput { + + static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { + var items = [Smithy.URIQueryItem]() + guard let tagKeys = value.tagKeys else { + let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." + throw Smithy.ClientError.unknownError(message) + } + tagKeys.forEach { queryItemValue in + let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) + items.append(queryItem) + } + return items + } +} + +extension UpdateLinkInput { + + static func urlPathProvider(_ value: UpdateLinkInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/link/\(linkId.urlPercentEncoding())" + } +} + +extension UpdateLinkModuleFlowInput { + + static func urlPathProvider(_ value: UpdateLinkModuleFlowInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + guard let linkId = value.linkId else { + return nil + } + return "/gateway/\(gatewayId.urlPercentEncoding())/link/\(linkId.urlPercentEncoding())/module-flow" + } +} + +extension UpdateRequesterGatewayInput { + + static func urlPathProvider(_ value: UpdateRequesterGatewayInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/requester-gateway/\(gatewayId.urlPercentEncoding())/update" + } +} + +extension UpdateResponderGatewayInput { + + static func urlPathProvider(_ value: UpdateResponderGatewayInput) -> Swift.String? { + guard let gatewayId = value.gatewayId else { + return nil + } + return "/responder-gateway/\(gatewayId.urlPercentEncoding())/update" + } +} + +extension AcceptLinkInput { + + static func write(value: AcceptLinkInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["attributes"].write(value.attributes, with: RTBFabricClientTypes.LinkAttributes.write(value:to:)) + try writer["logSettings"].write(value.logSettings, with: RTBFabricClientTypes.LinkLogSettings.write(value:to:)) + } +} + +extension CreateInboundExternalLinkInput { + + static func write(value: CreateInboundExternalLinkInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["attributes"].write(value.attributes, with: RTBFabricClientTypes.LinkAttributes.write(value:to:)) + try writer["clientToken"].write(value.clientToken) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + } +} + +extension CreateLinkInput { + + static func write(value: CreateLinkInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["attributes"].write(value.attributes, with: RTBFabricClientTypes.LinkAttributes.write(value:to:)) + try writer["httpResponderAllowed"].write(value.httpResponderAllowed) + try writer["logSettings"].write(value.logSettings, with: RTBFabricClientTypes.LinkLogSettings.write(value:to:)) + try writer["peerGatewayId"].write(value.peerGatewayId) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + } +} + +extension CreateOutboundExternalLinkInput { + + static func write(value: CreateOutboundExternalLinkInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["publicEndpoint"].write(value.publicEndpoint) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + } +} + +extension CreateRequesterGatewayInput { + + static func write(value: CreateRequesterGatewayInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["description"].write(value.description) + try writer["securityGroupIds"].writeList(value.securityGroupIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["subnetIds"].writeList(value.subnetIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + try writer["vpcId"].write(value.vpcId) + } +} + +extension CreateResponderGatewayInput { + + static func write(value: CreateResponderGatewayInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["description"].write(value.description) + try writer["domainName"].write(value.domainName) + try writer["managedEndpointConfiguration"].write(value.managedEndpointConfiguration, with: RTBFabricClientTypes.ManagedEndpointConfiguration.write(value:to:)) + try writer["port"].write(value.port) + try writer["protocol"].write(value.`protocol`) + try writer["securityGroupIds"].writeList(value.securityGroupIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["subnetIds"].writeList(value.subnetIds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + try writer["trustStoreConfiguration"].write(value.trustStoreConfiguration, with: RTBFabricClientTypes.TrustStoreConfiguration.write(value:to:)) + try writer["vpcId"].write(value.vpcId) + } +} + +extension TagResourceInput { + + static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + } +} + +extension UpdateLinkInput { + + static func write(value: UpdateLinkInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["logSettings"].write(value.logSettings, with: RTBFabricClientTypes.LinkLogSettings.write(value:to:)) + } +} + +extension UpdateLinkModuleFlowInput { + + static func write(value: UpdateLinkModuleFlowInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["modules"].writeList(value.modules, memberWritingClosure: RTBFabricClientTypes.ModuleConfiguration.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } +} + +extension UpdateRequesterGatewayInput { + + static func write(value: UpdateRequesterGatewayInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["description"].write(value.description) + } +} + +extension UpdateResponderGatewayInput { + + static func write(value: UpdateResponderGatewayInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clientToken"].write(value.clientToken) + try writer["description"].write(value.description) + try writer["domainName"].write(value.domainName) + try writer["managedEndpointConfiguration"].write(value.managedEndpointConfiguration, with: RTBFabricClientTypes.ManagedEndpointConfiguration.write(value:to:)) + try writer["port"].write(value.port) + try writer["protocol"].write(value.`protocol`) + try writer["trustStoreConfiguration"].write(value.trustStoreConfiguration, with: RTBFabricClientTypes.TrustStoreConfiguration.write(value:to:)) + } +} + +extension AcceptLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> AcceptLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = AcceptLinkOutput() + value.attributes = try reader["attributes"].readIfPresent(with: RTBFabricClientTypes.LinkAttributes.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.direction = try reader["direction"].readIfPresent() + value.flowModules = try reader["flowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.peerGatewayId = try reader["peerGatewayId"].readIfPresent() ?? "" + value.pendingFlowModules = try reader["pendingFlowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + +extension CreateInboundExternalLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateInboundExternalLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateInboundExternalLinkOutput() + value.domainName = try reader["domainName"].readIfPresent() ?? "" + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension CreateLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateLinkOutput() + value.attributes = try reader["attributes"].readIfPresent(with: RTBFabricClientTypes.LinkAttributes.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.customerProvidedId = try reader["customerProvidedId"].readIfPresent() + value.direction = try reader["direction"].readIfPresent() + value.flowModules = try reader["flowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.peerGatewayId = try reader["peerGatewayId"].readIfPresent() ?? "" + value.pendingFlowModules = try reader["pendingFlowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + +extension CreateOutboundExternalLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateOutboundExternalLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateOutboundExternalLinkOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension CreateRequesterGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateRequesterGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateRequesterGatewayOutput() + value.domainName = try reader["domainName"].readIfPresent() ?? "" + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension CreateResponderGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateResponderGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = CreateResponderGatewayOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension DeleteInboundExternalLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteInboundExternalLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DeleteInboundExternalLinkOutput() + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension DeleteLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DeleteLinkOutput() + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension DeleteOutboundExternalLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteOutboundExternalLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DeleteOutboundExternalLinkOutput() + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension DeleteRequesterGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteRequesterGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DeleteRequesterGatewayOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension DeleteResponderGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteResponderGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = DeleteResponderGatewayOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension GetInboundExternalLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetInboundExternalLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetInboundExternalLinkOutput() + value.attributes = try reader["attributes"].readIfPresent(with: RTBFabricClientTypes.LinkAttributes.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.domainName = try reader["domainName"].readIfPresent() ?? "" + value.flowModules = try reader["flowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.pendingFlowModules = try reader["pendingFlowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + return value + } +} + +extension GetLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetLinkOutput() + value.attributes = try reader["attributes"].readIfPresent(with: RTBFabricClientTypes.LinkAttributes.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.direction = try reader["direction"].readIfPresent() + value.flowModules = try reader["flowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.logSettings = try reader["logSettings"].readIfPresent(with: RTBFabricClientTypes.LinkLogSettings.read(from:)) + value.peerGatewayId = try reader["peerGatewayId"].readIfPresent() ?? "" + value.pendingFlowModules = try reader["pendingFlowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + +extension GetOutboundExternalLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetOutboundExternalLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetOutboundExternalLinkOutput() + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.publicEndpoint = try reader["publicEndpoint"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + return value + } +} + +extension GetRequesterGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetRequesterGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetRequesterGatewayOutput() + value.activeLinksCount = try reader["activeLinksCount"].readIfPresent() + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.description = try reader["description"].readIfPresent() + value.domainName = try reader["domainName"].readIfPresent() ?? "" + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.securityGroupIds = try reader["securityGroupIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.subnetIds = try reader["subnetIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.totalLinksCount = try reader["totalLinksCount"].readIfPresent() + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.vpcId = try reader["vpcId"].readIfPresent() ?? "" + return value + } +} + +extension GetResponderGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetResponderGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = GetResponderGatewayOutput() + value.activeLinksCount = try reader["activeLinksCount"].readIfPresent() + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.description = try reader["description"].readIfPresent() + value.domainName = try reader["domainName"].readIfPresent() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.inboundLinksCount = try reader["inboundLinksCount"].readIfPresent() + value.managedEndpointConfiguration = try reader["managedEndpointConfiguration"].readIfPresent(with: RTBFabricClientTypes.ManagedEndpointConfiguration.read(from:)) + value.port = try reader["port"].readIfPresent() ?? 0 + value.`protocol` = try reader["protocol"].readIfPresent() ?? .sdkUnknown("") + value.securityGroupIds = try reader["securityGroupIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.subnetIds = try reader["subnetIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + value.totalLinksCount = try reader["totalLinksCount"].readIfPresent() + value.trustStoreConfiguration = try reader["trustStoreConfiguration"].readIfPresent(with: RTBFabricClientTypes.TrustStoreConfiguration.read(from:)) + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) + value.vpcId = try reader["vpcId"].readIfPresent() ?? "" + return value + } +} + +extension ListLinksOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListLinksOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListLinksOutput() + value.links = try reader["links"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ListLinksResponseStructure.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + +extension ListRequesterGatewaysOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListRequesterGatewaysOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListRequesterGatewaysOutput() + value.gatewayIds = try reader["gatewayIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + +extension ListResponderGatewaysOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListResponderGatewaysOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListResponderGatewaysOutput() + value.gatewayIds = try reader["gatewayIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.nextToken = try reader["nextToken"].readIfPresent() + return value + } +} + +extension ListTagsForResourceOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = ListTagsForResourceOutput() + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + return value + } +} + +extension RejectLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> RejectLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = RejectLinkOutput() + value.attributes = try reader["attributes"].readIfPresent(with: RTBFabricClientTypes.LinkAttributes.read(from:)) + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.direction = try reader["direction"].readIfPresent() + value.flowModules = try reader["flowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.peerGatewayId = try reader["peerGatewayId"].readIfPresent() ?? "" + value.pendingFlowModules = try reader["pendingFlowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + return value + } +} + +extension TagResourceOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { + return TagResourceOutput() + } +} + +extension UntagResourceOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { + return UntagResourceOutput() + } +} + +extension UpdateLinkOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateLinkOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = UpdateLinkOutput() + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension UpdateLinkModuleFlowOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateLinkModuleFlowOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = UpdateLinkModuleFlowOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension UpdateRequesterGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateRequesterGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = UpdateRequesterGatewayOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +extension UpdateResponderGatewayOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateResponderGatewayOutput { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let reader = responseReader + var value = UpdateResponderGatewayOutput() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + return value + } +} + +enum AcceptLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateInboundExternalLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateOutboundExternalLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateRequesterGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum CreateResponderGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DeleteInboundExternalLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DeleteLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DeleteOutboundExternalLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DeleteRequesterGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum DeleteResponderGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetInboundExternalLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetOutboundExternalLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetRequesterGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum GetResponderGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum ListLinksOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum ListRequesterGatewaysOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum ListResponderGatewaysOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum ListTagsForResourceOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum RejectLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum TagResourceOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum UntagResourceOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum UpdateLinkOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum UpdateLinkModuleFlowOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ServiceQuotaExceededException": return try ServiceQuotaExceededException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum UpdateRequesterGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +enum UpdateResponderGatewayOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "AccessDeniedException": return try AccessDeniedException.makeError(baseError: baseError) + case "ConflictException": return try ConflictException.makeError(baseError: baseError) + case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) + case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) + case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) + case "ValidationException": return try ValidationException.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + +extension AccessDeniedException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> AccessDeniedException { + let reader = baseError.errorBodyReader + var value = AccessDeniedException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension ConflictException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ConflictException { + let reader = baseError.errorBodyReader + var value = ConflictException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension InternalServerException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { + let reader = baseError.errorBodyReader + var value = InternalServerException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension ResourceNotFoundException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { + let reader = baseError.errorBodyReader + var value = ResourceNotFoundException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension ThrottlingException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { + let reader = baseError.errorBodyReader + var value = ThrottlingException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension ValidationException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ValidationException { + let reader = baseError.errorBodyReader + var value = ValidationException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension ServiceQuotaExceededException { + + static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceQuotaExceededException { + let reader = baseError.errorBodyReader + var value = ServiceQuotaExceededException() + value.properties.message = try reader["message"].readIfPresent() ?? "" + value.httpResponse = baseError.httpResponse + value.requestID = baseError.requestID + value.message = baseError.message + return value + } +} + +extension RTBFabricClientTypes.ModuleConfiguration { + + static func write(value: RTBFabricClientTypes.ModuleConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["dependsOn"].writeList(value.dependsOn, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["moduleParameters"].write(value.moduleParameters, with: RTBFabricClientTypes.ModuleParameters.write(value:to:)) + try writer["name"].write(value.name) + try writer["version"].write(value.version) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.ModuleConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.ModuleConfiguration() + value.version = try reader["version"].readIfPresent() + value.name = try reader["name"].readIfPresent() ?? "" + value.dependsOn = try reader["dependsOn"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.moduleParameters = try reader["moduleParameters"].readIfPresent(with: RTBFabricClientTypes.ModuleParameters.read(from:)) + return value + } +} + +extension RTBFabricClientTypes.ModuleParameters { + + static func write(value: RTBFabricClientTypes.ModuleParameters?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .nobid(nobid): + try writer["noBid"].write(nobid, with: RTBFabricClientTypes.NoBidModuleParameters.write(value:to:)) + case let .openrtbattribute(openrtbattribute): + try writer["openRtbAttribute"].write(openrtbattribute, with: RTBFabricClientTypes.OpenRtbAttributeModuleParameters.write(value:to:)) + case let .ratelimiter(ratelimiter): + try writer["rateLimiter"].write(ratelimiter, with: RTBFabricClientTypes.RateLimiterModuleParameters.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.ModuleParameters { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "noBid": + return .nobid(try reader["noBid"].read(with: RTBFabricClientTypes.NoBidModuleParameters.read(from:))) + case "openRtbAttribute": + return .openrtbattribute(try reader["openRtbAttribute"].read(with: RTBFabricClientTypes.OpenRtbAttributeModuleParameters.read(from:))) + case "rateLimiter": + return .ratelimiter(try reader["rateLimiter"].read(with: RTBFabricClientTypes.RateLimiterModuleParameters.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension RTBFabricClientTypes.RateLimiterModuleParameters { + + static func write(value: RTBFabricClientTypes.RateLimiterModuleParameters?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["tps"].write(value.tps) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.RateLimiterModuleParameters { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.RateLimiterModuleParameters() + value.tps = try reader["tps"].readIfPresent() + return value + } +} + +extension RTBFabricClientTypes.OpenRtbAttributeModuleParameters { + + static func write(value: RTBFabricClientTypes.OpenRtbAttributeModuleParameters?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["action"].write(value.action, with: RTBFabricClientTypes.Action.write(value:to:)) + try writer["filterConfiguration"].writeList(value.filterConfiguration, memberWritingClosure: RTBFabricClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["filterType"].write(value.filterType) + try writer["holdbackPercentage"].write(value.holdbackPercentage) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.OpenRtbAttributeModuleParameters { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.OpenRtbAttributeModuleParameters() + value.filterType = try reader["filterType"].readIfPresent() ?? .sdkUnknown("") + value.filterConfiguration = try reader["filterConfiguration"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.Filter.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.action = try reader["action"].readIfPresent(with: RTBFabricClientTypes.Action.read(from:)) + value.holdbackPercentage = try reader["holdbackPercentage"].readIfPresent() ?? 0.0 + return value + } +} + +extension RTBFabricClientTypes.Action { + + static func write(value: RTBFabricClientTypes.Action?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .headertag(headertag): + try writer["headerTag"].write(headertag, with: RTBFabricClientTypes.HeaderTagAction.write(value:to:)) + case let .nobid(nobid): + try writer["noBid"].write(nobid, with: RTBFabricClientTypes.NoBidAction.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.Action { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "noBid": + return .nobid(try reader["noBid"].read(with: RTBFabricClientTypes.NoBidAction.read(from:))) + case "headerTag": + return .headertag(try reader["headerTag"].read(with: RTBFabricClientTypes.HeaderTagAction.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension RTBFabricClientTypes.HeaderTagAction { + + static func write(value: RTBFabricClientTypes.HeaderTagAction?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["name"].write(value.name) + try writer["value"].write(value.value) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.HeaderTagAction { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.HeaderTagAction() + value.name = try reader["name"].readIfPresent() ?? "" + value.value = try reader["value"].readIfPresent() ?? "" + return value + } +} + +extension RTBFabricClientTypes.NoBidAction { + + static func write(value: RTBFabricClientTypes.NoBidAction?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["noBidReasonCode"].write(value.noBidReasonCode) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.NoBidAction { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.NoBidAction() + value.noBidReasonCode = try reader["noBidReasonCode"].readIfPresent() + return value + } +} + +extension RTBFabricClientTypes.Filter { + + static func write(value: RTBFabricClientTypes.Filter?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["criteria"].writeList(value.criteria, memberWritingClosure: RTBFabricClientTypes.FilterCriterion.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.Filter { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.Filter() + value.criteria = try reader["criteria"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.FilterCriterion.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + +extension RTBFabricClientTypes.FilterCriterion { + + static func write(value: RTBFabricClientTypes.FilterCriterion?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["path"].write(value.path) + try writer["values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.FilterCriterion { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.FilterCriterion() + value.path = try reader["path"].readIfPresent() ?? "" + value.values = try reader["values"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + +extension RTBFabricClientTypes.NoBidModuleParameters { + + static func write(value: RTBFabricClientTypes.NoBidModuleParameters?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["passThroughPercentage"].write(value.passThroughPercentage) + try writer["reason"].write(value.reason) + try writer["reasonCode"].write(value.reasonCode) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.NoBidModuleParameters { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.NoBidModuleParameters() + value.reason = try reader["reason"].readIfPresent() + value.reasonCode = try reader["reasonCode"].readIfPresent() + value.passThroughPercentage = try reader["passThroughPercentage"].readIfPresent() + return value + } +} + +extension RTBFabricClientTypes.LinkAttributes { + + static func write(value: RTBFabricClientTypes.LinkAttributes?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["customerProvidedId"].write(value.customerProvidedId) + try writer["responderErrorMasking"].writeList(value.responderErrorMasking, memberWritingClosure: RTBFabricClientTypes.ResponderErrorMaskingForHttpCode.write(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.LinkAttributes { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.LinkAttributes() + value.responderErrorMasking = try reader["responderErrorMasking"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ResponderErrorMaskingForHttpCode.read(from:), memberNodeInfo: "member", isFlattened: false) + value.customerProvidedId = try reader["customerProvidedId"].readIfPresent() + return value + } +} + +extension RTBFabricClientTypes.ResponderErrorMaskingForHttpCode { + + static func write(value: RTBFabricClientTypes.ResponderErrorMaskingForHttpCode?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["action"].write(value.action) + try writer["httpCode"].write(value.httpCode) + try writer["loggingTypes"].writeList(value.loggingTypes, memberWritingClosure: SmithyReadWrite.WritingClosureBox().write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["responseLoggingPercentage"].write(value.responseLoggingPercentage) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.ResponderErrorMaskingForHttpCode { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.ResponderErrorMaskingForHttpCode() + value.httpCode = try reader["httpCode"].readIfPresent() ?? "" + value.action = try reader["action"].readIfPresent() ?? .sdkUnknown("") + value.loggingTypes = try reader["loggingTypes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.responseLoggingPercentage = try reader["responseLoggingPercentage"].readIfPresent() + return value + } +} + +extension RTBFabricClientTypes.LinkLogSettings { + + static func write(value: RTBFabricClientTypes.LinkLogSettings?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["applicationLogs"].write(value.applicationLogs, with: RTBFabricClientTypes.LinkApplicationLogConfiguration.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.LinkLogSettings { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.LinkLogSettings() + value.applicationLogs = try reader["applicationLogs"].readIfPresent(with: RTBFabricClientTypes.LinkApplicationLogConfiguration.read(from:)) + return value + } +} + +extension RTBFabricClientTypes.LinkApplicationLogConfiguration { + + static func write(value: RTBFabricClientTypes.LinkApplicationLogConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["sampling"].write(value.sampling, with: RTBFabricClientTypes.LinkApplicationLogSampling.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.LinkApplicationLogConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.LinkApplicationLogConfiguration() + value.sampling = try reader["sampling"].readIfPresent(with: RTBFabricClientTypes.LinkApplicationLogSampling.read(from:)) + return value + } +} + +extension RTBFabricClientTypes.LinkApplicationLogSampling { + + static func write(value: RTBFabricClientTypes.LinkApplicationLogSampling?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["errorLog"].write(value.errorLog) + try writer["filterLog"].write(value.filterLog) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.LinkApplicationLogSampling { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.LinkApplicationLogSampling() + value.errorLog = try reader["errorLog"].readIfPresent() ?? 0.0 + value.filterLog = try reader["filterLog"].readIfPresent() ?? 0.0 + return value + } +} + +extension RTBFabricClientTypes.TrustStoreConfiguration { + + static func write(value: RTBFabricClientTypes.TrustStoreConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["certificateAuthorityCertificates"].writeList(value.certificateAuthorityCertificates, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.TrustStoreConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.TrustStoreConfiguration() + value.certificateAuthorityCertificates = try reader["certificateAuthorityCertificates"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + return value + } +} + +extension RTBFabricClientTypes.ManagedEndpointConfiguration { + + static func write(value: RTBFabricClientTypes.ManagedEndpointConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .autoscalinggroups(autoscalinggroups): + try writer["autoScalingGroups"].write(autoscalinggroups, with: RTBFabricClientTypes.AutoScalingGroupsConfiguration.write(value:to:)) + case let .eksendpoints(eksendpoints): + try writer["eksEndpoints"].write(eksendpoints, with: RTBFabricClientTypes.EksEndpointsConfiguration.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.ManagedEndpointConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "autoScalingGroups": + return .autoscalinggroups(try reader["autoScalingGroups"].read(with: RTBFabricClientTypes.AutoScalingGroupsConfiguration.read(from:))) + case "eksEndpoints": + return .eksendpoints(try reader["eksEndpoints"].read(with: RTBFabricClientTypes.EksEndpointsConfiguration.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension RTBFabricClientTypes.EksEndpointsConfiguration { + + static func write(value: RTBFabricClientTypes.EksEndpointsConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["clusterApiServerCaCertificateChain"].write(value.clusterApiServerCaCertificateChain) + try writer["clusterApiServerEndpointUri"].write(value.clusterApiServerEndpointUri) + try writer["clusterName"].write(value.clusterName) + try writer["endpointsResourceName"].write(value.endpointsResourceName) + try writer["endpointsResourceNamespace"].write(value.endpointsResourceNamespace) + try writer["roleArn"].write(value.roleArn) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.EksEndpointsConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.EksEndpointsConfiguration() + value.endpointsResourceName = try reader["endpointsResourceName"].readIfPresent() ?? "" + value.endpointsResourceNamespace = try reader["endpointsResourceNamespace"].readIfPresent() ?? "" + value.clusterApiServerEndpointUri = try reader["clusterApiServerEndpointUri"].readIfPresent() ?? "" + value.clusterApiServerCaCertificateChain = try reader["clusterApiServerCaCertificateChain"].readIfPresent() ?? "" + value.clusterName = try reader["clusterName"].readIfPresent() ?? "" + value.roleArn = try reader["roleArn"].readIfPresent() ?? "" + return value + } +} + +extension RTBFabricClientTypes.AutoScalingGroupsConfiguration { + + static func write(value: RTBFabricClientTypes.AutoScalingGroupsConfiguration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["autoScalingGroupNames"].writeList(value.autoScalingGroupNames, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["roleArn"].write(value.roleArn) + } + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.AutoScalingGroupsConfiguration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.AutoScalingGroupsConfiguration() + value.autoScalingGroupNames = try reader["autoScalingGroupNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] + value.roleArn = try reader["roleArn"].readIfPresent() ?? "" + return value + } +} + +extension RTBFabricClientTypes.ListLinksResponseStructure { + + static func read(from reader: SmithyJSON.Reader) throws -> RTBFabricClientTypes.ListLinksResponseStructure { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = RTBFabricClientTypes.ListLinksResponseStructure() + value.gatewayId = try reader["gatewayId"].readIfPresent() ?? "" + value.peerGatewayId = try reader["peerGatewayId"].readIfPresent() ?? "" + value.status = try reader["status"].readIfPresent() ?? .sdkUnknown("") + value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.updatedAt = try reader["updatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) ?? SmithyTimestamps.TimestampFormatter(format: .dateTime).date(from: "1970-01-01T00:00:00Z") + value.direction = try reader["direction"].readIfPresent() + value.flowModules = try reader["flowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.pendingFlowModules = try reader["pendingFlowModules"].readListIfPresent(memberReadingClosure: RTBFabricClientTypes.ModuleConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) + value.attributes = try reader["attributes"].readIfPresent(with: RTBFabricClientTypes.LinkAttributes.read(from:)) + value.linkId = try reader["linkId"].readIfPresent() ?? "" + value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) + return value + } +} + +public enum RTBFabricClientTypes {} diff --git a/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Paginators.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Paginators.swift new file mode 100644 index 00000000000..f93f0ff4c15 --- /dev/null +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Paginators.swift @@ -0,0 +1,72 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +// Code generated by smithy-swift-codegen. DO NOT EDIT! + +import protocol ClientRuntime.PaginateToken +import struct ClientRuntime.PaginatorSequence + +extension RTBFabricClient { + /// Paginate over `[ListRequesterGatewaysOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListRequesterGatewaysInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListRequesterGatewaysOutput` + public func listRequesterGatewaysPaginated(input: ListRequesterGatewaysInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listRequesterGateways(input:)) + } +} + +extension ListRequesterGatewaysInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListRequesterGatewaysInput { + return ListRequesterGatewaysInput( + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == ListRequesterGatewaysInput, OperationStackOutput == ListRequesterGatewaysOutput { + /// This paginator transforms the `AsyncSequence` returned by `listRequesterGatewaysPaginated` + /// to access the nested member `[Swift.String]` + /// - Returns: `[Swift.String]` + public func gatewayIds() async throws -> [Swift.String] { + return try await self.asyncCompactMap { item in item.gatewayIds } + } +} +extension RTBFabricClient { + /// Paginate over `[ListResponderGatewaysOutput]` results. + /// + /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service + /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid + /// until then. If there are errors in your request, you will see the failures only after you start iterating. + /// - Parameters: + /// - input: A `[ListResponderGatewaysInput]` to start pagination + /// - Returns: An `AsyncSequence` that can iterate over `ListResponderGatewaysOutput` + public func listResponderGatewaysPaginated(input: ListResponderGatewaysInput) -> ClientRuntime.PaginatorSequence { + return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listResponderGateways(input:)) + } +} + +extension ListResponderGatewaysInput: ClientRuntime.PaginateToken { + public func usingPaginationToken(_ token: Swift.String) -> ListResponderGatewaysInput { + return ListResponderGatewaysInput( + maxResults: self.maxResults, + nextToken: token + )} +} + +extension PaginatorSequence where OperationStackInput == ListResponderGatewaysInput, OperationStackOutput == ListResponderGatewaysOutput { + /// This paginator transforms the `AsyncSequence` returned by `listResponderGatewaysPaginated` + /// to access the nested member `[Swift.String]` + /// - Returns: `[Swift.String]` + public func gatewayIds() async throws -> [Swift.String] { + return try await self.asyncCompactMap { item in item.gatewayIds } + } +} diff --git a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Plugins.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Plugins.swift similarity index 84% rename from Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Plugins.swift rename to Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Plugins.swift index 78ce40ec718..1f91225e021 100644 --- a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Plugins.swift +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Plugins.swift @@ -17,7 +17,7 @@ import struct AWSSDKHTTPAuth.SigV4AuthScheme @_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RoboMakerClientEndpointPlugin: Plugin { +public class RTBFabricClientEndpointPlugin: Plugin { private var endpointResolver: EndpointResolver public init(endpointResolver: EndpointResolver) { @@ -29,7 +29,7 @@ public class RoboMakerClientEndpointPlugin: Plugin { } public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? RoboMakerClient.RoboMakerClientConfiguration { + if let config = clientConfiguration as? RTBFabricClient.RTBFabricClientConfiguration { config.endpointResolver = self.endpointResolver } } @@ -40,8 +40,8 @@ public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { public init() {} public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? RoboMakerClient.RoboMakerClientConfiguration { - config.authSchemeResolver = DefaultRoboMakerAuthSchemeResolver() + if let config = clientConfiguration as? RTBFabricClient.RTBFabricClientConfiguration { + config.authSchemeResolver = DefaultRTBFabricAuthSchemeResolver() config.authSchemes = [AWSSDKHTTPAuth.SigV4AuthScheme()] config.awsCredentialIdentityResolver = AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain() config.bearerTokenIdentityResolver = SmithyIdentity.StaticBearerTokenIdentityResolver() @@ -49,14 +49,14 @@ public class DefaultAWSAuthSchemePlugin: ClientRuntime.Plugin { } } -public class RoboMakerClientAuthSchemePlugin: ClientRuntime.Plugin { +public class RTBFabricClientAuthSchemePlugin: ClientRuntime.Plugin { private var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? private var authSchemePreference: [String] private var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? private var awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? private var bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? - public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: RoboMakerAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { + public init(authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, authSchemePreference: [String]? = nil, authSchemeResolver: RTBFabricAuthSchemeResolver? = nil, awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil) { self.authSchemeResolver = authSchemeResolver self.authSchemes = authSchemes self.authSchemePreference = authSchemePreference ?? [] @@ -65,7 +65,7 @@ public class RoboMakerClientAuthSchemePlugin: ClientRuntime.Plugin { } public func configureClient(clientConfiguration: ClientRuntime.ClientConfiguration) throws { - if let config = clientConfiguration as? RoboMakerClient.RoboMakerClientConfiguration { + if let config = clientConfiguration as? RTBFabricClient.RTBFabricClientConfiguration { if (self.authSchemes != nil) { config.authSchemes = self.authSchemes } diff --git a/Sources/Services/AWSAppTest/Sources/AWSAppTest/AppTestClient.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/RTBFabricClient.swift similarity index 55% rename from Sources/Services/AWSAppTest/Sources/AWSAppTest/AppTestClient.swift rename to Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/RTBFabricClient.swift index 9f915921ff5..e94a08cd87f 100644 --- a/Sources/Services/AWSAppTest/Sources/AWSAppTest/AppTestClient.swift +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/RTBFabricClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,32 +67,31 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class AppTestClient: ClientRuntime.Client { - public static let clientName = "AppTestClient" - public static let version = "1.5.61" +public class RTBFabricClient: AWSClientRuntime.AWSServiceClient { + public static let clientName = "RTBFabricClient" let client: ClientRuntime.SdkHttpClient - let config: AppTestClient.AppTestClientConfiguration - let serviceName = "AppTest" + let config: RTBFabricClient.RTBFabricClientConfiguration + let serviceName = "RTBFabric" - public required init(config: AppTestClient.AppTestClientConfiguration) { + public required init(config: RTBFabricClient.RTBFabricClientConfiguration) { client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) self.config = config } public convenience init(region: Swift.String) throws { - let config = try AppTestClient.AppTestClientConfiguration(region: region) + let config = try RTBFabricClient.RTBFabricClientConfiguration(region: region) self.init(config: config) } public convenience required init() async throws { - let config = try await AppTestClient.AppTestClientConfiguration() + let config = try await RTBFabricClient.RTBFabricClientConfiguration() self.init(config: config) } } -extension AppTestClient { +extension RTBFabricClient { - public class AppTestClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { + public class RTBFabricClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { public var useFIPS: Swift.Bool? public var useDualStack: Swift.Bool? public var appID: Swift.String? @@ -172,7 +171,7 @@ extension AppTestClient { self.bearerTokenIdentityResolver = bearerTokenIdentityResolver self.interceptorProviders = interceptorProviders self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: AppTestClient.clientName) + self.logger = telemetryProvider.loggerProvider.getLogger(name: RTBFabricClient.clientName) } public convenience init( @@ -224,7 +223,7 @@ extension AppTestClient { httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], authSchemePreference ?? nil, - authSchemeResolver ?? DefaultAppTestAuthSchemeResolver(), + authSchemeResolver ?? DefaultRTBFabricAuthSchemeResolver(), bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), interceptorProviders ?? [], httpInterceptorProviders ?? [] @@ -280,7 +279,7 @@ extension AppTestClient { httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], authSchemePreference ?? nil, - authSchemeResolver ?? DefaultAppTestAuthSchemeResolver(), + authSchemeResolver ?? DefaultRTBFabricAuthSchemeResolver(), bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), interceptorProviders ?? [], httpInterceptorProviders ?? [] @@ -340,7 +339,7 @@ extension AppTestClient { AWSClientConfigDefaultsProvider.httpClientConfiguration(), [AWSSDKHTTPAuth.SigV4AuthScheme()], nil, - DefaultAppTestAuthSchemeResolver(), + DefaultRTBFabricAuthSchemeResolver(), SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), [], [] @@ -348,7 +347,7 @@ extension AppTestClient { } public var partitionID: String? { - return "\(AppTestClient.clientName) - \(region ?? "")" + return "\(RTBFabricClient.clientName) - \(region ?? "")" } public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { @@ -361,8 +360,8 @@ extension AppTestClient { } - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ + public static func builder() -> ClientRuntime.ClientBuilder { + return ClientRuntime.ClientBuilder(defaultPlugins: [ ClientRuntime.DefaultClientPlugin(), AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), DefaultAWSAuthSchemePlugin() @@ -370,69 +369,68 @@ extension AppTestClient { } } -extension AppTestClient { - /// Performs the `CreateTestCase` operation on the `AppTest` service. +extension RTBFabricClient { + /// Performs the `AcceptLink` operation on the `RTBFabric` service. /// - /// Creates a test case. + /// Accepts a link request between gateways. When a requester gateway requests to link with a responder gateway, the responder can use this operation to accept the link request and establish the connection. /// - /// - Parameter input: [no documentation found] (Type: `CreateTestCaseInput`) + /// - Parameter input: [no documentation found] (Type: `AcceptLinkInput`) /// - /// - Returns: [no documentation found] (Type: `CreateTestCaseOutput`) + /// - Returns: [no documentation found] (Type: `AcceptLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func createTestCase(input: CreateTestCaseInput) async throws -> CreateTestCaseOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func acceptLink(input: AcceptLinkInput) async throws -> AcceptLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "createTestCase") + .withOperation(value: "acceptLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateTestCaseInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateTestCaseInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateTestCaseOutput.httpOutput(from:), CreateTestCaseOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(AcceptLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: AcceptLinkInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(AcceptLinkOutput.httpOutput(from:), AcceptLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateTestCase") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "AcceptLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -445,68 +443,69 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `CreateTestConfiguration` operation on the `AppTest` service. + /// Performs the `CreateInboundExternalLink` operation on the `RTBFabric` service. /// - /// Creates a test configuration. + /// Creates an inbound external link. /// - /// - Parameter input: [no documentation found] (Type: `CreateTestConfigurationInput`) + /// - Parameter input: [no documentation found] (Type: `CreateInboundExternalLinkInput`) /// - /// - Returns: [no documentation found] (Type: `CreateTestConfigurationOutput`) + /// - Returns: [no documentation found] (Type: `CreateInboundExternalLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func createTestConfiguration(input: CreateTestConfigurationInput) async throws -> CreateTestConfigurationOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ServiceQuotaExceededException` : The request could not be completed because you exceeded a service quota. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func createInboundExternalLink(input: CreateInboundExternalLinkInput) async throws -> CreateInboundExternalLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "createTestConfiguration") + .withOperation(value: "createInboundExternalLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateTestConfigurationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateTestConfigurationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateTestConfigurationOutput.httpOutput(from:), CreateTestConfigurationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateInboundExternalLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateInboundExternalLinkInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateInboundExternalLinkOutput.httpOutput(from:), CreateInboundExternalLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateTestConfiguration") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateInboundExternalLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -519,68 +518,68 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `CreateTestSuite` operation on the `AppTest` service. + /// Performs the `CreateLink` operation on the `RTBFabric` service. /// - /// Creates a test suite. + /// Creates a new link between gateways. Establishes a connection that allows gateways to communicate and exchange bid requests and responses. /// - /// - Parameter input: [no documentation found] (Type: `CreateTestSuiteInput`) + /// - Parameter input: [no documentation found] (Type: `CreateLinkInput`) /// - /// - Returns: [no documentation found] (Type: `CreateTestSuiteOutput`) + /// - Returns: [no documentation found] (Type: `CreateLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func createTestSuite(input: CreateTestSuiteInput) async throws -> CreateTestSuiteOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ServiceQuotaExceededException` : The request could not be completed because you exceeded a service quota. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func createLink(input: CreateLinkInput) async throws -> CreateLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "createTestSuite") + .withOperation(value: "createLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateTestSuiteInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateTestSuiteInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateTestSuiteOutput.httpOutput(from:), CreateTestSuiteOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateLinkInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateLinkOutput.httpOutput(from:), CreateLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateTestSuite") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -593,64 +592,142 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `DeleteTestCase` operation on the `AppTest` service. + /// Performs the `CreateOutboundExternalLink` operation on the `RTBFabric` service. /// - /// Deletes a test case. + /// Creates an outbound external link. /// - /// - Parameter input: [no documentation found] (Type: `DeleteTestCaseInput`) + /// - Parameter input: [no documentation found] (Type: `CreateOutboundExternalLinkInput`) /// - /// - Returns: [no documentation found] (Type: `DeleteTestCaseOutput`) + /// - Returns: [no documentation found] (Type: `CreateOutboundExternalLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func deleteTestCase(input: DeleteTestCaseInput) async throws -> DeleteTestCaseOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ServiceQuotaExceededException` : The request could not be completed because you exceeded a service quota. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func createOutboundExternalLink(input: CreateOutboundExternalLinkInput) async throws -> CreateOutboundExternalLinkOutput { let context = Smithy.ContextBuilder() - .withMethod(value: .delete) + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createOutboundExternalLink") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "rtbfabric") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateOutboundExternalLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateOutboundExternalLinkInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateOutboundExternalLinkOutput.httpOutput(from:), CreateOutboundExternalLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateOutboundExternalLink") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `CreateRequesterGateway` operation on the `RTBFabric` service. + /// + /// Creates a requester gateway. + /// + /// - Parameter input: [no documentation found] (Type: `CreateRequesterGatewayInput`) + /// + /// - Returns: [no documentation found] (Type: `CreateRequesterGatewayOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ServiceQuotaExceededException` : The request could not be completed because you exceeded a service quota. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func createRequesterGateway(input: CreateRequesterGatewayInput) async throws -> CreateRequesterGatewayOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "deleteTestCase") + .withOperation(value: "createRequesterGateway") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteTestCaseInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteTestCaseOutput.httpOutput(from:), DeleteTestCaseOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateRequesterGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateRequesterGatewayInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateRequesterGatewayOutput.httpOutput(from:), CreateRequesterGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteTestCase") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateRequesterGateway") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -663,64 +740,138 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `DeleteTestConfiguration` operation on the `AppTest` service. + /// Performs the `CreateResponderGateway` operation on the `RTBFabric` service. /// - /// Deletes a test configuration. + /// Creates a responder gateway. A domain name or managed endpoint is required. /// - /// - Parameter input: [no documentation found] (Type: `DeleteTestConfigurationInput`) + /// - Parameter input: [no documentation found] (Type: `CreateResponderGatewayInput`) /// - /// - Returns: [no documentation found] (Type: `DeleteTestConfigurationOutput`) + /// - Returns: [no documentation found] (Type: `CreateResponderGatewayOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func deleteTestConfiguration(input: DeleteTestConfigurationInput) async throws -> DeleteTestConfigurationOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ServiceQuotaExceededException` : The request could not be completed because you exceeded a service quota. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func createResponderGateway(input: CreateResponderGatewayInput) async throws -> CreateResponderGatewayOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "createResponderGateway") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "rtbfabric") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateResponderGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateResponderGatewayInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateResponderGatewayOutput.httpOutput(from:), CreateResponderGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateResponderGateway") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `DeleteInboundExternalLink` operation on the `RTBFabric` service. + /// + /// Deletes an inbound external link. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteInboundExternalLinkInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteInboundExternalLinkOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func deleteInboundExternalLink(input: DeleteInboundExternalLinkInput) async throws -> DeleteInboundExternalLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .delete) .withServiceName(value: serviceName) - .withOperation(value: "deleteTestConfiguration") + .withOperation(value: "deleteInboundExternalLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteTestConfigurationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteTestConfigurationOutput.httpOutput(from:), DeleteTestConfigurationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteInboundExternalLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteInboundExternalLinkOutput.httpOutput(from:), DeleteInboundExternalLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteTestConfiguration") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteInboundExternalLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -733,63 +884,64 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `DeleteTestRun` operation on the `AppTest` service. + /// Performs the `DeleteLink` operation on the `RTBFabric` service. /// - /// Deletes a test run. + /// Deletes a link between gateways. Permanently removes the connection between gateways. This action cannot be undone. /// - /// - Parameter input: [no documentation found] (Type: `DeleteTestRunInput`) + /// - Parameter input: [no documentation found] (Type: `DeleteLinkInput`) /// - /// - Returns: [no documentation found] (Type: `DeleteTestRunOutput`) + /// - Returns: [no documentation found] (Type: `DeleteLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func deleteTestRun(input: DeleteTestRunInput) async throws -> DeleteTestRunOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func deleteLink(input: DeleteLinkInput) async throws -> DeleteLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .delete) .withServiceName(value: serviceName) - .withOperation(value: "deleteTestRun") + .withOperation(value: "deleteLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteTestRunInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteTestRunOutput.httpOutput(from:), DeleteTestRunOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteLinkOutput.httpOutput(from:), DeleteLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteTestRun") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -802,64 +954,64 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `DeleteTestSuite` operation on the `AppTest` service. + /// Performs the `DeleteOutboundExternalLink` operation on the `RTBFabric` service. /// - /// Deletes a test suite. + /// Deletes an outbound external link. /// - /// - Parameter input: [no documentation found] (Type: `DeleteTestSuiteInput`) + /// - Parameter input: [no documentation found] (Type: `DeleteOutboundExternalLinkInput`) /// - /// - Returns: [no documentation found] (Type: `DeleteTestSuiteOutput`) + /// - Returns: [no documentation found] (Type: `DeleteOutboundExternalLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func deleteTestSuite(input: DeleteTestSuiteInput) async throws -> DeleteTestSuiteOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func deleteOutboundExternalLink(input: DeleteOutboundExternalLinkInput) async throws -> DeleteOutboundExternalLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .delete) .withServiceName(value: serviceName) - .withOperation(value: "deleteTestSuite") + .withOperation(value: "deleteOutboundExternalLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteTestSuiteInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteTestSuiteOutput.httpOutput(from:), DeleteTestSuiteOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteOutboundExternalLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteOutboundExternalLinkOutput.httpOutput(from:), DeleteOutboundExternalLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteTestSuite") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteOutboundExternalLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -872,64 +1024,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `GetTestCase` operation on the `AppTest` service. + /// Performs the `DeleteRequesterGateway` operation on the `RTBFabric` service. /// - /// Gets a test case. + /// Deletes a requester gateway. /// - /// - Parameter input: [no documentation found] (Type: `GetTestCaseInput`) + /// - Parameter input: [no documentation found] (Type: `DeleteRequesterGatewayInput`) /// - /// - Returns: [no documentation found] (Type: `GetTestCaseOutput`) + /// - Returns: [no documentation found] (Type: `DeleteRequesterGatewayOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func getTestCase(input: GetTestCaseInput) async throws -> GetTestCaseOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func deleteRequesterGateway(input: DeleteRequesterGatewayInput) async throws -> DeleteRequesterGatewayOutput { let context = Smithy.ContextBuilder() - .withMethod(value: .get) + .withMethod(value: .delete) .withServiceName(value: serviceName) - .withOperation(value: "getTestCase") + .withOperation(value: "deleteRequesterGateway") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetTestCaseInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(GetTestCaseInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetTestCaseOutput.httpOutput(from:), GetTestCaseOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteRequesterGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteRequesterGatewayOutput.httpOutput(from:), DeleteRequesterGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetTestCase") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteRequesterGateway") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -942,64 +1093,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `GetTestConfiguration` operation on the `AppTest` service. + /// Performs the `DeleteResponderGateway` operation on the `RTBFabric` service. /// - /// Gets a test configuration. + /// Deletes a responder gateway. /// - /// - Parameter input: [no documentation found] (Type: `GetTestConfigurationInput`) + /// - Parameter input: [no documentation found] (Type: `DeleteResponderGatewayInput`) /// - /// - Returns: [no documentation found] (Type: `GetTestConfigurationOutput`) + /// - Returns: [no documentation found] (Type: `DeleteResponderGatewayOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func getTestConfiguration(input: GetTestConfigurationInput) async throws -> GetTestConfigurationOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func deleteResponderGateway(input: DeleteResponderGatewayInput) async throws -> DeleteResponderGatewayOutput { let context = Smithy.ContextBuilder() - .withMethod(value: .get) + .withMethod(value: .delete) .withServiceName(value: serviceName) - .withOperation(value: "getTestConfiguration") + .withOperation(value: "deleteResponderGateway") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetTestConfigurationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(GetTestConfigurationInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetTestConfigurationOutput.httpOutput(from:), GetTestConfigurationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteResponderGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteResponderGatewayOutput.httpOutput(from:), DeleteResponderGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetTestConfiguration") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteResponderGateway") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1012,64 +1162,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `GetTestRunStep` operation on the `AppTest` service. + /// Performs the `GetInboundExternalLink` operation on the `RTBFabric` service. /// - /// Gets a test run step. + /// Retrieves information about an inbound external link. /// - /// - Parameter input: [no documentation found] (Type: `GetTestRunStepInput`) + /// - Parameter input: [no documentation found] (Type: `GetInboundExternalLinkInput`) /// - /// - Returns: [no documentation found] (Type: `GetTestRunStepOutput`) + /// - Returns: [no documentation found] (Type: `GetInboundExternalLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func getTestRunStep(input: GetTestRunStepInput) async throws -> GetTestRunStepOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func getInboundExternalLink(input: GetInboundExternalLinkInput) async throws -> GetInboundExternalLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "getTestRunStep") + .withOperation(value: "getInboundExternalLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetTestRunStepInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(GetTestRunStepInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetTestRunStepOutput.httpOutput(from:), GetTestRunStepOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetInboundExternalLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetInboundExternalLinkOutput.httpOutput(from:), GetInboundExternalLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetTestRunStep") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetInboundExternalLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1082,64 +1231,64 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `GetTestSuite` operation on the `AppTest` service. + /// Performs the `GetLink` operation on the `RTBFabric` service. /// - /// Gets a test suite. + /// Retrieves information about a link between gateways. Returns detailed information about the link configuration, status, and associated gateways. /// - /// - Parameter input: [no documentation found] (Type: `GetTestSuiteInput`) + /// - Parameter input: [no documentation found] (Type: `GetLinkInput`) /// - /// - Returns: [no documentation found] (Type: `GetTestSuiteOutput`) + /// - Returns: [no documentation found] (Type: `GetLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func getTestSuite(input: GetTestSuiteInput) async throws -> GetTestSuiteOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func getLink(input: GetLinkInput) async throws -> GetLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "getTestSuite") + .withOperation(value: "getLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetTestSuiteInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(GetTestSuiteInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetTestSuiteOutput.httpOutput(from:), GetTestSuiteOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetLinkOutput.httpOutput(from:), GetLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetTestSuite") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1152,63 +1301,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTagsForResource` operation on the `AppTest` service. + /// Performs the `GetOutboundExternalLink` operation on the `RTBFabric` service. /// - /// Lists tags for a resource. + /// Retrieves information about an outbound external link. /// - /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) + /// - Parameter input: [no documentation found] (Type: `GetOutboundExternalLinkInput`) /// - /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) + /// - Returns: [no documentation found] (Type: `GetOutboundExternalLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func getOutboundExternalLink(input: GetOutboundExternalLinkInput) async throws -> GetOutboundExternalLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTagsForResource") + .withOperation(value: "getOutboundExternalLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetOutboundExternalLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetOutboundExternalLinkOutput.httpOutput(from:), GetOutboundExternalLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetOutboundExternalLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1221,64 +1370,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTestCases` operation on the `AppTest` service. + /// Performs the `GetRequesterGateway` operation on the `RTBFabric` service. /// - /// Lists test cases. + /// Retrieves information about a requester gateway. /// - /// - Parameter input: [no documentation found] (Type: `ListTestCasesInput`) + /// - Parameter input: [no documentation found] (Type: `GetRequesterGatewayInput`) /// - /// - Returns: [no documentation found] (Type: `ListTestCasesOutput`) + /// - Returns: [no documentation found] (Type: `GetRequesterGatewayOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTestCases(input: ListTestCasesInput) async throws -> ListTestCasesOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func getRequesterGateway(input: GetRequesterGatewayInput) async throws -> GetRequesterGatewayOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTestCases") + .withOperation(value: "getRequesterGateway") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTestCasesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListTestCasesInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTestCasesOutput.httpOutput(from:), ListTestCasesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetRequesterGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetRequesterGatewayOutput.httpOutput(from:), GetRequesterGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTestCases") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetRequesterGateway") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1291,64 +1439,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTestConfigurations` operation on the `AppTest` service. + /// Performs the `GetResponderGateway` operation on the `RTBFabric` service. /// - /// Lists test configurations. + /// Retrieves information about a responder gateway. /// - /// - Parameter input: [no documentation found] (Type: `ListTestConfigurationsInput`) + /// - Parameter input: [no documentation found] (Type: `GetResponderGatewayInput`) /// - /// - Returns: [no documentation found] (Type: `ListTestConfigurationsOutput`) + /// - Returns: [no documentation found] (Type: `GetResponderGatewayOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTestConfigurations(input: ListTestConfigurationsInput) async throws -> ListTestConfigurationsOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func getResponderGateway(input: GetResponderGatewayInput) async throws -> GetResponderGatewayOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTestConfigurations") + .withOperation(value: "getResponderGateway") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTestConfigurationsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListTestConfigurationsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTestConfigurationsOutput.httpOutput(from:), ListTestConfigurationsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetResponderGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(GetResponderGatewayOutput.httpOutput(from:), GetResponderGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTestConfigurations") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetResponderGateway") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1361,64 +1508,64 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTestRunSteps` operation on the `AppTest` service. + /// Performs the `ListLinks` operation on the `RTBFabric` service. /// - /// Lists test run steps. + /// Lists links associated with gateways. Returns a list of all links for the specified gateways, including their status and configuration details. /// - /// - Parameter input: [no documentation found] (Type: `ListTestRunStepsInput`) + /// - Parameter input: [no documentation found] (Type: `ListLinksInput`) /// - /// - Returns: [no documentation found] (Type: `ListTestRunStepsOutput`) + /// - Returns: [no documentation found] (Type: `ListLinksOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTestRunSteps(input: ListTestRunStepsInput) async throws -> ListTestRunStepsOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func listLinks(input: ListLinksInput) async throws -> ListLinksOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTestRunSteps") + .withOperation(value: "listLinks") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTestRunStepsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListTestRunStepsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTestRunStepsOutput.httpOutput(from:), ListTestRunStepsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListLinksInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListLinksInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListLinksOutput.httpOutput(from:), ListLinksOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTestRunSteps") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListLinks") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1431,64 +1578,61 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTestRunTestCases` operation on the `AppTest` service. + /// Performs the `ListRequesterGateways` operation on the `RTBFabric` service. /// - /// Lists test run test cases. + /// Lists requester gateways. /// - /// - Parameter input: [no documentation found] (Type: `ListTestRunTestCasesInput`) + /// - Parameter input: [no documentation found] (Type: `ListRequesterGatewaysInput`) /// - /// - Returns: [no documentation found] (Type: `ListTestRunTestCasesOutput`) + /// - Returns: [no documentation found] (Type: `ListRequesterGatewaysOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTestRunTestCases(input: ListTestRunTestCasesInput) async throws -> ListTestRunTestCasesOutput { + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func listRequesterGateways(input: ListRequesterGatewaysInput) async throws -> ListRequesterGatewaysOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTestRunTestCases") + .withOperation(value: "listRequesterGateways") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTestRunTestCasesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListTestRunTestCasesInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTestRunTestCasesOutput.httpOutput(from:), ListTestRunTestCasesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListRequesterGatewaysInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListRequesterGatewaysInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListRequesterGatewaysOutput.httpOutput(from:), ListRequesterGatewaysOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTestRunTestCases") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListRequesterGateways") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1501,64 +1645,61 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTestRuns` operation on the `AppTest` service. + /// Performs the `ListResponderGateways` operation on the `RTBFabric` service. /// - /// Lists test runs. + /// Lists reponder gateways. /// - /// - Parameter input: [no documentation found] (Type: `ListTestRunsInput`) + /// - Parameter input: [no documentation found] (Type: `ListResponderGatewaysInput`) /// - /// - Returns: [no documentation found] (Type: `ListTestRunsOutput`) + /// - Returns: [no documentation found] (Type: `ListResponderGatewaysOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTestRuns(input: ListTestRunsInput) async throws -> ListTestRunsOutput { + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func listResponderGateways(input: ListResponderGatewaysInput) async throws -> ListResponderGatewaysOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTestRuns") + .withOperation(value: "listResponderGateways") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTestRunsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListTestRunsInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTestRunsOutput.httpOutput(from:), ListTestRunsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListResponderGatewaysInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(ListResponderGatewaysInput.queryItemProvider(_:))) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListResponderGatewaysOutput.httpOutput(from:), ListResponderGatewaysOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTestRuns") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListResponderGateways") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1571,64 +1712,63 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `ListTestSuites` operation on the `AppTest` service. + /// Performs the `ListTagsForResource` operation on the `RTBFabric` service. /// - /// Lists test suites. + /// Lists tags for a resource. /// - /// - Parameter input: [no documentation found] (Type: `ListTestSuitesInput`) + /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) /// - /// - Returns: [no documentation found] (Type: `ListTestSuitesOutput`) + /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func listTestSuites(input: ListTestSuitesInput) async throws -> ListTestSuitesOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { let context = Smithy.ContextBuilder() .withMethod(value: .get) .withServiceName(value: serviceName) - .withOperation(value: "listTestSuites") + .withOperation(value: "listTagsForResource") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTestSuitesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(ListTestSuitesInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTestSuitesOutput.httpOutput(from:), ListTestSuitesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTestSuites") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1641,69 +1781,64 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `StartTestRun` operation on the `AppTest` service. + /// Performs the `RejectLink` operation on the `RTBFabric` service. /// - /// Starts a test run. + /// Rejects a link request between gateways. When a requester gateway requests to link with a responder gateway, the responder can use this operation to decline the link request. /// - /// - Parameter input: [no documentation found] (Type: `StartTestRunInput`) + /// - Parameter input: [no documentation found] (Type: `RejectLinkInput`) /// - /// - Returns: [no documentation found] (Type: `StartTestRunOutput`) + /// - Returns: [no documentation found] (Type: `RejectLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func startTestRun(input: StartTestRunInput) async throws -> StartTestRunOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func rejectLink(input: RejectLinkInput) async throws -> RejectLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "startTestRun") + .withOperation(value: "rejectLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartTestRunInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StartTestRunInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(StartTestRunOutput.httpOutput(from:), StartTestRunOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(RejectLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(RejectLinkOutput.httpOutput(from:), RejectLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartTestRun") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "RejectLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1716,9 +1851,9 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `TagResource` operation on the `AppTest` service. + /// Performs the `TagResource` operation on the `RTBFabric` service. /// - /// Specifies tags of a resource. + /// Assigns one or more tags (key-value pairs) to the specified resource. /// /// - Parameter input: [no documentation found] (Type: `TagResourceInput`) /// @@ -1727,12 +1862,11 @@ extension AppTestClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ServiceQuotaExceededException` : One or more quotas for AWS Application Testing exceeds the limit. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { let context = Smithy.ContextBuilder() .withMethod(value: .post) @@ -1744,7 +1878,7 @@ extension AppTestClient { .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() let builder = ClientRuntime.OrchestratorBuilder() @@ -1765,7 +1899,7 @@ extension AppTestClient { builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } @@ -1773,9 +1907,9 @@ extension AppTestClient { builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "TagResource") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( @@ -1789,9 +1923,9 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `UntagResource` operation on the `AppTest` service. + /// Performs the `UntagResource` operation on the `RTBFabric` service. /// - /// Untags a resource. + /// Removes a tag or tags from a resource. /// /// - Parameter input: [no documentation found] (Type: `UntagResourceInput`) /// @@ -1800,11 +1934,11 @@ extension AppTestClient { /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { let context = Smithy.ContextBuilder() .withMethod(value: .delete) @@ -1816,7 +1950,7 @@ extension AppTestClient { .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() let builder = ClientRuntime.OrchestratorBuilder() @@ -1835,7 +1969,7 @@ extension AppTestClient { builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } @@ -1843,9 +1977,9 @@ extension AppTestClient { builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UntagResource") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( @@ -1859,67 +1993,67 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `UpdateTestCase` operation on the `AppTest` service. + /// Performs the `UpdateLink` operation on the `RTBFabric` service. /// - /// Updates a test case. + /// Updates the configuration of a link between gateways. Allows you to modify settings and parameters for an existing link. /// - /// - Parameter input: [no documentation found] (Type: `UpdateTestCaseInput`) + /// - Parameter input: [no documentation found] (Type: `UpdateLinkInput`) /// - /// - Returns: [no documentation found] (Type: `UpdateTestCaseOutput`) + /// - Returns: [no documentation found] (Type: `UpdateLinkOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func updateTestCase(input: UpdateTestCaseInput) async throws -> UpdateTestCaseOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func updateLink(input: UpdateLinkInput) async throws -> UpdateLinkOutput { let context = Smithy.ContextBuilder() .withMethod(value: .patch) .withServiceName(value: serviceName) - .withOperation(value: "updateTestCase") + .withOperation(value: "updateLink") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateTestCaseInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateTestCaseInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateTestCaseOutput.httpOutput(from:), UpdateTestCaseOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateLinkInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateLinkInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateLinkOutput.httpOutput(from:), UpdateLinkOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateTestCase") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateLink") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -1932,67 +2066,69 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `UpdateTestConfiguration` operation on the `AppTest` service. + /// Performs the `UpdateLinkModuleFlow` operation on the `RTBFabric` service. /// - /// Updates a test configuration. + /// Updates a link module flow. /// - /// - Parameter input: [no documentation found] (Type: `UpdateTestConfigurationInput`) + /// - Parameter input: [no documentation found] (Type: `UpdateLinkModuleFlowInput`) /// - /// - Returns: [no documentation found] (Type: `UpdateTestConfigurationOutput`) + /// - Returns: [no documentation found] (Type: `UpdateLinkModuleFlowOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func updateTestConfiguration(input: UpdateTestConfigurationInput) async throws -> UpdateTestConfigurationOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ServiceQuotaExceededException` : The request could not be completed because you exceeded a service quota. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func updateLinkModuleFlow(input: UpdateLinkModuleFlowInput) async throws -> UpdateLinkModuleFlowOutput { let context = Smithy.ContextBuilder() - .withMethod(value: .patch) + .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "updateTestConfiguration") + .withOperation(value: "updateLinkModuleFlow") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateTestConfigurationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateTestConfigurationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateTestConfigurationOutput.httpOutput(from:), UpdateTestConfigurationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateLinkModuleFlowInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateLinkModuleFlowInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateLinkModuleFlowOutput.httpOutput(from:), UpdateLinkModuleFlowOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateTestConfiguration") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateLinkModuleFlow") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, @@ -2005,67 +2141,142 @@ extension AppTestClient { return try await op.execute(input: input) } - /// Performs the `UpdateTestSuite` operation on the `AppTest` service. + /// Performs the `UpdateRequesterGateway` operation on the `RTBFabric` service. /// - /// Updates a test suite. + /// Updates a requester gateway. /// - /// - Parameter input: [no documentation found] (Type: `UpdateTestSuiteInput`) + /// - Parameter input: [no documentation found] (Type: `UpdateRequesterGatewayInput`) /// - /// - Returns: [no documentation found] (Type: `UpdateTestSuiteOutput`) + /// - Returns: [no documentation found] (Type: `UpdateRequesterGatewayOutput`) /// /// - Throws: One of the exceptions listed below __Possible Exceptions__. /// /// __Possible Exceptions:__ - /// - `AccessDeniedException` : The account or role doesn't have the right permissions to make the request. - /// - `ConflictException` : The parameters provided in the request conflict with existing resources. - /// - `InternalServerException` : An unexpected error occurred during the processing of the request. - /// - `ResourceNotFoundException` : The specified resource was not found. - /// - `ThrottlingException` : The number of requests made exceeds the limit. - /// - `ValidationException` : One or more parameter provided in the request is not valid. - public func updateTestSuite(input: UpdateTestSuiteInput) async throws -> UpdateTestSuiteOutput { + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func updateRequesterGateway(input: UpdateRequesterGatewayInput) async throws -> UpdateRequesterGatewayOutput { let context = Smithy.ContextBuilder() - .withMethod(value: .patch) + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "updateRequesterGateway") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "rtbfabric") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateRequesterGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateRequesterGatewayInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateRequesterGatewayOutput.httpOutput(from:), UpdateRequesterGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateRequesterGateway") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + + /// Performs the `UpdateResponderGateway` operation on the `RTBFabric` service. + /// + /// Updates a responder gateway. + /// + /// - Parameter input: [no documentation found] (Type: `UpdateResponderGatewayInput`) + /// + /// - Returns: [no documentation found] (Type: `UpdateResponderGatewayOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `AccessDeniedException` : The request could not be completed because you do not have sufficient access to perform this action. + /// - `ConflictException` : The request could not be completed because of a conflict in the current state of the resource. + /// - `InternalServerException` : The request could not be completed because of an internal server error. Try your call again. + /// - `ResourceNotFoundException` : The request could not be completed because the resource does not exist. + /// - `ThrottlingException` : The request was denied due to request throttling. + /// - `ValidationException` : The request could not be completed because it fails satisfy the constraints specified by the service. + public func updateResponderGateway(input: UpdateResponderGatewayInput) async throws -> UpdateResponderGatewayOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) .withServiceName(value: serviceName) - .withOperation(value: "updateTestSuite") + .withOperation(value: "updateResponderGateway") .withUnsignedPayloadTrait(value: false) .withSmithyDefaultConfig(config) .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") .withRegion(value: config.region) .withRequestChecksumCalculation(value: config.requestChecksumCalculation) .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "apptest") + .withSigningName(value: "rtbfabric") .withSigningRegion(value: config.signingRegion) .build() - let builder = ClientRuntime.OrchestratorBuilder() + let builder = ClientRuntime.OrchestratorBuilder() config.interceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } config.httpInterceptorProviders.forEach { provider in builder.interceptors.add(provider.create()) } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateTestSuiteInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateTestSuiteInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateTestSuiteOutput.httpOutput(from:), UpdateTestSuiteOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientToken)) + builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateResponderGatewayInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateResponderGatewayInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateResponderGatewayOutput.httpOutput(from:), UpdateResponderGatewayOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("AppTest", config.ignoreConfiguredEndpointURLs) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RTBFabric", config.ignoreConfiguredEndpointURLs) let endpointParamsBlock = { [config] (context: Smithy.Context) in EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: AppTestClient.version, config: config)) + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RTBFabricClient.version, config: config)) var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "AppTest") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateTestSuite") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RTBFabric") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateResponderGateway") let op = builder.attributes(context) .telemetry(ClientRuntime.OrchestratorTelemetry( telemetryProvider: config.telemetryProvider, diff --git a/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Waiters.swift b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Waiters.swift new file mode 100644 index 00000000000..258a566cd68 --- /dev/null +++ b/Sources/Services/AWSRTBFabric/Sources/AWSRTBFabric/Waiters.swift @@ -0,0 +1,13 @@ +// +// Copyright Amazon.com Inc. or its affiliates. +// All Rights Reserved. +// +// SPDX-License-Identifier: Apache-2.0 +// + +// Code generated by smithy-swift-codegen. DO NOT EDIT! + + + +extension RTBFabricClient { +} diff --git a/Sources/Services/AWSLookoutVision/Tests/AWSLookoutVisionTests/EndpointResolverTest.swift b/Sources/Services/AWSRTBFabric/Tests/AWSRTBFabricTests/EndpointResolverTest.swift similarity index 78% rename from Sources/Services/AWSLookoutVision/Tests/AWSLookoutVisionTests/EndpointResolverTest.swift rename to Sources/Services/AWSRTBFabric/Tests/AWSRTBFabricTests/EndpointResolverTest.swift index efcfb83916f..c6e7605978d 100644 --- a/Sources/Services/AWSLookoutVision/Tests/AWSLookoutVisionTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSRTBFabric/Tests/AWSRTBFabricTests/EndpointResolverTest.swift @@ -7,7 +7,7 @@ // Code generated by smithy-swift-codegen. DO NOT EDIT! -@testable import AWSLookoutVision +@testable import AWSRTBFabric import XCTest import enum ClientRuntime.EndpointError import enum SmithyHTTPAPI.EndpointPropertyValue @@ -21,11 +21,10 @@ class EndpointResolverTest: XCTestCase { SmithyTestUtil.TestInitializer.initialize() } - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled + /// For custom endpoint with region not set and fips disabled func testResolve1() throws { let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, + endpoint: "https://example.com", useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -36,57 +35,54 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-northeast-2 with FIPS disabled and DualStack disabled + /// For custom endpoint with fips enabled func testResolve2() throws { let endpointParams = EndpointParams( - region: "ap-northeast-2", - useDualStack: false, - useFIPS: false + endpoint: "https://example.com", + useFIPS: true ) let resolver = try DefaultEndpointResolver() - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.ap-northeast-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) + XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in + switch error { + case ClientRuntime.EndpointError.unresolved(let message): + XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) + default: + XCTFail() + } + } } - /// For region eu-central-1 with FIPS disabled and DualStack disabled + /// For custom endpoint with fips disabled and dualstack enabled func testResolve3() throws { let endpointParams = EndpointParams( - region: "eu-central-1", - useDualStack: false, + endpoint: "https://example.com", + useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.eu-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) + XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in + switch error { + case ClientRuntime.EndpointError.unresolved(let message): + XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) + default: + XCTFail() + } + } } - /// For region eu-west-1 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS enabled and DualStack enabled func testResolve4() throws { let endpointParams = EndpointParams( - region: "eu-west-1", - useDualStack: false, - useFIPS: false + region: "us-east-1", + useDualStack: true, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -96,17 +92,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.eu-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-east-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS enabled and DualStack disabled func testResolve5() throws { let endpointParams = EndpointParams( region: "us-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -116,16 +112,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-2 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS disabled and DualStack enabled func testResolve6() throws { let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, + region: "us-east-1", + useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -136,15 +132,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-east-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-east-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-west-2 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS disabled and DualStack disabled func testResolve7() throws { let endpointParams = EndpointParams( - region: "us-west-2", + region: "us-east-1", useDualStack: false, useFIPS: false ) @@ -156,15 +152,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-west-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-east-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS enabled and DualStack enabled + /// For region cn-northwest-1 with FIPS enabled and DualStack enabled func testResolve8() throws { let endpointParams = EndpointParams( - region: "us-east-1", + region: "cn-northwest-1", useDualStack: true, useFIPS: true ) @@ -176,15 +172,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.us-east-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.cn-northwest-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS enabled and DualStack disabled + /// For region cn-northwest-1 with FIPS enabled and DualStack disabled func testResolve9() throws { let endpointParams = EndpointParams( - region: "us-east-1", + region: "cn-northwest-1", useDualStack: false, useFIPS: true ) @@ -196,15 +192,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.cn-northwest-1.amazonaws.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS disabled and DualStack enabled + /// For region cn-northwest-1 with FIPS disabled and DualStack enabled func testResolve10() throws { let endpointParams = EndpointParams( - region: "us-east-1", + region: "cn-northwest-1", useDualStack: true, useFIPS: false ) @@ -216,17 +212,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-east-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.cn-northwest-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region cn-north-1 with FIPS enabled and DualStack enabled + /// For region cn-northwest-1 with FIPS disabled and DualStack disabled func testResolve11() throws { let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true + region: "cn-northwest-1", + useDualStack: false, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -236,16 +232,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.cn-northwest-1.amazonaws.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region cn-north-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -256,17 +252,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region cn-north-1 with FIPS disabled and DualStack enabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false + region: "us-gov-west-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -276,16 +272,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region cn-north-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -296,17 +292,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true + region: "us-gov-west-1", + useDualStack: false, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -316,15 +312,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-gov-east-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: true ) @@ -336,16 +332,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, + region: "us-iso-east-1", + useDualStack: false, useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -356,17 +352,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-gov-east-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-gov-east-1", + region: "us-isob-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -376,17 +372,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -396,17 +392,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "eu-isoe-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -416,17 +412,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -436,17 +432,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "us-isof-south-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -456,16 +452,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://lookoutvision.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For custom endpoint with region set and fips disabled and dualstack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -477,17 +472,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For custom endpoint with region not set and fips disabled and dualstack disabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve24() throws { let endpointParams = EndpointParams( - endpoint: "https://example.com", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -497,53 +492,33 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For custom endpoint with fips enabled and dualstack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } + let actual = try resolver.resolve(params: endpointParams) - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve26() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() + let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = + [:] - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } + let headers = SmithyHTTPAPI.Headers() + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://rtbfabric.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + + XCTAssertEqual(expected, actual) } /// Missing region - func testResolve27() throws { + func testResolve26() throws { let endpointParams = EndpointParams( ) let resolver = try DefaultEndpointResolver() diff --git a/Sources/Services/AWSRUM/Sources/AWSRUM/RUMClient.swift b/Sources/Services/AWSRUM/Sources/AWSRUM/RUMClient.swift index fa51e8490e5..6aa0e95c0b0 100644 --- a/Sources/Services/AWSRUM/Sources/AWSRUM/RUMClient.swift +++ b/Sources/Services/AWSRUM/Sources/AWSRUM/RUMClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RUMClient: ClientRuntime.Client { +public class RUMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RUMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RUMClient.RUMClientConfiguration let serviceName = "RUM" diff --git a/Sources/Services/AWSRbin/Sources/AWSRbin/RbinClient.swift b/Sources/Services/AWSRbin/Sources/AWSRbin/RbinClient.swift index b8675212c13..281f0a08fee 100644 --- a/Sources/Services/AWSRbin/Sources/AWSRbin/RbinClient.swift +++ b/Sources/Services/AWSRbin/Sources/AWSRbin/RbinClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RbinClient: ClientRuntime.Client { +public class RbinClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RbinClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RbinClient.RbinClientConfiguration let serviceName = "rbin" diff --git a/Sources/Services/AWSRedshift/Sources/AWSRedshift/RedshiftClient.swift b/Sources/Services/AWSRedshift/Sources/AWSRedshift/RedshiftClient.swift index c0bd322437a..e13115f1e36 100644 --- a/Sources/Services/AWSRedshift/Sources/AWSRedshift/RedshiftClient.swift +++ b/Sources/Services/AWSRedshift/Sources/AWSRedshift/RedshiftClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RedshiftClient: ClientRuntime.Client { +public class RedshiftClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RedshiftClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RedshiftClient.RedshiftClientConfiguration let serviceName = "Redshift" diff --git a/Sources/Services/AWSRedshiftData/Sources/AWSRedshiftData/RedshiftDataClient.swift b/Sources/Services/AWSRedshiftData/Sources/AWSRedshiftData/RedshiftDataClient.swift index 2b667b14457..dd3c019b565 100644 --- a/Sources/Services/AWSRedshiftData/Sources/AWSRedshiftData/RedshiftDataClient.swift +++ b/Sources/Services/AWSRedshiftData/Sources/AWSRedshiftData/RedshiftDataClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RedshiftDataClient: ClientRuntime.Client { +public class RedshiftDataClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RedshiftDataClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RedshiftDataClient.RedshiftDataClientConfiguration let serviceName = "Redshift Data" diff --git a/Sources/Services/AWSRedshiftServerless/Sources/AWSRedshiftServerless/RedshiftServerlessClient.swift b/Sources/Services/AWSRedshiftServerless/Sources/AWSRedshiftServerless/RedshiftServerlessClient.swift index 0ac25d7fb9e..d76ebe65134 100644 --- a/Sources/Services/AWSRedshiftServerless/Sources/AWSRedshiftServerless/RedshiftServerlessClient.swift +++ b/Sources/Services/AWSRedshiftServerless/Sources/AWSRedshiftServerless/RedshiftServerlessClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RedshiftServerlessClient: ClientRuntime.Client { +public class RedshiftServerlessClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RedshiftServerlessClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RedshiftServerlessClient.RedshiftServerlessClientConfiguration let serviceName = "Redshift Serverless" diff --git a/Sources/Services/AWSRekognition/Sources/AWSRekognition/RekognitionClient.swift b/Sources/Services/AWSRekognition/Sources/AWSRekognition/RekognitionClient.swift index c4d6d263b3c..ea31b248cec 100644 --- a/Sources/Services/AWSRekognition/Sources/AWSRekognition/RekognitionClient.swift +++ b/Sources/Services/AWSRekognition/Sources/AWSRekognition/RekognitionClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RekognitionClient: ClientRuntime.Client { +public class RekognitionClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RekognitionClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RekognitionClient.RekognitionClientConfiguration let serviceName = "Rekognition" diff --git a/Sources/Services/AWSRepostspace/Sources/AWSRepostspace/RepostspaceClient.swift b/Sources/Services/AWSRepostspace/Sources/AWSRepostspace/RepostspaceClient.swift index f550a72055a..ac9873ffc4a 100644 --- a/Sources/Services/AWSRepostspace/Sources/AWSRepostspace/RepostspaceClient.swift +++ b/Sources/Services/AWSRepostspace/Sources/AWSRepostspace/RepostspaceClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RepostspaceClient: ClientRuntime.Client { +public class RepostspaceClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RepostspaceClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RepostspaceClient.RepostspaceClientConfiguration let serviceName = "repostspace" diff --git a/Sources/Services/AWSResiliencehub/Sources/AWSResiliencehub/ResiliencehubClient.swift b/Sources/Services/AWSResiliencehub/Sources/AWSResiliencehub/ResiliencehubClient.swift index ff7592dc628..72bfb781b2f 100644 --- a/Sources/Services/AWSResiliencehub/Sources/AWSResiliencehub/ResiliencehubClient.swift +++ b/Sources/Services/AWSResiliencehub/Sources/AWSResiliencehub/ResiliencehubClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ResiliencehubClient: ClientRuntime.Client { +public class ResiliencehubClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ResiliencehubClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ResiliencehubClient.ResiliencehubClientConfiguration let serviceName = "resiliencehub" diff --git a/Sources/Services/AWSResourceExplorer2/Sources/AWSResourceExplorer2/ResourceExplorer2Client.swift b/Sources/Services/AWSResourceExplorer2/Sources/AWSResourceExplorer2/ResourceExplorer2Client.swift index 95a752e46a6..e68d946811e 100644 --- a/Sources/Services/AWSResourceExplorer2/Sources/AWSResourceExplorer2/ResourceExplorer2Client.swift +++ b/Sources/Services/AWSResourceExplorer2/Sources/AWSResourceExplorer2/ResourceExplorer2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ResourceExplorer2Client: ClientRuntime.Client { +public class ResourceExplorer2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "ResourceExplorer2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ResourceExplorer2Client.ResourceExplorer2ClientConfiguration let serviceName = "Resource Explorer 2" diff --git a/Sources/Services/AWSResourceGroups/Sources/AWSResourceGroups/ResourceGroupsClient.swift b/Sources/Services/AWSResourceGroups/Sources/AWSResourceGroups/ResourceGroupsClient.swift index e900041514c..295e6196715 100644 --- a/Sources/Services/AWSResourceGroups/Sources/AWSResourceGroups/ResourceGroupsClient.swift +++ b/Sources/Services/AWSResourceGroups/Sources/AWSResourceGroups/ResourceGroupsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ResourceGroupsClient: ClientRuntime.Client { +public class ResourceGroupsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ResourceGroupsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ResourceGroupsClient.ResourceGroupsClientConfiguration let serviceName = "Resource Groups" diff --git a/Sources/Services/AWSResourceGroupsTaggingAPI/Sources/AWSResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.swift b/Sources/Services/AWSResourceGroupsTaggingAPI/Sources/AWSResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.swift index 729de9f9a1a..fc6349d921d 100644 --- a/Sources/Services/AWSResourceGroupsTaggingAPI/Sources/AWSResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.swift +++ b/Sources/Services/AWSResourceGroupsTaggingAPI/Sources/AWSResourceGroupsTaggingAPI/ResourceGroupsTaggingAPIClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ResourceGroupsTaggingAPIClient: ClientRuntime.Client { +public class ResourceGroupsTaggingAPIClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ResourceGroupsTaggingAPIClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ResourceGroupsTaggingAPIClient.ResourceGroupsTaggingAPIClientConfiguration let serviceName = "Resource Groups Tagging API" diff --git a/Sources/Services/AWSRoboMaker/Dependencies.json b/Sources/Services/AWSRoboMaker/Dependencies.json deleted file mode 100644 index e8d9442b374..00000000000 --- a/Sources/Services/AWSRoboMaker/Dependencies.json +++ /dev/null @@ -1,17 +0,0 @@ -[ - "AWSClientRuntime", - "AWSSDKChecksums", - "AWSSDKHTTPAuth", - "AWSSDKIdentity", - "ClientRuntime", - "Smithy", - "SmithyHTTPAPI", - "SmithyHTTPAuthAPI", - "SmithyIdentity", - "SmithyJSON", - "SmithyReadWrite", - "SmithyRetries", - "SmithyRetriesAPI", - "SmithyTestUtil", - "SmithyTimestamps" -] diff --git a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Endpoints.swift b/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Endpoints.swift deleted file mode 100644 index a63c9a1acd0..00000000000 --- a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Endpoints.swift +++ /dev/null @@ -1,73 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import class ClientRuntime.EndpointsRequestContext -import let AWSClientRuntime.awsPartitionJSON -import protocol ClientRuntime.EndpointsRequestContextProviding -import struct ClientRuntime.DefaultEndpointResolver -import struct ClientRuntime.StaticEndpointResolver -import struct SmithyHTTPAPI.Endpoint - -public struct EndpointParams: Sendable { - /// Override the endpoint used to send this request - public let endpoint: Swift.String? - /// The AWS region used to dispatch the request. - public let region: Swift.String? - /// When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error. - public let useDualStack: Swift.Bool - /// When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error. - public let useFIPS: Swift.Bool - - public init( - endpoint: Swift.String? = nil, - region: Swift.String? = nil, - useDualStack: Swift.Bool = false, - useFIPS: Swift.Bool = false - ) - { - self.endpoint = endpoint - self.region = region - self.useDualStack = useDualStack - self.useFIPS = useFIPS - } -} - -extension EndpointParams: ClientRuntime.EndpointsRequestContextProviding { - - public var context: ClientRuntime.EndpointsRequestContext { - get throws { - let context = try ClientRuntime.EndpointsRequestContext() - try context.add(name: "Endpoint", value: self.endpoint) - try context.add(name: "Region", value: self.region) - try context.add(name: "UseDualStack", value: self.useDualStack) - try context.add(name: "UseFIPS", value: self.useFIPS) - return context - } - } -} - -public protocol EndpointResolver { - func resolve(params: EndpointParams) throws -> SmithyHTTPAPI.Endpoint -} - -typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver - -extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://robomaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://robomaker-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://robomaker.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://robomaker.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" - - init() throws { - try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) - } -} - -extension DefaultEndpointResolver: EndpointResolver {} - -typealias StaticEndpointResolver = ClientRuntime.StaticEndpointResolver - -extension StaticEndpointResolver: EndpointResolver {} diff --git a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Models.swift b/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Models.swift deleted file mode 100644 index 5f6fe4bbe68..00000000000 --- a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Models.swift +++ /dev/null @@ -1,9086 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@_spi(SmithyReadWrite) import ClientRuntime -import Foundation -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Reader -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum ClientRuntime.ErrorFault -import enum Smithy.ClientError -import enum SmithyReadWrite.ReaderError -@_spi(SmithyReadWrite) import enum SmithyReadWrite.ReadingClosures -@_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures -@_spi(SmithyTimestamps) import enum SmithyTimestamps.TimestampFormat -import protocol AWSClientRuntime.AWSServiceError -import protocol ClientRuntime.HTTPError -import protocol ClientRuntime.ModeledError -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyReader -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(SmithyReadWrite) import struct AWSClientRuntime.RestJSONError -@_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError -import struct Smithy.URIQueryItem - -extension RoboMakerClientTypes { - - public enum Architecture: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case arm64 - case armhf - case x8664 - case sdkUnknown(Swift.String) - - public static var allCases: [Architecture] { - return [ - .arm64, - .armhf, - .x8664 - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .arm64: return "ARM64" - case .armhf: return "ARMHF" - case .x8664: return "X86_64" - case let .sdkUnknown(s): return s - } - } - } -} - -/// AWS RoboMaker experienced a service issue. Try your call again. -public struct InternalServerException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InternalServerException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. -public struct InvalidParameterException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "InvalidParameterException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// AWS RoboMaker is temporarily unable to process the request. Try your call again. -public struct ThrottlingException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ThrottlingException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -public struct BatchDeleteWorldsInput: Swift.Sendable { - /// A list of Amazon Resource Names (arns) that correspond to worlds to delete. - /// This member is required. - public var worlds: [Swift.String]? - - public init( - worlds: [Swift.String]? = nil - ) { - self.worlds = worlds - } -} - -public struct BatchDeleteWorldsOutput: Swift.Sendable { - /// A list of unprocessed worlds associated with the call. These worlds were not deleted. - public var unprocessedWorlds: [Swift.String]? - - public init( - unprocessedWorlds: [Swift.String]? = nil - ) { - self.unprocessedWorlds = unprocessedWorlds - } -} - -/// The specified resource does not exist. -public struct ResourceNotFoundException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceNotFoundException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -public struct BatchDescribeSimulationJobInput: Swift.Sendable { - /// A list of Amazon Resource Names (ARNs) of simulation jobs to describe. - /// This member is required. - public var jobs: [Swift.String]? - - public init( - jobs: [Swift.String]? = nil - ) { - self.jobs = jobs - } -} - -extension RoboMakerClientTypes { - - public enum ComputeType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case cpu - case gpuAndCpu - case sdkUnknown(Swift.String) - - public static var allCases: [ComputeType] { - return [ - .cpu, - .gpuAndCpu - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .cpu: return "CPU" - case .gpuAndCpu: return "GPU_AND_CPU" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Compute information for the simulation job - public struct ComputeResponse: Swift.Sendable { - /// Compute type response information for the simulation job. - public var computeType: RoboMakerClientTypes.ComputeType? - /// Compute GPU unit limit for the simulation job. It is the same as the number of GPUs allocated to the SimulationJob. - public var gpuUnitLimit: Swift.Int? - /// The simulation unit limit. Your simulation is allocated CPU and memory proportional to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB of memory. You are only billed for the SU utilization you consume up to the maximum value provided. The default is 15. - public var simulationUnitLimit: Swift.Int? - - public init( - computeType: RoboMakerClientTypes.ComputeType? = nil, - gpuUnitLimit: Swift.Int? = nil, - simulationUnitLimit: Swift.Int? = nil - ) { - self.computeType = computeType - self.gpuUnitLimit = gpuUnitLimit - self.simulationUnitLimit = simulationUnitLimit - } - } -} - -extension RoboMakerClientTypes { - - /// Information about S3 keys. - public struct S3KeyOutput: Swift.Sendable { - /// The etag for the object. - public var etag: Swift.String? - /// The S3 key. - public var s3Key: Swift.String? - - public init( - etag: Swift.String? = nil, - s3Key: Swift.String? = nil - ) { - self.etag = etag - self.s3Key = s3Key - } - } -} - -extension RoboMakerClientTypes { - - public enum DataSourceType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case archive - case file - case `prefix` - case sdkUnknown(Swift.String) - - public static var allCases: [DataSourceType] { - return [ - .archive, - .file, - .prefix - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .archive: return "Archive" - case .file: return "File" - case .prefix: return "Prefix" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a data source. - public struct DataSource: Swift.Sendable { - /// The location where your files are mounted in the container image. If you've specified the type of the data source as an Archive, you must provide an Amazon S3 object key to your archive. The object key must point to either a .zip or .tar.gz file. If you've specified the type of the data source as a Prefix, you provide the Amazon S3 prefix that points to the files that you are using for your data source. If you've specified the type of the data source as a File, you provide the Amazon S3 path to the file that you're using as your data source. - public var destination: Swift.String? - /// The name of the data source. - public var name: Swift.String? - /// The S3 bucket where the data files are located. - public var s3Bucket: Swift.String? - /// The list of S3 keys identifying the data source files. - public var s3Keys: [RoboMakerClientTypes.S3KeyOutput]? - /// The data type for the data source that you're using for your container image or simulation job. You can use this field to specify whether your data source is an Archive, an Amazon S3 prefix, or a file. If you don't specify a field, the default value is File. - public var type: RoboMakerClientTypes.DataSourceType? - - public init( - destination: Swift.String? = nil, - name: Swift.String? = nil, - s3Bucket: Swift.String? = nil, - s3Keys: [RoboMakerClientTypes.S3KeyOutput]? = nil, - type: RoboMakerClientTypes.DataSourceType? = nil - ) { - self.destination = destination - self.name = name - self.s3Bucket = s3Bucket - self.s3Keys = s3Keys - self.type = type - } - } -} - -extension RoboMakerClientTypes { - - public enum FailureBehavior: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case `continue` - case fail - case sdkUnknown(Swift.String) - - public static var allCases: [FailureBehavior] { - return [ - .continue, - .fail - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .continue: return "Continue" - case .fail: return "Fail" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - public enum SimulationJobErrorCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case badpermissionscloudwatchlogs - case badpermissionsrobotapplication - case badpermissionss3object - case badpermissionss3output - case badpermissionssimulationapplication - case badpermissionsusercredentials - case batchcanceled - case batchtimedout - case enilimitexceeded - case internalserviceerror - case invalidbundlerobotapplication - case invalidbundlesimulationapplication - case invalidinput - case invalids3resource - case limitexceeded - case mismatchedetag - case requestthrottled - case resourcenotfound - case robotapplicationcrash - case robotapplicationhealthcheckfailure - case robotapplicationversionmismatchedetag - case simulationapplicationcrash - case simulationapplicationhealthcheckfailure - case simulationapplicationversionmismatchedetag - case subnetiplimitexceeded - case throttlingerror - case uploadcontentmismatcherror - case wrongregionrobotapplication - case wrongregions3bucket - case wrongregions3output - case wrongregionsimulationapplication - case sdkUnknown(Swift.String) - - public static var allCases: [SimulationJobErrorCode] { - return [ - .badpermissionscloudwatchlogs, - .badpermissionsrobotapplication, - .badpermissionss3object, - .badpermissionss3output, - .badpermissionssimulationapplication, - .badpermissionsusercredentials, - .batchcanceled, - .batchtimedout, - .enilimitexceeded, - .internalserviceerror, - .invalidbundlerobotapplication, - .invalidbundlesimulationapplication, - .invalidinput, - .invalids3resource, - .limitexceeded, - .mismatchedetag, - .requestthrottled, - .resourcenotfound, - .robotapplicationcrash, - .robotapplicationhealthcheckfailure, - .robotapplicationversionmismatchedetag, - .simulationapplicationcrash, - .simulationapplicationhealthcheckfailure, - .simulationapplicationversionmismatchedetag, - .subnetiplimitexceeded, - .throttlingerror, - .uploadcontentmismatcherror, - .wrongregionrobotapplication, - .wrongregions3bucket, - .wrongregions3output, - .wrongregionsimulationapplication - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .badpermissionscloudwatchlogs: return "BadPermissionsCloudwatchLogs" - case .badpermissionsrobotapplication: return "BadPermissionsRobotApplication" - case .badpermissionss3object: return "BadPermissionsS3Object" - case .badpermissionss3output: return "BadPermissionsS3Output" - case .badpermissionssimulationapplication: return "BadPermissionsSimulationApplication" - case .badpermissionsusercredentials: return "BadPermissionsUserCredentials" - case .batchcanceled: return "BatchCanceled" - case .batchtimedout: return "BatchTimedOut" - case .enilimitexceeded: return "ENILimitExceeded" - case .internalserviceerror: return "InternalServiceError" - case .invalidbundlerobotapplication: return "InvalidBundleRobotApplication" - case .invalidbundlesimulationapplication: return "InvalidBundleSimulationApplication" - case .invalidinput: return "InvalidInput" - case .invalids3resource: return "InvalidS3Resource" - case .limitexceeded: return "LimitExceeded" - case .mismatchedetag: return "MismatchedEtag" - case .requestthrottled: return "RequestThrottled" - case .resourcenotfound: return "ResourceNotFound" - case .robotapplicationcrash: return "RobotApplicationCrash" - case .robotapplicationhealthcheckfailure: return "RobotApplicationHealthCheckFailure" - case .robotapplicationversionmismatchedetag: return "RobotApplicationVersionMismatchedEtag" - case .simulationapplicationcrash: return "SimulationApplicationCrash" - case .simulationapplicationhealthcheckfailure: return "SimulationApplicationHealthCheckFailure" - case .simulationapplicationversionmismatchedetag: return "SimulationApplicationVersionMismatchedEtag" - case .subnetiplimitexceeded: return "SubnetIpLimitExceeded" - case .throttlingerror: return "ThrottlingError" - case .uploadcontentmismatcherror: return "UploadContentMismatchError" - case .wrongregionrobotapplication: return "WrongRegionRobotApplication" - case .wrongregions3bucket: return "WrongRegionS3Bucket" - case .wrongregions3output: return "WrongRegionS3Output" - case .wrongregionsimulationapplication: return "WrongRegionSimulationApplication" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// The logging configuration. - public struct LoggingConfig: Swift.Sendable { - /// A boolean indicating whether to record all ROS topics. This API is no longer supported and will throw an error if used. - @available(*, deprecated, message: "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html.") - public var recordAllRosTopics: Swift.Bool? - - public init( - recordAllRosTopics: Swift.Bool? = nil - ) { - self.recordAllRosTopics = recordAllRosTopics - } - } -} - -extension RoboMakerClientTypes { - - /// Describes a network interface. - public struct NetworkInterface: Swift.Sendable { - /// The ID of the network interface. - public var networkInterfaceId: Swift.String? - /// The IPv4 address of the network interface within the subnet. - public var privateIpAddress: Swift.String? - /// The IPv4 public address of the network interface. - public var publicIpAddress: Swift.String? - - public init( - networkInterfaceId: Swift.String? = nil, - privateIpAddress: Swift.String? = nil, - publicIpAddress: Swift.String? = nil - ) { - self.networkInterfaceId = networkInterfaceId - self.privateIpAddress = privateIpAddress - self.publicIpAddress = publicIpAddress - } - } -} - -extension RoboMakerClientTypes { - - /// The output location. - public struct OutputLocation: Swift.Sendable { - /// The S3 bucket for output. - public var s3Bucket: Swift.String? - /// The S3 folder in the s3Bucket where output files will be placed. - public var s3Prefix: Swift.String? - - public init( - s3Bucket: Swift.String? = nil, - s3Prefix: Swift.String? = nil - ) { - self.s3Bucket = s3Bucket - self.s3Prefix = s3Prefix - } - } -} - -extension RoboMakerClientTypes { - - /// An object representing a port mapping. - public struct PortMapping: Swift.Sendable { - /// The port number on the application. - /// This member is required. - public var applicationPort: Swift.Int? - /// A Boolean indicating whether to enable this port mapping on public IP. - public var enableOnPublicIp: Swift.Bool - /// The port number on the simulation job instance to use as a remote connection point. - /// This member is required. - public var jobPort: Swift.Int? - - public init( - applicationPort: Swift.Int? = nil, - enableOnPublicIp: Swift.Bool = false, - jobPort: Swift.Int? = nil - ) { - self.applicationPort = applicationPort - self.enableOnPublicIp = enableOnPublicIp - self.jobPort = jobPort - } - } -} - -extension RoboMakerClientTypes { - - /// Configuration information for port forwarding. - public struct PortForwardingConfig: Swift.Sendable { - /// The port mappings for the configuration. - public var portMappings: [RoboMakerClientTypes.PortMapping]? - - public init( - portMappings: [RoboMakerClientTypes.PortMapping]? = nil - ) { - self.portMappings = portMappings - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a launch configuration. - public struct LaunchConfig: Swift.Sendable { - /// If you've specified General as the value for your RobotSoftwareSuite, you can use this field to specify a list of commands for your container image. If you've specified SimulationRuntime as the value for your SimulationSoftwareSuite, you can use this field to specify a list of commands for your container image. - public var command: [Swift.String]? - /// The environment variables for the application launch. - public var environmentVariables: [Swift.String: Swift.String]? - /// The launch file name. - public var launchFile: Swift.String? - /// The package name. - public var packageName: Swift.String? - /// The port forwarding configuration. - public var portForwardingConfig: RoboMakerClientTypes.PortForwardingConfig? - /// Boolean indicating whether a streaming session will be configured for the application. If True, AWS RoboMaker will configure a connection so you can interact with your application as it is running in the simulation. You must configure and launch the component. It must have a graphical user interface. - public var streamUI: Swift.Bool - - public init( - command: [Swift.String]? = nil, - environmentVariables: [Swift.String: Swift.String]? = nil, - launchFile: Swift.String? = nil, - packageName: Swift.String? = nil, - portForwardingConfig: RoboMakerClientTypes.PortForwardingConfig? = nil, - streamUI: Swift.Bool = false - ) { - self.command = command - self.environmentVariables = environmentVariables - self.launchFile = launchFile - self.packageName = packageName - self.portForwardingConfig = portForwardingConfig - self.streamUI = streamUI - } - } -} - -extension RoboMakerClientTypes { - - public enum ExitBehavior: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case fail - case restart - case sdkUnknown(Swift.String) - - public static var allCases: [ExitBehavior] { - return [ - .fail, - .restart - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .fail: return "FAIL" - case .restart: return "RESTART" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a tool. Tools are used in a simulation job. - public struct Tool: Swift.Sendable { - /// Command-line arguments for the tool. It must include the tool executable name. - /// This member is required. - public var command: Swift.String? - /// Exit behavior determines what happens when your tool quits running. RESTART will cause your tool to be restarted. FAIL will cause your job to exit. The default is RESTART. - public var exitBehavior: RoboMakerClientTypes.ExitBehavior? - /// The name of the tool. - /// This member is required. - public var name: Swift.String? - /// Boolean indicating whether logs will be recorded in CloudWatch for the tool. The default is False. - public var streamOutputToCloudWatch: Swift.Bool? - /// Boolean indicating whether a streaming session will be configured for the tool. If True, AWS RoboMaker will configure a connection so you can interact with the tool as it is running in the simulation. It must have a graphical user interface. The default is False. - public var streamUI: Swift.Bool? - - public init( - command: Swift.String? = nil, - exitBehavior: RoboMakerClientTypes.ExitBehavior? = nil, - name: Swift.String? = nil, - streamOutputToCloudWatch: Swift.Bool? = nil, - streamUI: Swift.Bool? = nil - ) { - self.command = command - self.exitBehavior = exitBehavior - self.name = name - self.streamOutputToCloudWatch = streamOutputToCloudWatch - self.streamUI = streamUI - } - } -} - -extension RoboMakerClientTypes { - - public enum UploadBehavior: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case uploadOnTerminate - case uploadRollingAutoRemove - case sdkUnknown(Swift.String) - - public static var allCases: [UploadBehavior] { - return [ - .uploadOnTerminate, - .uploadRollingAutoRemove - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .uploadOnTerminate: return "UPLOAD_ON_TERMINATE" - case .uploadRollingAutoRemove: return "UPLOAD_ROLLING_AUTO_REMOVE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Provides upload configuration information. Files are uploaded from the simulation job to a location you specify. - public struct UploadConfiguration: Swift.Sendable { - /// A prefix that specifies where files will be uploaded in Amazon S3. It is appended to the simulation output location to determine the final path. For example, if your simulation output location is s3://amzn-s3-demo-bucket and your upload configuration name is robot-test, your files will be uploaded to s3://amzn-s3-demo-bucket///robot-test. - /// This member is required. - public var name: Swift.String? - /// Specifies the path of the file(s) to upload. Standard Unix glob matching rules are accepted, with the addition of ** as a super asterisk. For example, specifying /var/log/**.log causes all .log files in the /var/log directory tree to be collected. For more examples, see [Glob Library](https://github.com/gobwas/glob). - /// This member is required. - public var path: Swift.String? - /// Specifies when to upload the files: UPLOAD_ON_TERMINATE Matching files are uploaded once the simulation enters the TERMINATING state. Matching files are not uploaded until all of your code (including tools) have stopped. If there is a problem uploading a file, the upload is retried. If problems persist, no further upload attempts will be made. UPLOAD_ROLLING_AUTO_REMOVE Matching files are uploaded as they are created. They are deleted after they are uploaded. The specified path is checked every 5 seconds. A final check is made when all of your code (including tools) have stopped. - /// This member is required. - public var uploadBehavior: RoboMakerClientTypes.UploadBehavior? - - public init( - name: Swift.String? = nil, - path: Swift.String? = nil, - uploadBehavior: RoboMakerClientTypes.UploadBehavior? = nil - ) { - self.name = name - self.path = path - self.uploadBehavior = uploadBehavior - } - } -} - -extension RoboMakerClientTypes { - - /// Application configuration information for a robot. - public struct RobotApplicationConfig: Swift.Sendable { - /// The application information for the robot application. - /// This member is required. - public var application: Swift.String? - /// The version of the robot application. - public var applicationVersion: Swift.String? - /// The launch configuration for the robot application. - /// This member is required. - public var launchConfig: RoboMakerClientTypes.LaunchConfig? - /// Information about tools configured for the robot application. - public var tools: [RoboMakerClientTypes.Tool]? - /// The upload configurations for the robot application. - public var uploadConfigurations: [RoboMakerClientTypes.UploadConfiguration]? - /// A Boolean indicating whether to use default robot application tools. The default tools are rviz, rqt, terminal and rosbag record. The default is False. This API is no longer supported and will throw an error if used. - @available(*, deprecated, message: "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html.") - public var useDefaultTools: Swift.Bool? - /// A Boolean indicating whether to use default upload configurations. By default, .ros and .gazebo files are uploaded when the application terminates and all ROS topics will be recorded. If you set this value, you must specify an outputLocation. This API is no longer supported and will throw an error if used. - @available(*, deprecated, message: "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html.") - public var useDefaultUploadConfigurations: Swift.Bool? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil, - launchConfig: RoboMakerClientTypes.LaunchConfig? = nil, - tools: [RoboMakerClientTypes.Tool]? = nil, - uploadConfigurations: [RoboMakerClientTypes.UploadConfiguration]? = nil, - useDefaultTools: Swift.Bool? = nil, - useDefaultUploadConfigurations: Swift.Bool? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - self.launchConfig = launchConfig - self.tools = tools - self.uploadConfigurations = uploadConfigurations - self.useDefaultTools = useDefaultTools - self.useDefaultUploadConfigurations = useDefaultUploadConfigurations - } - } -} - -extension RoboMakerClientTypes { - - /// Configuration information for a world. - public struct WorldConfig: Swift.Sendable { - /// The world generated by Simulation WorldForge. - public var world: Swift.String? - - public init( - world: Swift.String? = nil - ) { - self.world = world - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a simulation application configuration. - public struct SimulationApplicationConfig: Swift.Sendable { - /// The application information for the simulation application. - /// This member is required. - public var application: Swift.String? - /// The version of the simulation application. - public var applicationVersion: Swift.String? - /// The launch configuration for the simulation application. - /// This member is required. - public var launchConfig: RoboMakerClientTypes.LaunchConfig? - /// Information about tools configured for the simulation application. - public var tools: [RoboMakerClientTypes.Tool]? - /// Information about upload configurations for the simulation application. - public var uploadConfigurations: [RoboMakerClientTypes.UploadConfiguration]? - /// A Boolean indicating whether to use default simulation application tools. The default tools are rviz, rqt, terminal and rosbag record. The default is False. This API is no longer supported and will throw an error if used. - @available(*, deprecated, message: "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html.") - public var useDefaultTools: Swift.Bool? - /// A Boolean indicating whether to use default upload configurations. By default, .ros and .gazebo files are uploaded when the application terminates and all ROS topics will be recorded. If you set this value, you must specify an outputLocation. This API is no longer supported and will throw an error if used. - @available(*, deprecated, message: "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html.") - public var useDefaultUploadConfigurations: Swift.Bool? - /// A list of world configurations. This API is no longer supported and will throw an error if used. - public var worldConfigs: [RoboMakerClientTypes.WorldConfig]? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil, - launchConfig: RoboMakerClientTypes.LaunchConfig? = nil, - tools: [RoboMakerClientTypes.Tool]? = nil, - uploadConfigurations: [RoboMakerClientTypes.UploadConfiguration]? = nil, - useDefaultTools: Swift.Bool? = nil, - useDefaultUploadConfigurations: Swift.Bool? = nil, - worldConfigs: [RoboMakerClientTypes.WorldConfig]? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - self.launchConfig = launchConfig - self.tools = tools - self.uploadConfigurations = uploadConfigurations - self.useDefaultTools = useDefaultTools - self.useDefaultUploadConfigurations = useDefaultUploadConfigurations - self.worldConfigs = worldConfigs - } - } -} - -extension RoboMakerClientTypes { - - public enum SimulationJobStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case canceled - case completed - case failed - case pending - case preparing - case restarting - case running - case runningfailed - case terminated - case terminating - case sdkUnknown(Swift.String) - - public static var allCases: [SimulationJobStatus] { - return [ - .canceled, - .completed, - .failed, - .pending, - .preparing, - .restarting, - .running, - .runningfailed, - .terminated, - .terminating - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .canceled: return "Canceled" - case .completed: return "Completed" - case .failed: return "Failed" - case .pending: return "Pending" - case .preparing: return "Preparing" - case .restarting: return "Restarting" - case .running: return "Running" - case .runningfailed: return "RunningFailed" - case .terminated: return "Terminated" - case .terminating: return "Terminating" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// VPC configuration associated with your simulation job. - public struct VPCConfigResponse: Swift.Sendable { - /// A boolean indicating if a public IP was assigned. - public var assignPublicIp: Swift.Bool - /// A list of security group IDs associated with the simulation job. - public var securityGroups: [Swift.String]? - /// A list of subnet IDs associated with the simulation job. - public var subnets: [Swift.String]? - /// The VPC ID associated with your simulation job. - public var vpcId: Swift.String? - - public init( - assignPublicIp: Swift.Bool = false, - securityGroups: [Swift.String]? = nil, - subnets: [Swift.String]? = nil, - vpcId: Swift.String? = nil - ) { - self.assignPublicIp = assignPublicIp - self.securityGroups = securityGroups - self.subnets = subnets - self.vpcId = vpcId - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a simulation job. - public struct SimulationJob: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation job. - public var arn: Swift.String? - /// A unique identifier for this SimulationJob request. - public var clientRequestToken: Swift.String? - /// Compute information for the simulation job - public var compute: RoboMakerClientTypes.ComputeResponse? - /// The data sources for the simulation job. - public var dataSources: [RoboMakerClientTypes.DataSource]? - /// The failure behavior the simulation job. Continue Leaves the host running for its maximum timeout duration after a 4XX error code. Fail Stop the simulation job and terminate the instance. - public var failureBehavior: RoboMakerClientTypes.FailureBehavior? - /// The failure code of the simulation job if it failed. - public var failureCode: RoboMakerClientTypes.SimulationJobErrorCode? - /// The reason why the simulation job failed. - public var failureReason: Swift.String? - /// The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job. - public var iamRole: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job was last started. - public var lastStartedAt: Foundation.Date? - /// The time, in milliseconds since the epoch, when the simulation job was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The logging configuration. - public var loggingConfig: RoboMakerClientTypes.LoggingConfig? - /// The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less. - public var maxJobDurationInSeconds: Swift.Int - /// The name of the simulation job. - public var name: Swift.String? - /// Information about a network interface. - public var networkInterface: RoboMakerClientTypes.NetworkInterface? - /// Location for output files generated by the simulation job. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// A list of robot applications. - public var robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? - /// A list of simulation applications. - public var simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? - /// The simulation job execution duration in milliseconds. - public var simulationTimeMillis: Swift.Int - /// Status of the simulation job. - public var status: RoboMakerClientTypes.SimulationJobStatus? - /// A map that contains tag keys and tag values that are attached to the simulation job. - public var tags: [Swift.String: Swift.String]? - /// VPC configuration information. - public var vpcConfig: RoboMakerClientTypes.VPCConfigResponse? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - compute: RoboMakerClientTypes.ComputeResponse? = nil, - dataSources: [RoboMakerClientTypes.DataSource]? = nil, - failureBehavior: RoboMakerClientTypes.FailureBehavior? = nil, - failureCode: RoboMakerClientTypes.SimulationJobErrorCode? = nil, - failureReason: Swift.String? = nil, - iamRole: Swift.String? = nil, - lastStartedAt: Foundation.Date? = nil, - lastUpdatedAt: Foundation.Date? = nil, - loggingConfig: RoboMakerClientTypes.LoggingConfig? = nil, - maxJobDurationInSeconds: Swift.Int = 0, - name: Swift.String? = nil, - networkInterface: RoboMakerClientTypes.NetworkInterface? = nil, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? = nil, - simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? = nil, - simulationTimeMillis: Swift.Int = 0, - status: RoboMakerClientTypes.SimulationJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil, - vpcConfig: RoboMakerClientTypes.VPCConfigResponse? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.compute = compute - self.dataSources = dataSources - self.failureBehavior = failureBehavior - self.failureCode = failureCode - self.failureReason = failureReason - self.iamRole = iamRole - self.lastStartedAt = lastStartedAt - self.lastUpdatedAt = lastUpdatedAt - self.loggingConfig = loggingConfig - self.maxJobDurationInSeconds = maxJobDurationInSeconds - self.name = name - self.networkInterface = networkInterface - self.outputLocation = outputLocation - self.robotApplications = robotApplications - self.simulationApplications = simulationApplications - self.simulationTimeMillis = simulationTimeMillis - self.status = status - self.tags = tags - self.vpcConfig = vpcConfig - } - } -} - -public struct BatchDescribeSimulationJobOutput: Swift.Sendable { - /// A list of simulation jobs. - public var jobs: [RoboMakerClientTypes.SimulationJob]? - /// A list of unprocessed simulation job Amazon Resource Names (ARNs). - public var unprocessedJobs: [Swift.String]? - - public init( - jobs: [RoboMakerClientTypes.SimulationJob]? = nil, - unprocessedJobs: [Swift.String]? = nil - ) { - self.jobs = jobs - self.unprocessedJobs = unprocessedJobs - } -} - -extension RoboMakerClientTypes { - - /// Information about the batch policy. - public struct BatchPolicy: Swift.Sendable { - /// The number of active simulation jobs create as part of the batch that can be in an active state at the same time. Active states include: Pending,Preparing, Running, Restarting, RunningFailed and Terminating. All other states are terminal states. - public var maxConcurrency: Swift.Int? - /// The amount of time, in seconds, to wait for the batch to complete. If a batch times out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), they will be moved to the failed list and the batch status will be Failed. If the pending requests were failing for any other reason, the failed pending requests will be moved to the failed list and the batch status will be TimedOut. - public var timeoutInSeconds: Swift.Int? - - public init( - maxConcurrency: Swift.Int? = nil, - timeoutInSeconds: Swift.Int? = nil - ) { - self.maxConcurrency = maxConcurrency - self.timeoutInSeconds = timeoutInSeconds - } - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CancelDeploymentJobInput: Swift.Sendable { - /// The deployment job ARN to cancel. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CancelDeploymentJobOutput: Swift.Sendable { - - public init() { } -} - -public struct CancelSimulationJobInput: Swift.Sendable { - /// The simulation job ARN to cancel. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -public struct CancelSimulationJobOutput: Swift.Sendable { - - public init() { } -} - -public struct CancelSimulationJobBatchInput: Swift.Sendable { - /// The id of the batch to cancel. - /// This member is required. - public var batch: Swift.String? - - public init( - batch: Swift.String? = nil - ) { - self.batch = batch - } -} - -public struct CancelSimulationJobBatchOutput: Swift.Sendable { - - public init() { } -} - -public struct CancelWorldExportJobInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world export job to cancel. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -public struct CancelWorldExportJobOutput: Swift.Sendable { - - public init() { } -} - -public struct CancelWorldGenerationJobInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world generator job to cancel. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -public struct CancelWorldGenerationJobOutput: Swift.Sendable { - - public init() { } -} - -extension RoboMakerClientTypes { - - /// Compute information for the simulation job. - public struct Compute: Swift.Sendable { - /// Compute type information for the simulation job. - public var computeType: RoboMakerClientTypes.ComputeType? - /// Compute GPU unit limit for the simulation job. It is the same as the number of GPUs allocated to the SimulationJob. - public var gpuUnitLimit: Swift.Int? - /// The simulation unit limit. Your simulation is allocated CPU and memory proportional to the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB of memory. You are only billed for the SU utilization you consume up to the maximum value provided. The default is 15. - public var simulationUnitLimit: Swift.Int? - - public init( - computeType: RoboMakerClientTypes.ComputeType? = nil, - gpuUnitLimit: Swift.Int? = nil, - simulationUnitLimit: Swift.Int? = nil - ) { - self.computeType = computeType - self.gpuUnitLimit = gpuUnitLimit - self.simulationUnitLimit = simulationUnitLimit - } - } -} - -/// The failure percentage threshold percentage was met. -public struct ConcurrentDeploymentException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ConcurrentDeploymentException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. -public struct IdempotentParameterMismatchException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "IdempotentParameterMismatchException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -/// The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. -public struct LimitExceededException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "LimitExceededException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension RoboMakerClientTypes { - - /// Configuration information for a deployment launch. - public struct DeploymentLaunchConfig: Swift.Sendable { - /// An array of key/value pairs specifying environment variables for the robot application - public var environmentVariables: [Swift.String: Swift.String]? - /// The launch file name. - /// This member is required. - public var launchFile: Swift.String? - /// The package name. - /// This member is required. - public var packageName: Swift.String? - /// The deployment post-launch file. This file will be executed after the launch file. - public var postLaunchFile: Swift.String? - /// The deployment pre-launch file. This file will be executed prior to the launch file. - public var preLaunchFile: Swift.String? - - public init( - environmentVariables: [Swift.String: Swift.String]? = nil, - launchFile: Swift.String? = nil, - packageName: Swift.String? = nil, - postLaunchFile: Swift.String? = nil, - preLaunchFile: Swift.String? = nil - ) { - self.environmentVariables = environmentVariables - self.launchFile = launchFile - self.packageName = packageName - self.postLaunchFile = postLaunchFile - self.preLaunchFile = preLaunchFile - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a deployment application configuration. - public struct DeploymentApplicationConfig: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot application. - /// This member is required. - public var application: Swift.String? - /// The version of the application. - /// This member is required. - public var applicationVersion: Swift.String? - /// The launch configuration. - /// This member is required. - public var launchConfig: RoboMakerClientTypes.DeploymentLaunchConfig? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil, - launchConfig: RoboMakerClientTypes.DeploymentLaunchConfig? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - self.launchConfig = launchConfig - } - } -} - -extension RoboMakerClientTypes { - - /// Information about an S3 object. - public struct S3Object: Swift.Sendable { - /// The bucket containing the object. - /// This member is required. - public var bucket: Swift.String? - /// The etag of the object. - public var etag: Swift.String? - /// The key of the object. - /// This member is required. - public var key: Swift.String? - - public init( - bucket: Swift.String? = nil, - etag: Swift.String? = nil, - key: Swift.String? = nil - ) { - self.bucket = bucket - self.etag = etag - self.key = key - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a deployment configuration. - public struct DeploymentConfig: Swift.Sendable { - /// The percentage of robots receiving the deployment at the same time. - public var concurrentDeploymentPercentage: Swift.Int? - /// The download condition file. - public var downloadConditionFile: RoboMakerClientTypes.S3Object? - /// The percentage of deployments that need to fail before stopping deployment. - public var failureThresholdPercentage: Swift.Int? - /// The amount of time, in seconds, to wait for deployment to a single robot to complete. Choose a time between 1 minute and 7 days. The default is 5 hours. - public var robotDeploymentTimeoutInSeconds: Swift.Int? - - public init( - concurrentDeploymentPercentage: Swift.Int? = nil, - downloadConditionFile: RoboMakerClientTypes.S3Object? = nil, - failureThresholdPercentage: Swift.Int? = nil, - robotDeploymentTimeoutInSeconds: Swift.Int? = nil - ) { - self.concurrentDeploymentPercentage = concurrentDeploymentPercentage - self.downloadConditionFile = downloadConditionFile - self.failureThresholdPercentage = failureThresholdPercentage - self.robotDeploymentTimeoutInSeconds = robotDeploymentTimeoutInSeconds - } - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CreateDeploymentJobInput: Swift.Sendable { - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - /// This member is required. - public var clientRequestToken: Swift.String? - /// The deployment application configuration. - /// This member is required. - public var deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? - /// The requested deployment configuration. - public var deploymentConfig: RoboMakerClientTypes.DeploymentConfig? - /// The Amazon Resource Name (ARN) of the fleet to deploy. - /// This member is required. - public var fleet: Swift.String? - /// A map that contains tag keys and tag values that are attached to the deployment job. - public var tags: [Swift.String: Swift.String]? - - public init( - clientRequestToken: Swift.String? = nil, - deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? = nil, - deploymentConfig: RoboMakerClientTypes.DeploymentConfig? = nil, - fleet: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.clientRequestToken = clientRequestToken - self.deploymentApplicationConfigs = deploymentApplicationConfigs - self.deploymentConfig = deploymentConfig - self.fleet = fleet - self.tags = tags - } -} - -extension RoboMakerClientTypes { - - public enum DeploymentJobErrorCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case badlambdaassociated - case badpermissionerror - case deploymentfleetdoesnotexist - case downloadconditionfailed - case environmentsetuperror - case etagmismatch - case extractingbundlefailure - case failurethresholdbreached - case fleetdeploymenttimeout - case greengrassdeploymentfailed - case greengrassgroupversiondoesnotexist - case internalservererror - case invalidgreengrassgroup - case lambdadeleted - case missingrobotapplicationarchitecture - case missingrobotarchitecture - case missingrobotdeploymentresource - case postlaunchfilefailure - case prelaunchfilefailure - case resourcenotfound - case robotagentconnectiontimeout - case robotapplicationdoesnotexist - case robotdeploymentaborted - case robotdeploymentnoresponse - case sdkUnknown(Swift.String) - - public static var allCases: [DeploymentJobErrorCode] { - return [ - .badlambdaassociated, - .badpermissionerror, - .deploymentfleetdoesnotexist, - .downloadconditionfailed, - .environmentsetuperror, - .etagmismatch, - .extractingbundlefailure, - .failurethresholdbreached, - .fleetdeploymenttimeout, - .greengrassdeploymentfailed, - .greengrassgroupversiondoesnotexist, - .internalservererror, - .invalidgreengrassgroup, - .lambdadeleted, - .missingrobotapplicationarchitecture, - .missingrobotarchitecture, - .missingrobotdeploymentresource, - .postlaunchfilefailure, - .prelaunchfilefailure, - .resourcenotfound, - .robotagentconnectiontimeout, - .robotapplicationdoesnotexist, - .robotdeploymentaborted, - .robotdeploymentnoresponse - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .badlambdaassociated: return "BadLambdaAssociated" - case .badpermissionerror: return "BadPermissionError" - case .deploymentfleetdoesnotexist: return "DeploymentFleetDoesNotExist" - case .downloadconditionfailed: return "DownloadConditionFailed" - case .environmentsetuperror: return "EnvironmentSetupError" - case .etagmismatch: return "EtagMismatch" - case .extractingbundlefailure: return "ExtractingBundleFailure" - case .failurethresholdbreached: return "FailureThresholdBreached" - case .fleetdeploymenttimeout: return "FleetDeploymentTimeout" - case .greengrassdeploymentfailed: return "GreengrassDeploymentFailed" - case .greengrassgroupversiondoesnotexist: return "GreengrassGroupVersionDoesNotExist" - case .internalservererror: return "InternalServerError" - case .invalidgreengrassgroup: return "InvalidGreengrassGroup" - case .lambdadeleted: return "LambdaDeleted" - case .missingrobotapplicationarchitecture: return "MissingRobotApplicationArchitecture" - case .missingrobotarchitecture: return "MissingRobotArchitecture" - case .missingrobotdeploymentresource: return "MissingRobotDeploymentResource" - case .postlaunchfilefailure: return "PostLaunchFileFailure" - case .prelaunchfilefailure: return "PreLaunchFileFailure" - case .resourcenotfound: return "ResourceNotFound" - case .robotagentconnectiontimeout: return "RobotAgentConnectionTimeout" - case .robotapplicationdoesnotexist: return "RobotApplicationDoesNotExist" - case .robotdeploymentaborted: return "RobotDeploymentAborted" - case .robotdeploymentnoresponse: return "RobotDeploymentNoResponse" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - public enum DeploymentStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case canceled - case failed - case inprogress - case pending - case preparing - case succeeded - case sdkUnknown(Swift.String) - - public static var allCases: [DeploymentStatus] { - return [ - .canceled, - .failed, - .inprogress, - .pending, - .preparing, - .succeeded - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .canceled: return "Canceled" - case .failed: return "Failed" - case .inprogress: return "InProgress" - case .pending: return "Pending" - case .preparing: return "Preparing" - case .succeeded: return "Succeeded" - case let .sdkUnknown(s): return s - } - } - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CreateDeploymentJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the deployment job. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the fleet was created. - public var createdAt: Foundation.Date? - /// The deployment application configuration. - public var deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? - /// The deployment configuration. - public var deploymentConfig: RoboMakerClientTypes.DeploymentConfig? - /// The failure code of the simulation job if it failed: BadPermissionError AWS Greengrass requires a service-level role permission to access other services. The role must include the [AWSGreengrassResourceAccessRolePolicy] managed policy(https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSGreengrassResourceAccessRolePolicy$jsonEditor). ExtractingBundleFailure The robot application could not be extracted from the bundle. FailureThresholdBreached The percentage of robots that could not be updated exceeded the percentage set for the deployment. GreengrassDeploymentFailed The robot application could not be deployed to the robot. GreengrassGroupVersionDoesNotExist The AWS Greengrass group or version associated with a robot is missing. InternalServerError An internal error has occurred. Retry your request, but if the problem persists, contact us with details. MissingRobotApplicationArchitecture The robot application does not have a source that matches the architecture of the robot. MissingRobotDeploymentResource One or more of the resources specified for the robot application are missing. For example, does the robot application have the correct launch package and launch file? PostLaunchFileFailure The post-launch script failed. PreLaunchFileFailure The pre-launch script failed. ResourceNotFound One or more deployment resources are missing. For example, do robot application source bundles still exist? RobotDeploymentNoResponse There is no response from the robot. It might not be powered on or connected to the internet. - public var failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? - /// The failure reason of the deployment job if it failed. - public var failureReason: Swift.String? - /// The target fleet for the deployment job. - public var fleet: Swift.String? - /// The status of the deployment job. - public var status: RoboMakerClientTypes.DeploymentStatus? - /// The list of all tags added to the deployment job. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? = nil, - deploymentConfig: RoboMakerClientTypes.DeploymentConfig? = nil, - failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? = nil, - failureReason: Swift.String? = nil, - fleet: Swift.String? = nil, - status: RoboMakerClientTypes.DeploymentStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.deploymentApplicationConfigs = deploymentApplicationConfigs - self.deploymentConfig = deploymentConfig - self.failureCode = failureCode - self.failureReason = failureReason - self.fleet = fleet - self.status = status - self.tags = tags - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CreateFleetInput: Swift.Sendable { - /// The name of the fleet. - /// This member is required. - public var name: Swift.String? - /// A map that contains tag keys and tag values that are attached to the fleet. - public var tags: [Swift.String: Swift.String]? - - public init( - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.name = name - self.tags = tags - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CreateFleetOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the fleet was created. - public var createdAt: Foundation.Date? - /// The name of the fleet. - public var name: Swift.String? - /// The list of all tags added to the fleet. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.name = name - self.tags = tags - } -} - -/// The specified resource already exists. -public struct ResourceAlreadyExistsException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ResourceAlreadyExistsException" } - public static var fault: ClientRuntime.ErrorFault { .client } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CreateRobotInput: Swift.Sendable { - /// The target architecture of the robot. - /// This member is required. - public var architecture: RoboMakerClientTypes.Architecture? - /// The Greengrass group id. - /// This member is required. - public var greengrassGroupId: Swift.String? - /// The name for the robot. - /// This member is required. - public var name: Swift.String? - /// A map that contains tag keys and tag values that are attached to the robot. - public var tags: [Swift.String: Swift.String]? - - public init( - architecture: RoboMakerClientTypes.Architecture? = nil, - greengrassGroupId: Swift.String? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.architecture = architecture - self.greengrassGroupId = greengrassGroupId - self.name = name - self.tags = tags - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct CreateRobotOutput: Swift.Sendable { - /// The target architecture of the robot. - public var architecture: RoboMakerClientTypes.Architecture? - /// The Amazon Resource Name (ARN) of the robot. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the robot was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (ARN) of the Greengrass group associated with the robot. - public var greengrassGroupId: Swift.String? - /// The name of the robot. - public var name: Swift.String? - /// The list of all tags added to the robot. - public var tags: [Swift.String: Swift.String]? - - public init( - architecture: RoboMakerClientTypes.Architecture? = nil, - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - greengrassGroupId: Swift.String? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.architecture = architecture - self.arn = arn - self.createdAt = createdAt - self.greengrassGroupId = greengrassGroupId - self.name = name - self.tags = tags - } -} - -extension RoboMakerClientTypes { - - /// The object that contains the Docker image URI for either your robot or simulation applications. - public struct Environment: Swift.Sendable { - /// The Docker image URI for either your robot or simulation applications. - public var uri: Swift.String? - - public init( - uri: Swift.String? = nil - ) { - self.uri = uri - } - } -} - -extension RoboMakerClientTypes { - - public enum RobotSoftwareSuiteType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case general - case ros - case ros2 - case sdkUnknown(Swift.String) - - public static var allCases: [RobotSoftwareSuiteType] { - return [ - .general, - .ros, - .ros2 - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .general: return "General" - case .ros: return "ROS" - case .ros2: return "ROS2" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - public enum RobotSoftwareSuiteVersionType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case dashing - case foxy - case kinetic - case melodic - case sdkUnknown(Swift.String) - - public static var allCases: [RobotSoftwareSuiteVersionType] { - return [ - .dashing, - .foxy, - .kinetic, - .melodic - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .dashing: return "Dashing" - case .foxy: return "Foxy" - case .kinetic: return "Kinetic" - case .melodic: return "Melodic" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a robot software suite. - public struct RobotSoftwareSuite: Swift.Sendable { - /// The name of the robot software suite. General is the only supported value. - public var name: RoboMakerClientTypes.RobotSoftwareSuiteType? - /// The version of the robot software suite. Not applicable for General software suite. - public var version: RoboMakerClientTypes.RobotSoftwareSuiteVersionType? - - public init( - name: RoboMakerClientTypes.RobotSoftwareSuiteType? = nil, - version: RoboMakerClientTypes.RobotSoftwareSuiteVersionType? = nil - ) { - self.name = name - self.version = version - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a source configuration. - public struct SourceConfig: Swift.Sendable { - /// The target processor architecture for the application. - public var architecture: RoboMakerClientTypes.Architecture? - /// The Amazon S3 bucket name. - public var s3Bucket: Swift.String? - /// The s3 object key. - public var s3Key: Swift.String? - - public init( - architecture: RoboMakerClientTypes.Architecture? = nil, - s3Bucket: Swift.String? = nil, - s3Key: Swift.String? = nil - ) { - self.architecture = architecture - self.s3Bucket = s3Bucket - self.s3Key = s3Key - } - } -} - -public struct CreateRobotApplicationInput: Swift.Sendable { - /// The object that contains that URI of the Docker image that you use for your robot application. - public var environment: RoboMakerClientTypes.Environment? - /// The name of the robot application. - /// This member is required. - public var name: Swift.String? - /// The robot software suite used by the robot application. - /// This member is required. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The sources of the robot application. - public var sources: [RoboMakerClientTypes.SourceConfig]? - /// A map that contains tag keys and tag values that are attached to the robot application. - public var tags: [Swift.String: Swift.String]? - - public init( - environment: RoboMakerClientTypes.Environment? = nil, - name: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.SourceConfig]? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.environment = environment - self.name = name - self.robotSoftwareSuite = robotSoftwareSuite - self.sources = sources - self.tags = tags - } -} - -extension RoboMakerClientTypes { - - /// Information about a source. - public struct Source: Swift.Sendable { - /// The taget processor architecture for the application. - public var architecture: RoboMakerClientTypes.Architecture? - /// A hash of the object specified by s3Bucket and s3Key. - public var etag: Swift.String? - /// The s3 bucket name. - public var s3Bucket: Swift.String? - /// The s3 object key. - public var s3Key: Swift.String? - - public init( - architecture: RoboMakerClientTypes.Architecture? = nil, - etag: Swift.String? = nil, - s3Bucket: Swift.String? = nil, - s3Key: Swift.String? = nil - ) { - self.architecture = architecture - self.etag = etag - self.s3Bucket = s3Bucket - self.s3Key = s3Key - } - } -} - -public struct CreateRobotApplicationOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot application. - public var arn: Swift.String? - /// An object that contains the Docker image URI used to a create your robot application. - public var environment: RoboMakerClientTypes.Environment? - /// The time, in milliseconds since the epoch, when the robot application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the robot application. - public var name: Swift.String? - /// The revision id of the robot application. - public var revisionId: Swift.String? - /// The robot software suite used by the robot application. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The sources of the robot application. - public var sources: [RoboMakerClientTypes.Source]? - /// The list of all tags added to the robot application. - public var tags: [Swift.String: Swift.String]? - /// The version of the robot application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - tags: [Swift.String: Swift.String]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.sources = sources - self.tags = tags - self.version = version - } -} - -public struct CreateRobotApplicationVersionInput: Swift.Sendable { - /// The application information for the robot application. - /// This member is required. - public var application: Swift.String? - /// The current revision id for the robot application. If you provide a value and it matches the latest revision ID, a new version will be created. - public var currentRevisionId: Swift.String? - /// A SHA256 identifier for the Docker image that you use for your robot application. - public var imageDigest: Swift.String? - /// The Amazon S3 identifier for the zip file bundle that you use for your robot application. - public var s3Etags: [Swift.String]? - - public init( - application: Swift.String? = nil, - currentRevisionId: Swift.String? = nil, - imageDigest: Swift.String? = nil, - s3Etags: [Swift.String]? = nil - ) { - self.application = application - self.currentRevisionId = currentRevisionId - self.imageDigest = imageDigest - self.s3Etags = s3Etags - } -} - -public struct CreateRobotApplicationVersionOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot application. - public var arn: Swift.String? - /// The object that contains the Docker image URI used to create your robot application. - public var environment: RoboMakerClientTypes.Environment? - /// The time, in milliseconds since the epoch, when the robot application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the robot application. - public var name: Swift.String? - /// The revision id of the robot application. - public var revisionId: Swift.String? - /// The robot software suite used by the robot application. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The sources of the robot application. - public var sources: [RoboMakerClientTypes.Source]? - /// The version of the robot application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.sources = sources - self.version = version - } -} - -extension RoboMakerClientTypes { - - public enum RenderingEngineType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case ogre - case sdkUnknown(Swift.String) - - public static var allCases: [RenderingEngineType] { - return [ - .ogre - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .ogre: return "OGRE" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a rendering engine. - public struct RenderingEngine: Swift.Sendable { - /// The name of the rendering engine. - public var name: RoboMakerClientTypes.RenderingEngineType? - /// The version of the rendering engine. - public var version: Swift.String? - - public init( - name: RoboMakerClientTypes.RenderingEngineType? = nil, - version: Swift.String? = nil - ) { - self.name = name - self.version = version - } - } -} - -extension RoboMakerClientTypes { - - public enum SimulationSoftwareSuiteType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case gazebo - case rosbagplay - case simulationruntime - case sdkUnknown(Swift.String) - - public static var allCases: [SimulationSoftwareSuiteType] { - return [ - .gazebo, - .rosbagplay, - .simulationruntime - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .gazebo: return "Gazebo" - case .rosbagplay: return "RosbagPlay" - case .simulationruntime: return "SimulationRuntime" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a simulation software suite. - public struct SimulationSoftwareSuite: Swift.Sendable { - /// The name of the simulation software suite. SimulationRuntime is the only supported value. - public var name: RoboMakerClientTypes.SimulationSoftwareSuiteType? - /// The version of the simulation software suite. Not applicable for SimulationRuntime. - public var version: Swift.String? - - public init( - name: RoboMakerClientTypes.SimulationSoftwareSuiteType? = nil, - version: Swift.String? = nil - ) { - self.name = name - self.version = version - } - } -} - -public struct CreateSimulationApplicationInput: Swift.Sendable { - /// The object that contains the Docker image URI used to create your simulation application. - public var environment: RoboMakerClientTypes.Environment? - /// The name of the simulation application. - /// This member is required. - public var name: Swift.String? - /// The rendering engine for the simulation application. - public var renderingEngine: RoboMakerClientTypes.RenderingEngine? - /// The robot software suite used by the simulation application. - /// This member is required. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The simulation software suite used by the simulation application. - /// This member is required. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The sources of the simulation application. - public var sources: [RoboMakerClientTypes.SourceConfig]? - /// A map that contains tag keys and tag values that are attached to the simulation application. - public var tags: [Swift.String: Swift.String]? - - public init( - environment: RoboMakerClientTypes.Environment? = nil, - name: Swift.String? = nil, - renderingEngine: RoboMakerClientTypes.RenderingEngine? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.SourceConfig]? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.environment = environment - self.name = name - self.renderingEngine = renderingEngine - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.sources = sources - self.tags = tags - } -} - -public struct CreateSimulationApplicationOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation application. - public var arn: Swift.String? - /// The object that contains the Docker image URI that you used to create your simulation application. - public var environment: RoboMakerClientTypes.Environment? - /// The time, in milliseconds since the epoch, when the simulation application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the simulation application. - public var name: Swift.String? - /// The rendering engine for the simulation application. - public var renderingEngine: RoboMakerClientTypes.RenderingEngine? - /// The revision id of the simulation application. - public var revisionId: Swift.String? - /// Information about the robot software suite. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The simulation software suite used by the simulation application. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The sources of the simulation application. - public var sources: [RoboMakerClientTypes.Source]? - /// The list of all tags added to the simulation application. - public var tags: [Swift.String: Swift.String]? - /// The version of the simulation application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - renderingEngine: RoboMakerClientTypes.RenderingEngine? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - tags: [Swift.String: Swift.String]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.renderingEngine = renderingEngine - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.sources = sources - self.tags = tags - self.version = version - } -} - -public struct CreateSimulationApplicationVersionInput: Swift.Sendable { - /// The application information for the simulation application. - /// This member is required. - public var application: Swift.String? - /// The current revision id for the simulation application. If you provide a value and it matches the latest revision ID, a new version will be created. - public var currentRevisionId: Swift.String? - /// The SHA256 digest used to identify the Docker image URI used to created the simulation application. - public var imageDigest: Swift.String? - /// The Amazon S3 eTag identifier for the zip file bundle that you use to create the simulation application. - public var s3Etags: [Swift.String]? - - public init( - application: Swift.String? = nil, - currentRevisionId: Swift.String? = nil, - imageDigest: Swift.String? = nil, - s3Etags: [Swift.String]? = nil - ) { - self.application = application - self.currentRevisionId = currentRevisionId - self.imageDigest = imageDigest - self.s3Etags = s3Etags - } -} - -public struct CreateSimulationApplicationVersionOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation application. - public var arn: Swift.String? - /// The object that contains the Docker image URI used to create the simulation application. - public var environment: RoboMakerClientTypes.Environment? - /// The time, in milliseconds since the epoch, when the simulation application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the simulation application. - public var name: Swift.String? - /// The rendering engine for the simulation application. - public var renderingEngine: RoboMakerClientTypes.RenderingEngine? - /// The revision ID of the simulation application. - public var revisionId: Swift.String? - /// Information about the robot software suite. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The simulation software suite used by the simulation application. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The sources of the simulation application. - public var sources: [RoboMakerClientTypes.Source]? - /// The version of the simulation application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - renderingEngine: RoboMakerClientTypes.RenderingEngine? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.renderingEngine = renderingEngine - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.sources = sources - self.version = version - } -} - -/// The request has failed due to a temporary failure of the server. -public struct ServiceUnavailableException: ClientRuntime.ModeledError, AWSClientRuntime.AWSServiceError, ClientRuntime.HTTPError, Swift.Error, Swift.Sendable { - - public struct Properties: Swift.Sendable { - public internal(set) var message: Swift.String? = nil - } - - public internal(set) var properties = Properties() - public static var typeName: Swift.String { "ServiceUnavailableException" } - public static var fault: ClientRuntime.ErrorFault { .server } - public static var isRetryable: Swift.Bool { false } - public static var isThrottling: Swift.Bool { false } - public internal(set) var httpResponse = SmithyHTTPAPI.HTTPResponse() - public internal(set) var message: Swift.String? - public internal(set) var requestID: Swift.String? - - public init( - message: Swift.String? = nil - ) { - self.properties.message = message - } -} - -extension RoboMakerClientTypes { - - /// Information about a data source. - public struct DataSourceConfig: Swift.Sendable { - /// The location where your files are mounted in the container image. If you've specified the type of the data source as an Archive, you must provide an Amazon S3 object key to your archive. The object key must point to either a .zip or .tar.gz file. If you've specified the type of the data source as a Prefix, you provide the Amazon S3 prefix that points to the files that you are using for your data source. If you've specified the type of the data source as a File, you provide the Amazon S3 path to the file that you're using as your data source. - public var destination: Swift.String? - /// The name of the data source. - /// This member is required. - public var name: Swift.String? - /// The S3 bucket where the data files are located. - /// This member is required. - public var s3Bucket: Swift.String? - /// The list of S3 keys identifying the data source files. - /// This member is required. - public var s3Keys: [Swift.String]? - /// The data type for the data source that you're using for your container image or simulation job. You can use this field to specify whether your data source is an Archive, an Amazon S3 prefix, or a file. If you don't specify a field, the default value is File. - public var type: RoboMakerClientTypes.DataSourceType? - - public init( - destination: Swift.String? = nil, - name: Swift.String? = nil, - s3Bucket: Swift.String? = nil, - s3Keys: [Swift.String]? = nil, - type: RoboMakerClientTypes.DataSourceType? = nil - ) { - self.destination = destination - self.name = name - self.s3Bucket = s3Bucket - self.s3Keys = s3Keys - self.type = type - } - } -} - -extension RoboMakerClientTypes { - - /// If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and two subnet IDs. - public struct VPCConfig: Swift.Sendable { - /// A boolean indicating whether to assign a public IP address. - public var assignPublicIp: Swift.Bool - /// A list of one or more security groups IDs in your VPC. - public var securityGroups: [Swift.String]? - /// A list of one or more subnet IDs in your VPC. - /// This member is required. - public var subnets: [Swift.String]? - - public init( - assignPublicIp: Swift.Bool = false, - securityGroups: [Swift.String]? = nil, - subnets: [Swift.String]? = nil - ) { - self.assignPublicIp = assignPublicIp - self.securityGroups = securityGroups - self.subnets = subnets - } - } -} - -public struct CreateSimulationJobInput: Swift.Sendable { - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// Compute information for the simulation job. - public var compute: RoboMakerClientTypes.Compute? - /// Specify data sources to mount read-only files from S3 into your simulation. These files are available under /opt/robomaker/datasources/data_source_name. There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig objects. - public var dataSources: [RoboMakerClientTypes.DataSourceConfig]? - /// The failure behavior the simulation job. Continue Leaves the instance running for its maximum timeout duration after a 4XX error code. Fail Stop the simulation job and terminate the instance. - public var failureBehavior: RoboMakerClientTypes.FailureBehavior? - /// The IAM role name that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job. - /// This member is required. - public var iamRole: Swift.String? - /// The logging configuration. - public var loggingConfig: RoboMakerClientTypes.LoggingConfig? - /// The maximum simulation job duration in seconds (up to 14 days or 1,209,600 seconds. When maxJobDurationInSeconds is reached, the simulation job will status will transition to Completed. - /// This member is required. - public var maxJobDurationInSeconds: Swift.Int? - /// Location for output files generated by the simulation job. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// The robot application to use in the simulation job. - public var robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? - /// The simulation application to use in the simulation job. - public var simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? - /// A map that contains tag keys and tag values that are attached to the simulation job. - public var tags: [Swift.String: Swift.String]? - /// If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and one subnet ID. - public var vpcConfig: RoboMakerClientTypes.VPCConfig? - - public init( - clientRequestToken: Swift.String? = nil, - compute: RoboMakerClientTypes.Compute? = nil, - dataSources: [RoboMakerClientTypes.DataSourceConfig]? = nil, - failureBehavior: RoboMakerClientTypes.FailureBehavior? = nil, - iamRole: Swift.String? = nil, - loggingConfig: RoboMakerClientTypes.LoggingConfig? = nil, - maxJobDurationInSeconds: Swift.Int? = 0, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? = nil, - simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? = nil, - tags: [Swift.String: Swift.String]? = nil, - vpcConfig: RoboMakerClientTypes.VPCConfig? = nil - ) { - self.clientRequestToken = clientRequestToken - self.compute = compute - self.dataSources = dataSources - self.failureBehavior = failureBehavior - self.iamRole = iamRole - self.loggingConfig = loggingConfig - self.maxJobDurationInSeconds = maxJobDurationInSeconds - self.outputLocation = outputLocation - self.robotApplications = robotApplications - self.simulationApplications = simulationApplications - self.tags = tags - self.vpcConfig = vpcConfig - } -} - -public struct CreateSimulationJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation job. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// Compute information for the simulation job. - public var compute: RoboMakerClientTypes.ComputeResponse? - /// The data sources for the simulation job. - public var dataSources: [RoboMakerClientTypes.DataSource]? - /// the failure behavior for the simulation job. - public var failureBehavior: RoboMakerClientTypes.FailureBehavior? - /// The failure code of the simulation job if it failed: InternalServiceError Internal service error. RobotApplicationCrash Robot application exited abnormally. SimulationApplicationCrash Simulation application exited abnormally. BadPermissionsRobotApplication Robot application bundle could not be downloaded. BadPermissionsSimulationApplication Simulation application bundle could not be downloaded. BadPermissionsS3Output Unable to publish outputs to customer-provided S3 bucket. BadPermissionsCloudwatchLogs Unable to publish logs to customer-provided CloudWatch Logs resource. SubnetIpLimitExceeded Subnet IP limit exceeded. ENILimitExceeded ENI limit exceeded. BadPermissionsUserCredentials Unable to use the Role provided. InvalidBundleRobotApplication Robot bundle cannot be extracted (invalid format, bundling error, or other issue). InvalidBundleSimulationApplication Simulation bundle cannot be extracted (invalid format, bundling error, or other issue). RobotApplicationVersionMismatchedEtag Etag for RobotApplication does not match value during version creation. SimulationApplicationVersionMismatchedEtag Etag for SimulationApplication does not match value during version creation. - public var failureCode: RoboMakerClientTypes.SimulationJobErrorCode? - /// The IAM role that allows the simulation job to call the AWS APIs that are specified in its associated policies on your behalf. - public var iamRole: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job was last started. - public var lastStartedAt: Foundation.Date? - /// The time, in milliseconds since the epoch, when the simulation job was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The logging configuration. - public var loggingConfig: RoboMakerClientTypes.LoggingConfig? - /// The maximum simulation job duration in seconds. - public var maxJobDurationInSeconds: Swift.Int - /// Simulation job output files location. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// The robot application used by the simulation job. - public var robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? - /// The simulation application used by the simulation job. - public var simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? - /// The simulation job execution duration in milliseconds. - public var simulationTimeMillis: Swift.Int - /// The status of the simulation job. - public var status: RoboMakerClientTypes.SimulationJobStatus? - /// The list of all tags added to the simulation job. - public var tags: [Swift.String: Swift.String]? - /// Information about the vpc configuration. - public var vpcConfig: RoboMakerClientTypes.VPCConfigResponse? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - compute: RoboMakerClientTypes.ComputeResponse? = nil, - dataSources: [RoboMakerClientTypes.DataSource]? = nil, - failureBehavior: RoboMakerClientTypes.FailureBehavior? = nil, - failureCode: RoboMakerClientTypes.SimulationJobErrorCode? = nil, - iamRole: Swift.String? = nil, - lastStartedAt: Foundation.Date? = nil, - lastUpdatedAt: Foundation.Date? = nil, - loggingConfig: RoboMakerClientTypes.LoggingConfig? = nil, - maxJobDurationInSeconds: Swift.Int = 0, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? = nil, - simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? = nil, - simulationTimeMillis: Swift.Int = 0, - status: RoboMakerClientTypes.SimulationJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil, - vpcConfig: RoboMakerClientTypes.VPCConfigResponse? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.compute = compute - self.dataSources = dataSources - self.failureBehavior = failureBehavior - self.failureCode = failureCode - self.iamRole = iamRole - self.lastStartedAt = lastStartedAt - self.lastUpdatedAt = lastUpdatedAt - self.loggingConfig = loggingConfig - self.maxJobDurationInSeconds = maxJobDurationInSeconds - self.outputLocation = outputLocation - self.robotApplications = robotApplications - self.simulationApplications = simulationApplications - self.simulationTimeMillis = simulationTimeMillis - self.status = status - self.tags = tags - self.vpcConfig = vpcConfig - } -} - -extension RoboMakerClientTypes { - - /// Information about a simulation job request. - public struct SimulationJobRequest: Swift.Sendable { - /// Compute information for the simulation job - public var compute: RoboMakerClientTypes.Compute? - /// Specify data sources to mount read-only files from S3 into your simulation. These files are available under /opt/robomaker/datasources/data_source_name. There is a limit of 100 files and a combined size of 25GB for all DataSourceConfig objects. - public var dataSources: [RoboMakerClientTypes.DataSourceConfig]? - /// The failure behavior the simulation job. Continue Leaves the host running for its maximum timeout duration after a 4XX error code. Fail Stop the simulation job and terminate the instance. - public var failureBehavior: RoboMakerClientTypes.FailureBehavior? - /// The IAM role name that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. This is how credentials are passed in to your simulation job. - public var iamRole: Swift.String? - /// The logging configuration. - public var loggingConfig: RoboMakerClientTypes.LoggingConfig? - /// The maximum simulation job duration in seconds. The value must be 8 days (691,200 seconds) or less. - /// This member is required. - public var maxJobDurationInSeconds: Swift.Int - /// The output location. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// The robot applications to use in the simulation job. - public var robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? - /// The simulation applications to use in the simulation job. - public var simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? - /// A map that contains tag keys and tag values that are attached to the simulation job request. - public var tags: [Swift.String: Swift.String]? - /// A Boolean indicating whether to use default applications in the simulation job. Default applications include Gazebo, rqt, rviz and terminal access. - public var useDefaultApplications: Swift.Bool? - /// If your simulation job accesses resources in a VPC, you provide this parameter identifying the list of security group IDs and subnet IDs. These must belong to the same VPC. You must provide at least one security group and two subnet IDs. - public var vpcConfig: RoboMakerClientTypes.VPCConfig? - - public init( - compute: RoboMakerClientTypes.Compute? = nil, - dataSources: [RoboMakerClientTypes.DataSourceConfig]? = nil, - failureBehavior: RoboMakerClientTypes.FailureBehavior? = nil, - iamRole: Swift.String? = nil, - loggingConfig: RoboMakerClientTypes.LoggingConfig? = nil, - maxJobDurationInSeconds: Swift.Int = 0, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? = nil, - simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? = nil, - tags: [Swift.String: Swift.String]? = nil, - useDefaultApplications: Swift.Bool? = nil, - vpcConfig: RoboMakerClientTypes.VPCConfig? = nil - ) { - self.compute = compute - self.dataSources = dataSources - self.failureBehavior = failureBehavior - self.iamRole = iamRole - self.loggingConfig = loggingConfig - self.maxJobDurationInSeconds = maxJobDurationInSeconds - self.outputLocation = outputLocation - self.robotApplications = robotApplications - self.simulationApplications = simulationApplications - self.tags = tags - self.useDefaultApplications = useDefaultApplications - self.vpcConfig = vpcConfig - } - } -} - -public struct CreateWorldExportJobInput: Swift.Sendable { - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The IAM role that the world export process uses to access the Amazon S3 bucket and put the export. - /// This member is required. - public var iamRole: Swift.String? - /// The output location. - /// This member is required. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// A map that contains tag keys and tag values that are attached to the world export job. - public var tags: [Swift.String: Swift.String]? - /// A list of Amazon Resource Names (arns) that correspond to worlds to export. - /// This member is required. - public var worlds: [Swift.String]? - - public init( - clientRequestToken: Swift.String? = nil, - iamRole: Swift.String? = nil, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - tags: [Swift.String: Swift.String]? = nil, - worlds: [Swift.String]? = nil - ) { - self.clientRequestToken = clientRequestToken - self.iamRole = iamRole - self.outputLocation = outputLocation - self.tags = tags - self.worlds = worlds - } -} - -extension RoboMakerClientTypes { - - public enum WorldExportJobErrorCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case accessdenied - case internalserviceerror - case invalidinput - case limitexceeded - case requestthrottled - case resourcenotfound - case sdkUnknown(Swift.String) - - public static var allCases: [WorldExportJobErrorCode] { - return [ - .accessdenied, - .internalserviceerror, - .invalidinput, - .limitexceeded, - .requestthrottled, - .resourcenotfound - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .accessdenied: return "AccessDenied" - case .internalserviceerror: return "InternalServiceError" - case .invalidinput: return "InvalidInput" - case .limitexceeded: return "LimitExceeded" - case .requestthrottled: return "RequestThrottled" - case .resourcenotfound: return "ResourceNotFound" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - public enum WorldExportJobStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case canceled - case canceling - case completed - case failed - case pending - case running - case sdkUnknown(Swift.String) - - public static var allCases: [WorldExportJobStatus] { - return [ - .canceled, - .canceling, - .completed, - .failed, - .pending, - .running - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .canceled: return "Canceled" - case .canceling: return "Canceling" - case .completed: return "Completed" - case .failed: return "Failed" - case .pending: return "Pending" - case .running: return "Running" - case let .sdkUnknown(s): return s - } - } - } -} - -public struct CreateWorldExportJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world export job. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the world export job was created. - public var createdAt: Foundation.Date? - /// The failure code of the world export job if it failed: InternalServiceError Internal service error. LimitExceeded The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. ResourceNotFound The specified resource could not be found. RequestThrottled The request was throttled. InvalidInput An input parameter in the request is not valid. AllWorldGenerationFailed All of the worlds in the world generation job failed. This can happen if your worldCount is greater than 50 or less than 1. For more information about troubleshooting WorldForge, see [Troubleshooting Simulation WorldForge](https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting-worldforge.html). - public var failureCode: RoboMakerClientTypes.WorldExportJobErrorCode? - /// The IAM role that the world export process uses to access the Amazon S3 bucket and put the export. - public var iamRole: Swift.String? - /// The output location. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// The status of the world export job. Pending The world export job request is pending. Running The world export job is running. Completed The world export job completed. Failed The world export job failed. See failureCode for more information. Canceled The world export job was cancelled. Canceling The world export job is being cancelled. - public var status: RoboMakerClientTypes.WorldExportJobStatus? - /// A map that contains tag keys and tag values that are attached to the world export job. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - failureCode: RoboMakerClientTypes.WorldExportJobErrorCode? = nil, - iamRole: Swift.String? = nil, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - status: RoboMakerClientTypes.WorldExportJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.failureCode = failureCode - self.iamRole = iamRole - self.outputLocation = outputLocation - self.status = status - self.tags = tags - } -} - -extension RoboMakerClientTypes { - - /// The number of worlds that will be created. You can configure the number of unique floorplans and the number of unique interiors for each floor plan. For example, if you want 1 world with 20 unique interiors, you set floorplanCount = 1 and interiorCountPerFloorplan = 20. This will result in 20 worlds (floorplanCount * interiorCountPerFloorplan). If you set floorplanCount = 4 and interiorCountPerFloorplan = 5, there will be 20 worlds with 5 unique floor plans. - public struct WorldCount: Swift.Sendable { - /// The number of unique floorplans. - public var floorplanCount: Swift.Int? - /// The number of unique interiors per floorplan. - public var interiorCountPerFloorplan: Swift.Int? - - public init( - floorplanCount: Swift.Int? = nil, - interiorCountPerFloorplan: Swift.Int? = nil - ) { - self.floorplanCount = floorplanCount - self.interiorCountPerFloorplan = interiorCountPerFloorplan - } - } -} - -public struct CreateWorldGenerationJobInput: Swift.Sendable { - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// A map that contains tag keys and tag values that are attached to the world generator job. - public var tags: [Swift.String: Swift.String]? - /// The Amazon Resource Name (arn) of the world template describing the worlds you want to create. - /// This member is required. - public var template: Swift.String? - /// Information about the world count. - /// This member is required. - public var worldCount: RoboMakerClientTypes.WorldCount? - /// A map that contains tag keys and tag values that are attached to the generated worlds. - public var worldTags: [Swift.String: Swift.String]? - - public init( - clientRequestToken: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - template: Swift.String? = nil, - worldCount: RoboMakerClientTypes.WorldCount? = nil, - worldTags: [Swift.String: Swift.String]? = nil - ) { - self.clientRequestToken = clientRequestToken - self.tags = tags - self.template = template - self.worldCount = worldCount - self.worldTags = worldTags - } -} - -extension RoboMakerClientTypes { - - public enum WorldGenerationJobErrorCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case allworldgenerationfailed - case internalserviceerror - case invalidinput - case limitexceeded - case requestthrottled - case resourcenotfound - case sdkUnknown(Swift.String) - - public static var allCases: [WorldGenerationJobErrorCode] { - return [ - .allworldgenerationfailed, - .internalserviceerror, - .invalidinput, - .limitexceeded, - .requestthrottled, - .resourcenotfound - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .allworldgenerationfailed: return "AllWorldGenerationFailed" - case .internalserviceerror: return "InternalServiceError" - case .invalidinput: return "InvalidInput" - case .limitexceeded: return "LimitExceeded" - case .requestthrottled: return "RequestThrottled" - case .resourcenotfound: return "ResourceNotFound" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - public enum WorldGenerationJobStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case canceled - case canceling - case completed - case failed - case partialfailed - case pending - case running - case sdkUnknown(Swift.String) - - public static var allCases: [WorldGenerationJobStatus] { - return [ - .canceled, - .canceling, - .completed, - .failed, - .partialfailed, - .pending, - .running - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .canceled: return "Canceled" - case .canceling: return "Canceling" - case .completed: return "Completed" - case .failed: return "Failed" - case .partialfailed: return "PartialFailed" - case .pending: return "Pending" - case .running: return "Running" - case let .sdkUnknown(s): return s - } - } - } -} - -public struct CreateWorldGenerationJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world generator job. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the world generator job was created. - public var createdAt: Foundation.Date? - /// The failure code of the world generator job if it failed: InternalServiceError Internal service error. LimitExceeded The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. ResourceNotFound The specified resource could not be found. RequestThrottled The request was throttled. InvalidInput An input parameter in the request is not valid. - public var failureCode: RoboMakerClientTypes.WorldGenerationJobErrorCode? - /// The status of the world generator job. Pending The world generator job request is pending. Running The world generator job is running. Completed The world generator job completed. Failed The world generator job failed. See failureCode for more information. PartialFailed Some worlds did not generate. Canceled The world generator job was cancelled. Canceling The world generator job is being cancelled. - public var status: RoboMakerClientTypes.WorldGenerationJobStatus? - /// A map that contains tag keys and tag values that are attached to the world generator job. - public var tags: [Swift.String: Swift.String]? - /// The Amazon Resource Name (arn) of the world template. - public var template: Swift.String? - /// Information about the world count. - public var worldCount: RoboMakerClientTypes.WorldCount? - /// A map that contains tag keys and tag values that are attached to the generated worlds. - public var worldTags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - failureCode: RoboMakerClientTypes.WorldGenerationJobErrorCode? = nil, - status: RoboMakerClientTypes.WorldGenerationJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil, - template: Swift.String? = nil, - worldCount: RoboMakerClientTypes.WorldCount? = nil, - worldTags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.failureCode = failureCode - self.status = status - self.tags = tags - self.template = template - self.worldCount = worldCount - self.worldTags = worldTags - } -} - -extension RoboMakerClientTypes { - - /// Information about a template location. - public struct TemplateLocation: Swift.Sendable { - /// The Amazon S3 bucket name. - /// This member is required. - public var s3Bucket: Swift.String? - /// The list of S3 keys identifying the data source files. - /// This member is required. - public var s3Key: Swift.String? - - public init( - s3Bucket: Swift.String? = nil, - s3Key: Swift.String? = nil - ) { - self.s3Bucket = s3Bucket - self.s3Key = s3Key - } - } -} - -public struct CreateWorldTemplateInput: Swift.Sendable { - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The name of the world template. - public var name: Swift.String? - /// A map that contains tag keys and tag values that are attached to the world template. - public var tags: [Swift.String: Swift.String]? - /// The world template body. - public var templateBody: Swift.String? - /// The location of the world template. - public var templateLocation: RoboMakerClientTypes.TemplateLocation? - - public init( - clientRequestToken: Swift.String? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - templateBody: Swift.String? = nil, - templateLocation: RoboMakerClientTypes.TemplateLocation? = nil - ) { - self.clientRequestToken = clientRequestToken - self.name = name - self.tags = tags - self.templateBody = templateBody - self.templateLocation = templateLocation - } -} - -public struct CreateWorldTemplateOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world template. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the world template was created. - public var createdAt: Foundation.Date? - /// The name of the world template. - public var name: Swift.String? - /// A map that contains tag keys and tag values that are attached to the world template. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.name = name - self.tags = tags - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DeleteFleetInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - /// This member is required. - public var fleet: Swift.String? - - public init( - fleet: Swift.String? = nil - ) { - self.fleet = fleet - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DeleteFleetOutput: Swift.Sendable { - - public init() { } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DeleteRobotInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot. - /// This member is required. - public var robot: Swift.String? - - public init( - robot: Swift.String? = nil - ) { - self.robot = robot - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DeleteRobotOutput: Swift.Sendable { - - public init() { } -} - -public struct DeleteRobotApplicationInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the the robot application. - /// This member is required. - public var application: Swift.String? - /// The version of the robot application to delete. - public var applicationVersion: Swift.String? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - } -} - -public struct DeleteRobotApplicationOutput: Swift.Sendable { - - public init() { } -} - -public struct DeleteSimulationApplicationInput: Swift.Sendable { - /// The application information for the simulation application to delete. - /// This member is required. - public var application: Swift.String? - /// The version of the simulation application to delete. - public var applicationVersion: Swift.String? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - } -} - -public struct DeleteSimulationApplicationOutput: Swift.Sendable { - - public init() { } -} - -public struct DeleteWorldTemplateInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world template you want to delete. - /// This member is required. - public var template: Swift.String? - - public init( - template: Swift.String? = nil - ) { - self.template = template - } -} - -public struct DeleteWorldTemplateOutput: Swift.Sendable { - - public init() { } -} - -extension RoboMakerClientTypes { - - /// Information about a deployment job. - public struct DeploymentJob: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the deployment job. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the deployment job was created. - public var createdAt: Foundation.Date? - /// The deployment application configuration. - public var deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? - /// The deployment configuration. - public var deploymentConfig: RoboMakerClientTypes.DeploymentConfig? - /// The deployment job failure code. - public var failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? - /// A short description of the reason why the deployment job failed. - public var failureReason: Swift.String? - /// The Amazon Resource Name (ARN) of the fleet. - public var fleet: Swift.String? - /// The status of the deployment job. - public var status: RoboMakerClientTypes.DeploymentStatus? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? = nil, - deploymentConfig: RoboMakerClientTypes.DeploymentConfig? = nil, - failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? = nil, - failureReason: Swift.String? = nil, - fleet: Swift.String? = nil, - status: RoboMakerClientTypes.DeploymentStatus? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.deploymentApplicationConfigs = deploymentApplicationConfigs - self.deploymentConfig = deploymentConfig - self.failureCode = failureCode - self.failureReason = failureReason - self.fleet = fleet - self.status = status - } - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DeregisterRobotInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - /// This member is required. - public var fleet: Swift.String? - /// The Amazon Resource Name (ARN) of the robot. - /// This member is required. - public var robot: Swift.String? - - public init( - fleet: Swift.String? = nil, - robot: Swift.String? = nil - ) { - self.fleet = fleet - self.robot = robot - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DeregisterRobotOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - public var fleet: Swift.String? - /// The Amazon Resource Name (ARN) of the robot. - public var robot: Swift.String? - - public init( - fleet: Swift.String? = nil, - robot: Swift.String? = nil - ) { - self.fleet = fleet - self.robot = robot - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DescribeDeploymentJobInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the deployment job. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -extension RoboMakerClientTypes { - - public enum RobotDeploymentStep: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case downloadingextractingstep - case executingdownloadcondition - case finishedstep - case launchingstep - case postlaunchstep - case prelaunchstep - case validatingstep - case sdkUnknown(Swift.String) - - public static var allCases: [RobotDeploymentStep] { - return [ - .downloadingextractingstep, - .executingdownloadcondition, - .finishedstep, - .launchingstep, - .postlaunchstep, - .prelaunchstep, - .validatingstep - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .downloadingextractingstep: return "DownloadingExtracting" - case .executingdownloadcondition: return "ExecutingDownloadCondition" - case .finishedstep: return "Finished" - case .launchingstep: return "Launching" - case .postlaunchstep: return "ExecutingPostLaunch" - case .prelaunchstep: return "ExecutingPreLaunch" - case .validatingstep: return "Validating" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about the progress of a deployment job. - public struct ProgressDetail: Swift.Sendable { - /// The current progress status. Validating Validating the deployment. DownloadingExtracting Downloading and extracting the bundle on the robot. ExecutingPreLaunch Executing pre-launch script(s) if provided. Launching Launching the robot application. ExecutingPostLaunch Executing post-launch script(s) if provided. Finished Deployment is complete. - public var currentProgress: RoboMakerClientTypes.RobotDeploymentStep? - /// Estimated amount of time in seconds remaining in the step. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps. - public var estimatedTimeRemainingSeconds: Swift.Int? - /// Precentage of the step that is done. This currently only applies to the Downloading/Extracting step of the deployment. It is empty for other steps. - public var percentDone: Swift.Float? - /// The Amazon Resource Name (ARN) of the deployment job. - public var targetResource: Swift.String? - - public init( - currentProgress: RoboMakerClientTypes.RobotDeploymentStep? = nil, - estimatedTimeRemainingSeconds: Swift.Int? = nil, - percentDone: Swift.Float? = nil, - targetResource: Swift.String? = nil - ) { - self.currentProgress = currentProgress - self.estimatedTimeRemainingSeconds = estimatedTimeRemainingSeconds - self.percentDone = percentDone - self.targetResource = targetResource - } - } -} - -extension RoboMakerClientTypes { - - public enum RobotStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case available - case deploying - case failed - case insync - case noresponse - case pendingnewdeployment - case registered - case sdkUnknown(Swift.String) - - public static var allCases: [RobotStatus] { - return [ - .available, - .deploying, - .failed, - .insync, - .noresponse, - .pendingnewdeployment, - .registered - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .available: return "Available" - case .deploying: return "Deploying" - case .failed: return "Failed" - case .insync: return "InSync" - case .noresponse: return "NoResponse" - case .pendingnewdeployment: return "PendingNewDeployment" - case .registered: return "Registered" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a robot deployment. - public struct RobotDeployment: Swift.Sendable { - /// The robot deployment Amazon Resource Name (ARN). - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the deployment finished. - public var deploymentFinishTime: Foundation.Date? - /// The time, in milliseconds since the epoch, when the deployment was started. - public var deploymentStartTime: Foundation.Date? - /// The robot deployment failure code. - public var failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? - /// A short description of the reason why the robot deployment failed. - public var failureReason: Swift.String? - /// Information about how the deployment is progressing. - public var progressDetail: RoboMakerClientTypes.ProgressDetail? - /// The status of the robot deployment. - public var status: RoboMakerClientTypes.RobotStatus? - - public init( - arn: Swift.String? = nil, - deploymentFinishTime: Foundation.Date? = nil, - deploymentStartTime: Foundation.Date? = nil, - failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? = nil, - failureReason: Swift.String? = nil, - progressDetail: RoboMakerClientTypes.ProgressDetail? = nil, - status: RoboMakerClientTypes.RobotStatus? = nil - ) { - self.arn = arn - self.deploymentFinishTime = deploymentFinishTime - self.deploymentStartTime = deploymentStartTime - self.failureCode = failureCode - self.failureReason = failureReason - self.progressDetail = progressDetail - self.status = status - } - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DescribeDeploymentJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the deployment job. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the deployment job was created. - public var createdAt: Foundation.Date? - /// The deployment application configuration. - public var deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? - /// The deployment configuration. - public var deploymentConfig: RoboMakerClientTypes.DeploymentConfig? - /// The deployment job failure code. - public var failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? - /// A short description of the reason why the deployment job failed. - public var failureReason: Swift.String? - /// The Amazon Resource Name (ARN) of the fleet. - public var fleet: Swift.String? - /// A list of robot deployment summaries. - public var robotDeploymentSummary: [RoboMakerClientTypes.RobotDeployment]? - /// The status of the deployment job. - public var status: RoboMakerClientTypes.DeploymentStatus? - /// The list of all tags added to the specified deployment job. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? = nil, - deploymentConfig: RoboMakerClientTypes.DeploymentConfig? = nil, - failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? = nil, - failureReason: Swift.String? = nil, - fleet: Swift.String? = nil, - robotDeploymentSummary: [RoboMakerClientTypes.RobotDeployment]? = nil, - status: RoboMakerClientTypes.DeploymentStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.deploymentApplicationConfigs = deploymentApplicationConfigs - self.deploymentConfig = deploymentConfig - self.failureCode = failureCode - self.failureReason = failureReason - self.fleet = fleet - self.robotDeploymentSummary = robotDeploymentSummary - self.status = status - self.tags = tags - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DescribeFleetInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - /// This member is required. - public var fleet: Swift.String? - - public init( - fleet: Swift.String? = nil - ) { - self.fleet = fleet - } -} - -extension RoboMakerClientTypes { - - /// Information about a robot. - public struct Robot: Swift.Sendable { - /// The architecture of the robot. - public var architecture: RoboMakerClientTypes.Architecture? - /// The Amazon Resource Name (ARN) of the robot. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the robot was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (ARN) of the fleet. - public var fleetArn: Swift.String? - /// The Greengrass group associated with the robot. - public var greenGrassGroupId: Swift.String? - /// The Amazon Resource Name (ARN) of the last deployment job. - public var lastDeploymentJob: Swift.String? - /// The time of the last deployment. - public var lastDeploymentTime: Foundation.Date? - /// The name of the robot. - public var name: Swift.String? - /// The status of the robot. - public var status: RoboMakerClientTypes.RobotStatus? - - public init( - architecture: RoboMakerClientTypes.Architecture? = nil, - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - fleetArn: Swift.String? = nil, - greenGrassGroupId: Swift.String? = nil, - lastDeploymentJob: Swift.String? = nil, - lastDeploymentTime: Foundation.Date? = nil, - name: Swift.String? = nil, - status: RoboMakerClientTypes.RobotStatus? = nil - ) { - self.architecture = architecture - self.arn = arn - self.createdAt = createdAt - self.fleetArn = fleetArn - self.greenGrassGroupId = greenGrassGroupId - self.lastDeploymentJob = lastDeploymentJob - self.lastDeploymentTime = lastDeploymentTime - self.name = name - self.status = status - } - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DescribeFleetOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the fleet was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (ARN) of the last deployment job. - public var lastDeploymentJob: Swift.String? - /// The status of the last deployment. - public var lastDeploymentStatus: RoboMakerClientTypes.DeploymentStatus? - /// The time of the last deployment. - public var lastDeploymentTime: Foundation.Date? - /// The name of the fleet. - public var name: Swift.String? - /// A list of robots. - public var robots: [RoboMakerClientTypes.Robot]? - /// The list of all tags added to the specified fleet. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - lastDeploymentJob: Swift.String? = nil, - lastDeploymentStatus: RoboMakerClientTypes.DeploymentStatus? = nil, - lastDeploymentTime: Foundation.Date? = nil, - name: Swift.String? = nil, - robots: [RoboMakerClientTypes.Robot]? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.lastDeploymentJob = lastDeploymentJob - self.lastDeploymentStatus = lastDeploymentStatus - self.lastDeploymentTime = lastDeploymentTime - self.name = name - self.robots = robots - self.tags = tags - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DescribeRobotInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot to be described. - /// This member is required. - public var robot: Swift.String? - - public init( - robot: Swift.String? = nil - ) { - self.robot = robot - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct DescribeRobotOutput: Swift.Sendable { - /// The target architecture of the robot application. - public var architecture: RoboMakerClientTypes.Architecture? - /// The Amazon Resource Name (ARN) of the robot. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the robot was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (ARN) of the fleet. - public var fleetArn: Swift.String? - /// The Greengrass group id. - public var greengrassGroupId: Swift.String? - /// The Amazon Resource Name (ARN) of the last deployment job. - public var lastDeploymentJob: Swift.String? - /// The time of the last deployment job. - public var lastDeploymentTime: Foundation.Date? - /// The name of the robot. - public var name: Swift.String? - /// The status of the fleet. - public var status: RoboMakerClientTypes.RobotStatus? - /// The list of all tags added to the specified robot. - public var tags: [Swift.String: Swift.String]? - - public init( - architecture: RoboMakerClientTypes.Architecture? = nil, - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - fleetArn: Swift.String? = nil, - greengrassGroupId: Swift.String? = nil, - lastDeploymentJob: Swift.String? = nil, - lastDeploymentTime: Foundation.Date? = nil, - name: Swift.String? = nil, - status: RoboMakerClientTypes.RobotStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.architecture = architecture - self.arn = arn - self.createdAt = createdAt - self.fleetArn = fleetArn - self.greengrassGroupId = greengrassGroupId - self.lastDeploymentJob = lastDeploymentJob - self.lastDeploymentTime = lastDeploymentTime - self.name = name - self.status = status - self.tags = tags - } -} - -public struct DescribeRobotApplicationInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot application. - /// This member is required. - public var application: Swift.String? - /// The version of the robot application to describe. - public var applicationVersion: Swift.String? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - } -} - -public struct DescribeRobotApplicationOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot application. - public var arn: Swift.String? - /// The object that contains the Docker image URI used to create the robot application. - public var environment: RoboMakerClientTypes.Environment? - /// A SHA256 identifier for the Docker image that you use for your robot application. - public var imageDigest: Swift.String? - /// The time, in milliseconds since the epoch, when the robot application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the robot application. - public var name: Swift.String? - /// The revision id of the robot application. - public var revisionId: Swift.String? - /// The robot software suite used by the robot application. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The sources of the robot application. - public var sources: [RoboMakerClientTypes.Source]? - /// The list of all tags added to the specified robot application. - public var tags: [Swift.String: Swift.String]? - /// The version of the robot application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - imageDigest: Swift.String? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - tags: [Swift.String: Swift.String]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.imageDigest = imageDigest - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.sources = sources - self.tags = tags - self.version = version - } -} - -public struct DescribeSimulationApplicationInput: Swift.Sendable { - /// The application information for the simulation application. - /// This member is required. - public var application: Swift.String? - /// The version of the simulation application to describe. - public var applicationVersion: Swift.String? - - public init( - application: Swift.String? = nil, - applicationVersion: Swift.String? = nil - ) { - self.application = application - self.applicationVersion = applicationVersion - } -} - -public struct DescribeSimulationApplicationOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot simulation application. - public var arn: Swift.String? - /// The object that contains the Docker image URI used to create the simulation application. - public var environment: RoboMakerClientTypes.Environment? - /// A SHA256 identifier for the Docker image that you use for your simulation application. - public var imageDigest: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the simulation application. - public var name: Swift.String? - /// The rendering engine for the simulation application. - public var renderingEngine: RoboMakerClientTypes.RenderingEngine? - /// The revision id of the simulation application. - public var revisionId: Swift.String? - /// Information about the robot software suite. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The simulation software suite used by the simulation application. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The sources of the simulation application. - public var sources: [RoboMakerClientTypes.Source]? - /// The list of all tags added to the specified simulation application. - public var tags: [Swift.String: Swift.String]? - /// The version of the simulation application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - imageDigest: Swift.String? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - renderingEngine: RoboMakerClientTypes.RenderingEngine? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - tags: [Swift.String: Swift.String]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.imageDigest = imageDigest - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.renderingEngine = renderingEngine - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.sources = sources - self.tags = tags - self.version = version - } -} - -public struct DescribeSimulationJobInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation job to be described. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -public struct DescribeSimulationJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation job. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// Compute information for the simulation job. - public var compute: RoboMakerClientTypes.ComputeResponse? - /// The data sources for the simulation job. - public var dataSources: [RoboMakerClientTypes.DataSource]? - /// The failure behavior for the simulation job. - public var failureBehavior: RoboMakerClientTypes.FailureBehavior? - /// The failure code of the simulation job if it failed: InternalServiceError Internal service error. RobotApplicationCrash Robot application exited abnormally. SimulationApplicationCrash Simulation application exited abnormally. BadPermissionsRobotApplication Robot application bundle could not be downloaded. BadPermissionsSimulationApplication Simulation application bundle could not be downloaded. BadPermissionsS3Output Unable to publish outputs to customer-provided S3 bucket. BadPermissionsCloudwatchLogs Unable to publish logs to customer-provided CloudWatch Logs resource. SubnetIpLimitExceeded Subnet IP limit exceeded. ENILimitExceeded ENI limit exceeded. BadPermissionsUserCredentials Unable to use the Role provided. InvalidBundleRobotApplication Robot bundle cannot be extracted (invalid format, bundling error, or other issue). InvalidBundleSimulationApplication Simulation bundle cannot be extracted (invalid format, bundling error, or other issue). RobotApplicationVersionMismatchedEtag Etag for RobotApplication does not match value during version creation. SimulationApplicationVersionMismatchedEtag Etag for SimulationApplication does not match value during version creation. - public var failureCode: RoboMakerClientTypes.SimulationJobErrorCode? - /// Details about why the simulation job failed. For more information about troubleshooting, see [Troubleshooting](https://docs.aws.amazon.com/robomaker/latest/dg/troubleshooting.html). - public var failureReason: Swift.String? - /// The IAM role that allows the simulation instance to call the AWS APIs that are specified in its associated policies on your behalf. - public var iamRole: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job was last started. - public var lastStartedAt: Foundation.Date? - /// The time, in milliseconds since the epoch, when the simulation job was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The logging configuration. - public var loggingConfig: RoboMakerClientTypes.LoggingConfig? - /// The maximum job duration in seconds. The value must be 8 days (691,200 seconds) or less. - public var maxJobDurationInSeconds: Swift.Int - /// The name of the simulation job. - public var name: Swift.String? - /// The network interface information for the simulation job. - public var networkInterface: RoboMakerClientTypes.NetworkInterface? - /// Location for output files generated by the simulation job. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// A list of robot applications. - public var robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? - /// A list of simulation applications. - public var simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? - /// The simulation job execution duration in milliseconds. - public var simulationTimeMillis: Swift.Int - /// The status of the simulation job. - public var status: RoboMakerClientTypes.SimulationJobStatus? - /// The list of all tags added to the specified simulation job. - public var tags: [Swift.String: Swift.String]? - /// The VPC configuration. - public var vpcConfig: RoboMakerClientTypes.VPCConfigResponse? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - compute: RoboMakerClientTypes.ComputeResponse? = nil, - dataSources: [RoboMakerClientTypes.DataSource]? = nil, - failureBehavior: RoboMakerClientTypes.FailureBehavior? = nil, - failureCode: RoboMakerClientTypes.SimulationJobErrorCode? = nil, - failureReason: Swift.String? = nil, - iamRole: Swift.String? = nil, - lastStartedAt: Foundation.Date? = nil, - lastUpdatedAt: Foundation.Date? = nil, - loggingConfig: RoboMakerClientTypes.LoggingConfig? = nil, - maxJobDurationInSeconds: Swift.Int = 0, - name: Swift.String? = nil, - networkInterface: RoboMakerClientTypes.NetworkInterface? = nil, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - robotApplications: [RoboMakerClientTypes.RobotApplicationConfig]? = nil, - simulationApplications: [RoboMakerClientTypes.SimulationApplicationConfig]? = nil, - simulationTimeMillis: Swift.Int = 0, - status: RoboMakerClientTypes.SimulationJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil, - vpcConfig: RoboMakerClientTypes.VPCConfigResponse? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.compute = compute - self.dataSources = dataSources - self.failureBehavior = failureBehavior - self.failureCode = failureCode - self.failureReason = failureReason - self.iamRole = iamRole - self.lastStartedAt = lastStartedAt - self.lastUpdatedAt = lastUpdatedAt - self.loggingConfig = loggingConfig - self.maxJobDurationInSeconds = maxJobDurationInSeconds - self.name = name - self.networkInterface = networkInterface - self.outputLocation = outputLocation - self.robotApplications = robotApplications - self.simulationApplications = simulationApplications - self.simulationTimeMillis = simulationTimeMillis - self.status = status - self.tags = tags - self.vpcConfig = vpcConfig - } -} - -public struct DescribeSimulationJobBatchInput: Swift.Sendable { - /// The id of the batch to describe. - /// This member is required. - public var batch: Swift.String? - - public init( - batch: Swift.String? = nil - ) { - self.batch = batch - } -} - -extension RoboMakerClientTypes { - - /// Summary information for a simulation job. - public struct SimulationJobSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation job. - public var arn: Swift.String? - /// The compute type for the simulation job summary. - public var computeType: RoboMakerClientTypes.ComputeType? - /// The names of the data sources. - public var dataSourceNames: [Swift.String]? - /// The time, in milliseconds since the epoch, when the simulation job was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the simulation job. - public var name: Swift.String? - /// A list of simulation job robot application names. - public var robotApplicationNames: [Swift.String]? - /// A list of simulation job simulation application names. - public var simulationApplicationNames: [Swift.String]? - /// The status of the simulation job. - public var status: RoboMakerClientTypes.SimulationJobStatus? - - public init( - arn: Swift.String? = nil, - computeType: RoboMakerClientTypes.ComputeType? = nil, - dataSourceNames: [Swift.String]? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - robotApplicationNames: [Swift.String]? = nil, - simulationApplicationNames: [Swift.String]? = nil, - status: RoboMakerClientTypes.SimulationJobStatus? = nil - ) { - self.arn = arn - self.computeType = computeType - self.dataSourceNames = dataSourceNames - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.robotApplicationNames = robotApplicationNames - self.simulationApplicationNames = simulationApplicationNames - self.status = status - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a failed create simulation job request. - public struct FailedCreateSimulationJobRequest: Swift.Sendable { - /// The time, in milliseconds since the epoch, when the simulation job batch failed. - public var failedAt: Foundation.Date? - /// The failure code. - public var failureCode: RoboMakerClientTypes.SimulationJobErrorCode? - /// The failure reason of the simulation job request. - public var failureReason: Swift.String? - /// The simulation job request. - public var request: RoboMakerClientTypes.SimulationJobRequest? - - public init( - failedAt: Foundation.Date? = nil, - failureCode: RoboMakerClientTypes.SimulationJobErrorCode? = nil, - failureReason: Swift.String? = nil, - request: RoboMakerClientTypes.SimulationJobRequest? = nil - ) { - self.failedAt = failedAt - self.failureCode = failureCode - self.failureReason = failureReason - self.request = request - } - } -} - -extension RoboMakerClientTypes { - - public enum SimulationJobBatchErrorCode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case internalserviceerror - case sdkUnknown(Swift.String) - - public static var allCases: [SimulationJobBatchErrorCode] { - return [ - .internalserviceerror - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .internalserviceerror: return "InternalServiceError" - case let .sdkUnknown(s): return s - } - } - } -} - -extension RoboMakerClientTypes { - - public enum SimulationJobBatchStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { - case canceled - case canceling - case completed - case completing - case failed - case inprogress - case pending - case timedout - case timingout - case sdkUnknown(Swift.String) - - public static var allCases: [SimulationJobBatchStatus] { - return [ - .canceled, - .canceling, - .completed, - .completing, - .failed, - .inprogress, - .pending, - .timedout, - .timingout - ] - } - - public init?(rawValue: Swift.String) { - let value = Self.allCases.first(where: { $0.rawValue == rawValue }) - self = value ?? Self.sdkUnknown(rawValue) - } - - public var rawValue: Swift.String { - switch self { - case .canceled: return "Canceled" - case .canceling: return "Canceling" - case .completed: return "Completed" - case .completing: return "Completing" - case .failed: return "Failed" - case .inprogress: return "InProgress" - case .pending: return "Pending" - case .timedout: return "TimedOut" - case .timingout: return "TimingOut" - case let .sdkUnknown(s): return s - } - } - } -} - -public struct DescribeSimulationJobBatchOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the batch. - public var arn: Swift.String? - /// The batch policy. - public var batchPolicy: RoboMakerClientTypes.BatchPolicy? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job batch was created. - public var createdAt: Foundation.Date? - /// A list of created simulation job summaries. - public var createdRequests: [RoboMakerClientTypes.SimulationJobSummary]? - /// A list of failed create simulation job requests. The request failed to be created into a simulation job. Failed requests do not have a simulation job ID. - public var failedRequests: [RoboMakerClientTypes.FailedCreateSimulationJobRequest]? - /// The failure code of the simulation job batch. - public var failureCode: RoboMakerClientTypes.SimulationJobBatchErrorCode? - /// The reason the simulation job batch failed. - public var failureReason: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job batch was last updated. - public var lastUpdatedAt: Foundation.Date? - /// A list of pending simulation job requests. These requests have not yet been created into simulation jobs. - public var pendingRequests: [RoboMakerClientTypes.SimulationJobRequest]? - /// The status of the batch. Pending The simulation job batch request is pending. InProgress The simulation job batch is in progress. Failed The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like InternalServiceError). See failureCode and failureReason for more information. Completed The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to InternalServiceError and (2) when all created simulation jobs have reached a terminal state (for example, Completed or Failed). Canceled The simulation batch job was cancelled. Canceling The simulation batch job is being cancelled. Completing The simulation batch job is completing. TimingOut The simulation job batch is timing out. If a batch timing out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), the batch status will be Failed. If there are no such failing request, the batch status will be TimedOut. TimedOut The simulation batch job timed out. - public var status: RoboMakerClientTypes.SimulationJobBatchStatus? - /// A map that contains tag keys and tag values that are attached to the simulation job batch. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - batchPolicy: RoboMakerClientTypes.BatchPolicy? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - createdRequests: [RoboMakerClientTypes.SimulationJobSummary]? = nil, - failedRequests: [RoboMakerClientTypes.FailedCreateSimulationJobRequest]? = nil, - failureCode: RoboMakerClientTypes.SimulationJobBatchErrorCode? = nil, - failureReason: Swift.String? = nil, - lastUpdatedAt: Foundation.Date? = nil, - pendingRequests: [RoboMakerClientTypes.SimulationJobRequest]? = nil, - status: RoboMakerClientTypes.SimulationJobBatchStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.batchPolicy = batchPolicy - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.createdRequests = createdRequests - self.failedRequests = failedRequests - self.failureCode = failureCode - self.failureReason = failureReason - self.lastUpdatedAt = lastUpdatedAt - self.pendingRequests = pendingRequests - self.status = status - self.tags = tags - } -} - -public struct DescribeWorldInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world you want to describe. - /// This member is required. - public var world: Swift.String? - - public init( - world: Swift.String? = nil - ) { - self.world = world - } -} - -public struct DescribeWorldOutput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the world was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (arn) of the world generation job that generated the world. - public var generationJob: Swift.String? - /// A map that contains tag keys and tag values that are attached to the world. - public var tags: [Swift.String: Swift.String]? - /// The world template. - public var template: Swift.String? - /// Returns the JSON formatted string that describes the contents of your world. - public var worldDescriptionBody: Swift.String? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - generationJob: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - template: Swift.String? = nil, - worldDescriptionBody: Swift.String? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.generationJob = generationJob - self.tags = tags - self.template = template - self.worldDescriptionBody = worldDescriptionBody - } -} - -public struct DescribeWorldExportJobInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world export job to describe. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -public struct DescribeWorldExportJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world export job. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the world export job was created. - public var createdAt: Foundation.Date? - /// The failure code of the world export job if it failed: InternalServiceError Internal service error. LimitExceeded The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. ResourceNotFound The specified resource could not be found. RequestThrottled The request was throttled. InvalidInput An input parameter in the request is not valid. - public var failureCode: RoboMakerClientTypes.WorldExportJobErrorCode? - /// The reason why the world export job failed. - public var failureReason: Swift.String? - /// The IAM role that the world export process uses to access the Amazon S3 bucket and put the export. - public var iamRole: Swift.String? - /// The output location. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// The status of the world export job. Pending The world export job request is pending. Running The world export job is running. Completed The world export job completed. Failed The world export job failed. See failureCode and failureReason for more information. Canceled The world export job was cancelled. Canceling The world export job is being cancelled. - public var status: RoboMakerClientTypes.WorldExportJobStatus? - /// A map that contains tag keys and tag values that are attached to the world export job. - public var tags: [Swift.String: Swift.String]? - /// A list of Amazon Resource Names (arns) that correspond to worlds to be exported. - public var worlds: [Swift.String]? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - failureCode: RoboMakerClientTypes.WorldExportJobErrorCode? = nil, - failureReason: Swift.String? = nil, - iamRole: Swift.String? = nil, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - status: RoboMakerClientTypes.WorldExportJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil, - worlds: [Swift.String]? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.failureCode = failureCode - self.failureReason = failureReason - self.iamRole = iamRole - self.outputLocation = outputLocation - self.status = status - self.tags = tags - self.worlds = worlds - } -} - -public struct DescribeWorldGenerationJobInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world generation job to describe. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -extension RoboMakerClientTypes { - - /// Information about a failed world. - public struct WorldFailure: Swift.Sendable { - /// The failure code of the world export job if it failed: InternalServiceError Internal service error. LimitExceeded The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. ResourceNotFound The specified resource could not be found. RequestThrottled The request was throttled. InvalidInput An input parameter in the request is not valid. - public var failureCode: RoboMakerClientTypes.WorldGenerationJobErrorCode? - /// The number of failed worlds. - public var failureCount: Swift.Int - /// The sample reason why the world failed. World errors are aggregated. A sample is used as the sampleFailureReason. - public var sampleFailureReason: Swift.String? - - public init( - failureCode: RoboMakerClientTypes.WorldGenerationJobErrorCode? = nil, - failureCount: Swift.Int = 0, - sampleFailureReason: Swift.String? = nil - ) { - self.failureCode = failureCode - self.failureCount = failureCount - self.sampleFailureReason = sampleFailureReason - } - } -} - -extension RoboMakerClientTypes { - - /// Information about worlds that failed. - public struct FailureSummary: Swift.Sendable { - /// The worlds that failed. - public var failures: [RoboMakerClientTypes.WorldFailure]? - /// The total number of failures. - public var totalFailureCount: Swift.Int - - public init( - failures: [RoboMakerClientTypes.WorldFailure]? = nil, - totalFailureCount: Swift.Int = 0 - ) { - self.failures = failures - self.totalFailureCount = totalFailureCount - } - } -} - -extension RoboMakerClientTypes { - - /// Information about worlds that finished. - public struct FinishedWorldsSummary: Swift.Sendable { - /// Information about worlds that failed. - public var failureSummary: RoboMakerClientTypes.FailureSummary? - /// The total number of finished worlds. - public var finishedCount: Swift.Int - /// A list of worlds that succeeded. - public var succeededWorlds: [Swift.String]? - - public init( - failureSummary: RoboMakerClientTypes.FailureSummary? = nil, - finishedCount: Swift.Int = 0, - succeededWorlds: [Swift.String]? = nil - ) { - self.failureSummary = failureSummary - self.finishedCount = finishedCount - self.succeededWorlds = succeededWorlds - } - } -} - -public struct DescribeWorldGenerationJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world generation job. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the world generation job was created. - public var createdAt: Foundation.Date? - /// The failure code of the world generation job if it failed: InternalServiceError Internal service error. LimitExceeded The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. ResourceNotFound The specified resource could not be found. RequestThrottled The request was throttled. InvalidInput An input parameter in the request is not valid. - public var failureCode: RoboMakerClientTypes.WorldGenerationJobErrorCode? - /// The reason why the world generation job failed. - public var failureReason: Swift.String? - /// Summary information about finished worlds. - public var finishedWorldsSummary: RoboMakerClientTypes.FinishedWorldsSummary? - /// The status of the world generation job: Pending The world generation job request is pending. Running The world generation job is running. Completed The world generation job completed. Failed The world generation job failed. See failureCode for more information. PartialFailed Some worlds did not generate. Canceled The world generation job was cancelled. Canceling The world generation job is being cancelled. - public var status: RoboMakerClientTypes.WorldGenerationJobStatus? - /// A map that contains tag keys and tag values that are attached to the world generation job. - public var tags: [Swift.String: Swift.String]? - /// The Amazon Resource Name (arn) of the world template. - public var template: Swift.String? - /// Information about the world count. - public var worldCount: RoboMakerClientTypes.WorldCount? - /// A map that contains tag keys and tag values that are attached to the generated worlds. - public var worldTags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - failureCode: RoboMakerClientTypes.WorldGenerationJobErrorCode? = nil, - failureReason: Swift.String? = nil, - finishedWorldsSummary: RoboMakerClientTypes.FinishedWorldsSummary? = nil, - status: RoboMakerClientTypes.WorldGenerationJobStatus? = nil, - tags: [Swift.String: Swift.String]? = nil, - template: Swift.String? = nil, - worldCount: RoboMakerClientTypes.WorldCount? = nil, - worldTags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.failureCode = failureCode - self.failureReason = failureReason - self.finishedWorldsSummary = finishedWorldsSummary - self.status = status - self.tags = tags - self.template = template - self.worldCount = worldCount - self.worldTags = worldTags - } -} - -public struct DescribeWorldTemplateInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world template you want to describe. - /// This member is required. - public var template: Swift.String? - - public init( - template: Swift.String? = nil - ) { - self.template = template - } -} - -public struct DescribeWorldTemplateOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world template. - public var arn: Swift.String? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the world template was created. - public var createdAt: Foundation.Date? - /// The time, in milliseconds since the epoch, when the world template was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the world template. - public var name: Swift.String? - /// A map that contains tag keys and tag values that are attached to the world template. - public var tags: [Swift.String: Swift.String]? - /// The version of the world template that you're using. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.tags = tags - self.version = version - } -} - -extension RoboMakerClientTypes { - - /// Information about a filter. - public struct Filter: Swift.Sendable { - /// The name of the filter. - public var name: Swift.String? - /// A list of values. - public var values: [Swift.String]? - - public init( - name: Swift.String? = nil, - values: [Swift.String]? = nil - ) { - self.name = name - self.values = values - } - } -} - -extension RoboMakerClientTypes { - - /// Information about a fleet. - public struct Fleet: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the fleet was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (ARN) of the last deployment job. - public var lastDeploymentJob: Swift.String? - /// The status of the last fleet deployment. - public var lastDeploymentStatus: RoboMakerClientTypes.DeploymentStatus? - /// The time of the last deployment. - public var lastDeploymentTime: Foundation.Date? - /// The name of the fleet. - public var name: Swift.String? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - lastDeploymentJob: Swift.String? = nil, - lastDeploymentStatus: RoboMakerClientTypes.DeploymentStatus? = nil, - lastDeploymentTime: Foundation.Date? = nil, - name: Swift.String? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.lastDeploymentJob = lastDeploymentJob - self.lastDeploymentStatus = lastDeploymentStatus - self.lastDeploymentTime = lastDeploymentTime - self.name = name - } - } -} - -public struct GetWorldTemplateBodyInput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world generator job. - public var generationJob: Swift.String? - /// The Amazon Resource Name (arn) of the world template. - public var template: Swift.String? - - public init( - generationJob: Swift.String? = nil, - template: Swift.String? = nil - ) { - self.generationJob = generationJob - self.template = template - } -} - -public struct GetWorldTemplateBodyOutput: Swift.Sendable { - /// The world template body. - public var templateBody: Swift.String? - - public init( - templateBody: Swift.String? = nil - ) { - self.templateBody = templateBody - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct ListDeploymentJobsInput: Swift.Sendable { - /// Optional filters to limit results. The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status InProgress or the status Pending. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListDeploymentJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListDeploymentJobs request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListDeploymentJobs returns up to 200 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListDeploymentJobs again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct ListDeploymentJobsOutput: Swift.Sendable { - /// A list of deployment jobs that meet the criteria of the request. - public var deploymentJobs: [RoboMakerClientTypes.DeploymentJob]? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListDeploymentJobs again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - deploymentJobs: [RoboMakerClientTypes.DeploymentJob]? = nil, - nextToken: Swift.String? = nil - ) { - self.deploymentJobs = deploymentJobs - self.nextToken = nextToken - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct ListFleetsInput: Swift.Sendable { - /// Optional filters to limit results. The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListFleets only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListFleets request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListFleets returns up to 200 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListFleets again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. This token should be treated as an opaque identifier that is only used to retrieve the next items in a list and not for other programmatic purposes. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct ListFleetsOutput: Swift.Sendable { - /// A list of fleet details meeting the request criteria. - public var fleetDetails: [RoboMakerClientTypes.Fleet]? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListFleets again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - fleetDetails: [RoboMakerClientTypes.Fleet]? = nil, - nextToken: Swift.String? = nil - ) { - self.fleetDetails = fleetDetails - self.nextToken = nextToken - } -} - -public struct ListRobotApplicationsInput: Swift.Sendable { - /// Optional filters to limit results. The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListRobotApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRobotApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListRobotApplications returns up to 100 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListRobotApplications again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// The version qualifier of the robot application. - public var versionQualifier: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - versionQualifier: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - self.versionQualifier = versionQualifier - } -} - -extension RoboMakerClientTypes { - - /// Summary information for a robot application. - public struct RobotApplicationSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the robot. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the robot application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the robot application. - public var name: Swift.String? - /// Information about a robot software suite. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The version of the robot application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.robotSoftwareSuite = robotSoftwareSuite - self.version = version - } - } -} - -public struct ListRobotApplicationsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListRobotApplications again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// A list of robot application summaries that meet the criteria of the request. - public var robotApplicationSummaries: [RoboMakerClientTypes.RobotApplicationSummary]? - - public init( - nextToken: Swift.String? = nil, - robotApplicationSummaries: [RoboMakerClientTypes.RobotApplicationSummary]? = nil - ) { - self.nextToken = nextToken - self.robotApplicationSummaries = robotApplicationSummaries - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct ListRobotsInput: Swift.Sendable { - /// Optional filters to limit results. The filter names status and fleetName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Registered or the status Available. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListRobots only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListRobots request with the returned nextToken value. This value can be between 1 and 200. If this parameter is not used, then ListRobots returns up to 200 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListRobots again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct ListRobotsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListRobots again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// A list of robots that meet the criteria of the request. - public var robots: [RoboMakerClientTypes.Robot]? - - public init( - nextToken: Swift.String? = nil, - robots: [RoboMakerClientTypes.Robot]? = nil - ) { - self.nextToken = nextToken - self.robots = robots - } -} - -public struct ListSimulationApplicationsInput: Swift.Sendable { - /// Optional list of filters to limit results. The filter name name is supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListSimulationApplications only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationApplications request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListSimulationApplications returns up to 100 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListSimulationApplications again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// The version qualifier of the simulation application. - public var versionQualifier: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - versionQualifier: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - self.versionQualifier = versionQualifier - } -} - -extension RoboMakerClientTypes { - - /// Summary information for a simulation application. - public struct SimulationApplicationSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation application. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the simulation application. - public var name: Swift.String? - /// Information about a robot software suite. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// Information about a simulation software suite. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The version of the simulation application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.version = version - } - } -} - -public struct ListSimulationApplicationsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListSimulationApplications again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// A list of simulation application summaries that meet the criteria of the request. - public var simulationApplicationSummaries: [RoboMakerClientTypes.SimulationApplicationSummary]? - - public init( - nextToken: Swift.String? = nil, - simulationApplicationSummaries: [RoboMakerClientTypes.SimulationApplicationSummary]? = nil - ) { - self.nextToken = nextToken - self.simulationApplicationSummaries = simulationApplicationSummaries - } -} - -public struct ListSimulationJobBatchesInput: Swift.Sendable { - /// Optional filters to limit results. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListSimulationJobBatches only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationJobBatches request with the returned nextToken value. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListSimulationJobBatches again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension RoboMakerClientTypes { - - /// Information about a simulation job batch. - public struct SimulationJobBatchSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the batch. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job batch was created. - public var createdAt: Foundation.Date? - /// The number of created simulation job requests. - public var createdRequestCount: Swift.Int - /// The number of failed simulation job requests. - public var failedRequestCount: Swift.Int - /// The time, in milliseconds since the epoch, when the simulation job batch was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The number of pending simulation job requests. - public var pendingRequestCount: Swift.Int - /// The status of the simulation job batch. Pending The simulation job batch request is pending. InProgress The simulation job batch is in progress. Failed The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like InternalServiceError). See failureCode and failureReason for more information. Completed The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to InternalServiceError and (2) when all created simulation jobs have reached a terminal state (for example, Completed or Failed). Canceled The simulation batch job was cancelled. Canceling The simulation batch job is being cancelled. Completing The simulation batch job is completing. TimingOut The simulation job batch is timing out. If a batch timing out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), the batch status will be Failed. If there are no such failing request, the batch status will be TimedOut. TimedOut The simulation batch job timed out. - public var status: RoboMakerClientTypes.SimulationJobBatchStatus? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - createdRequestCount: Swift.Int = 0, - failedRequestCount: Swift.Int = 0, - lastUpdatedAt: Foundation.Date? = nil, - pendingRequestCount: Swift.Int = 0, - status: RoboMakerClientTypes.SimulationJobBatchStatus? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.createdRequestCount = createdRequestCount - self.failedRequestCount = failedRequestCount - self.lastUpdatedAt = lastUpdatedAt - self.pendingRequestCount = pendingRequestCount - self.status = status - } - } -} - -public struct ListSimulationJobBatchesOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListSimulationJobBatches again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// A list of simulation job batch summaries. - public var simulationJobBatchSummaries: [RoboMakerClientTypes.SimulationJobBatchSummary]? - - public init( - nextToken: Swift.String? = nil, - simulationJobBatchSummaries: [RoboMakerClientTypes.SimulationJobBatchSummary]? = nil - ) { - self.nextToken = nextToken - self.simulationJobBatchSummaries = simulationJobBatchSummaries - } -} - -public struct ListSimulationJobsInput: Swift.Sendable { - /// Optional filters to limit results. The filter names status and simulationApplicationName and robotApplicationName are supported. When filtering, you must use the complete value of the filtered item. You can use up to three filters, but they must be for the same named item. For example, if you are looking for items with the status Preparing or the status Running. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListSimulationJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListSimulationJobs request with the returned nextToken value. This value can be between 1 and 1000. If this parameter is not used, then ListSimulationJobs returns up to 1000 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListSimulationJobs again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -public struct ListSimulationJobsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListSimulationJobs again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// A list of simulation job summaries that meet the criteria of the request. - /// This member is required. - public var simulationJobSummaries: [RoboMakerClientTypes.SimulationJobSummary]? - - public init( - nextToken: Swift.String? = nil, - simulationJobSummaries: [RoboMakerClientTypes.SimulationJobSummary]? = nil - ) { - self.nextToken = nextToken - self.simulationJobSummaries = simulationJobSummaries - } -} - -public struct ListTagsForResourceInput: Swift.Sendable { - /// The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed. - /// This member is required. - public var resourceArn: Swift.String? - - public init( - resourceArn: Swift.String? = nil - ) { - self.resourceArn = resourceArn - } -} - -public struct ListTagsForResourceOutput: Swift.Sendable { - /// The list of all tags added to the specified resource. - public var tags: [Swift.String: Swift.String]? - - public init( - tags: [Swift.String: Swift.String]? = nil - ) { - self.tags = tags - } -} - -public struct ListWorldExportJobsInput: Swift.Sendable { - /// Optional filters to limit results. You can use generationJobId and templateId. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListWorldExportJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListWorldExportJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListWorldExportJobs returns up to 100 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorldExportJobs again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension RoboMakerClientTypes { - - /// Information about a world export job. - public struct WorldExportJobSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world export job. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the world export job was created. - public var createdAt: Foundation.Date? - /// The output location. - public var outputLocation: RoboMakerClientTypes.OutputLocation? - /// The status of the world export job. Pending The world export job request is pending. Running The world export job is running. Completed The world export job completed. Failed The world export job failed. See failureCode for more information. Canceled The world export job was cancelled. Canceling The world export job is being cancelled. - public var status: RoboMakerClientTypes.WorldExportJobStatus? - /// A list of worlds. - public var worlds: [Swift.String]? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - outputLocation: RoboMakerClientTypes.OutputLocation? = nil, - status: RoboMakerClientTypes.WorldExportJobStatus? = nil, - worlds: [Swift.String]? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.outputLocation = outputLocation - self.status = status - self.worlds = worlds - } - } -} - -public struct ListWorldExportJobsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorldExportJobsRequest again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// Summary information for world export jobs. - /// This member is required. - public var worldExportJobSummaries: [RoboMakerClientTypes.WorldExportJobSummary]? - - public init( - nextToken: Swift.String? = nil, - worldExportJobSummaries: [RoboMakerClientTypes.WorldExportJobSummary]? = nil - ) { - self.nextToken = nextToken - self.worldExportJobSummaries = worldExportJobSummaries - } -} - -public struct ListWorldGenerationJobsInput: Swift.Sendable { - /// Optional filters to limit results. You can use status and templateId. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListWorldGeneratorJobs only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListWorldGeneratorJobs request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListWorldGeneratorJobs returns up to 100 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorldGenerationJobsRequest again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension RoboMakerClientTypes { - - /// Information about a world generator job. - public struct WorldGenerationJobSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world generator job. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the world generator job was created. - public var createdAt: Foundation.Date? - /// The number of worlds that failed. - public var failedWorldCount: Swift.Int - /// The status of the world generator job: Pending The world generator job request is pending. Running The world generator job is running. Completed The world generator job completed. Failed The world generator job failed. See failureCode for more information. PartialFailed Some worlds did not generate. Canceled The world generator job was cancelled. Canceling The world generator job is being cancelled. - public var status: RoboMakerClientTypes.WorldGenerationJobStatus? - /// The number of worlds that were generated. - public var succeededWorldCount: Swift.Int - /// The Amazon Resource Name (arn) of the world template. - public var template: Swift.String? - /// Information about the world count. - public var worldCount: RoboMakerClientTypes.WorldCount? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - failedWorldCount: Swift.Int = 0, - status: RoboMakerClientTypes.WorldGenerationJobStatus? = nil, - succeededWorldCount: Swift.Int = 0, - template: Swift.String? = nil, - worldCount: RoboMakerClientTypes.WorldCount? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.failedWorldCount = failedWorldCount - self.status = status - self.succeededWorldCount = succeededWorldCount - self.template = template - self.worldCount = worldCount - } - } -} - -public struct ListWorldGenerationJobsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorldGeneratorJobsRequest again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// Summary information for world generator jobs. - /// This member is required. - public var worldGenerationJobSummaries: [RoboMakerClientTypes.WorldGenerationJobSummary]? - - public init( - nextToken: Swift.String? = nil, - worldGenerationJobSummaries: [RoboMakerClientTypes.WorldGenerationJobSummary]? = nil - ) { - self.nextToken = nextToken - self.worldGenerationJobSummaries = worldGenerationJobSummaries - } -} - -public struct ListWorldsInput: Swift.Sendable { - /// Optional filters to limit results. You can use status. - public var filters: [RoboMakerClientTypes.Filter]? - /// When this parameter is used, ListWorlds only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListWorlds request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListWorlds returns up to 100 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorlds again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - filters: [RoboMakerClientTypes.Filter]? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension RoboMakerClientTypes { - - /// Information about a world. - public struct WorldSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the world. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the world was created. - public var createdAt: Foundation.Date? - /// The Amazon Resource Name (arn) of the world generation job. - public var generationJob: Swift.String? - /// The Amazon Resource Name (arn) of the world template. - public var template: Swift.String? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - generationJob: Swift.String? = nil, - template: Swift.String? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.generationJob = generationJob - self.template = template - } - } -} - -public struct ListWorldsOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorlds again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// Summary information for worlds. - public var worldSummaries: [RoboMakerClientTypes.WorldSummary]? - - public init( - nextToken: Swift.String? = nil, - worldSummaries: [RoboMakerClientTypes.WorldSummary]? = nil - ) { - self.nextToken = nextToken - self.worldSummaries = worldSummaries - } -} - -public struct ListWorldTemplatesInput: Swift.Sendable { - /// When this parameter is used, ListWorldTemplates only returns maxResults results in a single page along with a nextToken response element. The remaining results of the initial request can be seen by sending another ListWorldTemplates request with the returned nextToken value. This value can be between 1 and 100. If this parameter is not used, then ListWorldTemplates returns up to 100 results and a nextToken value if applicable. - public var maxResults: Swift.Int? - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorldTemplates again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - - public init( - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil - ) { - self.maxResults = maxResults - self.nextToken = nextToken - } -} - -extension RoboMakerClientTypes { - - /// Summary information for a template. - public struct TemplateSummary: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the template. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the template was created. - public var createdAt: Foundation.Date? - /// The time, in milliseconds since the epoch, when the template was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the template. - public var name: Swift.String? - /// The version of the template that you're using. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.version = version - } - } -} - -public struct ListWorldTemplatesOutput: Swift.Sendable { - /// If the previous paginated request did not return all of the remaining results, the response object's nextToken parameter value is set to a token. To retrieve the next set of results, call ListWorldTemplates again and assign that token to the request object's nextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null. - public var nextToken: Swift.String? - /// Summary information for templates. - public var templateSummaries: [RoboMakerClientTypes.TemplateSummary]? - - public init( - nextToken: Swift.String? = nil, - templateSummaries: [RoboMakerClientTypes.TemplateSummary]? = nil - ) { - self.nextToken = nextToken - self.templateSummaries = templateSummaries - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct RegisterRobotInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet. - /// This member is required. - public var fleet: Swift.String? - /// The Amazon Resource Name (ARN) of the robot. - /// This member is required. - public var robot: Swift.String? - - public init( - fleet: Swift.String? = nil, - robot: Swift.String? = nil - ) { - self.fleet = fleet - self.robot = robot - } -} - -@available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct RegisterRobotOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the fleet that the robot will join. - public var fleet: Swift.String? - /// Information about the robot registration. - public var robot: Swift.String? - - public init( - fleet: Swift.String? = nil, - robot: Swift.String? = nil - ) { - self.fleet = fleet - self.robot = robot - } -} - -public struct RestartSimulationJobInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the simulation job. - /// This member is required. - public var job: Swift.String? - - public init( - job: Swift.String? = nil - ) { - self.job = job - } -} - -public struct RestartSimulationJobOutput: Swift.Sendable { - - public init() { } -} - -public struct StartSimulationJobBatchInput: Swift.Sendable { - /// The batch policy. - public var batchPolicy: RoboMakerClientTypes.BatchPolicy? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// A list of simulation job requests to create in the batch. - /// This member is required. - public var createSimulationJobRequests: [RoboMakerClientTypes.SimulationJobRequest]? - /// A map that contains tag keys and tag values that are attached to the deployment job batch. - public var tags: [Swift.String: Swift.String]? - - public init( - batchPolicy: RoboMakerClientTypes.BatchPolicy? = nil, - clientRequestToken: Swift.String? = nil, - createSimulationJobRequests: [RoboMakerClientTypes.SimulationJobRequest]? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.batchPolicy = batchPolicy - self.clientRequestToken = clientRequestToken - self.createSimulationJobRequests = createSimulationJobRequests - self.tags = tags - } -} - -public struct StartSimulationJobBatchOutput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the batch. - public var arn: Swift.String? - /// The batch policy. - public var batchPolicy: RoboMakerClientTypes.BatchPolicy? - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - public var clientRequestToken: Swift.String? - /// The time, in milliseconds since the epoch, when the simulation job batch was created. - public var createdAt: Foundation.Date? - /// A list of created simulation job request summaries. - public var createdRequests: [RoboMakerClientTypes.SimulationJobSummary]? - /// A list of failed simulation job requests. The request failed to be created into a simulation job. Failed requests do not have a simulation job ID. - public var failedRequests: [RoboMakerClientTypes.FailedCreateSimulationJobRequest]? - /// The failure code if the simulation job batch failed. - public var failureCode: RoboMakerClientTypes.SimulationJobBatchErrorCode? - /// The reason the simulation job batch failed. - public var failureReason: Swift.String? - /// A list of pending simulation job requests. These requests have not yet been created into simulation jobs. - public var pendingRequests: [RoboMakerClientTypes.SimulationJobRequest]? - /// The status of the simulation job batch. Pending The simulation job batch request is pending. InProgress The simulation job batch is in progress. Failed The simulation job batch failed. One or more simulation job requests could not be completed due to an internal failure (like InternalServiceError). See failureCode and failureReason for more information. Completed The simulation batch job completed. A batch is complete when (1) there are no pending simulation job requests in the batch and none of the failed simulation job requests are due to InternalServiceError and (2) when all created simulation jobs have reached a terminal state (for example, Completed or Failed). Canceled The simulation batch job was cancelled. Canceling The simulation batch job is being cancelled. Completing The simulation batch job is completing. TimingOut The simulation job batch is timing out. If a batch timing out, and there are pending requests that were failing due to an internal failure (like InternalServiceError), the batch status will be Failed. If there are no such failing request, the batch status will be TimedOut. TimedOut The simulation batch job timed out. - public var status: RoboMakerClientTypes.SimulationJobBatchStatus? - /// A map that contains tag keys and tag values that are attached to the deployment job batch. - public var tags: [Swift.String: Swift.String]? - - public init( - arn: Swift.String? = nil, - batchPolicy: RoboMakerClientTypes.BatchPolicy? = nil, - clientRequestToken: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - createdRequests: [RoboMakerClientTypes.SimulationJobSummary]? = nil, - failedRequests: [RoboMakerClientTypes.FailedCreateSimulationJobRequest]? = nil, - failureCode: RoboMakerClientTypes.SimulationJobBatchErrorCode? = nil, - failureReason: Swift.String? = nil, - pendingRequests: [RoboMakerClientTypes.SimulationJobRequest]? = nil, - status: RoboMakerClientTypes.SimulationJobBatchStatus? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.arn = arn - self.batchPolicy = batchPolicy - self.clientRequestToken = clientRequestToken - self.createdAt = createdAt - self.createdRequests = createdRequests - self.failedRequests = failedRequests - self.failureCode = failureCode - self.failureReason = failureReason - self.pendingRequests = pendingRequests - self.status = status - self.tags = tags - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct SyncDeploymentJobInput: Swift.Sendable { - /// Unique, case-sensitive identifier that you provide to ensure the idempotency of the request. - /// This member is required. - public var clientRequestToken: Swift.String? - /// The target fleet for the synchronization. - /// This member is required. - public var fleet: Swift.String? - - public init( - clientRequestToken: Swift.String? = nil, - fleet: Swift.String? = nil - ) { - self.clientRequestToken = clientRequestToken - self.fleet = fleet - } -} - -@available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") -public struct SyncDeploymentJobOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the synchronization request. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the fleet was created. - public var createdAt: Foundation.Date? - /// Information about the deployment application configurations. - public var deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? - /// Information about the deployment configuration. - public var deploymentConfig: RoboMakerClientTypes.DeploymentConfig? - /// The failure code if the job fails: InternalServiceError Internal service error. RobotApplicationCrash Robot application exited abnormally. SimulationApplicationCrash Simulation application exited abnormally. BadPermissionsRobotApplication Robot application bundle could not be downloaded. BadPermissionsSimulationApplication Simulation application bundle could not be downloaded. BadPermissionsS3Output Unable to publish outputs to customer-provided S3 bucket. BadPermissionsCloudwatchLogs Unable to publish logs to customer-provided CloudWatch Logs resource. SubnetIpLimitExceeded Subnet IP limit exceeded. ENILimitExceeded ENI limit exceeded. BadPermissionsUserCredentials Unable to use the Role provided. InvalidBundleRobotApplication Robot bundle cannot be extracted (invalid format, bundling error, or other issue). InvalidBundleSimulationApplication Simulation bundle cannot be extracted (invalid format, bundling error, or other issue). RobotApplicationVersionMismatchedEtag Etag for RobotApplication does not match value during version creation. SimulationApplicationVersionMismatchedEtag Etag for SimulationApplication does not match value during version creation. - public var failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? - /// The failure reason if the job fails. - public var failureReason: Swift.String? - /// The Amazon Resource Name (ARN) of the fleet. - public var fleet: Swift.String? - /// The status of the synchronization job. - public var status: RoboMakerClientTypes.DeploymentStatus? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - deploymentApplicationConfigs: [RoboMakerClientTypes.DeploymentApplicationConfig]? = nil, - deploymentConfig: RoboMakerClientTypes.DeploymentConfig? = nil, - failureCode: RoboMakerClientTypes.DeploymentJobErrorCode? = nil, - failureReason: Swift.String? = nil, - fleet: Swift.String? = nil, - status: RoboMakerClientTypes.DeploymentStatus? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.deploymentApplicationConfigs = deploymentApplicationConfigs - self.deploymentConfig = deploymentConfig - self.failureCode = failureCode - self.failureReason = failureReason - self.fleet = fleet - self.status = status - } -} - -public struct TagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging. - /// This member is required. - public var resourceArn: Swift.String? - /// A map that contains tag keys and tag values that are attached to the resource. - /// This member is required. - public var tags: [Swift.String: Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tags = tags - } -} - -public struct TagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UntagResourceInput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing tags. - /// This member is required. - public var resourceArn: Swift.String? - /// A map that contains tag keys and tag values that will be unattached from the resource. - /// This member is required. - public var tagKeys: [Swift.String]? - - public init( - resourceArn: Swift.String? = nil, - tagKeys: [Swift.String]? = nil - ) { - self.resourceArn = resourceArn - self.tagKeys = tagKeys - } -} - -public struct UntagResourceOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateRobotApplicationInput: Swift.Sendable { - /// The application information for the robot application. - /// This member is required. - public var application: Swift.String? - /// The revision id for the robot application. - public var currentRevisionId: Swift.String? - /// The object that contains the Docker image URI for your robot application. - public var environment: RoboMakerClientTypes.Environment? - /// The robot software suite used by the robot application. - /// This member is required. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The sources of the robot application. - public var sources: [RoboMakerClientTypes.SourceConfig]? - - public init( - application: Swift.String? = nil, - currentRevisionId: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.SourceConfig]? = nil - ) { - self.application = application - self.currentRevisionId = currentRevisionId - self.environment = environment - self.robotSoftwareSuite = robotSoftwareSuite - self.sources = sources - } -} - -public struct UpdateRobotApplicationOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the updated robot application. - public var arn: Swift.String? - /// The object that contains the Docker image URI for your robot application. - public var environment: RoboMakerClientTypes.Environment? - /// The time, in milliseconds since the epoch, when the robot application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the robot application. - public var name: Swift.String? - /// The revision id of the robot application. - public var revisionId: Swift.String? - /// The robot software suite used by the robot application. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The sources of the robot application. - public var sources: [RoboMakerClientTypes.Source]? - /// The version of the robot application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.sources = sources - self.version = version - } -} - -public struct UpdateSimulationApplicationInput: Swift.Sendable { - /// The application information for the simulation application. - /// This member is required. - public var application: Swift.String? - /// The revision id for the robot application. - public var currentRevisionId: Swift.String? - /// The object that contains the Docker image URI for your simulation application. - public var environment: RoboMakerClientTypes.Environment? - /// The rendering engine for the simulation application. - public var renderingEngine: RoboMakerClientTypes.RenderingEngine? - /// Information about the robot software suite. - /// This member is required. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The simulation software suite used by the simulation application. - /// This member is required. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The sources of the simulation application. - public var sources: [RoboMakerClientTypes.SourceConfig]? - - public init( - application: Swift.String? = nil, - currentRevisionId: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - renderingEngine: RoboMakerClientTypes.RenderingEngine? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.SourceConfig]? = nil - ) { - self.application = application - self.currentRevisionId = currentRevisionId - self.environment = environment - self.renderingEngine = renderingEngine - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.sources = sources - } -} - -public struct UpdateSimulationApplicationOutput: Swift.Sendable { - /// The Amazon Resource Name (ARN) of the updated simulation application. - public var arn: Swift.String? - /// The object that contains the Docker image URI used for your simulation application. - public var environment: RoboMakerClientTypes.Environment? - /// The time, in milliseconds since the epoch, when the simulation application was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the simulation application. - public var name: Swift.String? - /// The rendering engine for the simulation application. - public var renderingEngine: RoboMakerClientTypes.RenderingEngine? - /// The revision id of the simulation application. - public var revisionId: Swift.String? - /// Information about the robot software suite. - public var robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? - /// The simulation software suite used by the simulation application. - public var simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? - /// The sources of the simulation application. - public var sources: [RoboMakerClientTypes.Source]? - /// The version of the robot application. - public var version: Swift.String? - - public init( - arn: Swift.String? = nil, - environment: RoboMakerClientTypes.Environment? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil, - renderingEngine: RoboMakerClientTypes.RenderingEngine? = nil, - revisionId: Swift.String? = nil, - robotSoftwareSuite: RoboMakerClientTypes.RobotSoftwareSuite? = nil, - simulationSoftwareSuite: RoboMakerClientTypes.SimulationSoftwareSuite? = nil, - sources: [RoboMakerClientTypes.Source]? = nil, - version: Swift.String? = nil - ) { - self.arn = arn - self.environment = environment - self.lastUpdatedAt = lastUpdatedAt - self.name = name - self.renderingEngine = renderingEngine - self.revisionId = revisionId - self.robotSoftwareSuite = robotSoftwareSuite - self.simulationSoftwareSuite = simulationSoftwareSuite - self.sources = sources - self.version = version - } -} - -public struct UpdateWorldTemplateInput: Swift.Sendable { - /// The name of the template. - public var name: Swift.String? - /// The Amazon Resource Name (arn) of the world template to update. - /// This member is required. - public var template: Swift.String? - /// The world template body. - public var templateBody: Swift.String? - /// The location of the world template. - public var templateLocation: RoboMakerClientTypes.TemplateLocation? - - public init( - name: Swift.String? = nil, - template: Swift.String? = nil, - templateBody: Swift.String? = nil, - templateLocation: RoboMakerClientTypes.TemplateLocation? = nil - ) { - self.name = name - self.template = template - self.templateBody = templateBody - self.templateLocation = templateLocation - } -} - -public struct UpdateWorldTemplateOutput: Swift.Sendable { - /// The Amazon Resource Name (arn) of the world template. - public var arn: Swift.String? - /// The time, in milliseconds since the epoch, when the world template was created. - public var createdAt: Foundation.Date? - /// The time, in milliseconds since the epoch, when the world template was last updated. - public var lastUpdatedAt: Foundation.Date? - /// The name of the world template. - public var name: Swift.String? - - public init( - arn: Swift.String? = nil, - createdAt: Foundation.Date? = nil, - lastUpdatedAt: Foundation.Date? = nil, - name: Swift.String? = nil - ) { - self.arn = arn - self.createdAt = createdAt - self.lastUpdatedAt = lastUpdatedAt - self.name = name - } -} - -extension BatchDeleteWorldsInput { - - static func urlPathProvider(_ value: BatchDeleteWorldsInput) -> Swift.String? { - return "/batchDeleteWorlds" - } -} - -extension BatchDescribeSimulationJobInput { - - static func urlPathProvider(_ value: BatchDescribeSimulationJobInput) -> Swift.String? { - return "/batchDescribeSimulationJob" - } -} - -extension CancelDeploymentJobInput { - - static func urlPathProvider(_ value: CancelDeploymentJobInput) -> Swift.String? { - return "/cancelDeploymentJob" - } -} - -extension CancelSimulationJobInput { - - static func urlPathProvider(_ value: CancelSimulationJobInput) -> Swift.String? { - return "/cancelSimulationJob" - } -} - -extension CancelSimulationJobBatchInput { - - static func urlPathProvider(_ value: CancelSimulationJobBatchInput) -> Swift.String? { - return "/cancelSimulationJobBatch" - } -} - -extension CancelWorldExportJobInput { - - static func urlPathProvider(_ value: CancelWorldExportJobInput) -> Swift.String? { - return "/cancelWorldExportJob" - } -} - -extension CancelWorldGenerationJobInput { - - static func urlPathProvider(_ value: CancelWorldGenerationJobInput) -> Swift.String? { - return "/cancelWorldGenerationJob" - } -} - -extension CreateDeploymentJobInput { - - static func urlPathProvider(_ value: CreateDeploymentJobInput) -> Swift.String? { - return "/createDeploymentJob" - } -} - -extension CreateFleetInput { - - static func urlPathProvider(_ value: CreateFleetInput) -> Swift.String? { - return "/createFleet" - } -} - -extension CreateRobotInput { - - static func urlPathProvider(_ value: CreateRobotInput) -> Swift.String? { - return "/createRobot" - } -} - -extension CreateRobotApplicationInput { - - static func urlPathProvider(_ value: CreateRobotApplicationInput) -> Swift.String? { - return "/createRobotApplication" - } -} - -extension CreateRobotApplicationVersionInput { - - static func urlPathProvider(_ value: CreateRobotApplicationVersionInput) -> Swift.String? { - return "/createRobotApplicationVersion" - } -} - -extension CreateSimulationApplicationInput { - - static func urlPathProvider(_ value: CreateSimulationApplicationInput) -> Swift.String? { - return "/createSimulationApplication" - } -} - -extension CreateSimulationApplicationVersionInput { - - static func urlPathProvider(_ value: CreateSimulationApplicationVersionInput) -> Swift.String? { - return "/createSimulationApplicationVersion" - } -} - -extension CreateSimulationJobInput { - - static func urlPathProvider(_ value: CreateSimulationJobInput) -> Swift.String? { - return "/createSimulationJob" - } -} - -extension CreateWorldExportJobInput { - - static func urlPathProvider(_ value: CreateWorldExportJobInput) -> Swift.String? { - return "/createWorldExportJob" - } -} - -extension CreateWorldGenerationJobInput { - - static func urlPathProvider(_ value: CreateWorldGenerationJobInput) -> Swift.String? { - return "/createWorldGenerationJob" - } -} - -extension CreateWorldTemplateInput { - - static func urlPathProvider(_ value: CreateWorldTemplateInput) -> Swift.String? { - return "/createWorldTemplate" - } -} - -extension DeleteFleetInput { - - static func urlPathProvider(_ value: DeleteFleetInput) -> Swift.String? { - return "/deleteFleet" - } -} - -extension DeleteRobotInput { - - static func urlPathProvider(_ value: DeleteRobotInput) -> Swift.String? { - return "/deleteRobot" - } -} - -extension DeleteRobotApplicationInput { - - static func urlPathProvider(_ value: DeleteRobotApplicationInput) -> Swift.String? { - return "/deleteRobotApplication" - } -} - -extension DeleteSimulationApplicationInput { - - static func urlPathProvider(_ value: DeleteSimulationApplicationInput) -> Swift.String? { - return "/deleteSimulationApplication" - } -} - -extension DeleteWorldTemplateInput { - - static func urlPathProvider(_ value: DeleteWorldTemplateInput) -> Swift.String? { - return "/deleteWorldTemplate" - } -} - -extension DeregisterRobotInput { - - static func urlPathProvider(_ value: DeregisterRobotInput) -> Swift.String? { - return "/deregisterRobot" - } -} - -extension DescribeDeploymentJobInput { - - static func urlPathProvider(_ value: DescribeDeploymentJobInput) -> Swift.String? { - return "/describeDeploymentJob" - } -} - -extension DescribeFleetInput { - - static func urlPathProvider(_ value: DescribeFleetInput) -> Swift.String? { - return "/describeFleet" - } -} - -extension DescribeRobotInput { - - static func urlPathProvider(_ value: DescribeRobotInput) -> Swift.String? { - return "/describeRobot" - } -} - -extension DescribeRobotApplicationInput { - - static func urlPathProvider(_ value: DescribeRobotApplicationInput) -> Swift.String? { - return "/describeRobotApplication" - } -} - -extension DescribeSimulationApplicationInput { - - static func urlPathProvider(_ value: DescribeSimulationApplicationInput) -> Swift.String? { - return "/describeSimulationApplication" - } -} - -extension DescribeSimulationJobInput { - - static func urlPathProvider(_ value: DescribeSimulationJobInput) -> Swift.String? { - return "/describeSimulationJob" - } -} - -extension DescribeSimulationJobBatchInput { - - static func urlPathProvider(_ value: DescribeSimulationJobBatchInput) -> Swift.String? { - return "/describeSimulationJobBatch" - } -} - -extension DescribeWorldInput { - - static func urlPathProvider(_ value: DescribeWorldInput) -> Swift.String? { - return "/describeWorld" - } -} - -extension DescribeWorldExportJobInput { - - static func urlPathProvider(_ value: DescribeWorldExportJobInput) -> Swift.String? { - return "/describeWorldExportJob" - } -} - -extension DescribeWorldGenerationJobInput { - - static func urlPathProvider(_ value: DescribeWorldGenerationJobInput) -> Swift.String? { - return "/describeWorldGenerationJob" - } -} - -extension DescribeWorldTemplateInput { - - static func urlPathProvider(_ value: DescribeWorldTemplateInput) -> Swift.String? { - return "/describeWorldTemplate" - } -} - -extension GetWorldTemplateBodyInput { - - static func urlPathProvider(_ value: GetWorldTemplateBodyInput) -> Swift.String? { - return "/getWorldTemplateBody" - } -} - -extension ListDeploymentJobsInput { - - static func urlPathProvider(_ value: ListDeploymentJobsInput) -> Swift.String? { - return "/listDeploymentJobs" - } -} - -extension ListFleetsInput { - - static func urlPathProvider(_ value: ListFleetsInput) -> Swift.String? { - return "/listFleets" - } -} - -extension ListRobotApplicationsInput { - - static func urlPathProvider(_ value: ListRobotApplicationsInput) -> Swift.String? { - return "/listRobotApplications" - } -} - -extension ListRobotsInput { - - static func urlPathProvider(_ value: ListRobotsInput) -> Swift.String? { - return "/listRobots" - } -} - -extension ListSimulationApplicationsInput { - - static func urlPathProvider(_ value: ListSimulationApplicationsInput) -> Swift.String? { - return "/listSimulationApplications" - } -} - -extension ListSimulationJobBatchesInput { - - static func urlPathProvider(_ value: ListSimulationJobBatchesInput) -> Swift.String? { - return "/listSimulationJobBatches" - } -} - -extension ListSimulationJobsInput { - - static func urlPathProvider(_ value: ListSimulationJobsInput) -> Swift.String? { - return "/listSimulationJobs" - } -} - -extension ListTagsForResourceInput { - - static func urlPathProvider(_ value: ListTagsForResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension ListWorldExportJobsInput { - - static func urlPathProvider(_ value: ListWorldExportJobsInput) -> Swift.String? { - return "/listWorldExportJobs" - } -} - -extension ListWorldGenerationJobsInput { - - static func urlPathProvider(_ value: ListWorldGenerationJobsInput) -> Swift.String? { - return "/listWorldGenerationJobs" - } -} - -extension ListWorldsInput { - - static func urlPathProvider(_ value: ListWorldsInput) -> Swift.String? { - return "/listWorlds" - } -} - -extension ListWorldTemplatesInput { - - static func urlPathProvider(_ value: ListWorldTemplatesInput) -> Swift.String? { - return "/listWorldTemplates" - } -} - -extension RegisterRobotInput { - - static func urlPathProvider(_ value: RegisterRobotInput) -> Swift.String? { - return "/registerRobot" - } -} - -extension RestartSimulationJobInput { - - static func urlPathProvider(_ value: RestartSimulationJobInput) -> Swift.String? { - return "/restartSimulationJob" - } -} - -extension StartSimulationJobBatchInput { - - static func urlPathProvider(_ value: StartSimulationJobBatchInput) -> Swift.String? { - return "/startSimulationJobBatch" - } -} - -extension SyncDeploymentJobInput { - - static func urlPathProvider(_ value: SyncDeploymentJobInput) -> Swift.String? { - return "/syncDeploymentJob" - } -} - -extension TagResourceInput { - - static func urlPathProvider(_ value: TagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func urlPathProvider(_ value: UntagResourceInput) -> Swift.String? { - guard let resourceArn = value.resourceArn else { - return nil - } - return "/tags/\(resourceArn.urlPercentEncoding())" - } -} - -extension UntagResourceInput { - - static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { - var items = [Smithy.URIQueryItem]() - guard let tagKeys = value.tagKeys else { - let message = "Creating a URL Query Item failed. tagKeys is required and must not be nil." - throw Smithy.ClientError.unknownError(message) - } - tagKeys.forEach { queryItemValue in - let queryItem = Smithy.URIQueryItem(name: "tagKeys".urlPercentEncoding(), value: Swift.String(queryItemValue).urlPercentEncoding()) - items.append(queryItem) - } - return items - } -} - -extension UpdateRobotApplicationInput { - - static func urlPathProvider(_ value: UpdateRobotApplicationInput) -> Swift.String? { - return "/updateRobotApplication" - } -} - -extension UpdateSimulationApplicationInput { - - static func urlPathProvider(_ value: UpdateSimulationApplicationInput) -> Swift.String? { - return "/updateSimulationApplication" - } -} - -extension UpdateWorldTemplateInput { - - static func urlPathProvider(_ value: UpdateWorldTemplateInput) -> Swift.String? { - return "/updateWorldTemplate" - } -} - -extension BatchDeleteWorldsInput { - - static func write(value: BatchDeleteWorldsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["worlds"].writeList(value.worlds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension BatchDescribeSimulationJobInput { - - static func write(value: BatchDescribeSimulationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["jobs"].writeList(value.jobs, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension CancelDeploymentJobInput { - - static func write(value: CancelDeploymentJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension CancelSimulationJobInput { - - static func write(value: CancelSimulationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension CancelSimulationJobBatchInput { - - static func write(value: CancelSimulationJobBatchInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["batch"].write(value.batch) - } -} - -extension CancelWorldExportJobInput { - - static func write(value: CancelWorldExportJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension CancelWorldGenerationJobInput { - - static func write(value: CancelWorldGenerationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension CreateDeploymentJobInput { - - static func write(value: CreateDeploymentJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["deploymentApplicationConfigs"].writeList(value.deploymentApplicationConfigs, memberWritingClosure: RoboMakerClientTypes.DeploymentApplicationConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["deploymentConfig"].write(value.deploymentConfig, with: RoboMakerClientTypes.DeploymentConfig.write(value:to:)) - try writer["fleet"].write(value.fleet) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateFleetInput { - - static func write(value: CreateFleetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateRobotInput { - - static func write(value: CreateRobotInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["architecture"].write(value.architecture) - try writer["greengrassGroupId"].write(value.greengrassGroupId) - try writer["name"].write(value.name) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateRobotApplicationInput { - - static func write(value: CreateRobotApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["environment"].write(value.environment, with: RoboMakerClientTypes.Environment.write(value:to:)) - try writer["name"].write(value.name) - try writer["robotSoftwareSuite"].write(value.robotSoftwareSuite, with: RoboMakerClientTypes.RobotSoftwareSuite.write(value:to:)) - try writer["sources"].writeList(value.sources, memberWritingClosure: RoboMakerClientTypes.SourceConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateRobotApplicationVersionInput { - - static func write(value: CreateRobotApplicationVersionInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["currentRevisionId"].write(value.currentRevisionId) - try writer["imageDigest"].write(value.imageDigest) - try writer["s3Etags"].writeList(value.s3Etags, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension CreateSimulationApplicationInput { - - static func write(value: CreateSimulationApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["environment"].write(value.environment, with: RoboMakerClientTypes.Environment.write(value:to:)) - try writer["name"].write(value.name) - try writer["renderingEngine"].write(value.renderingEngine, with: RoboMakerClientTypes.RenderingEngine.write(value:to:)) - try writer["robotSoftwareSuite"].write(value.robotSoftwareSuite, with: RoboMakerClientTypes.RobotSoftwareSuite.write(value:to:)) - try writer["simulationSoftwareSuite"].write(value.simulationSoftwareSuite, with: RoboMakerClientTypes.SimulationSoftwareSuite.write(value:to:)) - try writer["sources"].writeList(value.sources, memberWritingClosure: RoboMakerClientTypes.SourceConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateSimulationApplicationVersionInput { - - static func write(value: CreateSimulationApplicationVersionInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["currentRevisionId"].write(value.currentRevisionId) - try writer["imageDigest"].write(value.imageDigest) - try writer["s3Etags"].writeList(value.s3Etags, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension CreateSimulationJobInput { - - static func write(value: CreateSimulationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["compute"].write(value.compute, with: RoboMakerClientTypes.Compute.write(value:to:)) - try writer["dataSources"].writeList(value.dataSources, memberWritingClosure: RoboMakerClientTypes.DataSourceConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["failureBehavior"].write(value.failureBehavior) - try writer["iamRole"].write(value.iamRole) - try writer["loggingConfig"].write(value.loggingConfig, with: RoboMakerClientTypes.LoggingConfig.write(value:to:)) - try writer["maxJobDurationInSeconds"].write(value.maxJobDurationInSeconds) - try writer["outputLocation"].write(value.outputLocation, with: RoboMakerClientTypes.OutputLocation.write(value:to:)) - try writer["robotApplications"].writeList(value.robotApplications, memberWritingClosure: RoboMakerClientTypes.RobotApplicationConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["simulationApplications"].writeList(value.simulationApplications, memberWritingClosure: RoboMakerClientTypes.SimulationApplicationConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["vpcConfig"].write(value.vpcConfig, with: RoboMakerClientTypes.VPCConfig.write(value:to:)) - } -} - -extension CreateWorldExportJobInput { - - static func write(value: CreateWorldExportJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["iamRole"].write(value.iamRole) - try writer["outputLocation"].write(value.outputLocation, with: RoboMakerClientTypes.OutputLocation.write(value:to:)) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["worlds"].writeList(value.worlds, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension CreateWorldGenerationJobInput { - - static func write(value: CreateWorldGenerationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["template"].write(value.template) - try writer["worldCount"].write(value.worldCount, with: RoboMakerClientTypes.WorldCount.write(value:to:)) - try writer["worldTags"].writeMap(value.worldTags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension CreateWorldTemplateInput { - - static func write(value: CreateWorldTemplateInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["name"].write(value.name) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["templateBody"].write(value.templateBody) - try writer["templateLocation"].write(value.templateLocation, with: RoboMakerClientTypes.TemplateLocation.write(value:to:)) - } -} - -extension DeleteFleetInput { - - static func write(value: DeleteFleetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["fleet"].write(value.fleet) - } -} - -extension DeleteRobotInput { - - static func write(value: DeleteRobotInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["robot"].write(value.robot) - } -} - -extension DeleteRobotApplicationInput { - - static func write(value: DeleteRobotApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - } -} - -extension DeleteSimulationApplicationInput { - - static func write(value: DeleteSimulationApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - } -} - -extension DeleteWorldTemplateInput { - - static func write(value: DeleteWorldTemplateInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["template"].write(value.template) - } -} - -extension DeregisterRobotInput { - - static func write(value: DeregisterRobotInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["fleet"].write(value.fleet) - try writer["robot"].write(value.robot) - } -} - -extension DescribeDeploymentJobInput { - - static func write(value: DescribeDeploymentJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension DescribeFleetInput { - - static func write(value: DescribeFleetInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["fleet"].write(value.fleet) - } -} - -extension DescribeRobotInput { - - static func write(value: DescribeRobotInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["robot"].write(value.robot) - } -} - -extension DescribeRobotApplicationInput { - - static func write(value: DescribeRobotApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - } -} - -extension DescribeSimulationApplicationInput { - - static func write(value: DescribeSimulationApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - } -} - -extension DescribeSimulationJobInput { - - static func write(value: DescribeSimulationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension DescribeSimulationJobBatchInput { - - static func write(value: DescribeSimulationJobBatchInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["batch"].write(value.batch) - } -} - -extension DescribeWorldInput { - - static func write(value: DescribeWorldInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["world"].write(value.world) - } -} - -extension DescribeWorldExportJobInput { - - static func write(value: DescribeWorldExportJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension DescribeWorldGenerationJobInput { - - static func write(value: DescribeWorldGenerationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension DescribeWorldTemplateInput { - - static func write(value: DescribeWorldTemplateInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["template"].write(value.template) - } -} - -extension GetWorldTemplateBodyInput { - - static func write(value: GetWorldTemplateBodyInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["generationJob"].write(value.generationJob) - try writer["template"].write(value.template) - } -} - -extension ListDeploymentJobsInput { - - static func write(value: ListDeploymentJobsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListFleetsInput { - - static func write(value: ListFleetsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListRobotApplicationsInput { - - static func write(value: ListRobotApplicationsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - try writer["versionQualifier"].write(value.versionQualifier) - } -} - -extension ListRobotsInput { - - static func write(value: ListRobotsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListSimulationApplicationsInput { - - static func write(value: ListSimulationApplicationsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - try writer["versionQualifier"].write(value.versionQualifier) - } -} - -extension ListSimulationJobBatchesInput { - - static func write(value: ListSimulationJobBatchesInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListSimulationJobsInput { - - static func write(value: ListSimulationJobsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListWorldExportJobsInput { - - static func write(value: ListWorldExportJobsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListWorldGenerationJobsInput { - - static func write(value: ListWorldGenerationJobsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListWorldsInput { - - static func write(value: ListWorldsInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["filters"].writeList(value.filters, memberWritingClosure: RoboMakerClientTypes.Filter.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension ListWorldTemplatesInput { - - static func write(value: ListWorldTemplatesInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["maxResults"].write(value.maxResults) - try writer["nextToken"].write(value.nextToken) - } -} - -extension RegisterRobotInput { - - static func write(value: RegisterRobotInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["fleet"].write(value.fleet) - try writer["robot"].write(value.robot) - } -} - -extension RestartSimulationJobInput { - - static func write(value: RestartSimulationJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["job"].write(value.job) - } -} - -extension StartSimulationJobBatchInput { - - static func write(value: StartSimulationJobBatchInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["batchPolicy"].write(value.batchPolicy, with: RoboMakerClientTypes.BatchPolicy.write(value:to:)) - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["createSimulationJobRequests"].writeList(value.createSimulationJobRequests, memberWritingClosure: RoboMakerClientTypes.SimulationJobRequest.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension SyncDeploymentJobInput { - - static func write(value: SyncDeploymentJobInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["clientRequestToken"].write(value.clientRequestToken) - try writer["fleet"].write(value.fleet) - } -} - -extension TagResourceInput { - - static func write(value: TagResourceInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - } -} - -extension UpdateRobotApplicationInput { - - static func write(value: UpdateRobotApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["currentRevisionId"].write(value.currentRevisionId) - try writer["environment"].write(value.environment, with: RoboMakerClientTypes.Environment.write(value:to:)) - try writer["robotSoftwareSuite"].write(value.robotSoftwareSuite, with: RoboMakerClientTypes.RobotSoftwareSuite.write(value:to:)) - try writer["sources"].writeList(value.sources, memberWritingClosure: RoboMakerClientTypes.SourceConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension UpdateSimulationApplicationInput { - - static func write(value: UpdateSimulationApplicationInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["currentRevisionId"].write(value.currentRevisionId) - try writer["environment"].write(value.environment, with: RoboMakerClientTypes.Environment.write(value:to:)) - try writer["renderingEngine"].write(value.renderingEngine, with: RoboMakerClientTypes.RenderingEngine.write(value:to:)) - try writer["robotSoftwareSuite"].write(value.robotSoftwareSuite, with: RoboMakerClientTypes.RobotSoftwareSuite.write(value:to:)) - try writer["simulationSoftwareSuite"].write(value.simulationSoftwareSuite, with: RoboMakerClientTypes.SimulationSoftwareSuite.write(value:to:)) - try writer["sources"].writeList(value.sources, memberWritingClosure: RoboMakerClientTypes.SourceConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -extension UpdateWorldTemplateInput { - - static func write(value: UpdateWorldTemplateInput?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["template"].write(value.template) - try writer["templateBody"].write(value.templateBody) - try writer["templateLocation"].write(value.templateLocation, with: RoboMakerClientTypes.TemplateLocation.write(value:to:)) - } -} - -extension BatchDeleteWorldsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> BatchDeleteWorldsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = BatchDeleteWorldsOutput() - value.unprocessedWorlds = try reader["unprocessedWorlds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension BatchDescribeSimulationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> BatchDescribeSimulationJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = BatchDescribeSimulationJobOutput() - value.jobs = try reader["jobs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJob.read(from:), memberNodeInfo: "member", isFlattened: false) - value.unprocessedJobs = try reader["unprocessedJobs"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension CancelDeploymentJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelDeploymentJobOutput { - return CancelDeploymentJobOutput() - } -} - -extension CancelSimulationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelSimulationJobOutput { - return CancelSimulationJobOutput() - } -} - -extension CancelSimulationJobBatchOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelSimulationJobBatchOutput { - return CancelSimulationJobBatchOutput() - } -} - -extension CancelWorldExportJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelWorldExportJobOutput { - return CancelWorldExportJobOutput() - } -} - -extension CancelWorldGenerationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CancelWorldGenerationJobOutput { - return CancelWorldGenerationJobOutput() - } -} - -extension CreateDeploymentJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateDeploymentJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateDeploymentJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deploymentApplicationConfigs = try reader["deploymentApplicationConfigs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DeploymentApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.deploymentConfig = try reader["deploymentConfig"].readIfPresent(with: RoboMakerClientTypes.DeploymentConfig.read(from:)) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.fleet = try reader["fleet"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension CreateFleetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateFleetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateFleetOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension CreateRobotOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateRobotOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateRobotOutput() - value.architecture = try reader["architecture"].readIfPresent() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.greengrassGroupId = try reader["greengrassGroupId"].readIfPresent() - value.name = try reader["name"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension CreateRobotApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateRobotApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateRobotApplicationOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension CreateRobotApplicationVersionOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateRobotApplicationVersionOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateRobotApplicationVersionOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension CreateSimulationApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateSimulationApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateSimulationApplicationOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.renderingEngine = try reader["renderingEngine"].readIfPresent(with: RoboMakerClientTypes.RenderingEngine.read(from:)) - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.simulationSoftwareSuite = try reader["simulationSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.SimulationSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension CreateSimulationApplicationVersionOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateSimulationApplicationVersionOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateSimulationApplicationVersionOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.renderingEngine = try reader["renderingEngine"].readIfPresent(with: RoboMakerClientTypes.RenderingEngine.read(from:)) - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.simulationSoftwareSuite = try reader["simulationSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.SimulationSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension CreateSimulationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateSimulationJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateSimulationJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.compute = try reader["compute"].readIfPresent(with: RoboMakerClientTypes.ComputeResponse.read(from:)) - value.dataSources = try reader["dataSources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DataSource.read(from:), memberNodeInfo: "member", isFlattened: false) - value.failureBehavior = try reader["failureBehavior"].readIfPresent() - value.failureCode = try reader["failureCode"].readIfPresent() - value.iamRole = try reader["iamRole"].readIfPresent() - value.lastStartedAt = try reader["lastStartedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.loggingConfig = try reader["loggingConfig"].readIfPresent(with: RoboMakerClientTypes.LoggingConfig.read(from:)) - value.maxJobDurationInSeconds = try reader["maxJobDurationInSeconds"].readIfPresent() ?? 0 - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - value.robotApplications = try reader["robotApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.RobotApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.simulationApplications = try reader["simulationApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.simulationTimeMillis = try reader["simulationTimeMillis"].readIfPresent() ?? 0 - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.vpcConfig = try reader["vpcConfig"].readIfPresent(with: RoboMakerClientTypes.VPCConfigResponse.read(from:)) - return value - } -} - -extension CreateWorldExportJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateWorldExportJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateWorldExportJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.failureCode = try reader["failureCode"].readIfPresent() - value.iamRole = try reader["iamRole"].readIfPresent() - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension CreateWorldGenerationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateWorldGenerationJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateWorldGenerationJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.failureCode = try reader["failureCode"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.template = try reader["template"].readIfPresent() - value.worldCount = try reader["worldCount"].readIfPresent(with: RoboMakerClientTypes.WorldCount.read(from:)) - value.worldTags = try reader["worldTags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension CreateWorldTemplateOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> CreateWorldTemplateOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = CreateWorldTemplateOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension DeleteFleetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteFleetOutput { - return DeleteFleetOutput() - } -} - -extension DeleteRobotOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteRobotOutput { - return DeleteRobotOutput() - } -} - -extension DeleteRobotApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteRobotApplicationOutput { - return DeleteRobotApplicationOutput() - } -} - -extension DeleteSimulationApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteSimulationApplicationOutput { - return DeleteSimulationApplicationOutput() - } -} - -extension DeleteWorldTemplateOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteWorldTemplateOutput { - return DeleteWorldTemplateOutput() - } -} - -extension DeregisterRobotOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeregisterRobotOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DeregisterRobotOutput() - value.fleet = try reader["fleet"].readIfPresent() - value.robot = try reader["robot"].readIfPresent() - return value - } -} - -extension DescribeDeploymentJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeDeploymentJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeDeploymentJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deploymentApplicationConfigs = try reader["deploymentApplicationConfigs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DeploymentApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.deploymentConfig = try reader["deploymentConfig"].readIfPresent(with: RoboMakerClientTypes.DeploymentConfig.read(from:)) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.fleet = try reader["fleet"].readIfPresent() - value.robotDeploymentSummary = try reader["robotDeploymentSummary"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.RobotDeployment.read(from:), memberNodeInfo: "member", isFlattened: false) - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension DescribeFleetOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeFleetOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeFleetOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastDeploymentJob = try reader["lastDeploymentJob"].readIfPresent() - value.lastDeploymentStatus = try reader["lastDeploymentStatus"].readIfPresent() - value.lastDeploymentTime = try reader["lastDeploymentTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.robots = try reader["robots"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Robot.read(from:), memberNodeInfo: "member", isFlattened: false) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension DescribeRobotOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeRobotOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeRobotOutput() - value.architecture = try reader["architecture"].readIfPresent() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.fleetArn = try reader["fleetArn"].readIfPresent() - value.greengrassGroupId = try reader["greengrassGroupId"].readIfPresent() - value.lastDeploymentJob = try reader["lastDeploymentJob"].readIfPresent() - value.lastDeploymentTime = try reader["lastDeploymentTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension DescribeRobotApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeRobotApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeRobotApplicationOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.imageDigest = try reader["imageDigest"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension DescribeSimulationApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeSimulationApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeSimulationApplicationOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.imageDigest = try reader["imageDigest"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.renderingEngine = try reader["renderingEngine"].readIfPresent(with: RoboMakerClientTypes.RenderingEngine.read(from:)) - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.simulationSoftwareSuite = try reader["simulationSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.SimulationSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension DescribeSimulationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeSimulationJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeSimulationJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.compute = try reader["compute"].readIfPresent(with: RoboMakerClientTypes.ComputeResponse.read(from:)) - value.dataSources = try reader["dataSources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DataSource.read(from:), memberNodeInfo: "member", isFlattened: false) - value.failureBehavior = try reader["failureBehavior"].readIfPresent() - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.iamRole = try reader["iamRole"].readIfPresent() - value.lastStartedAt = try reader["lastStartedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.loggingConfig = try reader["loggingConfig"].readIfPresent(with: RoboMakerClientTypes.LoggingConfig.read(from:)) - value.maxJobDurationInSeconds = try reader["maxJobDurationInSeconds"].readIfPresent() ?? 0 - value.name = try reader["name"].readIfPresent() - value.networkInterface = try reader["networkInterface"].readIfPresent(with: RoboMakerClientTypes.NetworkInterface.read(from:)) - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - value.robotApplications = try reader["robotApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.RobotApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.simulationApplications = try reader["simulationApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.simulationTimeMillis = try reader["simulationTimeMillis"].readIfPresent() ?? 0 - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.vpcConfig = try reader["vpcConfig"].readIfPresent(with: RoboMakerClientTypes.VPCConfigResponse.read(from:)) - return value - } -} - -extension DescribeSimulationJobBatchOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeSimulationJobBatchOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeSimulationJobBatchOutput() - value.arn = try reader["arn"].readIfPresent() - value.batchPolicy = try reader["batchPolicy"].readIfPresent(with: RoboMakerClientTypes.BatchPolicy.read(from:)) - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.createdRequests = try reader["createdRequests"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJobSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.failedRequests = try reader["failedRequests"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.FailedCreateSimulationJobRequest.read(from:), memberNodeInfo: "member", isFlattened: false) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.pendingRequests = try reader["pendingRequests"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJobRequest.read(from:), memberNodeInfo: "member", isFlattened: false) - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension DescribeWorldOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeWorldOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeWorldOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.generationJob = try reader["generationJob"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.template = try reader["template"].readIfPresent() - value.worldDescriptionBody = try reader["worldDescriptionBody"].readIfPresent() - return value - } -} - -extension DescribeWorldExportJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeWorldExportJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeWorldExportJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.iamRole = try reader["iamRole"].readIfPresent() - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.worlds = try reader["worlds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension DescribeWorldGenerationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeWorldGenerationJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeWorldGenerationJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.finishedWorldsSummary = try reader["finishedWorldsSummary"].readIfPresent(with: RoboMakerClientTypes.FinishedWorldsSummary.read(from:)) - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.template = try reader["template"].readIfPresent() - value.worldCount = try reader["worldCount"].readIfPresent(with: RoboMakerClientTypes.WorldCount.read(from:)) - value.worldTags = try reader["worldTags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension DescribeWorldTemplateOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DescribeWorldTemplateOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = DescribeWorldTemplateOutput() - value.arn = try reader["arn"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension GetWorldTemplateBodyOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> GetWorldTemplateBodyOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = GetWorldTemplateBodyOutput() - value.templateBody = try reader["templateBody"].readIfPresent() - return value - } -} - -extension ListDeploymentJobsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListDeploymentJobsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListDeploymentJobsOutput() - value.deploymentJobs = try reader["deploymentJobs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DeploymentJob.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["nextToken"].readIfPresent() - return value - } -} - -extension ListFleetsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListFleetsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListFleetsOutput() - value.fleetDetails = try reader["fleetDetails"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Fleet.read(from:), memberNodeInfo: "member", isFlattened: false) - value.nextToken = try reader["nextToken"].readIfPresent() - return value - } -} - -extension ListRobotApplicationsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListRobotApplicationsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListRobotApplicationsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.robotApplicationSummaries = try reader["robotApplicationSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.RobotApplicationSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListRobotsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListRobotsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListRobotsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.robots = try reader["robots"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Robot.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListSimulationApplicationsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListSimulationApplicationsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListSimulationApplicationsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.simulationApplicationSummaries = try reader["simulationApplicationSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationApplicationSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListSimulationJobBatchesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListSimulationJobBatchesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListSimulationJobBatchesOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.simulationJobBatchSummaries = try reader["simulationJobBatchSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJobBatchSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListSimulationJobsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListSimulationJobsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListSimulationJobsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.simulationJobSummaries = try reader["simulationJobSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJobSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListTagsForResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListTagsForResourceOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListTagsForResourceOutput() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension ListWorldExportJobsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListWorldExportJobsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListWorldExportJobsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.worldExportJobSummaries = try reader["worldExportJobSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.WorldExportJobSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListWorldGenerationJobsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListWorldGenerationJobsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListWorldGenerationJobsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.worldGenerationJobSummaries = try reader["worldGenerationJobSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.WorldGenerationJobSummary.read(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - return value - } -} - -extension ListWorldsOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListWorldsOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListWorldsOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.worldSummaries = try reader["worldSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.WorldSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension ListWorldTemplatesOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> ListWorldTemplatesOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = ListWorldTemplatesOutput() - value.nextToken = try reader["nextToken"].readIfPresent() - value.templateSummaries = try reader["templateSummaries"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.TemplateSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension RegisterRobotOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> RegisterRobotOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = RegisterRobotOutput() - value.fleet = try reader["fleet"].readIfPresent() - value.robot = try reader["robot"].readIfPresent() - return value - } -} - -extension RestartSimulationJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> RestartSimulationJobOutput { - return RestartSimulationJobOutput() - } -} - -extension StartSimulationJobBatchOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> StartSimulationJobBatchOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = StartSimulationJobBatchOutput() - value.arn = try reader["arn"].readIfPresent() - value.batchPolicy = try reader["batchPolicy"].readIfPresent(with: RoboMakerClientTypes.BatchPolicy.read(from:)) - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.createdRequests = try reader["createdRequests"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJobSummary.read(from:), memberNodeInfo: "member", isFlattened: false) - value.failedRequests = try reader["failedRequests"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.FailedCreateSimulationJobRequest.read(from:), memberNodeInfo: "member", isFlattened: false) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.pendingRequests = try reader["pendingRequests"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationJobRequest.read(from:), memberNodeInfo: "member", isFlattened: false) - value.status = try reader["status"].readIfPresent() - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension SyncDeploymentJobOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> SyncDeploymentJobOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = SyncDeploymentJobOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deploymentApplicationConfigs = try reader["deploymentApplicationConfigs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DeploymentApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.deploymentConfig = try reader["deploymentConfig"].readIfPresent(with: RoboMakerClientTypes.DeploymentConfig.read(from:)) - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.fleet = try reader["fleet"].readIfPresent() - value.status = try reader["status"].readIfPresent() - return value - } -} - -extension TagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> TagResourceOutput { - return TagResourceOutput() - } -} - -extension UntagResourceOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UntagResourceOutput { - return UntagResourceOutput() - } -} - -extension UpdateRobotApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateRobotApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateRobotApplicationOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension UpdateSimulationApplicationOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateSimulationApplicationOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateSimulationApplicationOutput() - value.arn = try reader["arn"].readIfPresent() - value.environment = try reader["environment"].readIfPresent(with: RoboMakerClientTypes.Environment.read(from:)) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.renderingEngine = try reader["renderingEngine"].readIfPresent(with: RoboMakerClientTypes.RenderingEngine.read(from:)) - value.revisionId = try reader["revisionId"].readIfPresent() - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.simulationSoftwareSuite = try reader["simulationSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.SimulationSoftwareSuite.read(from:)) - value.sources = try reader["sources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Source.read(from:), memberNodeInfo: "member", isFlattened: false) - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension UpdateWorldTemplateOutput { - - static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> UpdateWorldTemplateOutput { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let reader = responseReader - var value = UpdateWorldTemplateOutput() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - return value - } -} - -enum BatchDeleteWorldsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum BatchDescribeSimulationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CancelDeploymentJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CancelSimulationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CancelSimulationJobBatchOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CancelWorldExportJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CancelWorldGenerationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateDeploymentJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "ConcurrentDeploymentException": return try ConcurrentDeploymentException.makeError(baseError: baseError) - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateFleetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateRobotOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceAlreadyExistsException": return try ResourceAlreadyExistsException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateRobotApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceAlreadyExistsException": return try ResourceAlreadyExistsException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateRobotApplicationVersionOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateSimulationApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceAlreadyExistsException": return try ResourceAlreadyExistsException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateSimulationApplicationVersionOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateSimulationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceUnavailableException": return try ServiceUnavailableException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateWorldExportJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceUnavailableException": return try ServiceUnavailableException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateWorldGenerationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ServiceUnavailableException": return try ServiceUnavailableException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum CreateWorldTemplateOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceAlreadyExistsException": return try ResourceAlreadyExistsException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteFleetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteRobotOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteRobotApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteSimulationApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeleteWorldTemplateOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DeregisterRobotOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeDeploymentJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeFleetOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeRobotOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeRobotApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeSimulationApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeSimulationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeSimulationJobBatchOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeWorldOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeWorldExportJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeWorldGenerationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum DescribeWorldTemplateOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum GetWorldTemplateBodyOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListDeploymentJobsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListFleetsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListRobotApplicationsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListRobotsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListSimulationApplicationsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListSimulationJobBatchesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListSimulationJobsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListTagsForResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListWorldExportJobsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListWorldGenerationJobsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListWorldsOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum ListWorldTemplatesOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum RegisterRobotOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum RestartSimulationJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum StartSimulationJobBatchOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum SyncDeploymentJobOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "ConcurrentDeploymentException": return try ConcurrentDeploymentException.makeError(baseError: baseError) - case "IdempotentParameterMismatchException": return try IdempotentParameterMismatchException.makeError(baseError: baseError) - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum TagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UntagResourceOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateRobotApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateSimulationApplicationOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "LimitExceededException": return try LimitExceededException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -enum UpdateWorldTemplateOutputError { - - static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { - let data = try await httpResponse.data() - let responseReader = try SmithyJSON.Reader.from(data: data) - let baseError = try AWSClientRuntime.RestJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) - if let error = baseError.customError() { return error } - switch baseError.code { - case "InternalServerException": return try InternalServerException.makeError(baseError: baseError) - case "InvalidParameterException": return try InvalidParameterException.makeError(baseError: baseError) - case "ResourceNotFoundException": return try ResourceNotFoundException.makeError(baseError: baseError) - case "ThrottlingException": return try ThrottlingException.makeError(baseError: baseError) - default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) - } - } -} - -extension InternalServerException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InternalServerException { - let reader = baseError.errorBodyReader - var value = InternalServerException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension InvalidParameterException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> InvalidParameterException { - let reader = baseError.errorBodyReader - var value = InvalidParameterException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ThrottlingException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ThrottlingException { - let reader = baseError.errorBodyReader - var value = ThrottlingException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceNotFoundException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceNotFoundException { - let reader = baseError.errorBodyReader - var value = ResourceNotFoundException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ConcurrentDeploymentException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ConcurrentDeploymentException { - let reader = baseError.errorBodyReader - var value = ConcurrentDeploymentException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension IdempotentParameterMismatchException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> IdempotentParameterMismatchException { - let reader = baseError.errorBodyReader - var value = IdempotentParameterMismatchException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension LimitExceededException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> LimitExceededException { - let reader = baseError.errorBodyReader - var value = LimitExceededException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ResourceAlreadyExistsException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ResourceAlreadyExistsException { - let reader = baseError.errorBodyReader - var value = ResourceAlreadyExistsException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension ServiceUnavailableException { - - static func makeError(baseError: AWSClientRuntime.RestJSONError) throws -> ServiceUnavailableException { - let reader = baseError.errorBodyReader - var value = ServiceUnavailableException() - value.properties.message = try reader["message"].readIfPresent() - value.httpResponse = baseError.httpResponse - value.requestID = baseError.requestID - value.message = baseError.message - return value - } -} - -extension RoboMakerClientTypes.SimulationJob { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationJob { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationJob() - value.arn = try reader["arn"].readIfPresent() - value.name = try reader["name"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.lastStartedAt = try reader["lastStartedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.failureBehavior = try reader["failureBehavior"].readIfPresent() - value.failureCode = try reader["failureCode"].readIfPresent() - value.failureReason = try reader["failureReason"].readIfPresent() - value.clientRequestToken = try reader["clientRequestToken"].readIfPresent() - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - value.loggingConfig = try reader["loggingConfig"].readIfPresent(with: RoboMakerClientTypes.LoggingConfig.read(from:)) - value.maxJobDurationInSeconds = try reader["maxJobDurationInSeconds"].readIfPresent() ?? 0 - value.simulationTimeMillis = try reader["simulationTimeMillis"].readIfPresent() ?? 0 - value.iamRole = try reader["iamRole"].readIfPresent() - value.robotApplications = try reader["robotApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.RobotApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.simulationApplications = try reader["simulationApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.dataSources = try reader["dataSources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DataSource.read(from:), memberNodeInfo: "member", isFlattened: false) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.vpcConfig = try reader["vpcConfig"].readIfPresent(with: RoboMakerClientTypes.VPCConfigResponse.read(from:)) - value.networkInterface = try reader["networkInterface"].readIfPresent(with: RoboMakerClientTypes.NetworkInterface.read(from:)) - value.compute = try reader["compute"].readIfPresent(with: RoboMakerClientTypes.ComputeResponse.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.ComputeResponse { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.ComputeResponse { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.ComputeResponse() - value.simulationUnitLimit = try reader["simulationUnitLimit"].readIfPresent() - value.computeType = try reader["computeType"].readIfPresent() - value.gpuUnitLimit = try reader["gpuUnitLimit"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.NetworkInterface { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.NetworkInterface { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.NetworkInterface() - value.networkInterfaceId = try reader["networkInterfaceId"].readIfPresent() - value.privateIpAddress = try reader["privateIpAddress"].readIfPresent() - value.publicIpAddress = try reader["publicIpAddress"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.VPCConfigResponse { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.VPCConfigResponse { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.VPCConfigResponse() - value.subnets = try reader["subnets"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.securityGroups = try reader["securityGroups"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.vpcId = try reader["vpcId"].readIfPresent() - value.assignPublicIp = try reader["assignPublicIp"].readIfPresent() ?? false - return value - } -} - -extension RoboMakerClientTypes.DataSource { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.DataSource { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.DataSource() - value.name = try reader["name"].readIfPresent() - value.s3Bucket = try reader["s3Bucket"].readIfPresent() - value.s3Keys = try reader["s3Keys"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.S3KeyOutput.read(from:), memberNodeInfo: "member", isFlattened: false) - value.type = try reader["type"].readIfPresent() - value.destination = try reader["destination"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.S3KeyOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.S3KeyOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.S3KeyOutput() - value.s3Key = try reader["s3Key"].readIfPresent() - value.etag = try reader["etag"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.SimulationApplicationConfig { - - static func write(value: RoboMakerClientTypes.SimulationApplicationConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - try writer["launchConfig"].write(value.launchConfig, with: RoboMakerClientTypes.LaunchConfig.write(value:to:)) - try writer["tools"].writeList(value.tools, memberWritingClosure: RoboMakerClientTypes.Tool.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["uploadConfigurations"].writeList(value.uploadConfigurations, memberWritingClosure: RoboMakerClientTypes.UploadConfiguration.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["useDefaultTools"].write(value.useDefaultTools) - try writer["useDefaultUploadConfigurations"].write(value.useDefaultUploadConfigurations) - try writer["worldConfigs"].writeList(value.worldConfigs, memberWritingClosure: RoboMakerClientTypes.WorldConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationApplicationConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationApplicationConfig() - value.application = try reader["application"].readIfPresent() ?? "" - value.applicationVersion = try reader["applicationVersion"].readIfPresent() - value.launchConfig = try reader["launchConfig"].readIfPresent(with: RoboMakerClientTypes.LaunchConfig.read(from:)) - value.uploadConfigurations = try reader["uploadConfigurations"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.UploadConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) - value.worldConfigs = try reader["worldConfigs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.WorldConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.useDefaultUploadConfigurations = try reader["useDefaultUploadConfigurations"].readIfPresent() - value.tools = try reader["tools"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Tool.read(from:), memberNodeInfo: "member", isFlattened: false) - value.useDefaultTools = try reader["useDefaultTools"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.Tool { - - static func write(value: RoboMakerClientTypes.Tool?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["command"].write(value.command) - try writer["exitBehavior"].write(value.exitBehavior) - try writer["name"].write(value.name) - try writer["streamOutputToCloudWatch"].write(value.streamOutputToCloudWatch) - try writer["streamUI"].write(value.streamUI) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.Tool { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.Tool() - value.streamUI = try reader["streamUI"].readIfPresent() - value.name = try reader["name"].readIfPresent() ?? "" - value.command = try reader["command"].readIfPresent() ?? "" - value.streamOutputToCloudWatch = try reader["streamOutputToCloudWatch"].readIfPresent() - value.exitBehavior = try reader["exitBehavior"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.WorldConfig { - - static func write(value: RoboMakerClientTypes.WorldConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["world"].write(value.world) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.WorldConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.WorldConfig() - value.world = try reader["world"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.UploadConfiguration { - - static func write(value: RoboMakerClientTypes.UploadConfiguration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["path"].write(value.path) - try writer["uploadBehavior"].write(value.uploadBehavior) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.UploadConfiguration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.UploadConfiguration() - value.name = try reader["name"].readIfPresent() ?? "" - value.path = try reader["path"].readIfPresent() ?? "" - value.uploadBehavior = try reader["uploadBehavior"].readIfPresent() ?? .sdkUnknown("") - return value - } -} - -extension RoboMakerClientTypes.LaunchConfig { - - static func write(value: RoboMakerClientTypes.LaunchConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["command"].writeList(value.command, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["environmentVariables"].writeMap(value.environmentVariables, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["launchFile"].write(value.launchFile) - try writer["packageName"].write(value.packageName) - try writer["portForwardingConfig"].write(value.portForwardingConfig, with: RoboMakerClientTypes.PortForwardingConfig.write(value:to:)) - try writer["streamUI"].write(value.streamUI) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.LaunchConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.LaunchConfig() - value.packageName = try reader["packageName"].readIfPresent() - value.launchFile = try reader["launchFile"].readIfPresent() - value.environmentVariables = try reader["environmentVariables"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - value.portForwardingConfig = try reader["portForwardingConfig"].readIfPresent(with: RoboMakerClientTypes.PortForwardingConfig.read(from:)) - value.streamUI = try reader["streamUI"].readIfPresent() ?? false - value.command = try reader["command"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension RoboMakerClientTypes.PortForwardingConfig { - - static func write(value: RoboMakerClientTypes.PortForwardingConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["portMappings"].writeList(value.portMappings, memberWritingClosure: RoboMakerClientTypes.PortMapping.write(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.PortForwardingConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.PortForwardingConfig() - value.portMappings = try reader["portMappings"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.PortMapping.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension RoboMakerClientTypes.PortMapping { - - static func write(value: RoboMakerClientTypes.PortMapping?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["applicationPort"].write(value.applicationPort) - try writer["enableOnPublicIp"].write(value.enableOnPublicIp) - try writer["jobPort"].write(value.jobPort) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.PortMapping { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.PortMapping() - value.jobPort = try reader["jobPort"].readIfPresent() ?? 0 - value.applicationPort = try reader["applicationPort"].readIfPresent() ?? 0 - value.enableOnPublicIp = try reader["enableOnPublicIp"].readIfPresent() ?? false - return value - } -} - -extension RoboMakerClientTypes.RobotApplicationConfig { - - static func write(value: RoboMakerClientTypes.RobotApplicationConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - try writer["launchConfig"].write(value.launchConfig, with: RoboMakerClientTypes.LaunchConfig.write(value:to:)) - try writer["tools"].writeList(value.tools, memberWritingClosure: RoboMakerClientTypes.Tool.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["uploadConfigurations"].writeList(value.uploadConfigurations, memberWritingClosure: RoboMakerClientTypes.UploadConfiguration.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["useDefaultTools"].write(value.useDefaultTools) - try writer["useDefaultUploadConfigurations"].write(value.useDefaultUploadConfigurations) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.RobotApplicationConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.RobotApplicationConfig() - value.application = try reader["application"].readIfPresent() ?? "" - value.applicationVersion = try reader["applicationVersion"].readIfPresent() - value.launchConfig = try reader["launchConfig"].readIfPresent(with: RoboMakerClientTypes.LaunchConfig.read(from:)) - value.uploadConfigurations = try reader["uploadConfigurations"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.UploadConfiguration.read(from:), memberNodeInfo: "member", isFlattened: false) - value.useDefaultUploadConfigurations = try reader["useDefaultUploadConfigurations"].readIfPresent() - value.tools = try reader["tools"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.Tool.read(from:), memberNodeInfo: "member", isFlattened: false) - value.useDefaultTools = try reader["useDefaultTools"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.LoggingConfig { - - static func write(value: RoboMakerClientTypes.LoggingConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["recordAllRosTopics"].write(value.recordAllRosTopics) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.LoggingConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.LoggingConfig() - value.recordAllRosTopics = try reader["recordAllRosTopics"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.OutputLocation { - - static func write(value: RoboMakerClientTypes.OutputLocation?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["s3Bucket"].write(value.s3Bucket) - try writer["s3Prefix"].write(value.s3Prefix) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.OutputLocation { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.OutputLocation() - value.s3Bucket = try reader["s3Bucket"].readIfPresent() - value.s3Prefix = try reader["s3Prefix"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.DeploymentApplicationConfig { - - static func write(value: RoboMakerClientTypes.DeploymentApplicationConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["application"].write(value.application) - try writer["applicationVersion"].write(value.applicationVersion) - try writer["launchConfig"].write(value.launchConfig, with: RoboMakerClientTypes.DeploymentLaunchConfig.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.DeploymentApplicationConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.DeploymentApplicationConfig() - value.application = try reader["application"].readIfPresent() ?? "" - value.applicationVersion = try reader["applicationVersion"].readIfPresent() ?? "" - value.launchConfig = try reader["launchConfig"].readIfPresent(with: RoboMakerClientTypes.DeploymentLaunchConfig.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.DeploymentLaunchConfig { - - static func write(value: RoboMakerClientTypes.DeploymentLaunchConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["environmentVariables"].writeMap(value.environmentVariables, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["launchFile"].write(value.launchFile) - try writer["packageName"].write(value.packageName) - try writer["postLaunchFile"].write(value.postLaunchFile) - try writer["preLaunchFile"].write(value.preLaunchFile) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.DeploymentLaunchConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.DeploymentLaunchConfig() - value.packageName = try reader["packageName"].readIfPresent() ?? "" - value.preLaunchFile = try reader["preLaunchFile"].readIfPresent() - value.launchFile = try reader["launchFile"].readIfPresent() ?? "" - value.postLaunchFile = try reader["postLaunchFile"].readIfPresent() - value.environmentVariables = try reader["environmentVariables"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension RoboMakerClientTypes.DeploymentConfig { - - static func write(value: RoboMakerClientTypes.DeploymentConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["concurrentDeploymentPercentage"].write(value.concurrentDeploymentPercentage) - try writer["downloadConditionFile"].write(value.downloadConditionFile, with: RoboMakerClientTypes.S3Object.write(value:to:)) - try writer["failureThresholdPercentage"].write(value.failureThresholdPercentage) - try writer["robotDeploymentTimeoutInSeconds"].write(value.robotDeploymentTimeoutInSeconds) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.DeploymentConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.DeploymentConfig() - value.concurrentDeploymentPercentage = try reader["concurrentDeploymentPercentage"].readIfPresent() - value.failureThresholdPercentage = try reader["failureThresholdPercentage"].readIfPresent() - value.robotDeploymentTimeoutInSeconds = try reader["robotDeploymentTimeoutInSeconds"].readIfPresent() - value.downloadConditionFile = try reader["downloadConditionFile"].readIfPresent(with: RoboMakerClientTypes.S3Object.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.S3Object { - - static func write(value: RoboMakerClientTypes.S3Object?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["bucket"].write(value.bucket) - try writer["etag"].write(value.etag) - try writer["key"].write(value.key) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.S3Object { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.S3Object() - value.bucket = try reader["bucket"].readIfPresent() ?? "" - value.key = try reader["key"].readIfPresent() ?? "" - value.etag = try reader["etag"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.Source { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.Source { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.Source() - value.s3Bucket = try reader["s3Bucket"].readIfPresent() - value.s3Key = try reader["s3Key"].readIfPresent() - value.etag = try reader["etag"].readIfPresent() - value.architecture = try reader["architecture"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.RobotSoftwareSuite { - - static func write(value: RoboMakerClientTypes.RobotSoftwareSuite?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["version"].write(value.version) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.RobotSoftwareSuite { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.RobotSoftwareSuite() - value.name = try reader["name"].readIfPresent() - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.Environment { - - static func write(value: RoboMakerClientTypes.Environment?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["uri"].write(value.uri) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.Environment { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.Environment() - value.uri = try reader["uri"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.SimulationSoftwareSuite { - - static func write(value: RoboMakerClientTypes.SimulationSoftwareSuite?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["version"].write(value.version) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationSoftwareSuite { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationSoftwareSuite() - value.name = try reader["name"].readIfPresent() - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.RenderingEngine { - - static func write(value: RoboMakerClientTypes.RenderingEngine?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["version"].write(value.version) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.RenderingEngine { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.RenderingEngine() - value.name = try reader["name"].readIfPresent() - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.WorldCount { - - static func write(value: RoboMakerClientTypes.WorldCount?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["floorplanCount"].write(value.floorplanCount) - try writer["interiorCountPerFloorplan"].write(value.interiorCountPerFloorplan) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.WorldCount { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.WorldCount() - value.floorplanCount = try reader["floorplanCount"].readIfPresent() - value.interiorCountPerFloorplan = try reader["interiorCountPerFloorplan"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.RobotDeployment { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.RobotDeployment { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.RobotDeployment() - value.arn = try reader["arn"].readIfPresent() - value.deploymentStartTime = try reader["deploymentStartTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.deploymentFinishTime = try reader["deploymentFinishTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["status"].readIfPresent() - value.progressDetail = try reader["progressDetail"].readIfPresent(with: RoboMakerClientTypes.ProgressDetail.read(from:)) - value.failureReason = try reader["failureReason"].readIfPresent() - value.failureCode = try reader["failureCode"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.ProgressDetail { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.ProgressDetail { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.ProgressDetail() - value.currentProgress = try reader["currentProgress"].readIfPresent() - value.percentDone = try reader["percentDone"].readIfPresent() - value.estimatedTimeRemainingSeconds = try reader["estimatedTimeRemainingSeconds"].readIfPresent() - value.targetResource = try reader["targetResource"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.Robot { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.Robot { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.Robot() - value.arn = try reader["arn"].readIfPresent() - value.name = try reader["name"].readIfPresent() - value.fleetArn = try reader["fleetArn"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.greenGrassGroupId = try reader["greenGrassGroupId"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.architecture = try reader["architecture"].readIfPresent() - value.lastDeploymentJob = try reader["lastDeploymentJob"].readIfPresent() - value.lastDeploymentTime = try reader["lastDeploymentTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension RoboMakerClientTypes.BatchPolicy { - - static func write(value: RoboMakerClientTypes.BatchPolicy?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["maxConcurrency"].write(value.maxConcurrency) - try writer["timeoutInSeconds"].write(value.timeoutInSeconds) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.BatchPolicy { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.BatchPolicy() - value.timeoutInSeconds = try reader["timeoutInSeconds"].readIfPresent() - value.maxConcurrency = try reader["maxConcurrency"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.FailedCreateSimulationJobRequest { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.FailedCreateSimulationJobRequest { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.FailedCreateSimulationJobRequest() - value.request = try reader["request"].readIfPresent(with: RoboMakerClientTypes.SimulationJobRequest.read(from:)) - value.failureReason = try reader["failureReason"].readIfPresent() - value.failureCode = try reader["failureCode"].readIfPresent() - value.failedAt = try reader["failedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension RoboMakerClientTypes.SimulationJobRequest { - - static func write(value: RoboMakerClientTypes.SimulationJobRequest?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["compute"].write(value.compute, with: RoboMakerClientTypes.Compute.write(value:to:)) - try writer["dataSources"].writeList(value.dataSources, memberWritingClosure: RoboMakerClientTypes.DataSourceConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["failureBehavior"].write(value.failureBehavior) - try writer["iamRole"].write(value.iamRole) - try writer["loggingConfig"].write(value.loggingConfig, with: RoboMakerClientTypes.LoggingConfig.write(value:to:)) - try writer["maxJobDurationInSeconds"].write(value.maxJobDurationInSeconds) - try writer["outputLocation"].write(value.outputLocation, with: RoboMakerClientTypes.OutputLocation.write(value:to:)) - try writer["robotApplications"].writeList(value.robotApplications, memberWritingClosure: RoboMakerClientTypes.RobotApplicationConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["simulationApplications"].writeList(value.simulationApplications, memberWritingClosure: RoboMakerClientTypes.SimulationApplicationConfig.write(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["tags"].writeMap(value.tags, valueWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - try writer["useDefaultApplications"].write(value.useDefaultApplications) - try writer["vpcConfig"].write(value.vpcConfig, with: RoboMakerClientTypes.VPCConfig.write(value:to:)) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationJobRequest { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationJobRequest() - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - value.loggingConfig = try reader["loggingConfig"].readIfPresent(with: RoboMakerClientTypes.LoggingConfig.read(from:)) - value.maxJobDurationInSeconds = try reader["maxJobDurationInSeconds"].readIfPresent() ?? 0 - value.iamRole = try reader["iamRole"].readIfPresent() - value.failureBehavior = try reader["failureBehavior"].readIfPresent() - value.useDefaultApplications = try reader["useDefaultApplications"].readIfPresent() - value.robotApplications = try reader["robotApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.RobotApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.simulationApplications = try reader["simulationApplications"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.SimulationApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.dataSources = try reader["dataSources"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DataSourceConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.vpcConfig = try reader["vpcConfig"].readIfPresent(with: RoboMakerClientTypes.VPCConfig.read(from:)) - value.compute = try reader["compute"].readIfPresent(with: RoboMakerClientTypes.Compute.read(from:)) - value.tags = try reader["tags"].readMapIfPresent(valueReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), keyNodeInfo: "key", valueNodeInfo: "value", isFlattened: false) - return value - } -} - -extension RoboMakerClientTypes.Compute { - - static func write(value: RoboMakerClientTypes.Compute?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["computeType"].write(value.computeType) - try writer["gpuUnitLimit"].write(value.gpuUnitLimit) - try writer["simulationUnitLimit"].write(value.simulationUnitLimit) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.Compute { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.Compute() - value.simulationUnitLimit = try reader["simulationUnitLimit"].readIfPresent() - value.computeType = try reader["computeType"].readIfPresent() - value.gpuUnitLimit = try reader["gpuUnitLimit"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.VPCConfig { - - static func write(value: RoboMakerClientTypes.VPCConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["assignPublicIp"].write(value.assignPublicIp) - try writer["securityGroups"].writeList(value.securityGroups, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["subnets"].writeList(value.subnets, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.VPCConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.VPCConfig() - value.subnets = try reader["subnets"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.securityGroups = try reader["securityGroups"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.assignPublicIp = try reader["assignPublicIp"].readIfPresent() ?? false - return value - } -} - -extension RoboMakerClientTypes.DataSourceConfig { - - static func write(value: RoboMakerClientTypes.DataSourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["destination"].write(value.destination) - try writer["name"].write(value.name) - try writer["s3Bucket"].write(value.s3Bucket) - try writer["s3Keys"].writeList(value.s3Keys, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - try writer["type"].write(value.type) - } - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.DataSourceConfig { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.DataSourceConfig() - value.name = try reader["name"].readIfPresent() ?? "" - value.s3Bucket = try reader["s3Bucket"].readIfPresent() ?? "" - value.s3Keys = try reader["s3Keys"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) ?? [] - value.type = try reader["type"].readIfPresent() - value.destination = try reader["destination"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.SimulationJobSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationJobSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationJobSummary() - value.arn = try reader["arn"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.simulationApplicationNames = try reader["simulationApplicationNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.robotApplicationNames = try reader["robotApplicationNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.dataSourceNames = try reader["dataSourceNames"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.computeType = try reader["computeType"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.FinishedWorldsSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.FinishedWorldsSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.FinishedWorldsSummary() - value.finishedCount = try reader["finishedCount"].readIfPresent() ?? 0 - value.succeededWorlds = try reader["succeededWorlds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.failureSummary = try reader["failureSummary"].readIfPresent(with: RoboMakerClientTypes.FailureSummary.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.FailureSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.FailureSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.FailureSummary() - value.totalFailureCount = try reader["totalFailureCount"].readIfPresent() ?? 0 - value.failures = try reader["failures"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.WorldFailure.read(from:), memberNodeInfo: "member", isFlattened: false) - return value - } -} - -extension RoboMakerClientTypes.WorldFailure { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.WorldFailure { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.WorldFailure() - value.failureCode = try reader["failureCode"].readIfPresent() - value.sampleFailureReason = try reader["sampleFailureReason"].readIfPresent() - value.failureCount = try reader["failureCount"].readIfPresent() ?? 0 - return value - } -} - -extension RoboMakerClientTypes.DeploymentJob { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.DeploymentJob { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.DeploymentJob() - value.arn = try reader["arn"].readIfPresent() - value.fleet = try reader["fleet"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.deploymentApplicationConfigs = try reader["deploymentApplicationConfigs"].readListIfPresent(memberReadingClosure: RoboMakerClientTypes.DeploymentApplicationConfig.read(from:), memberNodeInfo: "member", isFlattened: false) - value.deploymentConfig = try reader["deploymentConfig"].readIfPresent(with: RoboMakerClientTypes.DeploymentConfig.read(from:)) - value.failureReason = try reader["failureReason"].readIfPresent() - value.failureCode = try reader["failureCode"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension RoboMakerClientTypes.Fleet { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.Fleet { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.Fleet() - value.name = try reader["name"].readIfPresent() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastDeploymentStatus = try reader["lastDeploymentStatus"].readIfPresent() - value.lastDeploymentJob = try reader["lastDeploymentJob"].readIfPresent() - value.lastDeploymentTime = try reader["lastDeploymentTime"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - return value - } -} - -extension RoboMakerClientTypes.RobotApplicationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.RobotApplicationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.RobotApplicationSummary() - value.name = try reader["name"].readIfPresent() - value.arn = try reader["arn"].readIfPresent() - value.version = try reader["version"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.SimulationApplicationSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationApplicationSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationApplicationSummary() - value.name = try reader["name"].readIfPresent() - value.arn = try reader["arn"].readIfPresent() - value.version = try reader["version"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.robotSoftwareSuite = try reader["robotSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.RobotSoftwareSuite.read(from:)) - value.simulationSoftwareSuite = try reader["simulationSoftwareSuite"].readIfPresent(with: RoboMakerClientTypes.SimulationSoftwareSuite.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.SimulationJobBatchSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.SimulationJobBatchSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.SimulationJobBatchSummary() - value.arn = try reader["arn"].readIfPresent() - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["status"].readIfPresent() - value.failedRequestCount = try reader["failedRequestCount"].readIfPresent() ?? 0 - value.pendingRequestCount = try reader["pendingRequestCount"].readIfPresent() ?? 0 - value.createdRequestCount = try reader["createdRequestCount"].readIfPresent() ?? 0 - return value - } -} - -extension RoboMakerClientTypes.WorldExportJobSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.WorldExportJobSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.WorldExportJobSummary() - value.arn = try reader["arn"].readIfPresent() - value.status = try reader["status"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.worlds = try reader["worlds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) - value.outputLocation = try reader["outputLocation"].readIfPresent(with: RoboMakerClientTypes.OutputLocation.read(from:)) - return value - } -} - -extension RoboMakerClientTypes.WorldGenerationJobSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.WorldGenerationJobSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.WorldGenerationJobSummary() - value.arn = try reader["arn"].readIfPresent() - value.template = try reader["template"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.status = try reader["status"].readIfPresent() - value.worldCount = try reader["worldCount"].readIfPresent(with: RoboMakerClientTypes.WorldCount.read(from:)) - value.succeededWorldCount = try reader["succeededWorldCount"].readIfPresent() ?? 0 - value.failedWorldCount = try reader["failedWorldCount"].readIfPresent() ?? 0 - return value - } -} - -extension RoboMakerClientTypes.WorldSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.WorldSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.WorldSummary() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.generationJob = try reader["generationJob"].readIfPresent() - value.template = try reader["template"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.TemplateSummary { - - static func read(from reader: SmithyJSON.Reader) throws -> RoboMakerClientTypes.TemplateSummary { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = RoboMakerClientTypes.TemplateSummary() - value.arn = try reader["arn"].readIfPresent() - value.createdAt = try reader["createdAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.lastUpdatedAt = try reader["lastUpdatedAt"].readTimestampIfPresent(format: SmithyTimestamps.TimestampFormat.epochSeconds) - value.name = try reader["name"].readIfPresent() - value.version = try reader["version"].readIfPresent() - return value - } -} - -extension RoboMakerClientTypes.SourceConfig { - - static func write(value: RoboMakerClientTypes.SourceConfig?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["architecture"].write(value.architecture) - try writer["s3Bucket"].write(value.s3Bucket) - try writer["s3Key"].write(value.s3Key) - } -} - -extension RoboMakerClientTypes.TemplateLocation { - - static func write(value: RoboMakerClientTypes.TemplateLocation?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["s3Bucket"].write(value.s3Bucket) - try writer["s3Key"].write(value.s3Key) - } -} - -extension RoboMakerClientTypes.Filter { - - static func write(value: RoboMakerClientTypes.Filter?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["name"].write(value.name) - try writer["values"].writeList(value.values, memberWritingClosure: SmithyReadWrite.WritingClosures.writeString(value:to:), memberNodeInfo: "member", isFlattened: false) - } -} - -public enum RoboMakerClientTypes {} diff --git a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Paginators.swift b/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Paginators.swift deleted file mode 100644 index f0dbbaa67ca..00000000000 --- a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/Paginators.swift +++ /dev/null @@ -1,354 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import protocol ClientRuntime.PaginateToken -import struct ClientRuntime.PaginatorSequence - -extension RoboMakerClient { - /// Paginate over `[ListDeploymentJobsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListDeploymentJobsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListDeploymentJobsOutput` - public func listDeploymentJobsPaginated(input: ListDeploymentJobsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listDeploymentJobs(input:)) - } -} - -extension ListDeploymentJobsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListDeploymentJobsInput { - return ListDeploymentJobsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListDeploymentJobsInput, OperationStackOutput == ListDeploymentJobsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listDeploymentJobsPaginated` - /// to access the nested member `[RoboMakerClientTypes.DeploymentJob]` - /// - Returns: `[RoboMakerClientTypes.DeploymentJob]` - public func deploymentJobs() async throws -> [RoboMakerClientTypes.DeploymentJob] { - return try await self.asyncCompactMap { item in item.deploymentJobs } - } -} -extension RoboMakerClient { - /// Paginate over `[ListFleetsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListFleetsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListFleetsOutput` - public func listFleetsPaginated(input: ListFleetsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listFleets(input:)) - } -} - -extension ListFleetsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListFleetsInput { - return ListFleetsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListFleetsInput, OperationStackOutput == ListFleetsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listFleetsPaginated` - /// to access the nested member `[RoboMakerClientTypes.Fleet]` - /// - Returns: `[RoboMakerClientTypes.Fleet]` - public func fleetDetails() async throws -> [RoboMakerClientTypes.Fleet] { - return try await self.asyncCompactMap { item in item.fleetDetails } - } -} -extension RoboMakerClient { - /// Paginate over `[ListRobotApplicationsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListRobotApplicationsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListRobotApplicationsOutput` - public func listRobotApplicationsPaginated(input: ListRobotApplicationsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listRobotApplications(input:)) - } -} - -extension ListRobotApplicationsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListRobotApplicationsInput { - return ListRobotApplicationsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token, - versionQualifier: self.versionQualifier - )} -} - -extension PaginatorSequence where OperationStackInput == ListRobotApplicationsInput, OperationStackOutput == ListRobotApplicationsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listRobotApplicationsPaginated` - /// to access the nested member `[RoboMakerClientTypes.RobotApplicationSummary]` - /// - Returns: `[RoboMakerClientTypes.RobotApplicationSummary]` - public func robotApplicationSummaries() async throws -> [RoboMakerClientTypes.RobotApplicationSummary] { - return try await self.asyncCompactMap { item in item.robotApplicationSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListRobotsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListRobotsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListRobotsOutput` - public func listRobotsPaginated(input: ListRobotsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listRobots(input:)) - } -} - -extension ListRobotsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListRobotsInput { - return ListRobotsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListRobotsInput, OperationStackOutput == ListRobotsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listRobotsPaginated` - /// to access the nested member `[RoboMakerClientTypes.Robot]` - /// - Returns: `[RoboMakerClientTypes.Robot]` - public func robots() async throws -> [RoboMakerClientTypes.Robot] { - return try await self.asyncCompactMap { item in item.robots } - } -} -extension RoboMakerClient { - /// Paginate over `[ListSimulationApplicationsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListSimulationApplicationsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListSimulationApplicationsOutput` - public func listSimulationApplicationsPaginated(input: ListSimulationApplicationsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listSimulationApplications(input:)) - } -} - -extension ListSimulationApplicationsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListSimulationApplicationsInput { - return ListSimulationApplicationsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token, - versionQualifier: self.versionQualifier - )} -} - -extension PaginatorSequence where OperationStackInput == ListSimulationApplicationsInput, OperationStackOutput == ListSimulationApplicationsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listSimulationApplicationsPaginated` - /// to access the nested member `[RoboMakerClientTypes.SimulationApplicationSummary]` - /// - Returns: `[RoboMakerClientTypes.SimulationApplicationSummary]` - public func simulationApplicationSummaries() async throws -> [RoboMakerClientTypes.SimulationApplicationSummary] { - return try await self.asyncCompactMap { item in item.simulationApplicationSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListSimulationJobBatchesOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListSimulationJobBatchesInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListSimulationJobBatchesOutput` - public func listSimulationJobBatchesPaginated(input: ListSimulationJobBatchesInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listSimulationJobBatches(input:)) - } -} - -extension ListSimulationJobBatchesInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListSimulationJobBatchesInput { - return ListSimulationJobBatchesInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListSimulationJobBatchesInput, OperationStackOutput == ListSimulationJobBatchesOutput { - /// This paginator transforms the `AsyncSequence` returned by `listSimulationJobBatchesPaginated` - /// to access the nested member `[RoboMakerClientTypes.SimulationJobBatchSummary]` - /// - Returns: `[RoboMakerClientTypes.SimulationJobBatchSummary]` - public func simulationJobBatchSummaries() async throws -> [RoboMakerClientTypes.SimulationJobBatchSummary] { - return try await self.asyncCompactMap { item in item.simulationJobBatchSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListSimulationJobsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListSimulationJobsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListSimulationJobsOutput` - public func listSimulationJobsPaginated(input: ListSimulationJobsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listSimulationJobs(input:)) - } -} - -extension ListSimulationJobsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListSimulationJobsInput { - return ListSimulationJobsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListSimulationJobsInput, OperationStackOutput == ListSimulationJobsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listSimulationJobsPaginated` - /// to access the nested member `[RoboMakerClientTypes.SimulationJobSummary]` - /// - Returns: `[RoboMakerClientTypes.SimulationJobSummary]` - public func simulationJobSummaries() async throws -> [RoboMakerClientTypes.SimulationJobSummary] { - return try await self.asyncCompactMap { item in item.simulationJobSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListWorldExportJobsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListWorldExportJobsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListWorldExportJobsOutput` - public func listWorldExportJobsPaginated(input: ListWorldExportJobsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listWorldExportJobs(input:)) - } -} - -extension ListWorldExportJobsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListWorldExportJobsInput { - return ListWorldExportJobsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListWorldExportJobsInput, OperationStackOutput == ListWorldExportJobsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listWorldExportJobsPaginated` - /// to access the nested member `[RoboMakerClientTypes.WorldExportJobSummary]` - /// - Returns: `[RoboMakerClientTypes.WorldExportJobSummary]` - public func worldExportJobSummaries() async throws -> [RoboMakerClientTypes.WorldExportJobSummary] { - return try await self.asyncCompactMap { item in item.worldExportJobSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListWorldGenerationJobsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListWorldGenerationJobsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListWorldGenerationJobsOutput` - public func listWorldGenerationJobsPaginated(input: ListWorldGenerationJobsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listWorldGenerationJobs(input:)) - } -} - -extension ListWorldGenerationJobsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListWorldGenerationJobsInput { - return ListWorldGenerationJobsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListWorldGenerationJobsInput, OperationStackOutput == ListWorldGenerationJobsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listWorldGenerationJobsPaginated` - /// to access the nested member `[RoboMakerClientTypes.WorldGenerationJobSummary]` - /// - Returns: `[RoboMakerClientTypes.WorldGenerationJobSummary]` - public func worldGenerationJobSummaries() async throws -> [RoboMakerClientTypes.WorldGenerationJobSummary] { - return try await self.asyncCompactMap { item in item.worldGenerationJobSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListWorldsOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListWorldsInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListWorldsOutput` - public func listWorldsPaginated(input: ListWorldsInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listWorlds(input:)) - } -} - -extension ListWorldsInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListWorldsInput { - return ListWorldsInput( - filters: self.filters, - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListWorldsInput, OperationStackOutput == ListWorldsOutput { - /// This paginator transforms the `AsyncSequence` returned by `listWorldsPaginated` - /// to access the nested member `[RoboMakerClientTypes.WorldSummary]` - /// - Returns: `[RoboMakerClientTypes.WorldSummary]` - public func worldSummaries() async throws -> [RoboMakerClientTypes.WorldSummary] { - return try await self.asyncCompactMap { item in item.worldSummaries } - } -} -extension RoboMakerClient { - /// Paginate over `[ListWorldTemplatesOutput]` results. - /// - /// When this operation is called, an `AsyncSequence` is created. AsyncSequences are lazy so no service - /// calls are made until the sequence is iterated over. This also means there is no guarantee that the request is valid - /// until then. If there are errors in your request, you will see the failures only after you start iterating. - /// - Parameters: - /// - input: A `[ListWorldTemplatesInput]` to start pagination - /// - Returns: An `AsyncSequence` that can iterate over `ListWorldTemplatesOutput` - public func listWorldTemplatesPaginated(input: ListWorldTemplatesInput) -> ClientRuntime.PaginatorSequence { - return ClientRuntime.PaginatorSequence(input: input, inputKey: \.nextToken, outputKey: \.nextToken, paginationFunction: self.listWorldTemplates(input:)) - } -} - -extension ListWorldTemplatesInput: ClientRuntime.PaginateToken { - public func usingPaginationToken(_ token: Swift.String) -> ListWorldTemplatesInput { - return ListWorldTemplatesInput( - maxResults: self.maxResults, - nextToken: token - )} -} - -extension PaginatorSequence where OperationStackInput == ListWorldTemplatesInput, OperationStackOutput == ListWorldTemplatesOutput { - /// This paginator transforms the `AsyncSequence` returned by `listWorldTemplatesPaginated` - /// to access the nested member `[RoboMakerClientTypes.TemplateSummary]` - /// - Returns: `[RoboMakerClientTypes.TemplateSummary]` - public func templateSummaries() async throws -> [RoboMakerClientTypes.TemplateSummary] { - return try await self.asyncCompactMap { item in item.templateSummaries } - } -} diff --git a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/RoboMakerClient.swift b/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/RoboMakerClient.swift deleted file mode 100644 index bf56cf67824..00000000000 --- a/Sources/Services/AWSRoboMaker/Sources/AWSRoboMaker/RoboMakerClient.swift +++ /dev/null @@ -1,4449 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -import Foundation -import class AWSClientRuntime.AWSClientConfigDefaultsProvider -import class AWSClientRuntime.AmzSdkRequestMiddleware -import class AWSClientRuntime.DefaultAWSClientPlugin -import class AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain -import class ClientRuntime.ClientBuilder -import class ClientRuntime.DefaultClientPlugin -import class ClientRuntime.HttpClientConfiguration -import class ClientRuntime.OrchestratorBuilder -import class ClientRuntime.OrchestratorTelemetry -import class ClientRuntime.SdkHttpClient -import class Smithy.Context -import class Smithy.ContextBuilder -import class SmithyHTTPAPI.HTTPRequest -import class SmithyHTTPAPI.HTTPResponse -@_spi(SmithyReadWrite) import class SmithyJSON.Writer -import enum AWSClientRuntime.AWSClockSkewProvider -import enum AWSClientRuntime.AWSRetryErrorInfoProvider -import enum AWSClientRuntime.AWSRetryMode -import enum AWSSDKChecksums.AWSChecksumCalculationMode -import enum ClientRuntime.ClientLogMode -import enum ClientRuntime.DefaultTelemetry -import enum ClientRuntime.OrchestratorMetricsAttributesKeys -import protocol AWSClientRuntime.AWSDefaultClientConfiguration -import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client -import protocol ClientRuntime.DefaultClientConfiguration -import protocol ClientRuntime.DefaultHttpClientConfiguration -import protocol ClientRuntime.HttpInterceptorProvider -import protocol ClientRuntime.IdempotencyTokenGenerator -import protocol ClientRuntime.InterceptorProvider -import protocol ClientRuntime.TelemetryProvider -import protocol Smithy.LogAgent -import protocol SmithyHTTPAPI.HTTPClient -import protocol SmithyHTTPAuthAPI.AuthSchemeResolver -@_spi(AWSCredentialIdentityResolver) import protocol SmithyIdentity.AWSCredentialIdentityResolver -import protocol SmithyIdentity.BearerTokenIdentityResolver -@_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter -@_spi(AWSEndpointResolverMiddleware) import struct AWSClientRuntime.AWSEndpointResolverMiddleware -import struct AWSClientRuntime.AmzSdkInvocationIdMiddleware -import struct AWSClientRuntime.UserAgentMiddleware -import struct AWSSDKHTTPAuth.SigV4AuthScheme -import struct ClientRuntime.AuthSchemeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.BodyMiddleware -import struct ClientRuntime.ContentLengthMiddleware -import struct ClientRuntime.ContentTypeMiddleware -@_spi(SmithyReadWrite) import struct ClientRuntime.DeserializeMiddleware -import struct ClientRuntime.IdempotencyTokenMiddleware -import struct ClientRuntime.LoggerMiddleware -import struct ClientRuntime.QueryItemMiddleware -import struct ClientRuntime.SignerMiddleware -import struct ClientRuntime.URLHostMiddleware -import struct ClientRuntime.URLPathMiddleware -import struct Smithy.Attributes -import struct SmithyIdentity.BearerTokenIdentity -@_spi(StaticBearerTokenIdentityResolver) import struct SmithyIdentity.StaticBearerTokenIdentityResolver -import struct SmithyRetries.DefaultRetryStrategy -import struct SmithyRetriesAPI.RetryStrategyOptions -import typealias SmithyHTTPAuthAPI.AuthSchemes - -public class RoboMakerClient: ClientRuntime.Client { - public static let clientName = "RoboMakerClient" - public static let version = "1.5.61" - let client: ClientRuntime.SdkHttpClient - let config: RoboMakerClient.RoboMakerClientConfiguration - let serviceName = "RoboMaker" - - public required init(config: RoboMakerClient.RoboMakerClientConfiguration) { - client = ClientRuntime.SdkHttpClient(engine: config.httpClientEngine, config: config.httpClientConfiguration) - self.config = config - } - - public convenience init(region: Swift.String) throws { - let config = try RoboMakerClient.RoboMakerClientConfiguration(region: region) - self.init(config: config) - } - - public convenience required init() async throws { - let config = try await RoboMakerClient.RoboMakerClientConfiguration() - self.init(config: config) - } -} - -extension RoboMakerClient { - - public class RoboMakerClientConfiguration: AWSClientRuntime.AWSDefaultClientConfiguration & AWSClientRuntime.AWSRegionClientConfiguration & ClientRuntime.DefaultClientConfiguration & ClientRuntime.DefaultHttpClientConfiguration { - public var useFIPS: Swift.Bool? - public var useDualStack: Swift.Bool? - public var appID: Swift.String? - public var awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver - public var awsRetryMode: AWSClientRuntime.AWSRetryMode - public var maxAttempts: Swift.Int? - public var requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode - public var responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode - public var ignoreConfiguredEndpointURLs: Swift.Bool? - public var region: Swift.String? - public var signingRegion: Swift.String? - public var endpointResolver: EndpointResolver - public var telemetryProvider: ClientRuntime.TelemetryProvider - public var retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions - public var clientLogMode: ClientRuntime.ClientLogMode - public var endpoint: Swift.String? - public var idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator - public var httpClientEngine: SmithyHTTPAPI.HTTPClient - public var httpClientConfiguration: ClientRuntime.HttpClientConfiguration - public var authSchemes: SmithyHTTPAuthAPI.AuthSchemes? - public var authSchemePreference: [String]? - public var authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver - public var bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver - public private(set) var interceptorProviders: [ClientRuntime.InterceptorProvider] - public private(set) var httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - public let logger: Smithy.LogAgent - - private init( - _ useFIPS: Swift.Bool?, - _ useDualStack: Swift.Bool?, - _ appID: Swift.String?, - _ awsCredentialIdentityResolver: any SmithyIdentity.AWSCredentialIdentityResolver, - _ awsRetryMode: AWSClientRuntime.AWSRetryMode, - _ maxAttempts: Swift.Int?, - _ requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode, - _ ignoreConfiguredEndpointURLs: Swift.Bool?, - _ region: Swift.String?, - _ signingRegion: Swift.String?, - _ endpointResolver: EndpointResolver, - _ telemetryProvider: ClientRuntime.TelemetryProvider, - _ retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions, - _ clientLogMode: ClientRuntime.ClientLogMode, - _ endpoint: Swift.String?, - _ idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator, - _ httpClientEngine: SmithyHTTPAPI.HTTPClient, - _ httpClientConfiguration: ClientRuntime.HttpClientConfiguration, - _ authSchemes: SmithyHTTPAuthAPI.AuthSchemes?, - _ authSchemePreference: [String]?, - _ authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver, - _ bearerTokenIdentityResolver: any SmithyIdentity.BearerTokenIdentityResolver, - _ interceptorProviders: [ClientRuntime.InterceptorProvider], - _ httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider] - ) { - self.useFIPS = useFIPS - self.useDualStack = useDualStack - self.appID = appID - self.awsCredentialIdentityResolver = awsCredentialIdentityResolver - self.awsRetryMode = awsRetryMode - self.maxAttempts = maxAttempts - self.requestChecksumCalculation = requestChecksumCalculation - self.responseChecksumValidation = responseChecksumValidation - self.ignoreConfiguredEndpointURLs = ignoreConfiguredEndpointURLs - self.region = region - self.signingRegion = signingRegion - self.endpointResolver = endpointResolver - self.telemetryProvider = telemetryProvider - self.retryStrategyOptions = retryStrategyOptions - self.clientLogMode = clientLogMode - self.endpoint = endpoint - self.idempotencyTokenGenerator = idempotencyTokenGenerator - self.httpClientEngine = httpClientEngine - self.httpClientConfiguration = httpClientConfiguration - self.authSchemes = authSchemes - self.authSchemePreference = authSchemePreference - self.authSchemeResolver = authSchemeResolver - self.bearerTokenIdentityResolver = bearerTokenIdentityResolver - self.interceptorProviders = interceptorProviders - self.httpInterceptorProviders = httpInterceptorProviders - self.logger = telemetryProvider.loggerProvider.getLogger(name: RoboMakerClient.clientName) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - region, - signingRegion, - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultRoboMakerAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience init( - useFIPS: Swift.Bool? = nil, - useDualStack: Swift.Bool? = nil, - appID: Swift.String? = nil, - awsCredentialIdentityResolver: (any SmithyIdentity.AWSCredentialIdentityResolver)? = nil, - awsRetryMode: AWSClientRuntime.AWSRetryMode? = nil, - maxAttempts: Swift.Int? = nil, - requestChecksumCalculation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - responseChecksumValidation: AWSSDKChecksums.AWSChecksumCalculationMode? = nil, - ignoreConfiguredEndpointURLs: Swift.Bool? = nil, - region: Swift.String? = nil, - signingRegion: Swift.String? = nil, - endpointResolver: EndpointResolver? = nil, - telemetryProvider: ClientRuntime.TelemetryProvider? = nil, - retryStrategyOptions: SmithyRetriesAPI.RetryStrategyOptions? = nil, - clientLogMode: ClientRuntime.ClientLogMode? = nil, - endpoint: Swift.String? = nil, - idempotencyTokenGenerator: ClientRuntime.IdempotencyTokenGenerator? = nil, - httpClientEngine: SmithyHTTPAPI.HTTPClient? = nil, - httpClientConfiguration: ClientRuntime.HttpClientConfiguration? = nil, - authSchemes: SmithyHTTPAuthAPI.AuthSchemes? = nil, - authSchemePreference: [String]? = nil, - authSchemeResolver: SmithyHTTPAuthAPI.AuthSchemeResolver? = nil, - bearerTokenIdentityResolver: (any SmithyIdentity.BearerTokenIdentityResolver)? = nil, - interceptorProviders: [ClientRuntime.InterceptorProvider]? = nil, - httpInterceptorProviders: [ClientRuntime.HttpInterceptorProvider]? = nil - ) async throws { - self.init( - useFIPS, - useDualStack, - try appID ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - awsCredentialIdentityResolver ?? AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try awsRetryMode ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - maxAttempts, - try requestChecksumCalculation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.requestChecksumCalculation(requestChecksumCalculation), - try responseChecksumValidation ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.responseChecksumValidation(responseChecksumValidation), - ignoreConfiguredEndpointURLs, - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try await AWSClientRuntime.AWSClientConfigDefaultsProvider.region(region), - try endpointResolver ?? DefaultEndpointResolver(), - telemetryProvider ?? ClientRuntime.DefaultTelemetry.provider, - try retryStrategyOptions ?? AWSClientConfigDefaultsProvider.retryStrategyOptions(awsRetryMode, maxAttempts), - clientLogMode ?? AWSClientConfigDefaultsProvider.clientLogMode(), - endpoint, - idempotencyTokenGenerator ?? AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - httpClientEngine ?? AWSClientConfigDefaultsProvider.httpClientEngine(httpClientConfiguration), - httpClientConfiguration ?? AWSClientConfigDefaultsProvider.httpClientConfiguration(), - authSchemes ?? [AWSSDKHTTPAuth.SigV4AuthScheme()], - authSchemePreference ?? nil, - authSchemeResolver ?? DefaultRoboMakerAuthSchemeResolver(), - bearerTokenIdentityResolver ?? SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - interceptorProviders ?? [], - httpInterceptorProviders ?? [] - ) - } - - public convenience required init() async throws { - try await self.init( - useFIPS: nil, - useDualStack: nil, - appID: nil, - awsCredentialIdentityResolver: nil, - awsRetryMode: nil, - maxAttempts: nil, - requestChecksumCalculation: nil, - responseChecksumValidation: nil, - ignoreConfiguredEndpointURLs: nil, - region: nil, - signingRegion: nil, - endpointResolver: nil, - telemetryProvider: nil, - retryStrategyOptions: nil, - clientLogMode: nil, - endpoint: nil, - idempotencyTokenGenerator: nil, - httpClientEngine: nil, - httpClientConfiguration: nil, - authSchemes: nil, - authSchemePreference: nil, - authSchemeResolver: nil, - bearerTokenIdentityResolver: nil, - interceptorProviders: nil, - httpInterceptorProviders: nil - ) - } - - public convenience init(region: Swift.String) throws { - self.init( - nil, - nil, - try AWSClientRuntime.AWSClientConfigDefaultsProvider.appID(), - AWSSDKIdentity.DefaultAWSCredentialIdentityResolverChain(), - try AWSClientRuntime.AWSClientConfigDefaultsProvider.retryMode(), - nil, - try AWSClientConfigDefaultsProvider.requestChecksumCalculation(), - try AWSClientConfigDefaultsProvider.responseChecksumValidation(), - nil, - region, - region, - try DefaultEndpointResolver(), - ClientRuntime.DefaultTelemetry.provider, - try AWSClientConfigDefaultsProvider.retryStrategyOptions(), - AWSClientConfigDefaultsProvider.clientLogMode(), - nil, - AWSClientConfigDefaultsProvider.idempotencyTokenGenerator(), - AWSClientConfigDefaultsProvider.httpClientEngine(), - AWSClientConfigDefaultsProvider.httpClientConfiguration(), - [AWSSDKHTTPAuth.SigV4AuthScheme()], - nil, - DefaultRoboMakerAuthSchemeResolver(), - SmithyIdentity.StaticBearerTokenIdentityResolver(token: SmithyIdentity.BearerTokenIdentity(token: "")), - [], - [] - ) - } - - public var partitionID: String? { - return "\(RoboMakerClient.clientName) - \(region ?? "")" - } - - public func addInterceptorProvider(_ provider: ClientRuntime.InterceptorProvider) { - self.interceptorProviders.append(provider) - } - - public func addInterceptorProvider(_ provider: ClientRuntime.HttpInterceptorProvider) { - self.httpInterceptorProviders.append(provider) - } - - } - - public static func builder() -> ClientRuntime.ClientBuilder { - return ClientRuntime.ClientBuilder(defaultPlugins: [ - ClientRuntime.DefaultClientPlugin(), - AWSClientRuntime.DefaultAWSClientPlugin(clientName: self.clientName), - DefaultAWSAuthSchemePlugin() - ]) - } -} - -extension RoboMakerClient { - /// Performs the `BatchDeleteWorlds` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Deletes one or more worlds in a batch operation. - /// - /// - Parameter input: [no documentation found] (Type: `BatchDeleteWorldsInput`) - /// - /// - Returns: [no documentation found] (Type: `BatchDeleteWorldsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func batchDeleteWorlds(input: BatchDeleteWorldsInput) async throws -> BatchDeleteWorldsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "batchDeleteWorlds") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(BatchDeleteWorldsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: BatchDeleteWorldsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(BatchDeleteWorldsOutput.httpOutput(from:), BatchDeleteWorldsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "BatchDeleteWorlds") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `BatchDescribeSimulationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes one or more simulation jobs. - /// - /// - Parameter input: [no documentation found] (Type: `BatchDescribeSimulationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `BatchDescribeSimulationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func batchDescribeSimulationJob(input: BatchDescribeSimulationJobInput) async throws -> BatchDescribeSimulationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "batchDescribeSimulationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(BatchDescribeSimulationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: BatchDescribeSimulationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(BatchDescribeSimulationJobOutput.httpOutput(from:), BatchDescribeSimulationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "BatchDescribeSimulationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CancelDeploymentJob` operation on the `RoboMaker` service. - /// - /// This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Cancels the specified deployment job. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `CancelDeploymentJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CancelDeploymentJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func cancelDeploymentJob(input: CancelDeploymentJobInput) async throws -> CancelDeploymentJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "cancelDeploymentJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CancelDeploymentJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CancelDeploymentJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CancelDeploymentJobOutput.httpOutput(from:), CancelDeploymentJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CancelDeploymentJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CancelSimulationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Cancels the specified simulation job. - /// - /// - Parameter input: [no documentation found] (Type: `CancelSimulationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CancelSimulationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func cancelSimulationJob(input: CancelSimulationJobInput) async throws -> CancelSimulationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "cancelSimulationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CancelSimulationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CancelSimulationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CancelSimulationJobOutput.httpOutput(from:), CancelSimulationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CancelSimulationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CancelSimulationJobBatch` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Cancels a simulation job batch. When you cancel a simulation job batch, you are also cancelling all of the active simulation jobs created as part of the batch. - /// - /// - Parameter input: [no documentation found] (Type: `CancelSimulationJobBatchInput`) - /// - /// - Returns: [no documentation found] (Type: `CancelSimulationJobBatchOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func cancelSimulationJobBatch(input: CancelSimulationJobBatchInput) async throws -> CancelSimulationJobBatchOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "cancelSimulationJobBatch") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CancelSimulationJobBatchInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CancelSimulationJobBatchInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CancelSimulationJobBatchOutput.httpOutput(from:), CancelSimulationJobBatchOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CancelSimulationJobBatch") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CancelWorldExportJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Cancels the specified export job. - /// - /// - Parameter input: [no documentation found] (Type: `CancelWorldExportJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CancelWorldExportJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func cancelWorldExportJob(input: CancelWorldExportJobInput) async throws -> CancelWorldExportJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "cancelWorldExportJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CancelWorldExportJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CancelWorldExportJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CancelWorldExportJobOutput.httpOutput(from:), CancelWorldExportJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CancelWorldExportJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CancelWorldGenerationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Cancels the specified world generator job. - /// - /// - Parameter input: [no documentation found] (Type: `CancelWorldGenerationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CancelWorldGenerationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func cancelWorldGenerationJob(input: CancelWorldGenerationJobInput) async throws -> CancelWorldGenerationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "cancelWorldGenerationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CancelWorldGenerationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CancelWorldGenerationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CancelWorldGenerationJobOutput.httpOutput(from:), CancelWorldGenerationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CancelWorldGenerationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateDeploymentJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-january2022) page. Deploys a specific version of a robot application to robots in a fleet. The robot application must have a numbered applicationVersion for consistency reasons. To create a new version, use CreateRobotApplicationVersion or see [Creating a Robot Application Version](https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html). After 90 days, deployment jobs expire and will be deleted. They will no longer be accessible. - @available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `CreateDeploymentJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateDeploymentJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `ConcurrentDeploymentException` : The failure percentage threshold percentage was met. - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createDeploymentJob(input: CreateDeploymentJobInput) async throws -> CreateDeploymentJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createDeploymentJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateDeploymentJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateDeploymentJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateDeploymentJobOutput.httpOutput(from:), CreateDeploymentJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateDeploymentJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateFleet` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-january2022) page. Creates a fleet, a logical group of robots running the same robot application. - @available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `CreateFleetInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateFleetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createFleet(input: CreateFleetInput) async throws -> CreateFleetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createFleet") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateFleetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateFleetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateFleetOutput.httpOutput(from:), CreateFleetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateFleet") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateRobot` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-january2022) page. Creates a robot. - @available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `CreateRobotInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateRobotOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceAlreadyExistsException` : The specified resource already exists. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createRobot(input: CreateRobotInput) async throws -> CreateRobotOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createRobot") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateRobotInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateRobotInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateRobotOutput.httpOutput(from:), CreateRobotOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateRobot") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateRobotApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a robot application. - /// - /// - Parameter input: [no documentation found] (Type: `CreateRobotApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateRobotApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceAlreadyExistsException` : The specified resource already exists. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createRobotApplication(input: CreateRobotApplicationInput) async throws -> CreateRobotApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createRobotApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateRobotApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateRobotApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateRobotApplicationOutput.httpOutput(from:), CreateRobotApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateRobotApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateRobotApplicationVersion` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a version of a robot application. - /// - /// - Parameter input: [no documentation found] (Type: `CreateRobotApplicationVersionInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateRobotApplicationVersionOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createRobotApplicationVersion(input: CreateRobotApplicationVersionInput) async throws -> CreateRobotApplicationVersionOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createRobotApplicationVersion") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateRobotApplicationVersionInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateRobotApplicationVersionInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateRobotApplicationVersionOutput.httpOutput(from:), CreateRobotApplicationVersionOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateRobotApplicationVersion") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateSimulationApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a simulation application. - /// - /// - Parameter input: [no documentation found] (Type: `CreateSimulationApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateSimulationApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceAlreadyExistsException` : The specified resource already exists. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createSimulationApplication(input: CreateSimulationApplicationInput) async throws -> CreateSimulationApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createSimulationApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateSimulationApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateSimulationApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateSimulationApplicationOutput.httpOutput(from:), CreateSimulationApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateSimulationApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateSimulationApplicationVersion` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a simulation application with a specific revision id. - /// - /// - Parameter input: [no documentation found] (Type: `CreateSimulationApplicationVersionInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateSimulationApplicationVersionOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createSimulationApplicationVersion(input: CreateSimulationApplicationVersionInput) async throws -> CreateSimulationApplicationVersionOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createSimulationApplicationVersion") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateSimulationApplicationVersionInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateSimulationApplicationVersionInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateSimulationApplicationVersionOutput.httpOutput(from:), CreateSimulationApplicationVersionOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateSimulationApplicationVersion") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateSimulationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a simulation job. After 90 days, simulation jobs expire and will be deleted. They will no longer be accessible. - /// - /// - Parameter input: [no documentation found] (Type: `CreateSimulationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateSimulationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ServiceUnavailableException` : The request has failed due to a temporary failure of the server. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createSimulationJob(input: CreateSimulationJobInput) async throws -> CreateSimulationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createSimulationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateSimulationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateSimulationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateSimulationJobOutput.httpOutput(from:), CreateSimulationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateSimulationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateWorldExportJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a world export job. - /// - /// - Parameter input: [no documentation found] (Type: `CreateWorldExportJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateWorldExportJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ServiceUnavailableException` : The request has failed due to a temporary failure of the server. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createWorldExportJob(input: CreateWorldExportJobInput) async throws -> CreateWorldExportJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createWorldExportJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateWorldExportJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateWorldExportJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateWorldExportJobOutput.httpOutput(from:), CreateWorldExportJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateWorldExportJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateWorldGenerationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates worlds using the specified template. - /// - /// - Parameter input: [no documentation found] (Type: `CreateWorldGenerationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateWorldGenerationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ServiceUnavailableException` : The request has failed due to a temporary failure of the server. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createWorldGenerationJob(input: CreateWorldGenerationJobInput) async throws -> CreateWorldGenerationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createWorldGenerationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateWorldGenerationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateWorldGenerationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateWorldGenerationJobOutput.httpOutput(from:), CreateWorldGenerationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateWorldGenerationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `CreateWorldTemplate` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Creates a world template. - /// - /// - Parameter input: [no documentation found] (Type: `CreateWorldTemplateInput`) - /// - /// - Returns: [no documentation found] (Type: `CreateWorldTemplateOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceAlreadyExistsException` : The specified resource already exists. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func createWorldTemplate(input: CreateWorldTemplateInput) async throws -> CreateWorldTemplateOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "createWorldTemplate") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(CreateWorldTemplateInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: CreateWorldTemplateInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(CreateWorldTemplateOutput.httpOutput(from:), CreateWorldTemplateOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "CreateWorldTemplate") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteFleet` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Deletes a fleet. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `DeleteFleetInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteFleetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func deleteFleet(input: DeleteFleetInput) async throws -> DeleteFleetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteFleet") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteFleetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteFleetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteFleetOutput.httpOutput(from:), DeleteFleetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteFleet") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteRobot` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Deletes a robot. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `DeleteRobotInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteRobotOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func deleteRobot(input: DeleteRobotInput) async throws -> DeleteRobotOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteRobot") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteRobotInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteRobotInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteRobotOutput.httpOutput(from:), DeleteRobotOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteRobot") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteRobotApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Deletes a robot application. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteRobotApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteRobotApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func deleteRobotApplication(input: DeleteRobotApplicationInput) async throws -> DeleteRobotApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteRobotApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteRobotApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteRobotApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteRobotApplicationOutput.httpOutput(from:), DeleteRobotApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteRobotApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteSimulationApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Deletes a simulation application. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteSimulationApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteSimulationApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func deleteSimulationApplication(input: DeleteSimulationApplicationInput) async throws -> DeleteSimulationApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteSimulationApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteSimulationApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteSimulationApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteSimulationApplicationOutput.httpOutput(from:), DeleteSimulationApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteSimulationApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeleteWorldTemplate` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Deletes a world template. - /// - /// - Parameter input: [no documentation found] (Type: `DeleteWorldTemplateInput`) - /// - /// - Returns: [no documentation found] (Type: `DeleteWorldTemplateOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func deleteWorldTemplate(input: DeleteWorldTemplateInput) async throws -> DeleteWorldTemplateOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deleteWorldTemplate") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteWorldTemplateInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteWorldTemplateInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteWorldTemplateOutput.httpOutput(from:), DeleteWorldTemplateOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteWorldTemplate") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DeregisterRobot` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Deregisters a robot. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `DeregisterRobotInput`) - /// - /// - Returns: [no documentation found] (Type: `DeregisterRobotOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func deregisterRobot(input: DeregisterRobotInput) async throws -> DeregisterRobotOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "deregisterRobot") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeregisterRobotInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeregisterRobotInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DeregisterRobotOutput.httpOutput(from:), DeregisterRobotOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeregisterRobot") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeDeploymentJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Describes a deployment job. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `DescribeDeploymentJobInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeDeploymentJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeDeploymentJob(input: DescribeDeploymentJobInput) async throws -> DescribeDeploymentJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeDeploymentJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeDeploymentJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeDeploymentJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeDeploymentJobOutput.httpOutput(from:), DescribeDeploymentJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeDeploymentJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeFleet` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Describes a fleet. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `DescribeFleetInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeFleetOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeFleet(input: DescribeFleetInput) async throws -> DescribeFleetOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeFleet") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeFleetInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeFleetInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeFleetOutput.httpOutput(from:), DescribeFleetOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeFleet") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeRobot` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Describes a robot. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `DescribeRobotInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeRobotOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeRobot(input: DescribeRobotInput) async throws -> DescribeRobotOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeRobot") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeRobotInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeRobotInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeRobotOutput.httpOutput(from:), DescribeRobotOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeRobot") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeRobotApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a robot application. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeRobotApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeRobotApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeRobotApplication(input: DescribeRobotApplicationInput) async throws -> DescribeRobotApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeRobotApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeRobotApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeRobotApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeRobotApplicationOutput.httpOutput(from:), DescribeRobotApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeRobotApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeSimulationApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a simulation application. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeSimulationApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeSimulationApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeSimulationApplication(input: DescribeSimulationApplicationInput) async throws -> DescribeSimulationApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeSimulationApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeSimulationApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeSimulationApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeSimulationApplicationOutput.httpOutput(from:), DescribeSimulationApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeSimulationApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeSimulationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a simulation job. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeSimulationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeSimulationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeSimulationJob(input: DescribeSimulationJobInput) async throws -> DescribeSimulationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeSimulationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeSimulationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeSimulationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeSimulationJobOutput.httpOutput(from:), DescribeSimulationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeSimulationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeSimulationJobBatch` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a simulation job batch. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeSimulationJobBatchInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeSimulationJobBatchOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - public func describeSimulationJobBatch(input: DescribeSimulationJobBatchInput) async throws -> DescribeSimulationJobBatchOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeSimulationJobBatch") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeSimulationJobBatchInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeSimulationJobBatchInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeSimulationJobBatchOutput.httpOutput(from:), DescribeSimulationJobBatchOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeSimulationJobBatch") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeWorld` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a world. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeWorldInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeWorldOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeWorld(input: DescribeWorldInput) async throws -> DescribeWorldOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeWorld") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeWorldInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeWorldInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeWorldOutput.httpOutput(from:), DescribeWorldOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeWorld") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeWorldExportJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a world export job. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeWorldExportJobInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeWorldExportJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeWorldExportJob(input: DescribeWorldExportJobInput) async throws -> DescribeWorldExportJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeWorldExportJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeWorldExportJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeWorldExportJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeWorldExportJobOutput.httpOutput(from:), DescribeWorldExportJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeWorldExportJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeWorldGenerationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a world generation job. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeWorldGenerationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeWorldGenerationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeWorldGenerationJob(input: DescribeWorldGenerationJobInput) async throws -> DescribeWorldGenerationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeWorldGenerationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeWorldGenerationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeWorldGenerationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeWorldGenerationJobOutput.httpOutput(from:), DescribeWorldGenerationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeWorldGenerationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `DescribeWorldTemplate` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Describes a world template. - /// - /// - Parameter input: [no documentation found] (Type: `DescribeWorldTemplateInput`) - /// - /// - Returns: [no documentation found] (Type: `DescribeWorldTemplateOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func describeWorldTemplate(input: DescribeWorldTemplateInput) async throws -> DescribeWorldTemplateOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "describeWorldTemplate") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(DescribeWorldTemplateInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DescribeWorldTemplateInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(DescribeWorldTemplateOutput.httpOutput(from:), DescribeWorldTemplateOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DescribeWorldTemplate") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `GetWorldTemplateBody` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Gets the world template body. - /// - /// - Parameter input: [no documentation found] (Type: `GetWorldTemplateBodyInput`) - /// - /// - Returns: [no documentation found] (Type: `GetWorldTemplateBodyOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func getWorldTemplateBody(input: GetWorldTemplateBodyInput) async throws -> GetWorldTemplateBodyOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "getWorldTemplateBody") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(GetWorldTemplateBodyInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: GetWorldTemplateBodyInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(GetWorldTemplateBodyOutput.httpOutput(from:), GetWorldTemplateBodyOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "GetWorldTemplateBody") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListDeploymentJobs` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `ListDeploymentJobsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListDeploymentJobsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listDeploymentJobs(input: ListDeploymentJobsInput) async throws -> ListDeploymentJobsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listDeploymentJobs") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListDeploymentJobsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListDeploymentJobsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListDeploymentJobsOutput.httpOutput(from:), ListDeploymentJobsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListDeploymentJobs") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListFleets` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Returns a list of fleets. You can optionally provide filters to retrieve specific fleets. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `ListFleetsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListFleetsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listFleets(input: ListFleetsInput) async throws -> ListFleetsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listFleets") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListFleetsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListFleetsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListFleetsOutput.httpOutput(from:), ListFleetsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListFleets") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListRobotApplications` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Returns a list of robot application. You can optionally provide filters to retrieve specific robot applications. - /// - /// - Parameter input: [no documentation found] (Type: `ListRobotApplicationsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListRobotApplicationsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listRobotApplications(input: ListRobotApplicationsInput) async throws -> ListRobotApplicationsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listRobotApplications") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListRobotApplicationsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListRobotApplicationsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListRobotApplicationsOutput.httpOutput(from:), ListRobotApplicationsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListRobotApplications") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListRobots` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Returns a list of robots. You can optionally provide filters to retrieve specific robots. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `ListRobotsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListRobotsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listRobots(input: ListRobotsInput) async throws -> ListRobotsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listRobots") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListRobotsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListRobotsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListRobotsOutput.httpOutput(from:), ListRobotsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListRobots") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListSimulationApplications` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Returns a list of simulation applications. You can optionally provide filters to retrieve specific simulation applications. - /// - /// - Parameter input: [no documentation found] (Type: `ListSimulationApplicationsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListSimulationApplicationsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listSimulationApplications(input: ListSimulationApplicationsInput) async throws -> ListSimulationApplicationsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listSimulationApplications") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListSimulationApplicationsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListSimulationApplicationsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListSimulationApplicationsOutput.httpOutput(from:), ListSimulationApplicationsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListSimulationApplications") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListSimulationJobBatches` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Returns a list simulation job batches. You can optionally provide filters to retrieve specific simulation batch jobs. - /// - /// - Parameter input: [no documentation found] (Type: `ListSimulationJobBatchesInput`) - /// - /// - Returns: [no documentation found] (Type: `ListSimulationJobBatchesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - public func listSimulationJobBatches(input: ListSimulationJobBatchesInput) async throws -> ListSimulationJobBatchesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listSimulationJobBatches") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListSimulationJobBatchesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListSimulationJobBatchesInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListSimulationJobBatchesOutput.httpOutput(from:), ListSimulationJobBatchesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListSimulationJobBatches") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListSimulationJobs` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Returns a list of simulation jobs. You can optionally provide filters to retrieve specific simulation jobs. - /// - /// - Parameter input: [no documentation found] (Type: `ListSimulationJobsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListSimulationJobsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listSimulationJobs(input: ListSimulationJobsInput) async throws -> ListSimulationJobsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listSimulationJobs") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListSimulationJobsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListSimulationJobsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListSimulationJobsOutput.httpOutput(from:), ListSimulationJobsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListSimulationJobs") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListTagsForResource` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Lists all tags on a AWS RoboMaker resource. - /// - /// - Parameter input: [no documentation found] (Type: `ListTagsForResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `ListTagsForResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listTagsForResource(input: ListTagsForResourceInput) async throws -> ListTagsForResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .get) - .withServiceName(value: serviceName) - .withOperation(value: "listTagsForResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListTagsForResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListTagsForResourceOutput.httpOutput(from:), ListTagsForResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListTagsForResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListWorldExportJobs` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Lists world export jobs. - /// - /// - Parameter input: [no documentation found] (Type: `ListWorldExportJobsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListWorldExportJobsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listWorldExportJobs(input: ListWorldExportJobsInput) async throws -> ListWorldExportJobsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listWorldExportJobs") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListWorldExportJobsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListWorldExportJobsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListWorldExportJobsOutput.httpOutput(from:), ListWorldExportJobsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListWorldExportJobs") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListWorldGenerationJobs` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Lists world generator jobs. - /// - /// - Parameter input: [no documentation found] (Type: `ListWorldGenerationJobsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListWorldGenerationJobsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listWorldGenerationJobs(input: ListWorldGenerationJobsInput) async throws -> ListWorldGenerationJobsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listWorldGenerationJobs") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListWorldGenerationJobsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListWorldGenerationJobsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListWorldGenerationJobsOutput.httpOutput(from:), ListWorldGenerationJobsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListWorldGenerationJobs") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListWorldTemplates` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Lists world templates. - /// - /// - Parameter input: [no documentation found] (Type: `ListWorldTemplatesInput`) - /// - /// - Returns: [no documentation found] (Type: `ListWorldTemplatesOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listWorldTemplates(input: ListWorldTemplatesInput) async throws -> ListWorldTemplatesOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listWorldTemplates") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListWorldTemplatesInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListWorldTemplatesInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListWorldTemplatesOutput.httpOutput(from:), ListWorldTemplatesOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListWorldTemplates") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `ListWorlds` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Lists worlds. - /// - /// - Parameter input: [no documentation found] (Type: `ListWorldsInput`) - /// - /// - Returns: [no documentation found] (Type: `ListWorldsOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func listWorlds(input: ListWorldsInput) async throws -> ListWorldsOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "listWorlds") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(ListWorldsInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: ListWorldsInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(ListWorldsOutput.httpOutput(from:), ListWorldsOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "ListWorlds") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `RegisterRobot` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Registers a robot with a fleet. This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-january2022) page. - @available(*, deprecated, message: "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `RegisterRobotInput`) - /// - /// - Returns: [no documentation found] (Type: `RegisterRobotOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func registerRobot(input: RegisterRobotInput) async throws -> RegisterRobotOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "registerRobot") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(RegisterRobotInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: RegisterRobotInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(RegisterRobotOutput.httpOutput(from:), RegisterRobotOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "RegisterRobot") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `RestartSimulationJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Restarts a running simulation job. - /// - /// - Parameter input: [no documentation found] (Type: `RestartSimulationJobInput`) - /// - /// - Returns: [no documentation found] (Type: `RestartSimulationJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func restartSimulationJob(input: RestartSimulationJobInput) async throws -> RestartSimulationJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "restartSimulationJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(RestartSimulationJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: RestartSimulationJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(RestartSimulationJobOutput.httpOutput(from:), RestartSimulationJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "RestartSimulationJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `StartSimulationJobBatch` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Starts a new simulation job batch. The batch is defined using one or more SimulationJobRequest objects. - /// - /// - Parameter input: [no documentation found] (Type: `StartSimulationJobBatchInput`) - /// - /// - Returns: [no documentation found] (Type: `StartSimulationJobBatchOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func startSimulationJobBatch(input: StartSimulationJobBatchInput) async throws -> StartSimulationJobBatchOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "startSimulationJobBatch") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(StartSimulationJobBatchInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: StartSimulationJobBatchInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(StartSimulationJobBatchOutput.httpOutput(from:), StartSimulationJobBatchOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "StartSimulationJobBatch") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `SyncDeploymentJob` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). This API is no longer supported. For more information, see the May 2, 2022 update in the [Support policy](https://docs.aws.amazon.com/robomaker/latest/dg/chapter-support-policy.html#software-support-policy-may2022) page. Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment. - @available(*, deprecated, message: "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html.") - /// - /// - Parameter input: [no documentation found] (Type: `SyncDeploymentJobInput`) - /// - /// - Returns: [no documentation found] (Type: `SyncDeploymentJobOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `ConcurrentDeploymentException` : The failure percentage threshold percentage was met. - /// - `IdempotentParameterMismatchException` : The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical. - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func syncDeploymentJob(input: SyncDeploymentJobInput) async throws -> SyncDeploymentJobOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "syncDeploymentJob") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.IdempotencyTokenMiddleware(keyPath: \.clientRequestToken)) - builder.interceptors.add(ClientRuntime.URLPathMiddleware(SyncDeploymentJobInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: SyncDeploymentJobInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(SyncDeploymentJobOutput.httpOutput(from:), SyncDeploymentJobOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "SyncDeploymentJob") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `TagResource` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Adds or edits tags for a AWS RoboMaker resource. Each tag consists of a tag key and a tag value. Tag keys and tag values are both required, but tag values can be empty strings. For information about the rules that apply to tag keys and tag values, see [User-Defined Tag Restrictions](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html) in the AWS Billing and Cost Management User Guide. - /// - /// - Parameter input: [no documentation found] (Type: `TagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `TagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func tagResource(input: TagResourceInput) async throws -> TagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "tagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(TagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: TagResourceInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(TagResourceOutput.httpOutput(from:), TagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "TagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UntagResource` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Removes the specified tags from the specified AWS RoboMaker resource. To remove a tag, specify the tag key. To change the tag value of an existing tag key, use [TagResource](https://docs.aws.amazon.com/robomaker/latest/dg/API_TagResource.html). - /// - /// - Parameter input: [no documentation found] (Type: `UntagResourceInput`) - /// - /// - Returns: [no documentation found] (Type: `UntagResourceOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func untagResource(input: UntagResourceInput) async throws -> UntagResourceOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .delete) - .withServiceName(value: serviceName) - .withOperation(value: "untagResource") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UntagResourceInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.serialize(ClientRuntime.QueryItemMiddleware(UntagResourceInput.queryItemProvider(_:))) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UntagResourceOutput.httpOutput(from:), UntagResourceOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UntagResource") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateRobotApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Updates a robot application. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateRobotApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateRobotApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func updateRobotApplication(input: UpdateRobotApplicationInput) async throws -> UpdateRobotApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "updateRobotApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateRobotApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateRobotApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateRobotApplicationOutput.httpOutput(from:), UpdateRobotApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateRobotApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateSimulationApplication` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Updates a simulation application. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateSimulationApplicationInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateSimulationApplicationOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `LimitExceededException` : The requested resource exceeds the maximum number allowed, or the number of concurrent stream requests exceeds the maximum number allowed. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func updateSimulationApplication(input: UpdateSimulationApplicationInput) async throws -> UpdateSimulationApplicationOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "updateSimulationApplication") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateSimulationApplicationInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateSimulationApplicationInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateSimulationApplicationOutput.httpOutput(from:), UpdateSimulationApplicationOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateSimulationApplication") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } - - /// Performs the `UpdateWorldTemplate` operation on the `RoboMaker` service. - /// - /// End of support notice: On September 10, 2025, Amazon Web Services will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. For more information on transitioning to Batch to help run containerized simulations, visit [https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/](https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/). Updates a world template. - /// - /// - Parameter input: [no documentation found] (Type: `UpdateWorldTemplateInput`) - /// - /// - Returns: [no documentation found] (Type: `UpdateWorldTemplateOutput`) - /// - /// - Throws: One of the exceptions listed below __Possible Exceptions__. - /// - /// __Possible Exceptions:__ - /// - `InternalServerException` : AWS RoboMaker experienced a service issue. Try your call again. - /// - `InvalidParameterException` : A parameter specified in a request is not valid, is unsupported, or cannot be used. The returned message provides an explanation of the error value. - /// - `ResourceNotFoundException` : The specified resource does not exist. - /// - `ThrottlingException` : AWS RoboMaker is temporarily unable to process the request. Try your call again. - public func updateWorldTemplate(input: UpdateWorldTemplateInput) async throws -> UpdateWorldTemplateOutput { - let context = Smithy.ContextBuilder() - .withMethod(value: .post) - .withServiceName(value: serviceName) - .withOperation(value: "updateWorldTemplate") - .withUnsignedPayloadTrait(value: false) - .withSmithyDefaultConfig(config) - .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") - .withRegion(value: config.region) - .withRequestChecksumCalculation(value: config.requestChecksumCalculation) - .withResponseChecksumValidation(value: config.responseChecksumValidation) - .withSigningName(value: "robomaker") - .withSigningRegion(value: config.signingRegion) - .build() - let builder = ClientRuntime.OrchestratorBuilder() - config.interceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - config.httpInterceptorProviders.forEach { provider in - builder.interceptors.add(provider.create()) - } - builder.interceptors.add(ClientRuntime.URLPathMiddleware(UpdateWorldTemplateInput.urlPathProvider(_:))) - builder.interceptors.add(ClientRuntime.URLHostMiddleware()) - builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/json")) - builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: UpdateWorldTemplateInput.write(value:to:))) - builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) - builder.deserialize(ClientRuntime.DeserializeMiddleware(UpdateWorldTemplateOutput.httpOutput(from:), UpdateWorldTemplateOutputError.httpError(from:))) - builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) - builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) - builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) - builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) - builder.applySigner(ClientRuntime.SignerMiddleware()) - let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("RoboMaker", config.ignoreConfiguredEndpointURLs) - let endpointParamsBlock = { [config] (context: Smithy.Context) in - EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) - } - builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) - builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) - builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) - builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: RoboMakerClient.version, config: config)) - var metricsAttributes = Smithy.Attributes() - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "RoboMaker") - metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "UpdateWorldTemplate") - let op = builder.attributes(context) - .telemetry(ClientRuntime.OrchestratorTelemetry( - telemetryProvider: config.telemetryProvider, - metricsAttributes: metricsAttributes, - meterScope: serviceName, - tracerScope: serviceName - )) - .executeRequest(client) - .build() - return try await op.execute(input: input) - } -} diff --git a/Sources/Services/AWSRoboMaker/Tests/AWSRoboMakerTests/EndpointResolverTest.swift b/Sources/Services/AWSRoboMaker/Tests/AWSRoboMakerTests/EndpointResolverTest.swift deleted file mode 100644 index 8eea5221cb0..00000000000 --- a/Sources/Services/AWSRoboMaker/Tests/AWSRoboMakerTests/EndpointResolverTest.swift +++ /dev/null @@ -1,581 +0,0 @@ -// -// Copyright Amazon.com Inc. or its affiliates. -// All Rights Reserved. -// -// SPDX-License-Identifier: Apache-2.0 -// - -// Code generated by smithy-swift-codegen. DO NOT EDIT! - -@testable import AWSRoboMaker -import XCTest -import enum ClientRuntime.EndpointError -import enum SmithyHTTPAPI.EndpointPropertyValue -import enum SmithyTestUtil.TestInitializer -import struct SmithyHTTPAPI.Endpoint -import struct SmithyHTTPAPI.Headers - -class EndpointResolverTest: XCTestCase { - - override class func setUp() { - SmithyTestUtil.TestInitializer.initialize() - } - - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled - func testResolve1() throws { - let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region ap-southeast-1 with FIPS disabled and DualStack disabled - func testResolve2() throws { - let endpointParams = EndpointParams( - region: "ap-southeast-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.ap-southeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-central-1 with FIPS disabled and DualStack disabled - func testResolve3() throws { - let endpointParams = EndpointParams( - region: "eu-central-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.eu-central-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-west-1 with FIPS disabled and DualStack disabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "eu-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.eu-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve5() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-2 with FIPS disabled and DualStack disabled - func testResolve6() throws { - let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-east-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS disabled and DualStack disabled - func testResolve7() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve8() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack disabled - func testResolve9() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve10() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve11() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve12() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve13() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve17() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve18() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve19() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve20() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve21() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve22() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve23() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://robomaker.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve24() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve26() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve27() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// Missing region - func testResolve28() throws { - let endpointParams = EndpointParams( - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } - } - -} diff --git a/Sources/Services/AWSRolesAnywhere/Sources/AWSRolesAnywhere/RolesAnywhereClient.swift b/Sources/Services/AWSRolesAnywhere/Sources/AWSRolesAnywhere/RolesAnywhereClient.swift index 25242a0b307..9bbbb3b1ab2 100644 --- a/Sources/Services/AWSRolesAnywhere/Sources/AWSRolesAnywhere/RolesAnywhereClient.swift +++ b/Sources/Services/AWSRolesAnywhere/Sources/AWSRolesAnywhere/RolesAnywhereClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class RolesAnywhereClient: ClientRuntime.Client { +public class RolesAnywhereClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "RolesAnywhereClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: RolesAnywhereClient.RolesAnywhereClientConfiguration let serviceName = "RolesAnywhere" diff --git a/Sources/Services/AWSRoute53/Sources/AWSRoute53/Models.swift b/Sources/Services/AWSRoute53/Sources/AWSRoute53/Models.swift index 36c6381b4ef..10f576df33a 100644 --- a/Sources/Services/AWSRoute53/Sources/AWSRoute53/Models.swift +++ b/Sources/Services/AWSRoute53/Sources/AWSRoute53/Models.swift @@ -370,6 +370,7 @@ extension Route53ClientTypes { case usIsoEast1 case usIsoWest1 case usIsobEast1 + case usIsobWest1 case usIsofEast1 case usIsofSouth1 case usWest1 @@ -418,6 +419,7 @@ extension Route53ClientTypes { .usIsoEast1, .usIsoWest1, .usIsobEast1, + .usIsobWest1, .usIsofEast1, .usIsofSouth1, .usWest1, @@ -472,6 +474,7 @@ extension Route53ClientTypes { case .usIsoEast1: return "us-iso-east-1" case .usIsoWest1: return "us-iso-west-1" case .usIsobEast1: return "us-isob-east-1" + case .usIsobWest1: return "us-isob-west-1" case .usIsofEast1: return "us-isof-east-1" case .usIsofSouth1: return "us-isof-south-1" case .usWest1: return "us-west-1" @@ -576,7 +579,7 @@ extension Route53ClientTypes { /// /// /// - /// When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer. S3 buckets There are no special requirements for setting EvaluateTargetHealth to true when the alias target is an S3 bucket. Other records in the same hosted zone If the Amazon Web Services resource that you specify in DNSName is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the Amazon Route 53 Developer Guide. For more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the Amazon Route 53 Developer Guide. + /// When you create a load balancer, you configure settings for Elastic Load Balancing health checks; they're not Route 53 health checks, but they perform a similar function. Do not create Route 53 health checks for the EC2 instances that you register with an ELB load balancer. API Gateway APIs There are no special requirements for setting EvaluateTargetHealth to true when the alias target is an API Gateway API. However, because API Gateway is highly available by design, EvaluateTargetHealth provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios. S3 buckets There are no special requirements for setting EvaluateTargetHealth to true when the alias target is an S3 bucket. However, because S3 buckets are highly available by design, EvaluateTargetHealth provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios. VPC interface endpoints There are no special requirements for setting EvaluateTargetHealth to true when the alias target is a VPC interface endpoint. However, because VPC interface endpoints are highly available by design, EvaluateTargetHealth provides no operational benefit and [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) are recommended instead for failover scenarios. Other records in the same hosted zone If the Amazon Web Services resource that you specify in DNSName is a record or a group of records (for example, a group of weighted records) but is not another alias record, we recommend that you associate a health check with all of the records in the alias target. For more information, see [What Happens When You Omit Health Checks?](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover-complex-configs.html#dns-failover-complex-configs-hc-omitting) in the Amazon Route 53 Developer Guide. While EvaluateTargetHealth can be set to true for highly available Amazon Web Services services (such as S3 buckets, VPC interface endpoints, and API Gateway), these services are designed for high availability and rarely experience outages that would be detected by this feature. For failover scenarios with these services, consider using [Route 53 health checks](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) that monitor your application's ability to access the service instead. For more information and examples, see [Amazon Route 53 Health Checks and DNS Failover](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/dns-failover.html) in the Amazon Route 53 Developer Guide. /// This member is required. public var evaluateTargetHealth: Swift.Bool /// Alias resource records sets only: The value used depends on where you want to route traffic: Amazon API Gateway custom regional APIs and edge-optimized APIs Specify the hosted zone ID for your API. You can get the applicable value using the CLI command [get-domain-names](https://docs.aws.amazon.com/cli/latest/reference/apigateway/get-domain-names.html): @@ -842,6 +845,7 @@ extension Route53ClientTypes { case usIsoEast1 case usIsoWest1 case usIsobEast1 + case usIsobWest1 case usIsofEast1 case usIsofSouth1 case usWest1 @@ -890,6 +894,7 @@ extension Route53ClientTypes { .usIsoEast1, .usIsoWest1, .usIsobEast1, + .usIsobWest1, .usIsofEast1, .usIsofSouth1, .usWest1, @@ -944,6 +949,7 @@ extension Route53ClientTypes { case .usIsoEast1: return "us-iso-east-1" case .usIsoWest1: return "us-iso-west-1" case .usIsobEast1: return "us-isob-east-1" + case .usIsobWest1: return "us-isob-west-1" case .usIsofEast1: return "us-isof-east-1" case .usIsofSouth1: return "us-isof-south-1" case .usWest1: return "us-west-1" @@ -2428,7 +2434,7 @@ extension Route53ClientTypes { public struct CreateHealthCheckInput: Swift.Sendable { /// A unique string that identifies the request and that allows you to retry a failed CreateHealthCheck request without the risk of creating two identical health checks: /// - /// * If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Route 53 returns the settings for the existing health check. + /// * If you send a CreateHealthCheck request with the same CallerReference and settings as a previous request, and if the health check doesn't exist, Amazon Route 53 creates the health check. If the health check does exist, Route 53 returns the health check configuration in the response. /// /// * If you send a CreateHealthCheck request with the same CallerReference as a deleted health check, regardless of the settings, Route 53 returns a HealthCheckAlreadyExists error. /// diff --git a/Sources/Services/AWSRoute53/Sources/AWSRoute53/Route53Client.swift b/Sources/Services/AWSRoute53/Sources/AWSRoute53/Route53Client.swift index 9cbb93fe8f7..d0429fb7960 100644 --- a/Sources/Services/AWSRoute53/Sources/AWSRoute53/Route53Client.swift +++ b/Sources/Services/AWSRoute53/Sources/AWSRoute53/Route53Client.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53Client: ClientRuntime.Client { +public class Route53Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53Client.Route53ClientConfiguration let serviceName = "Route 53" @@ -1807,7 +1806,7 @@ extension Route53Client { /// Performs the `DeleteHostedZone` operation on the `Route53` service. /// - /// Deletes a hosted zone. If the hosted zone was created by another service, such as Cloud Map, see [Deleting Public Hosted Zones That Were Created by Another Service](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeleteHostedZone.html#delete-public-hosted-zone-created-by-another-service) in the Amazon Route 53 Developer Guide for information about how to delete it. (The process is the same for public and private hosted zones that were created by another service.) If you want to keep your domain registration but you want to stop routing internet traffic to your website or web application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted zone. If you delete a hosted zone, you can't undelete it. You must create a new hosted zone and update the name servers for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility for a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the parent hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic to their own resources using your domain name. If you want to avoid the monthly charge for the hosted zone, you can transfer DNS service for the domain to a free DNS service. When you transfer DNS service, you have to update the name servers for the domain registration. If the domain is registered with Route 53, see [UpdateDomainNameservers](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_UpdateDomainNameservers.html) for information about how to replace Route 53 name servers with name servers for the new DNS service. If the domain is registered with another registrar, use the method provided by the registrar to update name servers for the domain registration. For more information, perform an internet search on "free DNS service." You can delete a hosted zone only if it contains only the default SOA record and NS resource record sets. If the hosted zone contains other resource record sets, you must delete them before you can delete the hosted zone. If you try to delete a hosted zone that contains other resource record sets, the request fails, and Route 53 returns a HostedZoneNotEmpty error. For information about deleting records from your hosted zone, see [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html). To verify that the hosted zone has been deleted, do one of the following: + /// Deletes a hosted zone. If the hosted zone was created by another service, such as Cloud Map, see [Deleting Public Hosted Zones That Were Created by Another Service](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/DeleteHostedZone.html#delete-public-hosted-zone-created-by-another-service) in the Amazon Route 53 Developer Guide for information about how to delete it. (The process is the same for public and private hosted zones that were created by another service.) If you want to keep your domain registration but you want to stop routing internet traffic to your website or web application, we recommend that you delete resource record sets in the hosted zone instead of deleting the hosted zone. If you delete a hosted zone, you can't undelete it. You must create a new hosted zone and update the name servers for your domain registration, which can require up to 48 hours to take effect. (If you delegated responsibility for a subdomain to a hosted zone and you delete the child hosted zone, you must update the name servers in the parent hosted zone.) In addition, if you delete a hosted zone, someone could hijack the domain and route traffic to their own resources using your domain name. If you want to avoid the monthly charge for the hosted zone, you can transfer DNS service for the domain to a free DNS service. When you transfer DNS service, you have to update the name servers for the domain registration. If the domain is registered with Route 53, see [UpdateDomainNameservers](https://docs.aws.amazon.com/Route53/latest/APIReference/API_domains_UpdateDomainNameservers.html) for information about how to replace Route 53 name servers with name servers for the new DNS service. If the domain is registered with another registrar, use the method provided by the registrar to update name servers for the domain registration. For more information, perform an internet search on "free DNS service." You can delete a hosted zone only if it contains only the default SOA and NS records and has DNSSEC signing disabled. If the hosted zone contains other records or has DNSSEC enabled, you must delete the records and disable DNSSEC before deletion. Attempting to delete a hosted zone with additional records or DNSSEC enabled returns a HostedZoneNotEmpty error. For information about deleting records, see [ChangeResourceRecordSets](https://docs.aws.amazon.com/Route53/latest/APIReference/API_ChangeResourceRecordSets.html). To verify that the hosted zone has been deleted, do one of the following: /// /// * Use the GetHostedZone action to request information about the hosted zone. /// diff --git a/Sources/Services/AWSRoute53Domains/Sources/AWSRoute53Domains/Route53DomainsClient.swift b/Sources/Services/AWSRoute53Domains/Sources/AWSRoute53Domains/Route53DomainsClient.swift index 5184b816ae0..4d55cc02f7f 100644 --- a/Sources/Services/AWSRoute53Domains/Sources/AWSRoute53Domains/Route53DomainsClient.swift +++ b/Sources/Services/AWSRoute53Domains/Sources/AWSRoute53Domains/Route53DomainsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53DomainsClient: ClientRuntime.Client { +public class Route53DomainsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53DomainsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53DomainsClient.Route53DomainsClientConfiguration let serviceName = "Route 53 Domains" diff --git a/Sources/Services/AWSRoute53Profiles/Sources/AWSRoute53Profiles/Route53ProfilesClient.swift b/Sources/Services/AWSRoute53Profiles/Sources/AWSRoute53Profiles/Route53ProfilesClient.swift index 73e264cbaff..7490b84ef8b 100644 --- a/Sources/Services/AWSRoute53Profiles/Sources/AWSRoute53Profiles/Route53ProfilesClient.swift +++ b/Sources/Services/AWSRoute53Profiles/Sources/AWSRoute53Profiles/Route53ProfilesClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53ProfilesClient: ClientRuntime.Client { +public class Route53ProfilesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53ProfilesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53ProfilesClient.Route53ProfilesClientConfiguration let serviceName = "Route53Profiles" diff --git a/Sources/Services/AWSRoute53RecoveryCluster/Sources/AWSRoute53RecoveryCluster/Route53RecoveryClusterClient.swift b/Sources/Services/AWSRoute53RecoveryCluster/Sources/AWSRoute53RecoveryCluster/Route53RecoveryClusterClient.swift index 501e7332a2c..d9bff9a358b 100644 --- a/Sources/Services/AWSRoute53RecoveryCluster/Sources/AWSRoute53RecoveryCluster/Route53RecoveryClusterClient.swift +++ b/Sources/Services/AWSRoute53RecoveryCluster/Sources/AWSRoute53RecoveryCluster/Route53RecoveryClusterClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53RecoveryClusterClient: ClientRuntime.Client { +public class Route53RecoveryClusterClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53RecoveryClusterClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53RecoveryClusterClient.Route53RecoveryClusterClientConfiguration let serviceName = "Route53 Recovery Cluster" diff --git a/Sources/Services/AWSRoute53RecoveryControlConfig/Sources/AWSRoute53RecoveryControlConfig/Route53RecoveryControlConfigClient.swift b/Sources/Services/AWSRoute53RecoveryControlConfig/Sources/AWSRoute53RecoveryControlConfig/Route53RecoveryControlConfigClient.swift index 3c8bd4fcda5..42e47a9e4c8 100644 --- a/Sources/Services/AWSRoute53RecoveryControlConfig/Sources/AWSRoute53RecoveryControlConfig/Route53RecoveryControlConfigClient.swift +++ b/Sources/Services/AWSRoute53RecoveryControlConfig/Sources/AWSRoute53RecoveryControlConfig/Route53RecoveryControlConfigClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53RecoveryControlConfigClient: ClientRuntime.Client { +public class Route53RecoveryControlConfigClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53RecoveryControlConfigClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53RecoveryControlConfigClient.Route53RecoveryControlConfigClientConfiguration let serviceName = "Route53 Recovery Control Config" diff --git a/Sources/Services/AWSRoute53RecoveryControlConfig/Tests/AWSRoute53RecoveryControlConfigTests/EndpointResolverTest.swift b/Sources/Services/AWSRoute53RecoveryControlConfig/Tests/AWSRoute53RecoveryControlConfigTests/EndpointResolverTest.swift index 68206a3c270..f05f8e68b4e 100644 --- a/Sources/Services/AWSRoute53RecoveryControlConfig/Tests/AWSRoute53RecoveryControlConfigTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSRoute53RecoveryControlConfig/Tests/AWSRoute53RecoveryControlConfigTests/EndpointResolverTest.swift @@ -293,11 +293,11 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, + region: "eusc-de-east-1", + useDualStack: false, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -309,23 +309,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: true + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -336,23 +336,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false + region: "us-iso-east-1", + useDualStack: false, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -363,21 +363,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-gov-west-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "us-gov-west-1", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -390,21 +390,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "us-iso-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: true ) @@ -417,21 +417,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "us-iso-east-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -444,21 +444,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-iso-east-1" + "signingRegion": "us-isob-east-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: true ) @@ -471,21 +471,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-isob-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -498,21 +498,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isob-east-1" + "signingRegion": "eu-isoe-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -525,21 +525,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "eu-isoe-west-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -552,22 +552,22 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eu-isoe-west-1" + "signingRegion": "us-isof-south-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -579,23 +579,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-isof-south-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -606,23 +606,23 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "us-isof-south-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled func testResolve24() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", - useDualStack: false, - useFIPS: true + region: "us-gov-west-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -633,21 +633,21 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled func testResolve25() throws { let endpointParams = EndpointParams( - region: "eusc-de-east-1", + region: "us-gov-west-1", useDualStack: false, useFIPS: false ) @@ -660,13 +660,13 @@ class EndpointResolverTest: XCTestCase { "authSchemes": [ [ "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" ] ] ] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://route53-recovery-control-config.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } diff --git a/Sources/Services/AWSRoute53RecoveryReadiness/Sources/AWSRoute53RecoveryReadiness/Route53RecoveryReadinessClient.swift b/Sources/Services/AWSRoute53RecoveryReadiness/Sources/AWSRoute53RecoveryReadiness/Route53RecoveryReadinessClient.swift index 0f77222f84c..a3d025eb75c 100644 --- a/Sources/Services/AWSRoute53RecoveryReadiness/Sources/AWSRoute53RecoveryReadiness/Route53RecoveryReadinessClient.swift +++ b/Sources/Services/AWSRoute53RecoveryReadiness/Sources/AWSRoute53RecoveryReadiness/Route53RecoveryReadinessClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53RecoveryReadinessClient: ClientRuntime.Client { +public class Route53RecoveryReadinessClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53RecoveryReadinessClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53RecoveryReadinessClient.Route53RecoveryReadinessClientConfiguration let serviceName = "Route53 Recovery Readiness" diff --git a/Sources/Services/AWSRoute53Resolver/Sources/AWSRoute53Resolver/Route53ResolverClient.swift b/Sources/Services/AWSRoute53Resolver/Sources/AWSRoute53Resolver/Route53ResolverClient.swift index cd3171238ad..de9e68374eb 100644 --- a/Sources/Services/AWSRoute53Resolver/Sources/AWSRoute53Resolver/Route53ResolverClient.swift +++ b/Sources/Services/AWSRoute53Resolver/Sources/AWSRoute53Resolver/Route53ResolverClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class Route53ResolverClient: ClientRuntime.Client { +public class Route53ResolverClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "Route53ResolverClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: Route53ResolverClient.Route53ResolverClientConfiguration let serviceName = "Route53Resolver" diff --git a/Sources/Services/AWSS3/Sources/AWSS3/Models.swift b/Sources/Services/AWSS3/Sources/AWSS3/Models.swift index adc7f871e81..8a47bcd4f23 100644 --- a/Sources/Services/AWSS3/Sources/AWSS3/Models.swift +++ b/Sources/Services/AWSS3/Sources/AWSS3/Models.swift @@ -473,7 +473,7 @@ extension S3ClientTypes { extension S3ClientTypes { - /// Container for the person being granted permissions. + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Container for the person being granted permissions. public struct Grantee: Swift.Sendable { /// Screen name of the grantee. public var displayName: Swift.String? @@ -581,7 +581,7 @@ extension S3ClientTypes { extension S3ClientTypes { - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Container for the owner's display name and ID. + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Container for the owner's display name and ID. public struct Owner: Swift.Sendable { /// Container for the display name of the owner. This value is only supported in the following Amazon Web Services Regions: /// @@ -892,15 +892,15 @@ public struct CompleteMultipartUploadOutput: Swift.Sendable { public var bucket: Swift.String? /// Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS). public var bucketKeyEnabled: Swift.Bool? - /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit CRC64NVME checksum of the object. The CRC64NVME checksum is always a full object checksum. For more information, see [Checking object integrity in the Amazon S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html). public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum type that was specified during the CreateMultipartUpload request. For more information, see [Checking object integrity in the Amazon S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html). public var checksumType: S3ClientTypes.ChecksumType? @@ -1337,6 +1337,10 @@ public struct CopyObjectInput: Swift.Sendable { /// /// * This functionality is not supported for Amazon S3 on Outposts. public var grantWriteACP: Swift.String? + /// Copies the object if the entity tag (ETag) of the destination object matches the specified tag. If the ETag values do not match, the operation returns a 412 Precondition Failed error. If a concurrent operation occurs during the upload S3 returns a 409 ConditionalRequestConflict response. On a 409 failure you should fetch the object's ETag and retry the upload. Expects the ETag value as a string. For more information about conditional requests, see [RFC 7232](https://tools.ietf.org/html/rfc7232). + public var ifMatch: Swift.String? + /// Copies the object only if the object key name at the destination does not already exist in the bucket specified. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a concurrent operation occurs during the upload S3 returns a 409 ConditionalRequestConflict response. On a 409 failure you should retry the upload. Expects the '*' (asterisk) character. For more information about conditional requests, see [RFC 7232](https://tools.ietf.org/html/rfc7232). + public var ifNoneMatch: Swift.String? /// The key of the destination object. /// This member is required. public var key: Swift.String? @@ -1459,6 +1463,8 @@ public struct CopyObjectInput: Swift.Sendable { grantRead: Swift.String? = nil, grantReadACP: Swift.String? = nil, grantWriteACP: Swift.String? = nil, + ifMatch: Swift.String? = nil, + ifNoneMatch: Swift.String? = nil, key: Swift.String? = nil, metadata: [Swift.String: Swift.String]? = nil, metadataDirective: S3ClientTypes.MetadataDirective? = nil, @@ -1501,6 +1507,8 @@ public struct CopyObjectInput: Swift.Sendable { self.grantRead = grantRead self.grantReadACP = grantReadACP self.grantWriteACP = grantWriteACP + self.ifMatch = ifMatch + self.ifNoneMatch = ifNoneMatch self.key = key self.metadata = metadata self.metadataDirective = metadataDirective @@ -1523,7 +1531,7 @@ public struct CopyObjectInput: Swift.Sendable { extension CopyObjectInput: Swift.CustomDebugStringConvertible { public var debugDescription: Swift.String { - "CopyObjectInput(acl: \(Swift.String(describing: acl)), bucket: \(Swift.String(describing: bucket)), bucketKeyEnabled: \(Swift.String(describing: bucketKeyEnabled)), cacheControl: \(Swift.String(describing: cacheControl)), checksumAlgorithm: \(Swift.String(describing: checksumAlgorithm)), contentDisposition: \(Swift.String(describing: contentDisposition)), contentEncoding: \(Swift.String(describing: contentEncoding)), contentLanguage: \(Swift.String(describing: contentLanguage)), contentType: \(Swift.String(describing: contentType)), copySource: \(Swift.String(describing: copySource)), copySourceIfMatch: \(Swift.String(describing: copySourceIfMatch)), copySourceIfModifiedSince: \(Swift.String(describing: copySourceIfModifiedSince)), copySourceIfNoneMatch: \(Swift.String(describing: copySourceIfNoneMatch)), copySourceIfUnmodifiedSince: \(Swift.String(describing: copySourceIfUnmodifiedSince)), copySourceSSECustomerAlgorithm: \(Swift.String(describing: copySourceSSECustomerAlgorithm)), copySourceSSECustomerKeyMD5: \(Swift.String(describing: copySourceSSECustomerKeyMD5)), expectedBucketOwner: \(Swift.String(describing: expectedBucketOwner)), expectedSourceBucketOwner: \(Swift.String(describing: expectedSourceBucketOwner)), expires: \(Swift.String(describing: expires)), grantFullControl: \(Swift.String(describing: grantFullControl)), grantRead: \(Swift.String(describing: grantRead)), grantReadACP: \(Swift.String(describing: grantReadACP)), grantWriteACP: \(Swift.String(describing: grantWriteACP)), key: \(Swift.String(describing: key)), metadata: \(Swift.String(describing: metadata)), metadataDirective: \(Swift.String(describing: metadataDirective)), objectLockLegalHoldStatus: \(Swift.String(describing: objectLockLegalHoldStatus)), objectLockMode: \(Swift.String(describing: objectLockMode)), objectLockRetainUntilDate: \(Swift.String(describing: objectLockRetainUntilDate)), requestPayer: \(Swift.String(describing: requestPayer)), serverSideEncryption: \(Swift.String(describing: serverSideEncryption)), sseCustomerAlgorithm: \(Swift.String(describing: sseCustomerAlgorithm)), sseCustomerKeyMD5: \(Swift.String(describing: sseCustomerKeyMD5)), storageClass: \(Swift.String(describing: storageClass)), tagging: \(Swift.String(describing: tagging)), taggingDirective: \(Swift.String(describing: taggingDirective)), websiteRedirectLocation: \(Swift.String(describing: websiteRedirectLocation)), copySourceSSECustomerKey: \"CONTENT_REDACTED\", sseCustomerKey: \"CONTENT_REDACTED\", ssekmsEncryptionContext: \"CONTENT_REDACTED\", ssekmsKeyId: \"CONTENT_REDACTED\")"} + "CopyObjectInput(acl: \(Swift.String(describing: acl)), bucket: \(Swift.String(describing: bucket)), bucketKeyEnabled: \(Swift.String(describing: bucketKeyEnabled)), cacheControl: \(Swift.String(describing: cacheControl)), checksumAlgorithm: \(Swift.String(describing: checksumAlgorithm)), contentDisposition: \(Swift.String(describing: contentDisposition)), contentEncoding: \(Swift.String(describing: contentEncoding)), contentLanguage: \(Swift.String(describing: contentLanguage)), contentType: \(Swift.String(describing: contentType)), copySource: \(Swift.String(describing: copySource)), copySourceIfMatch: \(Swift.String(describing: copySourceIfMatch)), copySourceIfModifiedSince: \(Swift.String(describing: copySourceIfModifiedSince)), copySourceIfNoneMatch: \(Swift.String(describing: copySourceIfNoneMatch)), copySourceIfUnmodifiedSince: \(Swift.String(describing: copySourceIfUnmodifiedSince)), copySourceSSECustomerAlgorithm: \(Swift.String(describing: copySourceSSECustomerAlgorithm)), copySourceSSECustomerKeyMD5: \(Swift.String(describing: copySourceSSECustomerKeyMD5)), expectedBucketOwner: \(Swift.String(describing: expectedBucketOwner)), expectedSourceBucketOwner: \(Swift.String(describing: expectedSourceBucketOwner)), expires: \(Swift.String(describing: expires)), grantFullControl: \(Swift.String(describing: grantFullControl)), grantRead: \(Swift.String(describing: grantRead)), grantReadACP: \(Swift.String(describing: grantReadACP)), grantWriteACP: \(Swift.String(describing: grantWriteACP)), ifMatch: \(Swift.String(describing: ifMatch)), ifNoneMatch: \(Swift.String(describing: ifNoneMatch)), key: \(Swift.String(describing: key)), metadata: \(Swift.String(describing: metadata)), metadataDirective: \(Swift.String(describing: metadataDirective)), objectLockLegalHoldStatus: \(Swift.String(describing: objectLockLegalHoldStatus)), objectLockMode: \(Swift.String(describing: objectLockMode)), objectLockRetainUntilDate: \(Swift.String(describing: objectLockRetainUntilDate)), requestPayer: \(Swift.String(describing: requestPayer)), serverSideEncryption: \(Swift.String(describing: serverSideEncryption)), sseCustomerAlgorithm: \(Swift.String(describing: sseCustomerAlgorithm)), sseCustomerKeyMD5: \(Swift.String(describing: sseCustomerKeyMD5)), storageClass: \(Swift.String(describing: storageClass)), tagging: \(Swift.String(describing: tagging)), taggingDirective: \(Swift.String(describing: taggingDirective)), websiteRedirectLocation: \(Swift.String(describing: websiteRedirectLocation)), copySourceSSECustomerKey: \"CONTENT_REDACTED\", sseCustomerKey: \"CONTENT_REDACTED\", ssekmsEncryptionContext: \"CONTENT_REDACTED\", ssekmsKeyId: \"CONTENT_REDACTED\")"} } extension S3ClientTypes { @@ -1532,13 +1540,13 @@ extension S3ClientTypes { public struct CopyObjectResult: Swift.Sendable { /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? - /// The Base64 encoded, 32-bit CRC32C checksum of the object. This will only be present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// The Base64 encoded, 64-bit CRC64NVME checksum of the object. This checksum is present if the object being copied was uploaded with the CRC64NVME checksum algorithm, or if the object was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME, to the uploaded object). For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// The checksum type that is used to calculate the object’s checksum value. For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumType: S3ClientTypes.ChecksumType? @@ -1963,7 +1971,11 @@ extension S3ClientTypes { public var location: S3ClientTypes.LocationInfo? /// Specifies the Region where the bucket will be created. You might choose a Region to optimize latency, minimize costs, or address regulatory requirements. For example, if you reside in Europe, you will probably find it advantageous to create buckets in the Europe (Ireland) Region. If you don't specify a Region, the bucket is created in the US East (N. Virginia) Region (us-east-1) by default. Configurations using the value EU will create a bucket in eu-west-1. For a list of the valid values for all of the Amazon Web Services Regions, see [Regions and Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region). This functionality is not supported for directory buckets. public var locationConstraint: S3ClientTypes.BucketLocationConstraint? - /// An array of tags that you can apply to the bucket that you're creating. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. This parameter is only supported for S3 directory buckets. For more information, see [Using tags with directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html). + /// An array of tags that you can apply to the bucket that you're creating. Tags are key-value pairs of metadata used to categorize and organize your buckets, track costs, and control access. + /// + /// * This parameter is only supported for S3 directory buckets. For more information, see [Using tags with directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-tagging.html). + /// + /// * You must have the s3express:TagResource permission to create a directory bucket with tags. public var tags: [S3ClientTypes.Tag]? public init( @@ -3121,7 +3133,7 @@ public struct DeleteObjectInput: Swift.Sendable { public var bypassGovernanceRetention: Swift.Bool? /// The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied). public var expectedBucketOwner: Swift.String? - /// The If-Match header field makes the request method conditional on ETags. If the ETag value does not match, the operation returns a 412 Precondition Failed error. If the ETag matches or if the object doesn't exist, the operation will return a 204 Success (No Content) response. For more information about conditional requests, see [RFC 7232](https://tools.ietf.org/html/rfc7232). This functionality is only supported for directory buckets. + /// Deletes the object if the ETag (entity tag) value provided during the delete operation matches the ETag of the object in S3. If the ETag values do not match, the operation returns a 412 Precondition Failed error. Expects the ETag value as a string. If-Match does accept a string value of an '*' (asterisk) character to denote a match of any ETag. For more information about conditional requests, see [RFC 7232](https://tools.ietf.org/html/rfc7232). public var ifMatch: Swift.String? /// If present, the object is deleted only if its modification times matches the provided Timestamp. If the Timestamp values do not match, the operation returns a 412 Precondition Failed error. If the Timestamp matches or if the object doesn’t exist, the operation returns a 204 Success (No Content) response. This functionality is only supported for directory buckets. public var ifMatchLastModifiedTime: Foundation.Date? @@ -5733,7 +5745,7 @@ extension S3ClientTypes { public var noncurrentVersionExpiration: S3ClientTypes.NoncurrentVersionExpiration? /// Specifies the transition rule for the lifecycle rule that describes when noncurrent objects transition to a specific storage class. If your bucket is versioning-enabled (or versioning is suspended), you can set this action to request that Amazon S3 transition noncurrent object versions to a specific storage class at a set period in the object's lifetime. This parameter applies to general purpose buckets only. It is not supported for directory bucket lifecycle configurations. public var noncurrentVersionTransitions: [S3ClientTypes.NoncurrentVersionTransition]? - /// Prefix identifying one or more objects to which the rule applies. This is no longer used; use Filter instead. Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [ XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). + /// The general purpose bucket prefix that identifies one or more objects to which the rule applies. We recommend using Filter instead of Prefix for new PUTs. Previous configurations where a prefix is defined will continue to operate as before. Replacement must be made for object keys containing special characters (such as carriage returns) when using XML requests. For more information, see [ XML related object key constraints](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html#object-key-xml-related-constraints). @available(*, deprecated) public var `prefix`: Swift.String? /// If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied. @@ -8103,13 +8115,13 @@ public struct GetObjectOutput: Swift.Sendable { public var cacheControl: Swift.String? /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? - /// The Base64 encoded, 32-bit CRC32C checksum of the object. This will only be present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// The Base64 encoded, 64-bit CRC64NVME checksum of the object. For more information, see [Checking object integrity in the Amazon S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html). public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. For more information, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in the CreateMultipartUpload request. For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumType: S3ClientTypes.ChecksumType? @@ -8409,15 +8421,15 @@ extension S3ClientTypes { /// Contains all the possible checksum or digest values for an object. public struct Checksum: Swift.Sendable { - /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// The Base64 encoded, 64-bit CRC64NVME checksum of the object. This checksum is present if the object was uploaded with the CRC64NVME checksum algorithm, or if the object was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME, to the uploaded object). For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// The checksum type that is used to calculate the object’s checksum value. For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumType: S3ClientTypes.ChecksumType? @@ -9187,15 +9199,15 @@ public struct HeadObjectOutput: Swift.Sendable { public var bucketKeyEnabled: Swift.Bool? /// Specifies caching behavior along the request/reply chain. public var cacheControl: Swift.String? - /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// The Base64 encoded, 64-bit CRC64NVME checksum of the object. For more information, see [Checking object integrity in the Amazon S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html). public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// The checksum type, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. You can use this header response to verify that the checksum type that is received is the same checksum type that was specified in CreateMultipartUpload request. For more information, see [Checking object integrity in the Amazon S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html). public var checksumType: S3ClientTypes.ChecksumType? @@ -11283,7 +11295,7 @@ public struct PutBucketVersioningInput: Swift.Sendable { public var contentMD5: Swift.String? /// The account ID of the expected bucket owner. If the account ID that you provide does not match the actual owner of the bucket, the request fails with the HTTP status code 403 Forbidden (access denied). public var expectedBucketOwner: Swift.String? - /// The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. + /// The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. The serial number is the number that uniquely identifies the MFA device. For physical MFA devices, this is the unique serial number that's provided with the device. For virtual MFA devices, the serial number is the device ARN. For more information, see [Enabling versioning on buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/manage-versioning-examples.html) and [Configuring MFA delete](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiFactorAuthenticationDelete.html) in the Amazon Simple Storage Service User Guide. public var mfa: Swift.String? /// Container for setting the versioning state. /// This member is required. @@ -11648,15 +11660,15 @@ extension PutObjectInput: Swift.CustomDebugStringConvertible { public struct PutObjectOutput: Swift.Sendable { /// Indicates whether the uploaded object uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS). public var bucketKeyEnabled: Swift.Bool? - /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// The Base64 encoded, 64-bit CRC64NVME checksum of the object. This header is present if the object was uploaded with the CRC64NVME checksum algorithm, or if it was uploaded without a checksum (and Amazon S3 added the default checksum, CRC64NVME, to the uploaded object). For more information about how checksums are calculated with multipart uploads, see [Checking object integrity in the Amazon S3 User Guide](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html). public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// This header specifies the checksum type of the object, which determines how part-level checksums are combined to create an object-level checksum for multipart objects. For PutObject uploads, the checksum type is always FULL_OBJECT. You can use this header as a data integrity check to verify that the checksum type that is received is the same checksum that was specified. For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumType: S3ClientTypes.ChecksumType? @@ -11969,7 +11981,7 @@ public struct PutObjectTaggingInput: Swift.Sendable { /// Name of the object key. /// This member is required. public var key: Swift.String? - /// Confirms that the requester knows that they will be charged for the request. Bucket owners need not specify this parameter in their requests. If either the source or destination S3 bucket has Requester Pays enabled, the requester will pay for corresponding charges to copy the object. For information about downloading objects from Requester Pays buckets, see [Downloading Objects in Requester Pays Buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html) in the Amazon S3 User Guide. This functionality is not supported for directory buckets. + /// Confirms that the requester knows that she or he will be charged for the tagging object request. Bucket owners need not specify this parameter in their requests. public var requestPayer: S3ClientTypes.RequestPayer? /// Container for the TagSet and Tag elements /// This member is required. @@ -12913,7 +12925,7 @@ extension S3ClientTypes { /// The container for the records event. public struct RecordsEvent: Swift.Sendable { - /// The byte array of partial, one or more result records. S3 Select doesn't guarantee that a record will be self-contained in one record frame. To ensure continuous streaming of data, S3 Select might split the same record across multiple record frames instead of aggregating the results in memory. Some S3 clients (for example, the SDK for Java) handle this behavior by creating a ByteStream out of the response by default. Other clients might not handle this behavior by default. In those cases, you must aggregate the results on the client side and parse the response. + /// The byte array of partial, one or more result records. S3 Select doesn't guarantee that a record will be self-contained in one record frame. To ensure continuous streaming of data, S3 Select might split the same record across multiple record frames instead of aggregating the results in memory. Some S3 clients (for example, the SDKforJava) handle this behavior by creating a ByteStream out of the response by default. Other clients might not handle this behavior by default. In those cases, you must aggregate the results on the client side and parse the response. public var payload: Foundation.Data? public init( @@ -13176,15 +13188,15 @@ extension UploadPartInput: Swift.CustomDebugStringConvertible { public struct UploadPartOutput: Swift.Sendable { /// Indicates whether the multipart upload uses an S3 Bucket Key for server-side encryption with Key Management Service (KMS) keys (SSE-KMS). public var bucketKeyEnabled: Swift.Bool? - /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32: Swift.String? /// The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumCRC32C: Swift.String? /// This header can be used as a data integrity check to verify that the data received is the same data that was originally sent. This header specifies the Base64 encoded, 64-bit CRC64NVME checksum of the part. For more information, see [Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html) in the Amazon S3 User Guide. public var checksumCRC64NVME: Swift.String? - /// The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA1: Swift.String? - /// The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. + /// The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated with multipart uploads, see [ Checking object integrity](https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums) in the Amazon S3 User Guide. public var checksumSHA256: Swift.String? /// Entity tag for the uploaded object. public var eTag: Swift.String? @@ -13828,6 +13840,12 @@ extension CopyObjectInput { if let grantWriteACP = value.grantWriteACP { items.add(SmithyHTTPAPI.Header(name: "x-amz-grant-write-acp", value: Swift.String(grantWriteACP))) } + if let ifMatch = value.ifMatch { + items.add(SmithyHTTPAPI.Header(name: "If-Match", value: Swift.String(ifMatch))) + } + if let ifNoneMatch = value.ifNoneMatch { + items.add(SmithyHTTPAPI.Header(name: "If-None-Match", value: Swift.String(ifNoneMatch))) + } if let metadataDirective = value.metadataDirective { items.add(SmithyHTTPAPI.Header(name: "x-amz-metadata-directive", value: Swift.String(metadataDirective.rawValue))) } diff --git a/Sources/Services/AWSS3/Sources/AWSS3/S3Client.swift b/Sources/Services/AWSS3/Sources/AWSS3/S3Client.swift index f99d9a8ccba..75bc387a74e 100644 --- a/Sources/Services/AWSS3/Sources/AWSS3/S3Client.swift +++ b/Sources/Services/AWSS3/Sources/AWSS3/S3Client.swift @@ -39,8 +39,8 @@ import enum Smithy.ClientError @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration +import protocol AWSClientRuntime.AWSServiceClient import protocol AWSSDKIdentityAPI.S3ExpressIdentityResolver -import protocol ClientRuntime.Client import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -85,9 +85,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class S3Client: ClientRuntime.Client { +public class S3Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "S3Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: S3Client.S3ClientConfiguration let serviceName = "S3" @@ -480,6 +479,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `AbortMultipartUploadInput`) /// /// - Returns: [no documentation found] (Type: `AbortMultipartUploadOutput`) @@ -607,6 +609,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `CompleteMultipartUploadInput`) /// /// - Returns: [no documentation found] (Type: `CompleteMultipartUploadOutput`) @@ -674,7 +679,7 @@ extension S3Client { /// Performs the `CopyObject` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Creates a copy of an object that is already stored in Amazon S3. You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see [Copy Object Using the REST Multipart Upload API](https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html). You can copy individual objects between general purpose buckets, between directory buckets, and between general purpose buckets and directory buckets. + /// Creates a copy of an object that is already stored in Amazon S3. End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5 GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see [Copy Object Using the REST Multipart Upload API](https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html). You can copy individual objects between general purpose buckets, between directory buckets, and between general purpose buckets and directory buckets. /// /// * Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when using the Multi-Region Access Point ARN. /// @@ -731,6 +736,9 @@ extension S3Client { /// /// * [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `CopyObjectInput`) /// /// - Returns: [no documentation found] (Type: `CopyObjectOutput`) @@ -800,7 +808,7 @@ extension S3Client { /// Performs the `CreateBucket` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html). Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner. There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the Amazon S3 User Guide. + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateBucket.html). Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the bucket, you become the bucket owner. There are two types of buckets: general purpose buckets and directory buckets. For more information about these bucket types, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html) in the Amazon S3 User Guide. /// /// * General purpose buckets - If you send your CreateBucket request to the s3.amazonaws.com global endpoint, the request goes to the us-east-1 Region. So the signature calculations in Signature Version 4 must use us-east-1 as the Region, even if the location constraint in the request specifies another Region where the bucket is to be created. If you create a bucket in a Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For more information, see [Virtual hosting of buckets](https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html) in the Amazon S3 User Guide. /// @@ -831,6 +839,9 @@ extension S3Client { /// /// * [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `CreateBucketInput`) /// /// - Returns: [no documentation found] (Type: `CreateBucketOutput`) @@ -932,6 +943,9 @@ extension S3Client { /// /// * [UpdateBucketMetadataJournalTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `CreateBucketMetadataConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `CreateBucketMetadataConfigurationOutput`) @@ -1019,6 +1033,9 @@ extension S3Client { /// /// * [GetBucketMetadataTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `CreateBucketMetadataTableConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `CreateBucketMetadataTableConfigurationOutput`) @@ -1087,7 +1104,7 @@ extension S3Client { /// Performs the `CreateMultipartUpload` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see [Multipart Upload Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) in the Amazon S3 User Guide. After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stops charging you for storing them only after you either complete or abort a multipart upload. If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart upload must be completed within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config). + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). This action initiates a multipart upload and returns an upload ID. This upload ID is used to associate all of the parts in the specific multipart upload. You specify this upload ID in each of your subsequent upload part requests (see [UploadPart](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPart.html)). You also include this upload ID in the final request to either complete or abort the multipart upload request. For more information about multipart uploads, see [Multipart Upload Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html) in the Amazon S3 User Guide. After you initiate a multipart upload and upload one or more parts, to stop being charged for storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the space used to store the parts and stops charging you for storing them only after you either complete or abort a multipart upload. If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart upload must be completed within the number of days specified in the bucket lifecycle configuration. Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the multipart upload. For more information, see [Aborting Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config). /// /// * Directory buckets - S3 Lifecycle is not supported by directory buckets. /// @@ -1156,6 +1173,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `CreateMultipartUploadInput`) /// /// - Returns: [no documentation found] (Type: `CreateMultipartUploadOutput`) @@ -1229,7 +1249,7 @@ extension S3Client { /// * HeadBucket API operation - Unlike other Zonal endpoint API operations, the HeadBucket API operation doesn't use the temporary security credentials returned from the CreateSession API operation for authentication and authorization. For information about authentication and authorization of the HeadBucket API operation on directory buckets, see [HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html). /// /// - /// Permissions To obtain temporary security credentials, you must create a bucket policy or an IAM identity-based policy that grants s3express:CreateSession permission to the bucket. In a policy, you can have the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. For more information about ReadWrite or ReadOnly sessions, see [x-amz-create-session-mode](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters). For example policies, see [Example bucket policies for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html) and [Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html) in the Amazon S3 User Guide. To grant cross-account access to Zonal endpoint API operations, the bucket policy should also grant both accounts the s3express:CreateSession permission. If you want to encrypt objects with SSE-KMS, you must also have the kms:GenerateDataKey and the kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the target KMS key. Encryption For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your CreateSession requests or PUT object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see [Protecting data with server-side encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html) in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see [Specifying server-side encryption with KMS for new object uploads](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html). For [Zonal endpoint (object-level) API operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations) except [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) and [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), you authenticate and authorize requests through [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) for low latency. To encrypt new objects in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)). Then, when a session is created for Zonal endpoint API operations, new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys during the session. Only 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) is supported per directory bucket for the lifetime of the bucket. The [Amazon Web Services managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (aws/s3) isn't supported. After you specify SSE-KMS as your bucket's default encryption configuration with a customer managed key, you can't change the customer managed key for the bucket's SSE-KMS configuration. In the Zonal endpoint API calls (except [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) and [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)) using the REST API, you can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. Also, in the Zonal endpoint API calls (except [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) and [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)), it's not supported to override the values of the encryption settings from the CreateSession request. HTTP Host header syntax Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. + /// Permissions To obtain temporary security credentials, you must create a bucket policy or an IAM identity-based policy that grants s3express:CreateSession permission to the bucket. In a policy, you can have the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. For more information about ReadWrite or ReadOnly sessions, see [x-amz-create-session-mode](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html#API_CreateSession_RequestParameters). For example policies, see [Example bucket policies for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html) and [Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html) in the Amazon S3 User Guide. To grant cross-account access to Zonal endpoint API operations, the bucket policy should also grant both accounts the s3express:CreateSession permission. If you want to encrypt objects with SSE-KMS, you must also have the kms:GenerateDataKey and the kms:Decrypt permissions in IAM identity-based policies and KMS key policies for the target KMS key. Encryption For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your CreateSession requests or PUT object requests. Then, new objects are automatically encrypted with the desired encryption settings. For more information, see [Protecting data with server-side encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-serv-side-encryption.html) in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see [Specifying server-side encryption with KMS for new object uploads](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-specifying-kms-encryption.html). For [Zonal endpoint (object-level) API operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-differences.html#s3-express-differences-api-operations) except [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) and [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html), you authenticate and authorize requests through [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html) for low latency. To encrypt new objects in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk)). Then, when a session is created for Zonal endpoint API operations, new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys during the session. Only 1 [customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) is supported per directory bucket for the lifetime of the bucket. The [Amazon Web Services managed key](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk) (aws/s3) isn't supported. After you specify SSE-KMS as your bucket's default encryption configuration with a customer managed key, you can't change the customer managed key for the bucket's SSE-KMS configuration. In the Zonal endpoint API calls (except [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) and [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)) using the REST API, you can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession request. You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. Also, in the Zonal endpoint API calls (except [CopyObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html) and [UploadPartCopy](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UploadPartCopy.html)), it's not supported to override the values of the encryption settings from the CreateSession request. HTTP Host header syntax Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `CreateSessionInput`) /// @@ -1320,6 +1340,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketOutput`) @@ -1391,6 +1414,9 @@ extension S3Client { /// /// * [PutBucketAnalyticsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketAnalyticsConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketAnalyticsConfigurationOutput`) @@ -1461,6 +1487,9 @@ extension S3Client { /// /// * [RESTOPTIONSobject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketCorsInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketCorsOutput`) @@ -1545,6 +1574,9 @@ extension S3Client { /// /// * [GetBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketEncryption.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketEncryptionInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketEncryptionOutput`) @@ -1617,6 +1649,9 @@ extension S3Client { /// /// * [ListBucketIntelligentTieringConfigurations](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketIntelligentTieringConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketIntelligentTieringConfigurationOutput`) @@ -1689,6 +1724,9 @@ extension S3Client { /// /// * [ListBucketInventoryConfigurations](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketInventoryConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketInventoryConfigurationOutput`) @@ -1769,6 +1807,9 @@ extension S3Client { /// /// * [GetBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLifecycleConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketLifecycleInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketLifecycleOutput`) @@ -1843,6 +1884,9 @@ extension S3Client { /// /// * [UpdateBucketMetadataJournalTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketMetadataConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketMetadataConfigurationOutput`) @@ -1913,6 +1957,9 @@ extension S3Client { /// /// * [GetBucketMetadataTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketMetadataTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketMetadataTableConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketMetadataTableConfigurationOutput`) @@ -1987,6 +2034,9 @@ extension S3Client { /// /// * [Monitoring Metrics with Amazon CloudWatch](https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketMetricsConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketMetricsConfigurationOutput`) @@ -2057,6 +2107,9 @@ extension S3Client { /// /// * [PutBucketOwnershipControls] /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketOwnershipControlsInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketOwnershipControlsOutput`) @@ -2134,6 +2187,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketPolicyInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketPolicyOutput`) @@ -2204,6 +2260,9 @@ extension S3Client { /// /// * [GetBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketReplication.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketReplicationInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketReplicationOutput`) @@ -2274,6 +2333,9 @@ extension S3Client { /// /// * [PutBucketTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketTagging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketTaggingInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketTaggingOutput`) @@ -2344,6 +2406,9 @@ extension S3Client { /// /// * [PutBucketWebsite](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteBucketWebsiteInput`) /// /// - Returns: [no documentation found] (Type: `DeleteBucketWebsiteOutput`) @@ -2442,6 +2507,9 @@ extension S3Client { /// /// * [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. The If-Match header is supported for both general purpose and directory buckets. IfMatchLastModifiedTime and IfMatchSize is only supported for directory buckets. + /// /// - Parameter input: [no documentation found] (Type: `DeleteObjectInput`) /// /// - Returns: [no documentation found] (Type: `DeleteObjectOutput`) @@ -2512,6 +2580,9 @@ extension S3Client { /// /// * [GetObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteObjectTaggingInput`) /// /// - Returns: [no documentation found] (Type: `DeleteObjectTaggingOutput`) @@ -2616,6 +2687,9 @@ extension S3Client { /// /// * [AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeleteObjectsInput`) /// /// - Returns: [no documentation found] (Type: `DeleteObjectsOutput`) @@ -2694,6 +2768,9 @@ extension S3Client { /// /// * [GetBucketPolicyStatus](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketPolicyStatus.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `DeletePublicAccessBlockInput`) /// /// - Returns: [no documentation found] (Type: `DeletePublicAccessBlockOutput`) @@ -2762,6 +2839,9 @@ extension S3Client { /// /// * [PutBucketAccelerateConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAccelerateConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketAccelerateConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketAccelerateConfigurationOutput`) @@ -2826,7 +2906,7 @@ extension S3Client { /// Performs the `GetBucketAcl` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. When you use this API operation with an access point, provide the alias of the access point in place of the bucket name. When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see [List of Error Codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList). If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see [ Controlling object ownership and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the Amazon S3 User Guide. The following operations are related to GetBucketAcl: + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. This implementation of the GET action uses the acl subresource to return the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you must have the READ_ACP access to the bucket. If READ_ACP permission is granted to the anonymous user, you can return the ACL of the bucket without using an authorization header. When you use this API operation with an access point, provide the alias of the access point in place of the bucket name. When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see [List of Error Codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList). If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see [ Controlling object ownership and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the Amazon S3 User Guide. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. The following operations are related to GetBucketAcl: /// /// * [ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) /// @@ -2902,6 +2982,9 @@ extension S3Client { /// /// * [PutBucketAnalyticsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketAnalyticsConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketAnalyticsConfigurationOutput`) @@ -2972,6 +3055,9 @@ extension S3Client { /// /// * [DeleteBucketCors](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketCors.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketCorsInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketCorsOutput`) @@ -3056,6 +3142,9 @@ extension S3Client { /// /// * [DeleteBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketEncryptionInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketEncryptionOutput`) @@ -3128,6 +3217,9 @@ extension S3Client { /// /// * [ListBucketIntelligentTieringConfigurations](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketIntelligentTieringConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketIntelligentTieringConfigurationOutput`) @@ -3200,6 +3292,9 @@ extension S3Client { /// /// * [PutBucketInventoryConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketInventoryConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketInventoryConfigurationOutput`) @@ -3296,6 +3391,9 @@ extension S3Client { /// /// * [DeleteBucketLifecycle](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketLifecycleConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketLifecycleConfigurationOutput`) @@ -3360,12 +3458,15 @@ extension S3Client { /// Performs the `GetBucketLocation` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). When you use this API operation with an access point, provide the alias of the access point in place of the bucket name. When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see [List of Error Codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList). We recommend that you use [HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html) to return the Region that a bucket resides in. For backward compatibility, Amazon S3 continues to support GetBucketLocation. The following operations are related to GetBucketLocation: + /// Using the GetBucketLocation operation is no longer a best practice. To return the Region that a bucket resides in, we recommend that you use the [HeadBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadBucket.html) operation instead. For backward compatibility, Amazon S3 continues to support the GetBucketLocation operation. Returns the Region the bucket resides in. You set the bucket's Region using the LocationConstraint request parameter in a CreateBucket request. For more information, see [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html). In a bucket's home Region, calls to the GetBucketLocation operation are governed by the bucket's policy. In other Regions, the bucket policy doesn't apply, which means that cross-account access won't be authorized. However, calls to the HeadBucket operation always return the bucket’s location through an HTTP response header, whether access to the bucket is authorized or not. Therefore, we recommend using the HeadBucket operation for bucket Region discovery and to avoid using the GetBucketLocation operation. When you use this API operation with an access point, provide the alias of the access point in place of the bucket name. When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. If the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. For more information about InvalidAccessPointAliasError, see [List of Error Codes](https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList). This operation is not supported for directory buckets. The following operations are related to GetBucketLocation: /// /// * [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) /// /// * [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketLocationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketLocationOutput`) @@ -3430,12 +3531,15 @@ extension S3Client { /// Performs the `GetBucketLogging` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns the logging status of a bucket and the permissions users have to view and modify that status. The following operations are related to GetBucketLogging: + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns the logging status of a bucket and the permissions users have to view and modify that status. The following operations are related to GetBucketLogging: /// /// * [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) /// /// * [PutBucketLogging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLogging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketLoggingInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketLoggingOutput`) @@ -3510,6 +3614,9 @@ extension S3Client { /// /// * [UpdateBucketMetadataJournalTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketMetadataConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketMetadataConfigurationOutput`) @@ -3580,6 +3687,9 @@ extension S3Client { /// /// * [DeleteBucketMetadataTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetadataTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketMetadataTableConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketMetadataTableConfigurationOutput`) @@ -3654,6 +3764,9 @@ extension S3Client { /// /// * [Monitoring Metrics with Amazon CloudWatch](https://docs.aws.amazon.com/AmazonS3/latest/dev/cloudwatch-monitoring.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketMetricsConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketMetricsConfigurationOutput`) @@ -3722,6 +3835,9 @@ extension S3Client { /// /// * [PutBucketNotification](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketNotification.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketNotificationConfigurationInput`) /// /// - Returns: A container for specifying the notification configuration of the bucket. If this element is empty, notifications are turned off for the bucket. (Type: `GetBucketNotificationConfigurationOutput`) @@ -3799,6 +3915,9 @@ extension S3Client { /// /// * [DeleteBucketOwnershipControls] /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketOwnershipControlsInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketOwnershipControlsOutput`) @@ -3874,6 +3993,9 @@ extension S3Client { /// /// * [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketPolicyInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketPolicyOutput`) @@ -3948,6 +4070,9 @@ extension S3Client { /// /// * [DeletePublicAccessBlock](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketPolicyStatusInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketPolicyStatusOutput`) @@ -4018,6 +4143,9 @@ extension S3Client { /// /// * [DeleteBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketReplicationInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketReplicationOutput`) @@ -4086,6 +4214,9 @@ extension S3Client { /// /// * [ListObjects](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketRequestPaymentInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketRequestPaymentOutput`) @@ -4166,6 +4297,9 @@ extension S3Client { /// /// * [DeleteBucketTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketTaggingInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketTaggingOutput`) @@ -4238,6 +4372,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketVersioningInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketVersioningOutput`) @@ -4308,6 +4445,9 @@ extension S3Client { /// /// * [PutBucketWebsite](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketWebsite.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetBucketWebsiteInput`) /// /// - Returns: [no documentation found] (Type: `GetBucketWebsiteOutput`) @@ -4407,6 +4547,9 @@ extension S3Client { /// /// * [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectOutput`) @@ -4477,7 +4620,7 @@ extension S3Client { /// Performs the `GetObjectAcl` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Returns the access control list (ACL) of an object. To use this operation, you must have s3:GetObjectAcl permissions or READ_ACP access to the object. For more information, see [Mapping of ACL permissions and access policy permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping) in the Amazon S3 User Guide This functionality is not supported for Amazon S3 on Outposts. By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see [ Controlling object ownership and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the Amazon S3 User Guide. The following operations are related to GetObjectAcl: + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns the access control list (ACL) of an object. To use this operation, you must have s3:GetObjectAcl permissions or READ_ACP access to the object. For more information, see [Mapping of ACL permissions and access policy permissions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping) in the Amazon S3 User Guide This functionality is not supported for Amazon S3 on Outposts. By default, GET returns ACL information about the current version of an object. To return ACL information about a different version, use the versionId subresource. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read ACLs are still supported and return the bucket-owner-full-control ACL with the owner being the account that created the bucket. For more information, see [ Controlling object ownership and disabling ACLs](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the Amazon S3 User Guide. The following operations are related to GetObjectAcl: /// /// * [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) /// @@ -4487,6 +4630,9 @@ extension S3Client { /// /// * [PutObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectAclInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectAclOutput`) @@ -4625,6 +4771,9 @@ extension S3Client { /// /// * [ListParts](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectAttributesInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectAttributesOutput`) @@ -4698,6 +4847,9 @@ extension S3Client { /// /// * [GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectLegalHoldInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectLegalHoldOutput`) @@ -4766,6 +4918,9 @@ extension S3Client { /// /// * [GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectLockConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectLockConfigurationOutput`) @@ -4834,6 +4989,9 @@ extension S3Client { /// /// * [GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectRetentionInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectRetentionOutput`) @@ -4906,6 +5064,9 @@ extension S3Client { /// /// * [PutObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectTaggingInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectTaggingOutput`) @@ -4974,6 +5135,9 @@ extension S3Client { /// /// * [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetObjectTorrentInput`) /// /// - Returns: [no documentation found] (Type: `GetObjectTorrentOutput`) @@ -5047,6 +5211,9 @@ extension S3Client { /// /// * [DeletePublicAccessBlock](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeletePublicAccessBlock.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `GetPublicAccessBlockInput`) /// /// - Returns: [no documentation found] (Type: `GetPublicAccessBlockOutput`) @@ -5111,14 +5278,14 @@ extension S3Client { /// Performs the `HeadBucket` operation on the `S3` service. /// - /// You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK if the bucket exists and you have permission to access it. If the bucket does not exist or you do not have permission to access it, the HEAD request returns a generic 400 Bad Request, 403 Forbidden or 404 Not Found code. A message body is not included, so you cannot determine the exception beyond these HTTP response codes. Authentication and authorization General purpose buckets - Request to public buckets that grant the s3:ListBucket permission publicly do not need to be signed. All other HeadBucket requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. For more information, see [REST Authentication](https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html). Directory buckets - You must use IAM credentials to authenticate and authorize your access to the HeadBucket API operation, instead of using the temporary security credentials through the CreateSession API operation. Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf. Permissions + /// You can use this operation to determine if a bucket exists and if you have permission to access it. The action returns a 200 OK HTTP status code if the bucket exists and you have permission to access it. You can make a HeadBucket call on any bucket name to any Region in the partition, and regardless of the permissions on the bucket, you will receive a response header with the correct bucket location so that you can then make a proper, signed request to the appropriate Regional endpoint. If the bucket doesn't exist or you don't have permission to access it, the HEAD request returns a generic 400 Bad Request, 403 Forbidden, or 404 Not Found HTTP status code. A message body isn't included, so you can't determine the exception beyond these HTTP response codes. Authentication and authorization General purpose buckets - Request to public buckets that grant the s3:ListBucket permission publicly do not need to be signed. All other HeadBucket requests must be authenticated and signed by using IAM credentials (access key ID and secret access key for the IAM identities). All headers with the x-amz- prefix, including x-amz-copy-source, must be signed. For more information, see [REST Authentication](https://docs.aws.amazon.com/AmazonS3/latest/dev/RESTAuthentication.html). Directory buckets - You must use IAM credentials to authenticate and authorize your access to the HeadBucket API operation, instead of using the temporary security credentials through the CreateSession API operation. Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf. Permissions /// /// * General purpose bucket permissions - To use this operation, you must have permissions to perform the s3:ListBucket action. The bucket owner has this permission by default and can grant this permission to others. For more information about permissions, see [Managing access permissions to your Amazon S3 resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html) in the Amazon S3 User Guide. /// /// * Directory bucket permissions - You must have the s3express:CreateSession permission in the Action element of a policy. By default, the session is in the ReadWrite mode. If you want to restrict the access, you can explicitly set the s3express:SessionMode condition key to ReadOnly on the bucket. For more information about example bucket policies, see [Example bucket policies for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-example-bucket-policies.html) and [Amazon Web Services Identity and Access Management (IAM) identity-based policies for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam-identity-policies.html) in the Amazon S3 User Guide. /// /// - /// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. + /// HTTP Host header syntax Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `HeadBucketInput`) /// @@ -5231,6 +5398,9 @@ extension S3Client { /// /// * [GetObjectAttributes](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `HeadObjectInput`) /// /// - Returns: [no documentation found] (Type: `HeadObjectOutput`) @@ -5308,6 +5478,9 @@ extension S3Client { /// /// * [PutBucketAnalyticsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketAnalyticsConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListBucketAnalyticsConfigurationsInput`) /// /// - Returns: [no documentation found] (Type: `ListBucketAnalyticsConfigurationsOutput`) @@ -5380,6 +5553,9 @@ extension S3Client { /// /// * [GetBucketIntelligentTieringConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketIntelligentTieringConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListBucketIntelligentTieringConfigurationsInput`) /// /// - Returns: [no documentation found] (Type: `ListBucketIntelligentTieringConfigurationsOutput`) @@ -5444,7 +5620,7 @@ extension S3Client { /// Performs the `ListBucketInventoryConfigurations` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Returns a list of S3 Inventory configurations for the bucket. You can have up to 1,000 analytics configurations per bucket. This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page. To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) and [Managing Access Permissions to Your Amazon S3 Resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). For information about the Amazon S3 inventory feature, see [Amazon S3 Inventory](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) The following operations are related to ListBucketInventoryConfigurations: + /// This operation is not supported for directory buckets. Returns a list of S3 Inventory configurations for the bucket. You can have up to 1,000 inventory configurations per bucket. This action supports list pagination and does not return more than 100 configurations at a time. Always check the IsTruncated element in the response. If there are no more configurations to list, IsTruncated is set to false. If there are more configurations to list, IsTruncated is set to true, and there is a value in NextContinuationToken. You use the NextContinuationToken value to continue the pagination of the list by passing the value in continuation-token in the request to GET the next page. To use this operation, you must have permissions to perform the s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The bucket owner can grant this permission to others. For more information about permissions, see [Permissions Related to Bucket Subresource Operations](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources) and [Managing Access Permissions to Your Amazon S3 Resources](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-access-control.html). For information about the Amazon S3 inventory feature, see [Amazon S3 Inventory](https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html) The following operations are related to ListBucketInventoryConfigurations: /// /// * [GetBucketInventoryConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketInventoryConfiguration.html) /// @@ -5452,6 +5628,9 @@ extension S3Client { /// /// * [PutBucketInventoryConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketInventoryConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListBucketInventoryConfigurationsInput`) /// /// - Returns: [no documentation found] (Type: `ListBucketInventoryConfigurationsOutput`) @@ -5524,6 +5703,9 @@ extension S3Client { /// /// * [DeleteBucketMetricsConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketMetricsConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListBucketMetricsConfigurationsInput`) /// /// - Returns: [no documentation found] (Type: `ListBucketMetricsConfigurationsOutput`) @@ -5588,7 +5770,7 @@ extension S3Client { /// Performs the `ListBuckets` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action. For information about Amazon S3 buckets, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html). We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota greater than 10,000. + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM permission to use this operation, you must add the s3:ListAllMyBuckets policy action. For information about Amazon S3 buckets, see [Creating, configuring, and working with Amazon S3 buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/creating-buckets-s3.html). We strongly recommend using only paginated ListBuckets requests. Unpaginated ListBuckets requests are only supported for Amazon Web Services accounts set to the default general purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you must send paginated ListBuckets requests to list your account’s buckets. All unpaginated ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket quota greater than 10,000. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `ListBucketsInput`) /// @@ -5653,7 +5835,7 @@ extension S3Client { /// Performs the `ListDirectoryBuckets` operation on the `S3` service. /// - /// Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the request. For more information about directory buckets, see [Directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. Permissions You must have the s3express:ListAllMyDirectoryBuckets permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html) in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com. The BucketRegion response element is not part of the ListDirectoryBuckets Response Syntax. + /// Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the request. For more information about directory buckets, see [Directory buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/directory-buckets-overview.html) in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name . Virtual-hosted-style requests aren't supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. Permissions You must have the s3express:ListAllMyDirectoryBuckets permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see [Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-security-iam.html) in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The HTTP Host header syntax is s3express-control.region.amazonaws.com. The BucketRegion response element is not part of the ListDirectoryBuckets Response Syntax. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `ListDirectoryBucketsInput`) /// @@ -5718,7 +5900,7 @@ extension S3Client { /// Performs the `ListMultipartUploads` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted. Directory buckets - If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload operation to abort all the in-progress multipart uploads. The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response. Directory buckets - The upload-id-marker element and the NextUploadIdMarker element aren't supported by directory buckets. To list the additional multipart uploads, you only need to set the value of key-marker to the NextKeyMarker value from the previous response. For more information about multipart uploads, see [Uploading Objects Using Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html) in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. Permissions + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a multipart upload that has been initiated by the CreateMultipartUpload request, but has not yet been completed or aborted. Directory buckets - If multipart uploads in a directory bucket are in progress, you can't delete the bucket until all the in-progress multipart uploads are aborted or completed. To delete these in-progress multipart uploads, use the ListMultipartUploads operation to list the in-progress multipart uploads in the bucket and use the AbortMultipartUpload operation to abort all the in-progress multipart uploads. The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the response. The limit of 1,000 multipart uploads is also the default value. You can further limit the number of uploads in a response by specifying the max-uploads request parameter. If there are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the response returns an IsTruncated element with the value of true, a NextKeyMarker element, and a NextUploadIdMarker element. To list the remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In these requests, include two query parameters: key-marker and upload-id-marker. Set the value of key-marker to the NextKeyMarker value from the previous response. Similarly, set the value of upload-id-marker to the NextUploadIdMarker value from the previous response. Directory buckets - The upload-id-marker element and the NextUploadIdMarker element aren't supported by directory buckets. To list the additional multipart uploads, you only need to set the value of key-marker to the NextKeyMarker value from the previous response. For more information about multipart uploads, see [Uploading Objects Using Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html) in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. Permissions /// /// * General purpose bucket permissions - For information about permissions required to use the multipart upload API, see [Multipart Upload and Permissions](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) in the Amazon S3 User Guide. /// @@ -5751,6 +5933,9 @@ extension S3Client { /// /// * [AbortMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListMultipartUploadsInput`) /// /// - Returns: [no documentation found] (Type: `ListMultipartUploadsOutput`) @@ -5815,7 +6000,7 @@ extension S3Client { /// Performs the `ListObjectVersions` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions. To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. To use this operation, you must have READ access to the bucket. The following operations are related to ListObjectVersions: + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns metadata about all versions of the objects in a bucket. You can also use request parameters as selection criteria to return metadata about a subset of all the object versions. To use this operation, you must have permission to perform the s3:ListBucketVersions action. Be aware of the name difference. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. To use this operation, you must have READ access to the bucket. The following operations are related to ListObjectVersions: /// /// * [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) /// @@ -5825,6 +6010,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListObjectVersionsInput`) /// /// - Returns: [no documentation found] (Type: `ListObjectVersionsOutput`) @@ -5889,7 +6077,7 @@ extension S3Client { /// Performs the `ListObjects` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately. This action has been revised. We recommend that you use the newer version, [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects. The following operations are related to ListObjects: + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Be sure to design your application to parse the contents of the response and handle it appropriately. This action has been revised. We recommend that you use the newer version, [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html), when developing applications. For backward compatibility, Amazon S3 continues to support ListObjects. The following operations are related to ListObjects: /// /// * [ListObjectsV2](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjectsV2.html) /// @@ -5901,6 +6089,9 @@ extension S3Client { /// /// * [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListObjectsInput`) /// /// - Returns: [no documentation found] (Type: `ListObjectsOutput`) @@ -5970,7 +6161,7 @@ extension S3Client { /// Performs the `ListObjectsV2` operation on the `S3` service. /// - /// Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. For more information about listing objects, see [Listing object keys programmatically](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html) in the Amazon S3 User Guide. To get a list of your buckets, see [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html). + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the request parameters as selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or invalid XML. Make sure to design your application to parse the contents of the response and handle it appropriately. For more information about listing objects, see [Listing object keys programmatically](https://docs.aws.amazon.com/AmazonS3/latest/userguide/ListingKeysUsingAPIs.html) in the Amazon S3 User Guide. To get a list of your buckets, see [ListBuckets](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBuckets.html). /// /// * General purpose bucket - For general purpose buckets, ListObjectsV2 doesn't return prefixes that are related only to in-progress multipart uploads. /// @@ -6001,6 +6192,9 @@ extension S3Client { /// /// * [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListObjectsV2Input`) /// /// - Returns: [no documentation found] (Type: `ListObjectsV2Output`) @@ -6070,7 +6264,7 @@ extension S3Client { /// Performs the `ListParts` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Lists the parts that have been uploaded for a specific multipart upload. To use this operation, you must provide the upload ID in the request. You obtain this uploadID by sending the initiate multipart upload request through [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html). The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000 parts is also the default value. You can restrict the number of parts in a response by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response. For more information on multipart uploads, see [Uploading Objects Using Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html) in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. Permissions + /// End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Lists the parts that have been uploaded for a specific multipart upload. To use this operation, you must provide the upload ID in the request. You obtain this uploadID by sending the initiate multipart upload request through [CreateMultipartUpload](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateMultipartUpload.html). The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000 parts is also the default value. You can restrict the number of parts in a response by specifying the max-parts request parameter. If your multipart upload consists of more than 1,000 parts, the response returns an IsTruncated field with the value of true, and a NextPartNumberMarker element. To list remaining uploaded parts, in subsequent ListParts requests, include the part-number-marker query string parameter and set its value to the NextPartNumberMarker field value from the previous response. For more information on multipart uploads, see [Uploading Objects Using Multipart Upload](https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html) in the Amazon S3 User Guide. Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name . Path-style requests are not supported. For more information about endpoints in Availability Zones, see [Regional and Zonal endpoints for directory buckets in Availability Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/endpoint-directory-buckets-AZ.html) in the Amazon S3 User Guide. For more information about endpoints in Local Zones, see [Concepts for directory buckets in Local Zones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-lzs-for-directory-buckets.html) in the Amazon S3 User Guide. Permissions /// /// * General purpose bucket permissions - For information about permissions required to use the multipart upload API, see [Multipart Upload and Permissions](https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuAndPermissions.html) in the Amazon S3 User Guide. If the upload was created using server-side encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have permission to the kms:Decrypt action for the ListParts request to succeed. /// @@ -6091,6 +6285,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `ListPartsInput`) /// /// - Returns: [no documentation found] (Type: `ListPartsOutput`) @@ -6168,6 +6365,9 @@ extension S3Client { /// /// * [CreateBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketAccelerateConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketAccelerateConfigurationOutput`) @@ -6236,7 +6436,7 @@ extension S3Client { /// Performs the `PutBucketAcl` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Sets the permissions on an existing bucket using access control lists (ACL). For more information, see [Using ACLs](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). To set the ACL of a bucket, you must have the WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). This operation is not supported for directory buckets. Sets the permissions on an existing bucket using access control lists (ACL). For more information, see [Using ACLs](https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html). To set the ACL of a bucket, you must have the WRITE_ACP permission. You can use one of the following two ways to set a bucket's permissions: /// /// * Specify the ACL in the request body /// @@ -6314,6 +6514,9 @@ extension S3Client { /// /// * [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketAclInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketAclOutput`) @@ -6423,6 +6626,9 @@ extension S3Client { /// /// * [ListBucketAnalyticsConfigurations](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketAnalyticsConfigurations.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketAnalyticsConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketAnalyticsConfigurationOutput`) @@ -6507,6 +6713,9 @@ extension S3Client { /// /// * [RESTOPTIONSobject](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTOPTIONSobject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketCorsInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketCorsOutput`) @@ -6615,6 +6824,9 @@ extension S3Client { /// /// * [DeleteBucketEncryption](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketEncryption.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketEncryptionInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketEncryptionOutput`) @@ -6692,7 +6904,7 @@ extension S3Client { /// * [ListBucketIntelligentTieringConfigurations](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketIntelligentTieringConfigurations.html) /// /// - /// You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access tier. PutBucketIntelligentTieringConfiguration has the following special errors: HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Cause: You are not the owner of the specified bucket, or you do not have the s3:PutIntelligentTieringConfiguration bucket permission to set the configuration on the bucket. + /// You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access tier. PutBucketIntelligentTieringConfiguration has the following special errors: HTTP 400 Bad Request Error Code: InvalidArgument Cause: Invalid Argument HTTP 400 Bad Request Error Code: TooManyConfigurations Cause: You are attempting to create a new configuration but have already reached the 1,000-configuration limit. HTTP 403 Forbidden Error Cause: You are not the owner of the specified bucket, or you do not have the s3:PutIntelligentTieringConfiguration bucket permission to set the configuration on the bucket. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `PutBucketIntelligentTieringConfigurationInput`) /// @@ -6769,6 +6981,9 @@ extension S3Client { /// /// * [ListBucketInventoryConfigurations](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListBucketInventoryConfigurations.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketInventoryConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketInventoryConfigurationOutput`) @@ -6870,6 +7085,9 @@ extension S3Client { /// /// * [DeleteBucketLifecycle](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketLifecycle.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketLifecycleConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketLifecycleConfigurationOutput`) @@ -6938,7 +7156,7 @@ extension S3Client { /// Performs the `PutBucketLogging` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. This operation is not supported for directory buckets. Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner. The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs. If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see [Permissions for server access log delivery](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) in the Amazon S3 User Guide. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (by using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in [ Enabling Amazon S3 server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html) in the Amazon S3 User Guide. + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). This operation is not supported for directory buckets. Set the logging parameters for a bucket and to specify permissions for who can view and modify the logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set the logging status of a bucket, you must be the bucket owner. The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee request element to grant access to other people. The Permissions request element specifies the kind of access the grantee has to the logs. If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object Ownership, you can't use the Grantee request element to grant access to others. Permissions can only be granted using policies. For more information, see [Permissions for server access log delivery](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general) in the Amazon S3 User Guide. Grantee Values You can specify the person (grantee) to whom you're assigning access rights (by using request elements) in the following ways. For examples of how to specify these grantee values in JSON format, see the Amazon Web Services CLI example in [ Enabling Amazon S3 server access logging](https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html) in the Amazon S3 User Guide. /// /// * By the person's ID: <>ID<><>GranteesEmail<> DisplayName is optional and ignored in the request. /// @@ -6957,6 +7175,9 @@ extension S3Client { /// /// * [GetBucketLogging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketLogging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketLoggingInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketLoggingOutput`) @@ -7042,6 +7263,12 @@ extension S3Client { /// /// * HTTP Status Code: HTTP 400 Bad Request /// + /// + /// + /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketMetricsConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketMetricsConfigurationOutput`) @@ -7113,6 +7340,9 @@ extension S3Client { /// /// * [GetBucketNotificationConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketNotificationConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketNotificationConfigurationOutput`) @@ -7186,6 +7416,9 @@ extension S3Client { /// /// * [DeleteBucketOwnershipControls] /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketOwnershipControlsInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketOwnershipControlsOutput`) @@ -7267,6 +7500,9 @@ extension S3Client { /// /// * [DeleteBucket](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucket.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketPolicyInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketPolicyOutput`) @@ -7341,6 +7577,9 @@ extension S3Client { /// /// * [DeleteBucketReplication](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketReplication.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketReplicationInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketReplicationOutput`) @@ -7415,6 +7654,9 @@ extension S3Client { /// /// * [GetBucketRequestPayment](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketRequestPayment.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketRequestPaymentInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketRequestPaymentOutput`) @@ -7500,6 +7742,9 @@ extension S3Client { /// /// * [DeleteBucketTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteBucketTagging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketTaggingInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketTaggingOutput`) @@ -7576,6 +7821,9 @@ extension S3Client { /// /// * [GetBucketVersioning](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutBucketVersioningInput`) /// /// - Returns: [no documentation found] (Type: `PutBucketVersioningOutput`) @@ -7690,7 +7938,7 @@ extension S3Client { /// * HttpRedirectCode /// /// - /// Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see [Configuring an Object Redirect](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html) in the Amazon S3 User Guide. The maximum request length is limited to 128 KB. + /// Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50 routing rules, you can use object redirect. For more information, see [Configuring an Object Redirect](https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html) in the Amazon S3 User Guide. The maximum request length is limited to 128 KB. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `PutBucketWebsiteInput`) /// @@ -7760,7 +8008,7 @@ extension S3Client { /// Performs the `PutObject` operation on the `S3` service. /// - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Adds an object to a bucket. + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). Adds an object to a bucket. /// /// * Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values. /// @@ -7807,6 +8055,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutObjectInput`) /// /// - Returns: [no documentation found] (Type: `PutObjectOutput`) @@ -7889,7 +8140,7 @@ extension S3Client { /// Performs the `PutObjectAcl` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an object. For more information, see [What permissions can I grant?](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions) in the Amazon S3 User Guide. This functionality is not supported for Amazon S3 on Outposts. Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see [Access Control List (ACL) Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see [Controlling object ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the Amazon S3 User Guide. Permissions You can set access permissions using one of the following methods: + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). This operation is not supported for directory buckets. Uses the acl subresource to set the access control list (ACL) permissions for a new or existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of an object. For more information, see [What permissions can I grant?](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#permissions) in the Amazon S3 User Guide. This functionality is not supported for Amazon S3 on Outposts. Depending on your application needs, you can choose to set the ACL on an object using either the request body or the headers. For example, if you have an existing application that updates a bucket ACL using the request body, you can continue to use that approach. For more information, see [Access Control List (ACL) Overview](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html) in the Amazon S3 User Guide. If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions. You must use policies to grant access to your bucket and the objects in it. Requests to set ACLs or update ACLs fail and return the AccessControlListNotSupported error code. Requests to read ACLs are still supported. For more information, see [Controlling object ownership](https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html) in the Amazon S3 User Guide. Permissions You can set access permissions using one of the following methods: /// /// * Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and permissions. Specify the canned ACL name as the value of x-amz-acl. If you use this header, you cannot use other access control-specific headers in your request. For more information, see [Canned ACL](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL). /// @@ -7958,6 +8209,9 @@ extension S3Client { /// /// * [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutObjectAclInput`) /// /// - Returns: [no documentation found] (Type: `PutObjectAclOutput`) @@ -8031,7 +8285,7 @@ extension S3Client { /// Performs the `PutObjectLegalHold` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Applies a legal hold configuration to the specified object. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). This functionality is not supported for Amazon S3 on Outposts. + /// This operation is not supported for directory buckets. Applies a legal hold configuration to the specified object. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). This functionality is not supported for Amazon S3 on Outposts. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `PutObjectLegalHoldInput`) /// @@ -8109,6 +8363,9 @@ extension S3Client { /// /// * You can enable Object Lock for new or existing buckets. For more information, see [Configuring Object Lock](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lock-configure.html). /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutObjectLockConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `PutObjectLockConfigurationOutput`) @@ -8177,7 +8434,7 @@ extension S3Client { /// Performs the `PutObjectRetention` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Places an Object Retention configuration on an object. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). Users or accounts require the s3:PutObjectRetention permission in order to place an Object Retention configuration on objects. Bypassing a Governance Retention configuration requires the s3:BypassGovernanceRetention permission. This functionality is not supported for Amazon S3 on Outposts. + /// This operation is not supported for directory buckets. Places an Object Retention configuration on an object. For more information, see [Locking Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html). Users or accounts require the s3:PutObjectRetention permission in order to place an Object Retention configuration on objects. Bypassing a Governance Retention configuration requires the s3:BypassGovernanceRetention permission. This functionality is not supported for Amazon S3 on Outposts. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `PutObjectRetentionInput`) /// @@ -8264,6 +8521,9 @@ extension S3Client { /// /// * [DeleteObjectTagging](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutObjectTaggingInput`) /// /// - Returns: [no documentation found] (Type: `PutObjectTaggingOutput`) @@ -8342,6 +8602,9 @@ extension S3Client { /// /// * [Using Amazon S3 Block Public Access](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `PutPublicAccessBlockInput`) /// /// - Returns: [no documentation found] (Type: `PutPublicAccessBlockOutput`) @@ -8415,7 +8678,7 @@ extension S3Client { /// * If-None-Match - Renames the object only if an object with the specified name does not already exist in the directory bucket. If you don't want to overwrite an existing object, you can add the If-None-Match conditional header with the value ‘*’ in the RenameObject request. Amazon S3 then returns a 412 Precondition Failed error if the object with the specified name already exists. For more information, see [RFC 7232](https://datatracker.ietf.org/doc/rfc7232/). /// /// - /// Permissions To grant access to the RenameObject operation on a directory bucket, we recommend that you use the CreateSession operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the directory bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including refreshing the session token automatically to avoid service interruptions when a session expires. In your bucket policy, you can specify the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. A ReadWrite session is required for executing all the Zonal endpoint API operations, including RenameObject. For more information about authorization, see [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html). To learn more about Zonal endpoint API operations, see [Authorizing Zonal endpoint API operations with CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html) in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. + /// Permissions To grant access to the RenameObject operation on a directory bucket, we recommend that you use the CreateSession operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the directory bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including refreshing the session token automatically to avoid service interruptions when a session expires. In your bucket policy, you can specify the s3express:SessionMode condition key to control who can create a ReadWrite or ReadOnly session. A ReadWrite session is required for executing all the Zonal endpoint API operations, including RenameObject. For more information about authorization, see [CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateSession.html). To learn more about Zonal endpoint API operations, see [Authorizing Zonal endpoint API operations with CreateSession](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-express-create-session.html) in the Amazon S3 User Guide. HTTP Host header syntax Directory buckets - The HTTP Host header syntax is Bucket-name.s3express-zone-id.region-code.amazonaws.com. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `RenameObjectInput`) /// @@ -8551,6 +8814,9 @@ extension S3Client { /// /// * [GetBucketNotificationConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketNotificationConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `RestoreObjectInput`) /// /// - Returns: [no documentation found] (Type: `RestoreObjectOutput`) @@ -8650,6 +8916,9 @@ extension S3Client { /// /// * [PutBucketLifecycleConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: Learn Amazon S3 Select is no longer available to new customers. Existing customers of Amazon S3 Select can continue to use the feature as usual. [Learn more](http://aws.amazon.com/blogs/storage/how-to-optimize-querying-your-data-in-amazon-s3/) Request to filter the contents of an Amazon S3 object based on a simple Structured Query Language (SQL) statement. In the request, along with the SQL expression, you must specify a data serialization format (JSON or CSV) of the object. Amazon S3 uses this to parse object data into records. It returns only records that match the specified SQL expression. You must also specify the data serialization format for the response. For more information, see [S3Select API Documentation](https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectSELECTContent.html). (Type: `SelectObjectContentInput`) /// /// - Returns: [no documentation found] (Type: `SelectObjectContentOutput`) @@ -8746,6 +9015,9 @@ extension S3Client { /// /// * [UpdateBucketMetadataJournalTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataJournalTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `UpdateBucketMetadataInventoryTableConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `UpdateBucketMetadataInventoryTableConfigurationOutput`) @@ -8824,6 +9096,9 @@ extension S3Client { /// /// * [UpdateBucketMetadataInventoryTableConfiguration](https://docs.aws.amazon.com/AmazonS3/latest/API/API_UpdateBucketMetadataInventoryTableConfiguration.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `UpdateBucketMetadataJournalTableConfigurationInput`) /// /// - Returns: [no documentation found] (Type: `UpdateBucketMetadataJournalTableConfigurationOutput`) @@ -8941,6 +9216,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `UploadPartInput`) /// /// - Returns: [no documentation found] (Type: `UploadPartOutput`) @@ -9074,6 +9352,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: [no documentation found] (Type: `UploadPartCopyInput`) /// /// - Returns: [no documentation found] (Type: `UploadPartCopyOutput`) @@ -9138,7 +9419,7 @@ extension S3Client { /// Performs the `WriteGetObjectResponse` operation on the `S3` service. /// - /// This operation is not supported for directory buckets. Passes transformed objects to a GetObject operation when using Object Lambda access points. For information about Object Lambda access points, see [Transforming objects with Object Lambda access points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html) in the Amazon S3 User Guide. This operation supports metadata that can be returned by [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), in addition to RequestRoute, RequestToken, StatusCode, ErrorCode, and ErrorMessage. The GetObject response metadata is supported so that the WriteGetObjectResponse caller, typically an Lambda function, can provide the same metadata when it internally invokes GetObject. When WriteGetObjectResponse is called by a customer-owned Lambda function, the metadata returned to the end user GetObject call might differ from what Amazon S3 would normally return. You can include any number of metadata headers. When including a metadata header, it should be prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header: MyCustomValue. The primary use case for this is to forward GetObject metadata. Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact personally identifiable information (PII) and decompress S3 objects. These Lambda functions are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your Object Lambda access point. Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket. Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket. Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP. For information on how to view and use these functions, see [Using Amazon Web Services built Lambda functions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html) in the Amazon S3 User Guide. + /// This operation is not supported for directory buckets. Passes transformed objects to a GetObject operation when using Object Lambda access points. For information about Object Lambda access points, see [Transforming objects with Object Lambda access points](https://docs.aws.amazon.com/AmazonS3/latest/userguide/transforming-objects.html) in the Amazon S3 User Guide. This operation supports metadata that can be returned by [GetObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html), in addition to RequestRoute, RequestToken, StatusCode, ErrorCode, and ErrorMessage. The GetObject response metadata is supported so that the WriteGetObjectResponse caller, typically an Lambda function, can provide the same metadata when it internally invokes GetObject. When WriteGetObjectResponse is called by a customer-owned Lambda function, the metadata returned to the end user GetObject call might differ from what Amazon S3 would normally return. You can include any number of metadata headers. When including a metadata header, it should be prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header: MyCustomValue. The primary use case for this is to forward GetObject metadata. Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and redact personally identifiable information (PII) and decompress S3 objects. These Lambda functions are available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services Management Console when you create your Object Lambda access point. Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically detects personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket. Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language processing (NLP) service using machine learning to find insights and relationships in text. It automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit card numbers, and social security numbers from documents in your Amazon S3 bucket. Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy, zlib, zstandard and ZIP. For information on how to view and use these functions, see [Using Amazon Web Services built Lambda functions](https://docs.aws.amazon.com/AmazonS3/latest/userguide/olap-examples.html) in the Amazon S3 User Guide. You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. /// /// - Parameter input: [no documentation found] (Type: `WriteGetObjectResponseInput`) /// @@ -9245,6 +9526,9 @@ extension S3Client { /// /// * [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: The input object for GetObject operation used to construct request. /// - Parameter expiration: The duration (in seconds) the presigned request will be valid for. /// @@ -9263,7 +9547,7 @@ extension S3Client { /// The presigned URL will be valid for the given expiration, in seconds. /// /// Below is the documentation for PutObject operation: - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Adds an object to a bucket. + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). Adds an object to a bucket. /// /// * Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values. /// @@ -9310,6 +9594,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: The input object for PutObject operation used to construct request. /// - Parameter expiration: The duration (in seconds) the presigned request will be valid for. /// @@ -9377,6 +9664,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: The input object for UploadPart operation used to construct request. /// - Parameter expiration: The duration (in seconds) the presigned request will be valid for. /// @@ -9430,6 +9720,9 @@ extension S3Client { /// /// * [GetObjectAcl](https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: The input object for GetObject operation used to construct request. /// - Parameter expiration: The duration (in seconds) the presigned request will be valid for. /// @@ -9448,7 +9741,7 @@ extension S3Client { /// The presigned request will be valid for the given expiration, in seconds. /// /// Below is the documentation for PutObject operation: - /// End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, and REST API. However, you will no longer be able to create new Email Grantee ACLs. This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region. Adds an object to a bucket. + /// End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, the request will receive an HTTP 405 (Method Not Allowed) error. This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo). Adds an object to a bucket. /// /// * Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire object to the bucket. You cannot use PutObject to only update a single piece of metadata for an existing object. You must put the entire object with updated metadata if you want to update some values. /// @@ -9495,6 +9788,9 @@ extension S3Client { /// /// * [DeleteObject](https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: The input object for PutObject operation used to construct request. /// - Parameter expiration: The duration (in seconds) the presigned request will be valid for. /// @@ -9562,6 +9858,9 @@ extension S3Client { /// /// * [ListMultipartUploads](https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html) /// + /// + /// You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt. + /// /// - Parameter input: The input object for UploadPart operation used to construct request. /// - Parameter expiration: The duration (in seconds) the presigned request will be valid for. /// diff --git a/Sources/Services/AWSS3Control/Sources/AWSS3Control/S3ControlClient.swift b/Sources/Services/AWSS3Control/Sources/AWSS3Control/S3ControlClient.swift index ac2e4ac6ef5..ff17e611c79 100644 --- a/Sources/Services/AWSS3Control/Sources/AWSS3Control/S3ControlClient.swift +++ b/Sources/Services/AWSS3Control/Sources/AWSS3Control/S3ControlClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class S3ControlClient: ClientRuntime.Client { +public class S3ControlClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "S3ControlClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: S3ControlClient.S3ControlClientConfiguration let serviceName = "S3 Control" diff --git a/Sources/Services/AWSS3Outposts/Sources/AWSS3Outposts/S3OutpostsClient.swift b/Sources/Services/AWSS3Outposts/Sources/AWSS3Outposts/S3OutpostsClient.swift index 5d480e3ac4b..ddda9ec2de7 100644 --- a/Sources/Services/AWSS3Outposts/Sources/AWSS3Outposts/S3OutpostsClient.swift +++ b/Sources/Services/AWSS3Outposts/Sources/AWSS3Outposts/S3OutpostsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class S3OutpostsClient: ClientRuntime.Client { +public class S3OutpostsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "S3OutpostsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: S3OutpostsClient.S3OutpostsClientConfiguration let serviceName = "S3Outposts" diff --git a/Sources/Services/AWSS3Tables/Sources/AWSS3Tables/S3TablesClient.swift b/Sources/Services/AWSS3Tables/Sources/AWSS3Tables/S3TablesClient.swift index defc2380d40..14567cf2998 100644 --- a/Sources/Services/AWSS3Tables/Sources/AWSS3Tables/S3TablesClient.swift +++ b/Sources/Services/AWSS3Tables/Sources/AWSS3Tables/S3TablesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class S3TablesClient: ClientRuntime.Client { +public class S3TablesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "S3TablesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: S3TablesClient.S3TablesClientConfiguration let serviceName = "S3Tables" diff --git a/Sources/Services/AWSS3Vectors/Sources/AWSS3Vectors/S3VectorsClient.swift b/Sources/Services/AWSS3Vectors/Sources/AWSS3Vectors/S3VectorsClient.swift index bfc204b961e..032d0aa2c91 100644 --- a/Sources/Services/AWSS3Vectors/Sources/AWSS3Vectors/S3VectorsClient.swift +++ b/Sources/Services/AWSS3Vectors/Sources/AWSS3Vectors/S3VectorsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class S3VectorsClient: ClientRuntime.Client { +public class S3VectorsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "S3VectorsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: S3VectorsClient.S3VectorsClientConfiguration let serviceName = "S3Vectors" diff --git a/Sources/Services/AWSSES/Sources/AWSSES/SESClient.swift b/Sources/Services/AWSSES/Sources/AWSSES/SESClient.swift index 8c8a1aa79af..cf51d3acfcc 100644 --- a/Sources/Services/AWSSES/Sources/AWSSES/SESClient.swift +++ b/Sources/Services/AWSSES/Sources/AWSSES/SESClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SESClient: ClientRuntime.Client { +public class SESClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SESClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SESClient.SESClientConfiguration let serviceName = "SES" diff --git a/Sources/Services/AWSSESv2/Sources/AWSSESv2/SESv2Client.swift b/Sources/Services/AWSSESv2/Sources/AWSSESv2/SESv2Client.swift index b8235e7e557..ce55321d123 100644 --- a/Sources/Services/AWSSESv2/Sources/AWSSESv2/SESv2Client.swift +++ b/Sources/Services/AWSSESv2/Sources/AWSSESv2/SESv2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SESv2Client: ClientRuntime.Client { +public class SESv2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "SESv2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SESv2Client.SESv2ClientConfiguration let serviceName = "SESv2" diff --git a/Sources/Services/AWSSFN/Sources/AWSSFN/SFNClient.swift b/Sources/Services/AWSSFN/Sources/AWSSFN/SFNClient.swift index 92956497b98..8e3c6f94553 100644 --- a/Sources/Services/AWSSFN/Sources/AWSSFN/SFNClient.swift +++ b/Sources/Services/AWSSFN/Sources/AWSSFN/SFNClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SFNClient: ClientRuntime.Client { +public class SFNClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SFNClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SFNClient.SFNClientConfiguration let serviceName = "SFN" diff --git a/Sources/Services/AWSSNS/Sources/AWSSNS/SNSClient.swift b/Sources/Services/AWSSNS/Sources/AWSSNS/SNSClient.swift index 560bb76c700..fe912fc629e 100644 --- a/Sources/Services/AWSSNS/Sources/AWSSNS/SNSClient.swift +++ b/Sources/Services/AWSSNS/Sources/AWSSNS/SNSClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SNSClient: ClientRuntime.Client { +public class SNSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SNSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SNSClient.SNSClientConfiguration let serviceName = "SNS" diff --git a/Sources/Services/AWSSQS/Sources/AWSSQS/SQSClient.swift b/Sources/Services/AWSSQS/Sources/AWSSQS/SQSClient.swift index a692972194e..ceb1b776bed 100644 --- a/Sources/Services/AWSSQS/Sources/AWSSQS/SQSClient.swift +++ b/Sources/Services/AWSSQS/Sources/AWSSQS/SQSClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SQSClient: ClientRuntime.Client { +public class SQSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SQSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SQSClient.SQSClientConfiguration let serviceName = "SQS" diff --git a/Sources/Services/AWSSSM/Sources/AWSSSM/SSMClient.swift b/Sources/Services/AWSSSM/Sources/AWSSSM/SSMClient.swift index dcbf3ce1837..d57d1ce3e47 100644 --- a/Sources/Services/AWSSSM/Sources/AWSSSM/SSMClient.swift +++ b/Sources/Services/AWSSSM/Sources/AWSSSM/SSMClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSMClient: ClientRuntime.Client { +public class SSMClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSMClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSMClient.SSMClientConfiguration let serviceName = "SSM" diff --git a/Sources/Services/AWSSSMContacts/Sources/AWSSSMContacts/SSMContactsClient.swift b/Sources/Services/AWSSSMContacts/Sources/AWSSSMContacts/SSMContactsClient.swift index 4478cea0890..4d9da56a2c1 100644 --- a/Sources/Services/AWSSSMContacts/Sources/AWSSSMContacts/SSMContactsClient.swift +++ b/Sources/Services/AWSSSMContacts/Sources/AWSSSMContacts/SSMContactsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSMContactsClient: ClientRuntime.Client { +public class SSMContactsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSMContactsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSMContactsClient.SSMContactsClientConfiguration let serviceName = "SSM Contacts" diff --git a/Sources/Services/AWSSSMGuiConnect/Sources/AWSSSMGuiConnect/SSMGuiConnectClient.swift b/Sources/Services/AWSSSMGuiConnect/Sources/AWSSSMGuiConnect/SSMGuiConnectClient.swift index 01a3213287f..47fac2d6da7 100644 --- a/Sources/Services/AWSSSMGuiConnect/Sources/AWSSSMGuiConnect/SSMGuiConnectClient.swift +++ b/Sources/Services/AWSSSMGuiConnect/Sources/AWSSSMGuiConnect/SSMGuiConnectClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSMGuiConnectClient: ClientRuntime.Client { +public class SSMGuiConnectClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSMGuiConnectClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSMGuiConnectClient.SSMGuiConnectClientConfiguration let serviceName = "SSM GuiConnect" diff --git a/Sources/Services/AWSSSMIncidents/Sources/AWSSSMIncidents/SSMIncidentsClient.swift b/Sources/Services/AWSSSMIncidents/Sources/AWSSSMIncidents/SSMIncidentsClient.swift index 5b2bb2b50c0..4458f66519f 100644 --- a/Sources/Services/AWSSSMIncidents/Sources/AWSSSMIncidents/SSMIncidentsClient.swift +++ b/Sources/Services/AWSSSMIncidents/Sources/AWSSSMIncidents/SSMIncidentsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSMIncidentsClient: ClientRuntime.Client { +public class SSMIncidentsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSMIncidentsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSMIncidentsClient.SSMIncidentsClientConfiguration let serviceName = "SSM Incidents" diff --git a/Sources/Services/AWSSSMQuickSetup/Sources/AWSSSMQuickSetup/SSMQuickSetupClient.swift b/Sources/Services/AWSSSMQuickSetup/Sources/AWSSSMQuickSetup/SSMQuickSetupClient.swift index 81a1a6b94f7..43c42a64524 100644 --- a/Sources/Services/AWSSSMQuickSetup/Sources/AWSSSMQuickSetup/SSMQuickSetupClient.swift +++ b/Sources/Services/AWSSSMQuickSetup/Sources/AWSSSMQuickSetup/SSMQuickSetupClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSMQuickSetupClient: ClientRuntime.Client { +public class SSMQuickSetupClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSMQuickSetupClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSMQuickSetupClient.SSMQuickSetupClientConfiguration let serviceName = "SSM QuickSetup" diff --git a/Sources/Services/AWSSSO/Sources/AWSSSO/SSOClient.swift b/Sources/Services/AWSSSO/Sources/AWSSSO/SSOClient.swift index b96a70fe9b9..bf8cebca609 100644 --- a/Sources/Services/AWSSSO/Sources/AWSSSO/SSOClient.swift +++ b/Sources/Services/AWSSSO/Sources/AWSSSO/SSOClient.swift @@ -30,7 +30,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -61,9 +61,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSOClient: ClientRuntime.Client { +public class SSOClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSOClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSOClient.SSOClientConfiguration let serviceName = "SSO" diff --git a/Sources/Services/AWSSSOAdmin/Sources/AWSSSOAdmin/SSOAdminClient.swift b/Sources/Services/AWSSSOAdmin/Sources/AWSSSOAdmin/SSOAdminClient.swift index 2eaf2786910..60d1d96abc0 100644 --- a/Sources/Services/AWSSSOAdmin/Sources/AWSSSOAdmin/SSOAdminClient.swift +++ b/Sources/Services/AWSSSOAdmin/Sources/AWSSSOAdmin/SSOAdminClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSOAdminClient: ClientRuntime.Client { +public class SSOAdminClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSOAdminClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSOAdminClient.SSOAdminClientConfiguration let serviceName = "SSO Admin" diff --git a/Sources/Services/AWSSSOOIDC/Sources/AWSSSOOIDC/SSOOIDCClient.swift b/Sources/Services/AWSSSOOIDC/Sources/AWSSSOOIDC/SSOOIDCClient.swift index 09855aa6bc5..c94482ca3b1 100644 --- a/Sources/Services/AWSSSOOIDC/Sources/AWSSSOOIDC/SSOOIDCClient.swift +++ b/Sources/Services/AWSSSOOIDC/Sources/AWSSSOOIDC/SSOOIDCClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SSOOIDCClient: ClientRuntime.Client { +public class SSOOIDCClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SSOOIDCClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SSOOIDCClient.SSOOIDCClientConfiguration let serviceName = "SSO OIDC" diff --git a/Sources/Services/AWSSTS/Sources/AWSSTS/STSClient.swift b/Sources/Services/AWSSTS/Sources/AWSSTS/STSClient.swift index 68028538766..37a1d07b0a3 100644 --- a/Sources/Services/AWSSTS/Sources/AWSSTS/STSClient.swift +++ b/Sources/Services/AWSSTS/Sources/AWSSTS/STSClient.swift @@ -36,7 +36,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ClientError import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -69,9 +69,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class STSClient: ClientRuntime.Client { +public class STSClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "STSClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: STSClient.STSClientConfiguration let serviceName = "STS" diff --git a/Sources/Services/AWSSWF/Sources/AWSSWF/Endpoints.swift b/Sources/Services/AWSSWF/Sources/AWSSWF/Endpoints.swift index c21ff381e6c..1918ce9e07f 100644 --- a/Sources/Services/AWSSWF/Sources/AWSSWF/Endpoints.swift +++ b/Sources/Services/AWSSWF/Sources/AWSSWF/Endpoints.swift @@ -59,7 +59,7 @@ public protocol EndpointResolver { typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-us-gov\"]}],\"endpoint\":{\"url\":\"https://swf.{Region}.amazonaws.com\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" + private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"},\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-us-gov\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://swf.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws-us-gov\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"endpoint\":{\"url\":\"https://swf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://swf.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}],\"type\":\"tree\"}]}" init() throws { try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) diff --git a/Sources/Services/AWSSWF/Sources/AWSSWF/SWFClient.swift b/Sources/Services/AWSSWF/Sources/AWSSWF/SWFClient.swift index 87dc38c9adf..e7a373ff7d2 100644 --- a/Sources/Services/AWSSWF/Sources/AWSSWF/SWFClient.swift +++ b/Sources/Services/AWSSWF/Sources/AWSSWF/SWFClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SWFClient: ClientRuntime.Client { +public class SWFClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SWFClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SWFClient.SWFClientConfiguration let serviceName = "SWF" diff --git a/Sources/Services/AWSSWF/Tests/AWSSWFTests/EndpointResolverTest.swift b/Sources/Services/AWSSWF/Tests/AWSSWFTests/EndpointResolverTest.swift index ea199fb2a3d..2aa308a75c2 100644 --- a/Sources/Services/AWSSWF/Tests/AWSSWFTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSSWF/Tests/AWSSWFTests/EndpointResolverTest.swift @@ -21,11 +21,10 @@ class EndpointResolverTest: XCTestCase { SmithyTestUtil.TestInitializer.initialize() } - /// For region af-south-1 with FIPS disabled and DualStack disabled + /// For custom endpoint with region not set and fips disabled func testResolve1() throws { let endpointParams = EndpointParams( - region: "af-south-1", - useDualStack: false, + endpoint: "https://example.com", useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -36,57 +35,54 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.af-south-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-east-1 with FIPS disabled and DualStack disabled + /// For custom endpoint with fips enabled func testResolve2() throws { let endpointParams = EndpointParams( - region: "ap-east-1", - useDualStack: false, - useFIPS: false + endpoint: "https://example.com", + useFIPS: true ) let resolver = try DefaultEndpointResolver() - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) + XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in + switch error { + case ClientRuntime.EndpointError.unresolved(let message): + XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) + default: + XCTFail() + } + } } - /// For region ap-northeast-1 with FIPS disabled and DualStack disabled + /// For custom endpoint with fips disabled and dualstack enabled func testResolve3() throws { let endpointParams = EndpointParams( - region: "ap-northeast-1", - useDualStack: false, + endpoint: "https://example.com", + useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-northeast-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) + XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in + switch error { + case ClientRuntime.EndpointError.unresolved(let message): + XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) + default: + XCTFail() + } + } } - /// For region ap-northeast-2 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS enabled and DualStack enabled func testResolve4() throws { let endpointParams = EndpointParams( - region: "ap-northeast-2", - useDualStack: false, - useFIPS: false + region: "us-east-1", + useDualStack: true, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -96,17 +92,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-northeast-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-east-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-northeast-3 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS enabled and DualStack disabled func testResolve5() throws { let endpointParams = EndpointParams( - region: "ap-northeast-3", + region: "us-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -116,16 +112,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-northeast-3.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-south-1 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS disabled and DualStack enabled func testResolve6() throws { let endpointParams = EndpointParams( - region: "ap-south-1", - useDualStack: false, + region: "us-east-1", + useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -136,15 +132,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-south-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-east-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-southeast-1 with FIPS disabled and DualStack disabled + /// For region us-east-1 with FIPS disabled and DualStack disabled func testResolve7() throws { let endpointParams = EndpointParams( - region: "ap-southeast-1", + region: "us-east-1", useDualStack: false, useFIPS: false ) @@ -156,17 +152,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-southeast-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-east-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-southeast-2 with FIPS disabled and DualStack disabled + /// For region cn-northwest-1 with FIPS enabled and DualStack enabled func testResolve8() throws { let endpointParams = EndpointParams( - region: "ap-southeast-2", - useDualStack: false, - useFIPS: false + region: "cn-northwest-1", + useDualStack: true, + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -176,17 +172,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-southeast-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.cn-northwest-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ap-southeast-3 with FIPS disabled and DualStack disabled + /// For region cn-northwest-1 with FIPS enabled and DualStack disabled func testResolve9() throws { let endpointParams = EndpointParams( - region: "ap-southeast-3", + region: "cn-northwest-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -196,16 +192,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ap-southeast-3.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.cn-northwest-1.amazonaws.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region ca-central-1 with FIPS disabled and DualStack disabled + /// For region cn-northwest-1 with FIPS disabled and DualStack enabled func testResolve10() throws { let endpointParams = EndpointParams( - region: "ca-central-1", - useDualStack: false, + region: "cn-northwest-1", + useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -216,15 +212,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.ca-central-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.cn-northwest-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-central-1 with FIPS disabled and DualStack disabled + /// For region cn-northwest-1 with FIPS disabled and DualStack disabled func testResolve11() throws { let endpointParams = EndpointParams( - region: "eu-central-1", + region: "cn-northwest-1", useDualStack: false, useFIPS: false ) @@ -236,17 +232,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-central-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.cn-northwest-1.amazonaws.com.cn", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-north-1 with FIPS disabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS enabled and DualStack disabled func testResolve12() throws { let endpointParams = EndpointParams( - region: "eu-north-1", + region: "eusc-de-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -256,15 +252,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-north-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-south-1 with FIPS disabled and DualStack disabled + /// For region eusc-de-east-1 with FIPS disabled and DualStack disabled func testResolve13() throws { let endpointParams = EndpointParams( - region: "eu-south-1", + region: "eusc-de-east-1", useDualStack: false, useFIPS: false ) @@ -276,17 +272,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-south-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eusc-de-east-1.amazonaws.eu", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-west-1 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS enabled and DualStack disabled func testResolve14() throws { let endpointParams = EndpointParams( - region: "eu-west-1", + region: "us-iso-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -296,15 +292,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-west-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-west-2 with FIPS disabled and DualStack disabled + /// For region us-iso-east-1 with FIPS disabled and DualStack disabled func testResolve15() throws { let endpointParams = EndpointParams( - region: "eu-west-2", + region: "us-iso-east-1", useDualStack: false, useFIPS: false ) @@ -316,17 +312,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-west-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region eu-west-3 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS enabled and DualStack disabled func testResolve16() throws { let endpointParams = EndpointParams( - region: "eu-west-3", + region: "us-isob-east-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -336,15 +332,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-west-3.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region me-south-1 with FIPS disabled and DualStack disabled + /// For region us-isob-east-1 with FIPS disabled and DualStack disabled func testResolve17() throws { let endpointParams = EndpointParams( - region: "me-south-1", + region: "us-isob-east-1", useDualStack: false, useFIPS: false ) @@ -356,17 +352,17 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.me-south-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region sa-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled func testResolve18() throws { let endpointParams = EndpointParams( - region: "sa-east-1", + region: "eu-isoe-west-1", useDualStack: false, - useFIPS: false + useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -376,15 +372,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.sa-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS disabled and DualStack disabled + /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled func testResolve19() throws { let endpointParams = EndpointParams( - region: "us-east-1", + region: "eu-isoe-west-1", useDualStack: false, useFIPS: false ) @@ -396,15 +392,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.eu-isoe-west-1.cloud.adc-e.uk", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS enabled and DualStack disabled + /// For region us-isof-south-1 with FIPS enabled and DualStack disabled func testResolve20() throws { let endpointParams = EndpointParams( - region: "us-east-1", + region: "us-isof-south-1", useDualStack: false, useFIPS: true ) @@ -416,15 +412,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-east-1.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-2 with FIPS disabled and DualStack disabled + /// For region us-isof-south-1 with FIPS disabled and DualStack disabled func testResolve21() throws { let endpointParams = EndpointParams( - region: "us-east-2", + region: "us-isof-south-1", useDualStack: false, useFIPS: false ) @@ -436,16 +432,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-east-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-isof-south-1.csp.hci.ic.gov", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-2 with FIPS enabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( - region: "us-east-2", - useDualStack: false, + region: "us-gov-west-1", + useDualStack: true, useFIPS: true ) let resolver = try DefaultEndpointResolver() @@ -456,75 +452,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-east-2.amazonaws.com", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-west-1 with FIPS disabled and DualStack disabled + /// For region us-gov-west-1 with FIPS enabled and DualStack disabled func testResolve23() throws { let endpointParams = EndpointParams( - region: "us-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-1 with FIPS enabled and DualStack disabled - func testResolve24() throws { - let endpointParams = EndpointParams( - region: "us-west-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS disabled and DualStack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - region: "us-west-2", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-west-2 with FIPS enabled and DualStack disabled - func testResolve26() throws { - let endpointParams = EndpointParams( - region: "us-west-2", + region: "us-gov-west-1", useDualStack: false, useFIPS: true ) @@ -536,35 +472,15 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-west-2.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-east-1 with FIPS enabled and DualStack enabled - func testResolve27() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-east-1.api.aws", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve28() throws { + /// For region us-gov-west-1 with FIPS disabled and DualStack enabled + func testResolve24() throws { let endpointParams = EndpointParams( - region: "us-east-1", + region: "us-gov-west-1", useDualStack: true, useFIPS: false ) @@ -576,96 +492,16 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve29() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-northwest-1 with FIPS disabled and DualStack disabled - func testResolve30() throws { - let endpointParams = EndpointParams( - region: "cn-northwest-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.cn-northwest-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve31() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-gov-west-1.api.aws", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve32() throws { + /// For region us-gov-west-1 with FIPS disabled and DualStack disabled + func testResolve25() throws { let endpointParams = EndpointParams( - region: "cn-north-1", + region: "us-gov-west-1", useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.cn-north-1.amazonaws.com.cn", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve33() throws { - let endpointParams = EndpointParams( - region: "cn-north-1", - useDualStack: true, useFIPS: false ) let resolver = try DefaultEndpointResolver() @@ -676,314 +512,13 @@ class EndpointResolverTest: XCTestCase { [:] let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.cn-north-1.api.amazonwebservices.com.cn", headers: headers, properties: properties) + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) XCTAssertEqual(expected, actual) } - /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve34() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve35() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-east-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled - func testResolve36() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled - func testResolve37() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-west-1.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve38() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve39() throws { - let endpointParams = EndpointParams( - region: "us-gov-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-gov-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve40() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-west-1 with FIPS disabled and DualStack disabled - func testResolve41() throws { - let endpointParams = EndpointParams( - region: "us-iso-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-iso-west-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve42() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-iso-east-1.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve43() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve44() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://swf-fips.us-isob-east-1.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve45() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve46() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://example.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For custom endpoint with fips enabled and dualstack disabled - func testResolve47() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: FIPS and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve48() throws { - let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) - default: - XCTFail() - } - } - } - /// Missing region - func testResolve49() throws { + func testResolve26() throws { let endpointParams = EndpointParams( ) let resolver = try DefaultEndpointResolver() diff --git a/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/Models.swift b/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/Models.swift index 98e01edfc21..aa05a0637a6 100644 --- a/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/Models.swift +++ b/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/Models.swift @@ -207,6 +207,11 @@ public struct DeleteOptimizationJobOutput: Swift.Sendable { public init() { } } +public struct DeleteProcessingJobOutput: Swift.Sendable { + + public init() { } +} + public struct DeleteProjectOutput: Swift.Sendable { public init() { } @@ -222,6 +227,11 @@ public struct DeleteStudioLifecycleConfigOutput: Swift.Sendable { public init() { } } +public struct DeleteTrainingJobOutput: Swift.Sendable { + + public init() { } +} + public struct DeleteUserProfileOutput: Swift.Sendable { public init() { } @@ -20537,6 +20547,22 @@ extension SageMakerClientTypes { } } +extension SageMakerClientTypes { + + /// Settings that affect how the inference component caches data. + public struct InferenceComponentDataCacheConfig: Swift.Sendable { + /// Sets whether the endpoint that hosts the inference component caches the model artifacts and container image. With caching enabled, the endpoint caches this data in each instance that it provisions for the inference component. That way, the inference component deploys faster during the auto scaling process. If caching isn't enabled, the inference component takes longer to deploy because of the time it spends downloading the data. + /// This member is required. + public var enableCaching: Swift.Bool? + + public init( + enableCaching: Swift.Bool? = nil + ) { + self.enableCaching = enableCaching + } + } +} + extension SageMakerClientTypes { /// Settings that take effect while the model container starts up. @@ -20566,6 +20592,8 @@ extension SageMakerClientTypes { public var computeResourceRequirements: SageMakerClientTypes.InferenceComponentComputeResourceRequirements? /// Defines a container that provides the runtime environment for a model that you deploy with an inference component. public var container: SageMakerClientTypes.InferenceComponentContainerSpecification? + /// Settings that affect how the inference component caches data. + public var dataCacheConfig: SageMakerClientTypes.InferenceComponentDataCacheConfig? /// The name of an existing SageMaker AI model object in your account that you want to deploy with the inference component. public var modelName: Swift.String? /// Settings that take effect while the model container starts up. @@ -20575,12 +20603,14 @@ extension SageMakerClientTypes { baseInferenceComponentName: Swift.String? = nil, computeResourceRequirements: SageMakerClientTypes.InferenceComponentComputeResourceRequirements? = nil, container: SageMakerClientTypes.InferenceComponentContainerSpecification? = nil, + dataCacheConfig: SageMakerClientTypes.InferenceComponentDataCacheConfig? = nil, modelName: Swift.String? = nil, startupParameters: SageMakerClientTypes.InferenceComponentStartupParameters? = nil ) { self.baseInferenceComponentName = baseInferenceComponentName self.computeResourceRequirements = computeResourceRequirements self.container = container + self.dataCacheConfig = dataCacheConfig self.modelName = modelName self.startupParameters = startupParameters } @@ -24832,7 +24862,7 @@ public struct CreateNotebookInstanceInput: Swift.Sendable { /// The name of the new notebook instance. /// This member is required. public var notebookInstanceName: Swift.String? - /// The platform identifier of the notebook instance runtime environment. + /// The platform identifier of the notebook instance runtime environment. The default value is notebook-al2-v2. public var platformIdentifier: Swift.String? /// When you send any requests to Amazon Web Services resources from the notebook instance, SageMaker AI assumes this role to perform tasks on your behalf. You must grant this role necessary permissions so SageMaker AI can perform these tasks. The policy must allow the SageMaker AI service principal (sagemaker.amazonaws.com) permissions to assume this role. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). To be able to pass this role to SageMaker AI, the caller of this API must have the iam:PassRole permission. /// This member is required. @@ -26028,7 +26058,7 @@ extension SageMakerClientTypes { public var localPath: Swift.String? /// Whether to GZIP-decompress the data in Amazon S3 as it is streamed into the processing container. Gzip can only be used when Pipe mode is specified as the S3InputMode. In Pipe mode, Amazon SageMaker streams input data from the source directly to your container without using the EBS volume. public var s3CompressionType: SageMakerClientTypes.ProcessingS3CompressionType? - /// Whether to distribute the data from Amazon S3 to all processing instances with FullyReplicated, or whether the data from Amazon S3 is shared by Amazon S3 key, downloading one shard of data to each processing instance. + /// Whether to distribute the data from Amazon S3 to all processing instances with FullyReplicated, or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance. public var s3DataDistributionType: SageMakerClientTypes.ProcessingS3DataDistributionType? /// Whether you use an S3Prefix or a ManifestFile for the data type. If you choose S3Prefix, S3Uri identifies a key name prefix. Amazon SageMaker uses all objects with the specified key name prefix for the processing job. If you choose ManifestFile, S3Uri identifies an object that is a manifest file containing a list of object keys that you want Amazon SageMaker to use for the processing job. /// This member is required. @@ -28941,6 +28971,18 @@ public struct DeletePipelineOutput: Swift.Sendable { } } +public struct DeleteProcessingJobInput: Swift.Sendable { + /// The name of the processing job to delete. + /// This member is required. + public var processingJobName: Swift.String? + + public init( + processingJobName: Swift.String? = nil + ) { + self.processingJobName = processingJobName + } +} + public struct DeleteProjectInput: Swift.Sendable { /// The name of the project to delete. /// This member is required. @@ -29004,6 +29046,18 @@ public struct DeleteTagsOutput: Swift.Sendable { public init() { } } +public struct DeleteTrainingJobInput: Swift.Sendable { + /// The name of the training job to delete. + /// This member is required. + public var trainingJobName: Swift.String? + + public init( + trainingJobName: Swift.String? = nil + ) { + self.trainingJobName = trainingJobName + } +} + public struct DeleteTrialInput: Swift.Sendable { /// The name of the trial to delete. /// This member is required. @@ -32667,6 +32721,7 @@ extension SageMakerClientTypes { public enum TrainingJobStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case completed + case deleting case failed case inProgress case stopped @@ -32676,6 +32731,7 @@ extension SageMakerClientTypes { public static var allCases: [TrainingJobStatus] { return [ .completed, + .deleting, .failed, .inProgress, .stopped, @@ -32691,6 +32747,7 @@ extension SageMakerClientTypes { public var rawValue: Swift.String { switch self { case .completed: return "Completed" + case .deleting: return "Deleting" case .failed: return "Failed" case .inProgress: return "InProgress" case .stopped: return "Stopped" @@ -33439,6 +33496,22 @@ extension SageMakerClientTypes { } } +extension SageMakerClientTypes { + + /// Settings that affect how the inference component caches data. + public struct InferenceComponentDataCacheConfigSummary: Swift.Sendable { + /// Indicates whether the inference component caches model artifacts as part of the auto scaling process. + /// This member is required. + public var enableCaching: Swift.Bool? + + public init( + enableCaching: Swift.Bool? = nil + ) { + self.enableCaching = enableCaching + } + } +} + extension SageMakerClientTypes { /// Details about the resources that are deployed with this inference component. @@ -33449,6 +33522,8 @@ extension SageMakerClientTypes { public var computeResourceRequirements: SageMakerClientTypes.InferenceComponentComputeResourceRequirements? /// Details about the container that provides the runtime environment for the model that is deployed with the inference component. public var container: SageMakerClientTypes.InferenceComponentContainerSpecificationSummary? + /// Settings that affect how the inference component caches data. + public var dataCacheConfig: SageMakerClientTypes.InferenceComponentDataCacheConfigSummary? /// The name of the SageMaker AI model object that is deployed with the inference component. public var modelName: Swift.String? /// Settings that take effect while the model container starts up. @@ -33458,12 +33533,14 @@ extension SageMakerClientTypes { baseInferenceComponentName: Swift.String? = nil, computeResourceRequirements: SageMakerClientTypes.InferenceComponentComputeResourceRequirements? = nil, container: SageMakerClientTypes.InferenceComponentContainerSpecificationSummary? = nil, + dataCacheConfig: SageMakerClientTypes.InferenceComponentDataCacheConfigSummary? = nil, modelName: Swift.String? = nil, startupParameters: SageMakerClientTypes.InferenceComponentStartupParameters? = nil ) { self.baseInferenceComponentName = baseInferenceComponentName self.computeResourceRequirements = computeResourceRequirements self.container = container + self.dataCacheConfig = dataCacheConfig self.modelName = modelName self.startupParameters = startupParameters } @@ -54412,6 +54489,8 @@ public struct UpdateNotebookInstanceInput: Swift.Sendable { /// The name of the notebook instance to update. /// This member is required. public var notebookInstanceName: Swift.String? + /// The platform identifier of the notebook instance runtime environment. + public var platformIdentifier: Swift.String? /// The Amazon Resource Name (ARN) of the IAM role that SageMaker AI can assume to access the notebook instance. For more information, see [SageMaker AI Roles](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-roles.html). To be able to pass this role to SageMaker AI, the caller of this API must have the iam:PassRole permission. public var roleArn: Swift.String? /// Whether root access is enabled or disabled for users of the notebook instance. The default value is Enabled. If you set this to Disabled, users don't have root access on the notebook instance, but lifecycle configuration scripts still run with root permissions. @@ -54432,6 +54511,7 @@ public struct UpdateNotebookInstanceInput: Swift.Sendable { ipAddressType: SageMakerClientTypes.IPAddressType? = nil, lifecycleConfigName: Swift.String? = nil, notebookInstanceName: Swift.String? = nil, + platformIdentifier: Swift.String? = nil, roleArn: Swift.String? = nil, rootAccess: SageMakerClientTypes.RootAccess? = nil, volumeSizeInGB: Swift.Int? = nil @@ -54448,6 +54528,7 @@ public struct UpdateNotebookInstanceInput: Swift.Sendable { self.ipAddressType = ipAddressType self.lifecycleConfigName = lifecycleConfigName self.notebookInstanceName = notebookInstanceName + self.platformIdentifier = platformIdentifier self.roleArn = roleArn self.rootAccess = rootAccess self.volumeSizeInGB = volumeSizeInGB @@ -55917,6 +55998,13 @@ extension DeletePipelineInput { } } +extension DeleteProcessingJobInput { + + static func urlPathProvider(_ value: DeleteProcessingJobInput) -> Swift.String? { + return "/" + } +} + extension DeleteProjectInput { static func urlPathProvider(_ value: DeleteProjectInput) -> Swift.String? { @@ -55945,6 +56033,13 @@ extension DeleteTagsInput { } } +extension DeleteTrainingJobInput { + + static func urlPathProvider(_ value: DeleteTrainingJobInput) -> Swift.String? { + return "/" + } +} + extension DeleteTrialInput { static func urlPathProvider(_ value: DeleteTrialInput) -> Swift.String? { @@ -59088,6 +59183,14 @@ extension DeletePipelineInput { } } +extension DeleteProcessingJobInput { + + static func write(value: DeleteProcessingJobInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["ProcessingJobName"].write(value.processingJobName) + } +} + extension DeleteProjectInput { static func write(value: DeleteProjectInput?, to writer: SmithyJSON.Writer) throws { @@ -59122,6 +59225,14 @@ extension DeleteTagsInput { } } +extension DeleteTrainingJobInput { + + static func write(value: DeleteTrainingJobInput?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["TrainingJobName"].write(value.trainingJobName) + } +} + extension DeleteTrialInput { static func write(value: DeleteTrialInput?, to writer: SmithyJSON.Writer) throws { @@ -61781,6 +61892,7 @@ extension UpdateNotebookInstanceInput { try writer["IpAddressType"].write(value.ipAddressType) try writer["LifecycleConfigName"].write(value.lifecycleConfigName) try writer["NotebookInstanceName"].write(value.notebookInstanceName) + try writer["PlatformIdentifier"].write(value.platformIdentifier) try writer["RoleArn"].write(value.roleArn) try writer["RootAccess"].write(value.rootAccess) try writer["VolumeSizeInGB"].write(value.volumeSizeInGB) @@ -63196,6 +63308,13 @@ extension DeletePipelineOutput { } } +extension DeleteProcessingJobOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteProcessingJobOutput { + return DeleteProcessingJobOutput() + } +} + extension DeleteProjectOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteProjectOutput { @@ -63224,6 +63343,13 @@ extension DeleteTagsOutput { } } +extension DeleteTrainingJobOutput { + + static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteTrainingJobOutput { + return DeleteTrainingJobOutput() + } +} + extension DeleteTrialOutput { static func httpOutput(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> DeleteTrialOutput { @@ -68686,6 +68812,21 @@ enum DeletePipelineOutputError { } } +enum DeleteProcessingJobOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "ResourceInUse": return try ResourceInUse.makeError(baseError: baseError) + case "ResourceNotFound": return try ResourceNotFound.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DeleteProjectOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -68743,6 +68884,21 @@ enum DeleteTagsOutputError { } } +enum DeleteTrainingJobOutputError { + + static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { + let data = try await httpResponse.data() + let responseReader = try SmithyJSON.Reader.from(data: data) + let baseError = try AWSClientRuntime.AWSJSONError(httpResponse: httpResponse, responseReader: responseReader, noErrorWrapping: false) + if let error = baseError.customError() { return error } + switch baseError.code { + case "ResourceInUse": return try ResourceInUse.makeError(baseError: baseError) + case "ResourceNotFound": return try ResourceNotFound.makeError(baseError: baseError) + default: return try AWSClientRuntime.UnknownAWSHTTPServiceError.makeError(baseError: baseError) + } + } +} + enum DeleteTrialOutputError { static func httpError(from httpResponse: SmithyHTTPAPI.HTTPResponse) async throws -> Swift.Error { @@ -77556,6 +77712,17 @@ extension SageMakerClientTypes.InferenceComponentSpecificationSummary { value.startupParameters = try reader["StartupParameters"].readIfPresent(with: SageMakerClientTypes.InferenceComponentStartupParameters.read(from:)) value.computeResourceRequirements = try reader["ComputeResourceRequirements"].readIfPresent(with: SageMakerClientTypes.InferenceComponentComputeResourceRequirements.read(from:)) value.baseInferenceComponentName = try reader["BaseInferenceComponentName"].readIfPresent() + value.dataCacheConfig = try reader["DataCacheConfig"].readIfPresent(with: SageMakerClientTypes.InferenceComponentDataCacheConfigSummary.read(from:)) + return value + } +} + +extension SageMakerClientTypes.InferenceComponentDataCacheConfigSummary { + + static func read(from reader: SmithyJSON.Reader) throws -> SageMakerClientTypes.InferenceComponentDataCacheConfigSummary { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = SageMakerClientTypes.InferenceComponentDataCacheConfigSummary() + value.enableCaching = try reader["EnableCaching"].readIfPresent() ?? false return value } } @@ -83436,11 +83603,20 @@ extension SageMakerClientTypes.InferenceComponentSpecification { try writer["BaseInferenceComponentName"].write(value.baseInferenceComponentName) try writer["ComputeResourceRequirements"].write(value.computeResourceRequirements, with: SageMakerClientTypes.InferenceComponentComputeResourceRequirements.write(value:to:)) try writer["Container"].write(value.container, with: SageMakerClientTypes.InferenceComponentContainerSpecification.write(value:to:)) + try writer["DataCacheConfig"].write(value.dataCacheConfig, with: SageMakerClientTypes.InferenceComponentDataCacheConfig.write(value:to:)) try writer["ModelName"].write(value.modelName) try writer["StartupParameters"].write(value.startupParameters, with: SageMakerClientTypes.InferenceComponentStartupParameters.write(value:to:)) } } +extension SageMakerClientTypes.InferenceComponentDataCacheConfig { + + static func write(value: SageMakerClientTypes.InferenceComponentDataCacheConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["EnableCaching"].write(value.enableCaching) + } +} + extension SageMakerClientTypes.InferenceComponentContainerSpecification { static func write(value: SageMakerClientTypes.InferenceComponentContainerSpecification?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/SageMakerClient.swift b/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/SageMakerClient.swift index ceba911d062..40eb2457d43 100644 --- a/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/SageMakerClient.swift +++ b/Sources/Services/AWSSageMaker/Sources/AWSSageMaker/SageMakerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SageMakerClient: ClientRuntime.Client { +public class SageMakerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SageMakerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SageMakerClient.SageMakerClientConfiguration let serviceName = "SageMaker" @@ -8686,6 +8685,76 @@ extension SageMakerClient { return try await op.execute(input: input) } + /// Performs the `DeleteProcessingJob` operation on the `SageMaker` service. + /// + /// Deletes a processing job. After Amazon SageMaker deletes a processing job, all of the metadata for the processing job is lost. You can delete only processing jobs that are in a terminal state (Stopped, Failed, or Completed). You cannot delete a job that is in the InProgress or Stopping state. After deleting the job, you can reuse its name to create another processing job. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteProcessingJobInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteProcessingJobOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `ResourceInUse` : Resource being accessed is in use. + /// - `ResourceNotFound` : Resource being access is not found. + public func deleteProcessingJob(input: DeleteProcessingJobInput) async throws -> DeleteProcessingJobOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "deleteProcessingJob") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "sagemaker") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteProcessingJobInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteProcessingJobOutput.httpOutput(from:), DeleteProcessingJobOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("SageMaker", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "SageMaker.DeleteProcessingJob")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteProcessingJobInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: SageMakerClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "SageMaker") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteProcessingJob") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DeleteProject` operation on the `SageMaker` service. /// /// Delete the specified project. @@ -8959,6 +9028,76 @@ extension SageMakerClient { return try await op.execute(input: input) } + /// Performs the `DeleteTrainingJob` operation on the `SageMaker` service. + /// + /// Deletes a training job. After SageMaker deletes a training job, all of the metadata for the training job is lost. You can delete only training jobs that are in a terminal state (Stopped, Failed, or Completed) and don't retain an Available[managed warm pool](https://docs.aws.amazon.com/sagemaker/latest/dg/train-warm-pools.html). You cannot delete a job that is in the InProgress or Stopping state. After deleting the job, you can reuse its name to create another training job. + /// + /// - Parameter input: [no documentation found] (Type: `DeleteTrainingJobInput`) + /// + /// - Returns: [no documentation found] (Type: `DeleteTrainingJobOutput`) + /// + /// - Throws: One of the exceptions listed below __Possible Exceptions__. + /// + /// __Possible Exceptions:__ + /// - `ResourceInUse` : Resource being accessed is in use. + /// - `ResourceNotFound` : Resource being access is not found. + public func deleteTrainingJob(input: DeleteTrainingJobInput) async throws -> DeleteTrainingJobOutput { + let context = Smithy.ContextBuilder() + .withMethod(value: .post) + .withServiceName(value: serviceName) + .withOperation(value: "deleteTrainingJob") + .withUnsignedPayloadTrait(value: false) + .withSmithyDefaultConfig(config) + .withIdentityResolver(value: config.awsCredentialIdentityResolver, schemeID: "aws.auth#sigv4a") + .withRegion(value: config.region) + .withRequestChecksumCalculation(value: config.requestChecksumCalculation) + .withResponseChecksumValidation(value: config.responseChecksumValidation) + .withSigningName(value: "sagemaker") + .withSigningRegion(value: config.signingRegion) + .build() + let builder = ClientRuntime.OrchestratorBuilder() + config.interceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + config.httpInterceptorProviders.forEach { provider in + builder.interceptors.add(provider.create()) + } + builder.interceptors.add(ClientRuntime.URLPathMiddleware(DeleteTrainingJobInput.urlPathProvider(_:))) + builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) + builder.deserialize(ClientRuntime.DeserializeMiddleware(DeleteTrainingJobOutput.httpOutput(from:), DeleteTrainingJobOutputError.httpError(from:))) + builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) + builder.clockSkewProvider(AWSClientRuntime.AWSClockSkewProvider.provider()) + builder.retryStrategy(SmithyRetries.DefaultRetryStrategy(options: config.retryStrategyOptions)) + builder.retryErrorInfoProvider(AWSClientRuntime.AWSRetryErrorInfoProvider.errorInfo(for:)) + builder.applySigner(ClientRuntime.SignerMiddleware()) + let configuredEndpoint = try config.endpoint ?? AWSClientRuntime.AWSClientConfigDefaultsProvider.configuredEndpoint("SageMaker", config.ignoreConfiguredEndpointURLs) + let endpointParamsBlock = { [config] (context: Smithy.Context) in + EndpointParams(endpoint: configuredEndpoint, region: config.region, useDualStack: config.useDualStack ?? false, useFIPS: config.useFIPS ?? false) + } + builder.applyEndpoint(AWSClientRuntime.AWSEndpointResolverMiddleware(paramsBlock: endpointParamsBlock, resolverBlock: { [config] in try config.endpointResolver.resolve(params: $0) })) + builder.interceptors.add(AWSClientRuntime.XAmzTargetMiddleware(xAmzTarget: "SageMaker.DeleteTrainingJob")) + builder.serialize(ClientRuntime.BodyMiddleware(rootNodeInfo: "", inputWritingClosure: DeleteTrainingJobInput.write(value:to:))) + builder.interceptors.add(ClientRuntime.ContentTypeMiddleware(contentType: "application/x-amz-json-1.1")) + builder.selectAuthScheme(ClientRuntime.AuthSchemeMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkInvocationIdMiddleware()) + builder.interceptors.add(AWSClientRuntime.AmzSdkRequestMiddleware(maxRetries: config.retryStrategyOptions.maxRetriesBase)) + builder.interceptors.add(AWSClientRuntime.UserAgentMiddleware(serviceID: serviceName, version: SageMakerClient.version, config: config)) + var metricsAttributes = Smithy.Attributes() + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.service, value: "SageMaker") + metricsAttributes.set(key: ClientRuntime.OrchestratorMetricsAttributesKeys.method, value: "DeleteTrainingJob") + let op = builder.attributes(context) + .telemetry(ClientRuntime.OrchestratorTelemetry( + telemetryProvider: config.telemetryProvider, + metricsAttributes: metricsAttributes, + meterScope: serviceName, + tracerScope: serviceName + )) + .executeRequest(client) + .build() + return try await op.execute(input: input) + } + /// Performs the `DeleteTrial` operation on the `SageMaker` service. /// /// Deletes the specified trial. All trial components that make up the trial must be deleted first. Use the [DescribeTrialComponent](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeTrialComponent.html) API to get the list of trial components. diff --git a/Sources/Services/AWSSageMakerA2IRuntime/Sources/AWSSageMakerA2IRuntime/SageMakerA2IRuntimeClient.swift b/Sources/Services/AWSSageMakerA2IRuntime/Sources/AWSSageMakerA2IRuntime/SageMakerA2IRuntimeClient.swift index 1cd3887a9c4..f321da40dfa 100644 --- a/Sources/Services/AWSSageMakerA2IRuntime/Sources/AWSSageMakerA2IRuntime/SageMakerA2IRuntimeClient.swift +++ b/Sources/Services/AWSSageMakerA2IRuntime/Sources/AWSSageMakerA2IRuntime/SageMakerA2IRuntimeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SageMakerA2IRuntimeClient: ClientRuntime.Client { +public class SageMakerA2IRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SageMakerA2IRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SageMakerA2IRuntimeClient.SageMakerA2IRuntimeClientConfiguration let serviceName = "SageMaker A2I Runtime" diff --git a/Sources/Services/AWSSageMakerFeatureStoreRuntime/Sources/AWSSageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.swift b/Sources/Services/AWSSageMakerFeatureStoreRuntime/Sources/AWSSageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.swift index fcfa9428b21..ce4b9c30e1b 100644 --- a/Sources/Services/AWSSageMakerFeatureStoreRuntime/Sources/AWSSageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.swift +++ b/Sources/Services/AWSSageMakerFeatureStoreRuntime/Sources/AWSSageMakerFeatureStoreRuntime/SageMakerFeatureStoreRuntimeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SageMakerFeatureStoreRuntimeClient: ClientRuntime.Client { +public class SageMakerFeatureStoreRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SageMakerFeatureStoreRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SageMakerFeatureStoreRuntimeClient.SageMakerFeatureStoreRuntimeClientConfiguration let serviceName = "SageMaker FeatureStore Runtime" diff --git a/Sources/Services/AWSSageMakerGeospatial/Sources/AWSSageMakerGeospatial/SageMakerGeospatialClient.swift b/Sources/Services/AWSSageMakerGeospatial/Sources/AWSSageMakerGeospatial/SageMakerGeospatialClient.swift index a86b9316b2c..b98811b9cde 100644 --- a/Sources/Services/AWSSageMakerGeospatial/Sources/AWSSageMakerGeospatial/SageMakerGeospatialClient.swift +++ b/Sources/Services/AWSSageMakerGeospatial/Sources/AWSSageMakerGeospatial/SageMakerGeospatialClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SageMakerGeospatialClient: ClientRuntime.Client { +public class SageMakerGeospatialClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SageMakerGeospatialClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SageMakerGeospatialClient.SageMakerGeospatialClientConfiguration let serviceName = "SageMaker Geospatial" diff --git a/Sources/Services/AWSSageMakerMetrics/Sources/AWSSageMakerMetrics/SageMakerMetricsClient.swift b/Sources/Services/AWSSageMakerMetrics/Sources/AWSSageMakerMetrics/SageMakerMetricsClient.swift index 4648420cb87..45b45793ee3 100644 --- a/Sources/Services/AWSSageMakerMetrics/Sources/AWSSageMakerMetrics/SageMakerMetricsClient.swift +++ b/Sources/Services/AWSSageMakerMetrics/Sources/AWSSageMakerMetrics/SageMakerMetricsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SageMakerMetricsClient: ClientRuntime.Client { +public class SageMakerMetricsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SageMakerMetricsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SageMakerMetricsClient.SageMakerMetricsClientConfiguration let serviceName = "SageMaker Metrics" diff --git a/Sources/Services/AWSSageMakerRuntime/Sources/AWSSageMakerRuntime/SageMakerRuntimeClient.swift b/Sources/Services/AWSSageMakerRuntime/Sources/AWSSageMakerRuntime/SageMakerRuntimeClient.swift index 62996a35150..7b8486bdc2c 100644 --- a/Sources/Services/AWSSageMakerRuntime/Sources/AWSSageMakerRuntime/SageMakerRuntimeClient.swift +++ b/Sources/Services/AWSSageMakerRuntime/Sources/AWSSageMakerRuntime/SageMakerRuntimeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SageMakerRuntimeClient: ClientRuntime.Client { +public class SageMakerRuntimeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SageMakerRuntimeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SageMakerRuntimeClient.SageMakerRuntimeClientConfiguration let serviceName = "SageMaker Runtime" diff --git a/Sources/Services/AWSSagemakerEdge/Sources/AWSSagemakerEdge/SagemakerEdgeClient.swift b/Sources/Services/AWSSagemakerEdge/Sources/AWSSagemakerEdge/SagemakerEdgeClient.swift index 69c3fe09b66..b83b392cf7e 100644 --- a/Sources/Services/AWSSagemakerEdge/Sources/AWSSagemakerEdge/SagemakerEdgeClient.swift +++ b/Sources/Services/AWSSagemakerEdge/Sources/AWSSagemakerEdge/SagemakerEdgeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SagemakerEdgeClient: ClientRuntime.Client { +public class SagemakerEdgeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SagemakerEdgeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SagemakerEdgeClient.SagemakerEdgeClientConfiguration let serviceName = "Sagemaker Edge" diff --git a/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/Endpoints.swift b/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/Endpoints.swift index c59009015f6..eec055fa035 100644 --- a/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/Endpoints.swift +++ b/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/Endpoints.swift @@ -59,7 +59,7 @@ public protocol EndpointResolver { typealias DefaultEndpointResolver = ClientRuntime.DefaultEndpointResolver extension DefaultEndpointResolver { - private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://savingsplans.amazonaws.com\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingName\":\"savingsplans\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" + private static let ruleSet = "{\"version\":\"1.0\",\"parameters\":{\"Region\":{\"builtIn\":\"AWS::Region\",\"required\":false,\"documentation\":\"The AWS region used to dispatch the request.\",\"type\":\"string\"},\"UseDualStack\":{\"builtIn\":\"AWS::UseDualStack\",\"required\":true,\"default\":false,\"documentation\":\"When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.\",\"type\":\"boolean\"},\"UseFIPS\":{\"builtIn\":\"AWS::UseFIPS\",\"required\":true,\"default\":false,\"documentation\":\"When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.\",\"type\":\"boolean\"},\"Endpoint\":{\"builtIn\":\"SDK::Endpoint\",\"required\":false,\"documentation\":\"Override the endpoint used to send this request\",\"type\":\"string\"}},\"rules\":[{\"conditions\":[{\"fn\":\"not\",\"argv\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]},{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]}],\"endpoint\":{\"url\":\"https://savingsplans.global.api.aws\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingName\":\"savingsplans\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"not\",\"argv\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}]}],\"endpoint\":{\"url\":\"https://savingsplans.global.api.aws\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingName\":\"savingsplans\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Endpoint\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"error\":\"Invalid Configuration: FIPS and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"error\":\"Invalid Configuration: Dualstack and custom endpoint are not supported\",\"type\":\"error\"},{\"conditions\":[],\"endpoint\":{\"url\":{\"ref\":\"Endpoint\"},\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"isSet\",\"argv\":[{\"ref\":\"Region\"}]}],\"rules\":[{\"conditions\":[{\"fn\":\"aws.partition\",\"argv\":[{\"ref\":\"Region\"}],\"assign\":\"PartitionResult\"}],\"rules\":[{\"conditions\":[{\"fn\":\"stringEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"name\"]},\"aws\"]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},false]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},false]}],\"endpoint\":{\"url\":\"https://savingsplans.amazonaws.com\",\"properties\":{\"authSchemes\":[{\"name\":\"sigv4\",\"signingName\":\"savingsplans\",\"signingRegion\":\"us-east-1\"}]},\"headers\":{}},\"type\":\"endpoint\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]},{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]}]},{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans-fips.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS and DualStack are enabled, but this partition does not support one or both\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseFIPS\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsFIPS\"]},true]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans-fips.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"FIPS is enabled but this partition does not support FIPS\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[{\"ref\":\"UseDualStack\"},true]}],\"rules\":[{\"conditions\":[{\"fn\":\"booleanEquals\",\"argv\":[true,{\"fn\":\"getAttr\",\"argv\":[{\"ref\":\"PartitionResult\"},\"supportsDualStack\"]}]}],\"rules\":[{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"DualStack is enabled but this partition does not support DualStack\",\"type\":\"error\"}],\"type\":\"tree\"},{\"conditions\":[],\"endpoint\":{\"url\":\"https://savingsplans.{Region}.{PartitionResult#dnsSuffix}\",\"properties\":{},\"headers\":{}},\"type\":\"endpoint\"}],\"type\":\"tree\"}],\"type\":\"tree\"},{\"conditions\":[],\"error\":\"Invalid Configuration: Missing Region\",\"type\":\"error\"}]}" init() throws { try self.init(partitions: AWSClientRuntime.awsPartitionJSON, ruleSet: Self.ruleSet) diff --git a/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/SavingsplansClient.swift b/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/SavingsplansClient.swift index a0c6b7601ac..7eda7aab395 100644 --- a/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/SavingsplansClient.swift +++ b/Sources/Services/AWSSavingsplans/Sources/AWSSavingsplans/SavingsplansClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SavingsplansClient: ClientRuntime.Client { +public class SavingsplansClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SavingsplansClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SavingsplansClient.SavingsplansClientConfiguration let serviceName = "savingsplans" diff --git a/Sources/Services/AWSSavingsplans/Tests/AWSSavingsplansTests/EndpointResolverTest.swift b/Sources/Services/AWSSavingsplans/Tests/AWSSavingsplansTests/EndpointResolverTest.swift index 2e3362c06cc..c62a83b5b8c 100644 --- a/Sources/Services/AWSSavingsplans/Tests/AWSSavingsplansTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSSavingsplans/Tests/AWSSavingsplansTests/EndpointResolverTest.swift @@ -89,28 +89,8 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-east-1 with FIPS disabled and DualStack enabled - func testResolve4() throws { - let endpointParams = EndpointParams( - region: "us-east-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [:] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://savingsplans.us-east-1.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - /// For region us-east-1 with FIPS disabled and DualStack disabled - func testResolve5() throws { + func testResolve4() throws { let endpointParams = EndpointParams( region: "us-east-1", useDualStack: false, @@ -138,7 +118,7 @@ class EndpointResolverTest: XCTestCase { } /// For region cn-north-1 with FIPS enabled and DualStack enabled - func testResolve6() throws { + func testResolve5() throws { let endpointParams = EndpointParams( region: "cn-north-1", useDualStack: true, @@ -158,7 +138,7 @@ class EndpointResolverTest: XCTestCase { } /// For region cn-north-1 with FIPS enabled and DualStack disabled - func testResolve7() throws { + func testResolve6() throws { let endpointParams = EndpointParams( region: "cn-north-1", useDualStack: false, @@ -178,7 +158,7 @@ class EndpointResolverTest: XCTestCase { } /// For region cn-north-1 with FIPS disabled and DualStack enabled - func testResolve8() throws { + func testResolve7() throws { let endpointParams = EndpointParams( region: "cn-north-1", useDualStack: true, @@ -198,7 +178,7 @@ class EndpointResolverTest: XCTestCase { } /// For region cn-north-1 with FIPS disabled and DualStack disabled - func testResolve9() throws { + func testResolve8() throws { let endpointParams = EndpointParams( region: "cn-north-1", useDualStack: false, @@ -218,7 +198,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-gov-east-1 with FIPS enabled and DualStack enabled - func testResolve10() throws { + func testResolve9() throws { let endpointParams = EndpointParams( region: "us-gov-east-1", useDualStack: true, @@ -238,7 +218,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-gov-east-1 with FIPS enabled and DualStack disabled - func testResolve11() throws { + func testResolve10() throws { let endpointParams = EndpointParams( region: "us-gov-east-1", useDualStack: false, @@ -258,7 +238,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-gov-east-1 with FIPS disabled and DualStack enabled - func testResolve12() throws { + func testResolve11() throws { let endpointParams = EndpointParams( region: "us-gov-east-1", useDualStack: true, @@ -278,7 +258,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-gov-east-1 with FIPS disabled and DualStack disabled - func testResolve13() throws { + func testResolve12() throws { let endpointParams = EndpointParams( region: "us-gov-east-1", useDualStack: false, @@ -298,7 +278,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve14() throws { + func testResolve13() throws { let endpointParams = EndpointParams( region: "us-iso-east-1", useDualStack: false, @@ -318,7 +298,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve15() throws { + func testResolve14() throws { let endpointParams = EndpointParams( region: "us-iso-east-1", useDualStack: false, @@ -338,7 +318,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve16() throws { + func testResolve15() throws { let endpointParams = EndpointParams( region: "us-isob-east-1", useDualStack: false, @@ -358,7 +338,7 @@ class EndpointResolverTest: XCTestCase { } /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve17() throws { + func testResolve16() throws { let endpointParams = EndpointParams( region: "us-isob-east-1", useDualStack: false, @@ -378,7 +358,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with region set and fips disabled and dualstack disabled - func testResolve18() throws { + func testResolve17() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", region: "us-east-1", @@ -399,7 +379,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with region not set and fips disabled and dualstack disabled - func testResolve19() throws { + func testResolve18() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", useDualStack: false, @@ -419,7 +399,7 @@ class EndpointResolverTest: XCTestCase { } /// For custom endpoint with fips enabled and dualstack disabled - func testResolve20() throws { + func testResolve19() throws { let endpointParams = EndpointParams( endpoint: "https://example.com", region: "us-east-1", @@ -438,40 +418,124 @@ class EndpointResolverTest: XCTestCase { } } - /// For custom endpoint with fips disabled and dualstack enabled - func testResolve21() throws { + /// Missing region + func testResolve20() throws { let endpointParams = EndpointParams( - endpoint: "https://example.com", - region: "us-east-1", - useDualStack: true, - useFIPS: false ) let resolver = try DefaultEndpointResolver() XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in switch error { case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Dualstack and custom endpoint are not supported", message) + XCTAssertEqual("Invalid Configuration: Missing Region", message) default: XCTFail() } } } - /// Missing region + /// For region not set with FIPS disabled and DualStack enabled + func testResolve21() throws { + let endpointParams = EndpointParams( + useDualStack: true, + useFIPS: false + ) + let resolver = try DefaultEndpointResolver() + + let actual = try resolver.resolve(params: endpointParams) + + let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = + [ + "authSchemes": [ + [ + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + ] + ] + ] + + let headers = SmithyHTTPAPI.Headers() + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://savingsplans.global.api.aws", headers: headers, properties: properties) + + XCTAssertEqual(expected, actual) + } + + /// For region us-east-1 with FIPS disabled and DualStack enabled func testResolve22() throws { let endpointParams = EndpointParams( + region: "us-east-1", + useDualStack: true, + useFIPS: false ) let resolver = try DefaultEndpointResolver() - XCTAssertThrowsError(try resolver.resolve(params: endpointParams)) { error in - switch error { - case ClientRuntime.EndpointError.unresolved(let message): - XCTAssertEqual("Invalid Configuration: Missing Region", message) - default: - XCTFail() - } - } + let actual = try resolver.resolve(params: endpointParams) + + let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = + [ + "authSchemes": [ + [ + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + ] + ] + ] + + let headers = SmithyHTTPAPI.Headers() + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://savingsplans.global.api.aws", headers: headers, properties: properties) + + XCTAssertEqual(expected, actual) + } + + /// For region us-west-1 with FIPS disabled and DualStack enabled + func testResolve23() throws { + let endpointParams = EndpointParams( + region: "us-west-1", + useDualStack: true, + useFIPS: false + ) + let resolver = try DefaultEndpointResolver() + + let actual = try resolver.resolve(params: endpointParams) + + let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = + [ + "authSchemes": [ + [ + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + ] + ] + ] + + let headers = SmithyHTTPAPI.Headers() + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://savingsplans.global.api.aws", headers: headers, properties: properties) + + XCTAssertEqual(expected, actual) + } + + /// Commercial region with custom SDK endpoint + func testResolve24() throws { + let endpointParams = EndpointParams( + endpoint: "https://custom.example.com", + region: "us-east-1", + useDualStack: false, + useFIPS: false + ) + let resolver = try DefaultEndpointResolver() + + let actual = try resolver.resolve(params: endpointParams) + + let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = + [:] + + let headers = SmithyHTTPAPI.Headers() + let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://custom.example.com", headers: headers, properties: properties) + + XCTAssertEqual(expected, actual) } } diff --git a/Sources/Services/AWSScheduler/Sources/AWSScheduler/SchedulerClient.swift b/Sources/Services/AWSScheduler/Sources/AWSScheduler/SchedulerClient.swift index 225d944402f..9b3e646d294 100644 --- a/Sources/Services/AWSScheduler/Sources/AWSScheduler/SchedulerClient.swift +++ b/Sources/Services/AWSScheduler/Sources/AWSScheduler/SchedulerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SchedulerClient: ClientRuntime.Client { +public class SchedulerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SchedulerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SchedulerClient.SchedulerClientConfiguration let serviceName = "Scheduler" diff --git a/Sources/Services/AWSSchemas/Sources/AWSSchemas/SchemasClient.swift b/Sources/Services/AWSSchemas/Sources/AWSSchemas/SchemasClient.swift index 5887f0688b5..3a57ebe1f41 100644 --- a/Sources/Services/AWSSchemas/Sources/AWSSchemas/SchemasClient.swift +++ b/Sources/Services/AWSSchemas/Sources/AWSSchemas/SchemasClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SchemasClient: ClientRuntime.Client { +public class SchemasClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SchemasClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SchemasClient.SchemasClientConfiguration let serviceName = "schemas" diff --git a/Sources/Services/AWSSecretsManager/Sources/AWSSecretsManager/SecretsManagerClient.swift b/Sources/Services/AWSSecretsManager/Sources/AWSSecretsManager/SecretsManagerClient.swift index b11029f5a3c..b74e9a1cc1d 100644 --- a/Sources/Services/AWSSecretsManager/Sources/AWSSecretsManager/SecretsManagerClient.swift +++ b/Sources/Services/AWSSecretsManager/Sources/AWSSecretsManager/SecretsManagerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SecretsManagerClient: ClientRuntime.Client { +public class SecretsManagerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SecretsManagerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SecretsManagerClient.SecretsManagerClientConfiguration let serviceName = "Secrets Manager" diff --git a/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/Models.swift b/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/Models.swift index 68dbc01ea7e..74dfa18f479 100644 --- a/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/Models.swift +++ b/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/Models.swift @@ -21988,7 +21988,7 @@ extension SecurityHubClientTypes { /// Provides details about a security control for which a response couldn't be returned. public struct UnprocessedSecurityControl: Swift.Sendable { - /// The error code for the unprocessed security control. + /// The error code for the unprocessed security control. The NOT_FOUND value has been deprecated and replaced by the RESOURCE_NOT_FOUND value. /// This member is required. public var errorCode: SecurityHubClientTypes.UnprocessedErrorCode? /// The reason why the security control was unprocessed. @@ -22117,7 +22117,7 @@ extension SecurityHubClientTypes { /// Provides details about which control's enablement status couldn't be retrieved in a specified standard when calling [BatchUpdateStandardsControlAssociations](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateStandardsControlAssociations.html). This parameter also provides details about why the request was unprocessed. public struct UnprocessedStandardsControlAssociation: Swift.Sendable { - /// The error code for the unprocessed standard and control association. + /// The error code for the unprocessed standard and control association. The NOT_FOUND value has been deprecated and replaced by the RESOURCE_NOT_FOUND value. /// This member is required. public var errorCode: SecurityHubClientTypes.UnprocessedErrorCode? /// The reason why the standard and control association was unprocessed. @@ -22718,7 +22718,7 @@ extension SecurityHubClientTypes { /// Provides details about which control's enablement status could not be updated in a specified standard when calling the [BatchUpdateStandardsControlAssociations](https://docs.aws.amazon.com/securityhub/1.0/APIReference/API_BatchUpdateStandardsControlAssociations.html) API. This parameter also provides details about why the request was unprocessed. public struct UnprocessedStandardsControlAssociationUpdate: Swift.Sendable { - /// The error code for the unprocessed update of the control's enablement status in the specified standard. + /// The error code for the unprocessed update of the control's enablement status in the specified standard. The NOT_FOUND value has been deprecated and replaced by the RESOURCE_NOT_FOUND value. /// This member is required. public var errorCode: SecurityHubClientTypes.UnprocessedErrorCode? /// The reason why a control's enablement status in the specified standard couldn't be updated. @@ -22823,6 +22823,9 @@ extension SecurityHubClientTypes { case findingInfoFirstSeenTimeDt case findingInfoLastSeenTimeDt case findingInfoModifiedTimeDt + case resourcesImageCreatedTimeDt + case resourcesImageLastUsedTimeDt + case resourcesModifiedTimeDt case sdkUnknown(Swift.String) public static var allCases: [OcsfDateField] { @@ -22830,7 +22833,10 @@ extension SecurityHubClientTypes { .findingInfoCreatedTimeDt, .findingInfoFirstSeenTimeDt, .findingInfoLastSeenTimeDt, - .findingInfoModifiedTimeDt + .findingInfoModifiedTimeDt, + .resourcesImageCreatedTimeDt, + .resourcesImageLastUsedTimeDt, + .resourcesModifiedTimeDt ] } @@ -22845,6 +22851,9 @@ extension SecurityHubClientTypes { case .findingInfoFirstSeenTimeDt: return "finding_info.first_seen_time_dt" case .findingInfoLastSeenTimeDt: return "finding_info.last_seen_time_dt" case .findingInfoModifiedTimeDt: return "finding_info.modified_time_dt" + case .resourcesImageCreatedTimeDt: return "resources.image.created_time_dt" + case .resourcesImageLastUsedTimeDt: return "resources.image.last_used_time_dt" + case .resourcesModifiedTimeDt: return "resources.modified_time_dt" case let .sdkUnknown(s): return s } } @@ -22870,14 +22879,68 @@ extension SecurityHubClientTypes { } } +extension SecurityHubClientTypes { + + public enum OcsfIpField: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case evidencesDstEndpointIp + case evidencesSrcEndpointIp + case sdkUnknown(Swift.String) + + public static var allCases: [OcsfIpField] { + return [ + .evidencesDstEndpointIp, + .evidencesSrcEndpointIp + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .evidencesDstEndpointIp: return "evidences.dst_endpoint.ip" + case .evidencesSrcEndpointIp: return "evidences.src_endpoint.ip" + case let .sdkUnknown(s): return s + } + } + } +} + +extension SecurityHubClientTypes { + + /// The structure for filtering findings based on IP address attributes. + public struct OcsfIpFilter: Swift.Sendable { + /// The name of the IP address field to filter on. + public var fieldName: SecurityHubClientTypes.OcsfIpField? + /// The IP filter for querying findings. + public var filter: SecurityHubClientTypes.IpFilter? + + public init( + fieldName: SecurityHubClientTypes.OcsfIpField? = nil, + filter: SecurityHubClientTypes.IpFilter? = nil + ) { + self.fieldName = fieldName + self.filter = filter + } + } +} + extension SecurityHubClientTypes { public enum OcsfMapField: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case complianceControlParameters + case databucketTags + case findingInfoTags case resourcesTags case sdkUnknown(Swift.String) public static var allCases: [OcsfMapField] { return [ + .complianceControlParameters, + .databucketTags, + .findingInfoTags, .resourcesTags ] } @@ -22889,6 +22952,9 @@ extension SecurityHubClientTypes { public var rawValue: Swift.String { switch self { + case .complianceControlParameters: return "compliance.control_parameters" + case .databucketTags: return "databucket.tags" + case .findingInfoTags: return "finding_info.tags" case .resourcesTags: return "resources.tags" case let .sdkUnknown(s): return s } @@ -22921,7 +22987,13 @@ extension SecurityHubClientTypes { case activityId case complianceStatusId case confidenceScore + case evidencesApiResponseCode + case evidencesDstEndpointAutonomousSystemNumber + case evidencesDstEndpointPort + case evidencesSrcEndpointAutonomousSystemNumber + case evidencesSrcEndpointPort case findingInfoRelatedEventsCount + case resourcesImageInUseCount case severityId case statusId case sdkUnknown(Swift.String) @@ -22931,7 +23003,13 @@ extension SecurityHubClientTypes { .activityId, .complianceStatusId, .confidenceScore, + .evidencesApiResponseCode, + .evidencesDstEndpointAutonomousSystemNumber, + .evidencesDstEndpointPort, + .evidencesSrcEndpointAutonomousSystemNumber, + .evidencesSrcEndpointPort, .findingInfoRelatedEventsCount, + .resourcesImageInUseCount, .severityId, .statusId ] @@ -22947,7 +23025,13 @@ extension SecurityHubClientTypes { case .activityId: return "activity_id" case .complianceStatusId: return "compliance.status_id" case .confidenceScore: return "confidence_score" + case .evidencesApiResponseCode: return "evidences.api.response.code" + case .evidencesDstEndpointAutonomousSystemNumber: return "evidences.dst_endpoint.autonomous_system.number" + case .evidencesDstEndpointPort: return "evidences.dst_endpoint.port" + case .evidencesSrcEndpointAutonomousSystemNumber: return "evidences.src_endpoint.autonomous_system.number" + case .evidencesSrcEndpointPort: return "evidences.src_endpoint.port" case .findingInfoRelatedEventsCount: return "finding_info.related_events_count" + case .resourcesImageInUseCount: return "resources.image.in_use_count" case .severityId: return "severity_id" case .statusId: return "status_id" case let .sdkUnknown(s): return s @@ -22980,6 +23064,7 @@ extension SecurityHubClientTypes { public enum OcsfStringField: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case activityName case className + case cloudAccountName case cloudAccountUid case cloudProvider case cloudRegion @@ -22989,6 +23074,23 @@ extension SecurityHubClientTypes { case complianceControl case complianceStandards case complianceStatus + case databucketEncryptionDetailsAlgorithm + case databucketEncryptionDetailsKeyUid + case databucketFileDataClassificationsClassifierDetailsType + case evidencesActorUserAccountUid + case evidencesApiOperation + case evidencesApiResponseErrorMessage + case evidencesApiServiceName + case evidencesConnectionInfoDirection + case evidencesConnectionInfoProtocolName + case evidencesDstEndpointAutonomousSystemName + case evidencesDstEndpointLocationCity + case evidencesDstEndpointLocationCountry + case evidencesSrcEndpointAutonomousSystemName + case evidencesSrcEndpointHostname + case evidencesSrcEndpointLocationCity + case evidencesSrcEndpointLocationCountry + case findingInfoAnalyticName case findingInfoDesc case findingInfoRelatedEventsProductUid case findingInfoRelatedEventsTitle @@ -22997,25 +23099,45 @@ extension SecurityHubClientTypes { case findingInfoTitle case findingInfoTypes case findingInfoUid + case malwareName + case malwareScanInfoUid + case malwareSeverity case metadataProductName case metadataProductUid case metadataProductVendorName case metadataUid case remediationDesc case remediationReferences + case resourcesCloudFunctionLayersUidAlt + case resourcesCloudFunctionRuntime + case resourcesCloudFunctionUserUid case resourcesCloudPartition + case resourcesDeviceEncryptionDetailsKeyUid + case resourcesDeviceImageUid + case resourcesImageArchitecture + case resourcesImageRegistryUid + case resourcesImageRepositoryName + case resourcesImageUid case resourcesRegion + case resourcesSubnetInfoUid case resourcesType case resourcesUid + case resourcesVpcUid case severity case status + case vulnerabilitiesAffectedCodeFilePath + case vulnerabilitiesAffectedPackagesName + case vulnerabilitiesCveEpssScore + case vulnerabilitiesCveUid case vulnerabilitiesFixCoverage + case vulnerabilitiesRelatedVulnerabilities case sdkUnknown(Swift.String) public static var allCases: [OcsfStringField] { return [ .activityName, .className, + .cloudAccountName, .cloudAccountUid, .cloudProvider, .cloudRegion, @@ -23025,6 +23147,23 @@ extension SecurityHubClientTypes { .complianceControl, .complianceStandards, .complianceStatus, + .databucketEncryptionDetailsAlgorithm, + .databucketEncryptionDetailsKeyUid, + .databucketFileDataClassificationsClassifierDetailsType, + .evidencesActorUserAccountUid, + .evidencesApiOperation, + .evidencesApiResponseErrorMessage, + .evidencesApiServiceName, + .evidencesConnectionInfoDirection, + .evidencesConnectionInfoProtocolName, + .evidencesDstEndpointAutonomousSystemName, + .evidencesDstEndpointLocationCity, + .evidencesDstEndpointLocationCountry, + .evidencesSrcEndpointAutonomousSystemName, + .evidencesSrcEndpointHostname, + .evidencesSrcEndpointLocationCity, + .evidencesSrcEndpointLocationCountry, + .findingInfoAnalyticName, .findingInfoDesc, .findingInfoRelatedEventsProductUid, .findingInfoRelatedEventsTitle, @@ -23033,19 +23172,38 @@ extension SecurityHubClientTypes { .findingInfoTitle, .findingInfoTypes, .findingInfoUid, + .malwareName, + .malwareScanInfoUid, + .malwareSeverity, .metadataProductName, .metadataProductUid, .metadataProductVendorName, .metadataUid, .remediationDesc, .remediationReferences, + .resourcesCloudFunctionLayersUidAlt, + .resourcesCloudFunctionRuntime, + .resourcesCloudFunctionUserUid, .resourcesCloudPartition, + .resourcesDeviceEncryptionDetailsKeyUid, + .resourcesDeviceImageUid, + .resourcesImageArchitecture, + .resourcesImageRegistryUid, + .resourcesImageRepositoryName, + .resourcesImageUid, .resourcesRegion, + .resourcesSubnetInfoUid, .resourcesType, .resourcesUid, + .resourcesVpcUid, .severity, .status, - .vulnerabilitiesFixCoverage + .vulnerabilitiesAffectedCodeFilePath, + .vulnerabilitiesAffectedPackagesName, + .vulnerabilitiesCveEpssScore, + .vulnerabilitiesCveUid, + .vulnerabilitiesFixCoverage, + .vulnerabilitiesRelatedVulnerabilities ] } @@ -23058,6 +23216,7 @@ extension SecurityHubClientTypes { switch self { case .activityName: return "activity_name" case .className: return "class_name" + case .cloudAccountName: return "cloud.account.name" case .cloudAccountUid: return "cloud.account.uid" case .cloudProvider: return "cloud.provider" case .cloudRegion: return "cloud.region" @@ -23067,6 +23226,23 @@ extension SecurityHubClientTypes { case .complianceControl: return "compliance.control" case .complianceStandards: return "compliance.standards" case .complianceStatus: return "compliance.status" + case .databucketEncryptionDetailsAlgorithm: return "databucket.encryption_details.algorithm" + case .databucketEncryptionDetailsKeyUid: return "databucket.encryption_details.key_uid" + case .databucketFileDataClassificationsClassifierDetailsType: return "databucket.file.data_classifications.classifier_details.type" + case .evidencesActorUserAccountUid: return "evidences.actor.user.account.uid" + case .evidencesApiOperation: return "evidences.api.operation" + case .evidencesApiResponseErrorMessage: return "evidences.api.response.error_message" + case .evidencesApiServiceName: return "evidences.api.service.name" + case .evidencesConnectionInfoDirection: return "evidences.connection_info.direction" + case .evidencesConnectionInfoProtocolName: return "evidences.connection_info.protocol_name" + case .evidencesDstEndpointAutonomousSystemName: return "evidences.dst_endpoint.autonomous_system.name" + case .evidencesDstEndpointLocationCity: return "evidences.dst_endpoint.location.city" + case .evidencesDstEndpointLocationCountry: return "evidences.dst_endpoint.location.country" + case .evidencesSrcEndpointAutonomousSystemName: return "evidences.src_endpoint.autonomous_system.name" + case .evidencesSrcEndpointHostname: return "evidences.src_endpoint.hostname" + case .evidencesSrcEndpointLocationCity: return "evidences.src_endpoint.location.city" + case .evidencesSrcEndpointLocationCountry: return "evidences.src_endpoint.location.country" + case .findingInfoAnalyticName: return "finding_info.analytic.name" case .findingInfoDesc: return "finding_info.desc" case .findingInfoRelatedEventsProductUid: return "finding_info.related_events.product.uid" case .findingInfoRelatedEventsTitle: return "finding_info.related_events.title" @@ -23075,19 +23251,38 @@ extension SecurityHubClientTypes { case .findingInfoTitle: return "finding_info.title" case .findingInfoTypes: return "finding_info.types" case .findingInfoUid: return "finding_info.uid" + case .malwareName: return "malware.name" + case .malwareScanInfoUid: return "malware_scan_info.uid" + case .malwareSeverity: return "malware.severity" case .metadataProductName: return "metadata.product.name" case .metadataProductUid: return "metadata.product.uid" case .metadataProductVendorName: return "metadata.product.vendor_name" case .metadataUid: return "metadata.uid" case .remediationDesc: return "remediation.desc" case .remediationReferences: return "remediation.references" + case .resourcesCloudFunctionLayersUidAlt: return "resources.cloud_function.layers.uid_alt" + case .resourcesCloudFunctionRuntime: return "resources.cloud_function.runtime" + case .resourcesCloudFunctionUserUid: return "resources.cloud_function.user.uid" case .resourcesCloudPartition: return "resources.cloud_partition" + case .resourcesDeviceEncryptionDetailsKeyUid: return "resources.device.encryption_details.key_uid" + case .resourcesDeviceImageUid: return "resources.device.image.uid" + case .resourcesImageArchitecture: return "resources.image.architecture" + case .resourcesImageRegistryUid: return "resources.image.registry_uid" + case .resourcesImageRepositoryName: return "resources.image.repository_name" + case .resourcesImageUid: return "resources.image.uid" case .resourcesRegion: return "resources.region" + case .resourcesSubnetInfoUid: return "resources.subnet_info.uid" case .resourcesType: return "resources.type" case .resourcesUid: return "resources.uid" + case .resourcesVpcUid: return "resources.vpc_uid" case .severity: return "severity" case .status: return "status" + case .vulnerabilitiesAffectedCodeFilePath: return "vulnerabilities.affected_code.file.path" + case .vulnerabilitiesAffectedPackagesName: return "vulnerabilities.affected_packages.name" + case .vulnerabilitiesCveEpssScore: return "vulnerabilities.cve.epss.score" + case .vulnerabilitiesCveUid: return "vulnerabilities.cve.uid" case .vulnerabilitiesFixCoverage: return "vulnerabilities.fix_coverage" + case .vulnerabilitiesRelatedVulnerabilities: return "vulnerabilities.related_vulnerabilities" case let .sdkUnknown(s): return s } } @@ -23113,41 +23308,6 @@ extension SecurityHubClientTypes { } } -extension SecurityHubClientTypes { - - /// Enables the creation of filtering criteria for security findings. - public struct CompositeFilter: Swift.Sendable { - /// Enables filtering based on boolean field values. - public var booleanFilters: [SecurityHubClientTypes.OcsfBooleanFilter]? - /// Enables filtering based on date and timestamp fields. - public var dateFilters: [SecurityHubClientTypes.OcsfDateFilter]? - /// Enables filtering based on map field values. - public var mapFilters: [SecurityHubClientTypes.OcsfMapFilter]? - /// Enables filtering based on numerical field values. - public var numberFilters: [SecurityHubClientTypes.OcsfNumberFilter]? - /// The logical operator used to combine multiple filter conditions. - public var `operator`: SecurityHubClientTypes.AllowedOperators? - /// Enables filtering based on string field values. - public var stringFilters: [SecurityHubClientTypes.OcsfStringFilter]? - - public init( - booleanFilters: [SecurityHubClientTypes.OcsfBooleanFilter]? = nil, - dateFilters: [SecurityHubClientTypes.OcsfDateFilter]? = nil, - mapFilters: [SecurityHubClientTypes.OcsfMapFilter]? = nil, - numberFilters: [SecurityHubClientTypes.OcsfNumberFilter]? = nil, - `operator`: SecurityHubClientTypes.AllowedOperators? = nil, - stringFilters: [SecurityHubClientTypes.OcsfStringFilter]? = nil - ) { - self.booleanFilters = booleanFilters - self.dateFilters = dateFilters - self.mapFilters = mapFilters - self.numberFilters = numberFilters - self.`operator` = `operator` - self.stringFilters = stringFilters - } - } -} - extension SecurityHubClientTypes { /// The options for customizing a security control parameter that is a double. @@ -23747,79 +23907,6 @@ public struct CreateAutomationRuleOutput: Swift.Sendable { } } -extension SecurityHubClientTypes { - - /// Specifies the filtering criteria for security findings using OCSF. - public struct OcsfFindingFilters: Swift.Sendable { - /// Enables the creation of complex filtering conditions by combining filter criteria. - public var compositeFilters: [SecurityHubClientTypes.CompositeFilter]? - /// The logical operators used to combine the filtering on multiple CompositeFilters. - public var compositeOperator: SecurityHubClientTypes.AllowedOperators? - - public init( - compositeFilters: [SecurityHubClientTypes.CompositeFilter]? = nil, - compositeOperator: SecurityHubClientTypes.AllowedOperators? = nil - ) { - self.compositeFilters = compositeFilters - self.compositeOperator = compositeOperator - } - } -} - -extension SecurityHubClientTypes { - - /// Defines the parameters and conditions used to evaluate and filter security findings. - public enum Criteria: Swift.Sendable { - /// The filtering conditions that align with OCSF standards. - case ocsffindingcriteria(SecurityHubClientTypes.OcsfFindingFilters) - case sdkUnknown(Swift.String) - } -} - -public struct CreateAutomationRuleV2Input: Swift.Sendable { - /// A list of actions to be performed when the rule criteria is met. - /// This member is required. - public var actions: [SecurityHubClientTypes.AutomationRulesActionV2]? - /// A unique identifier used to ensure idempotency. - public var clientToken: Swift.String? - /// The filtering type and configuration of the automation rule. - /// This member is required. - public var criteria: SecurityHubClientTypes.Criteria? - /// A description of the V2 automation rule. - /// This member is required. - public var description: Swift.String? - /// The name of the V2 automation rule. - /// This member is required. - public var ruleName: Swift.String? - /// The value for the rule priority. - /// This member is required. - public var ruleOrder: Swift.Float? - /// The status of the V2 automation rule. - public var ruleStatus: SecurityHubClientTypes.RuleStatusV2? - /// A list of key-value pairs associated with the V2 automation rule. - public var tags: [Swift.String: Swift.String]? - - public init( - actions: [SecurityHubClientTypes.AutomationRulesActionV2]? = nil, - clientToken: Swift.String? = nil, - criteria: SecurityHubClientTypes.Criteria? = nil, - description: Swift.String? = nil, - ruleName: Swift.String? = nil, - ruleOrder: Swift.Float? = nil, - ruleStatus: SecurityHubClientTypes.RuleStatusV2? = nil, - tags: [Swift.String: Swift.String]? = nil - ) { - self.actions = actions - self.clientToken = clientToken - self.criteria = criteria - self.description = description - self.ruleName = ruleName - self.ruleOrder = ruleOrder - self.ruleStatus = ruleStatus - self.tags = tags - } -} - public struct CreateAutomationRuleV2Output: Swift.Sendable { /// The ARN of the V2 automation rule. public var ruleArn: Swift.String? @@ -25494,53 +25581,6 @@ public struct GetAutomationRuleV2Input: Swift.Sendable { } } -public struct GetAutomationRuleV2Output: Swift.Sendable { - /// A list of actions performed when the rule criteria is met. - public var actions: [SecurityHubClientTypes.AutomationRulesActionV2]? - /// The timestamp when the V2 automation rule was created. - public var createdAt: Foundation.Date? - /// The filtering type and configuration of the V2 automation rule. - public var criteria: SecurityHubClientTypes.Criteria? - /// A description of the automation rule. - public var description: Swift.String? - /// The ARN of the V2 automation rule. - public var ruleArn: Swift.String? - /// The ID of the V2 automation rule. - public var ruleId: Swift.String? - /// The name of the V2 automation rule. - public var ruleName: Swift.String? - /// The value for the rule priority. - public var ruleOrder: Swift.Float? - /// The status of the V2 automation automation rule. - public var ruleStatus: SecurityHubClientTypes.RuleStatusV2? - /// The timestamp when the V2 automation rule was updated. - public var updatedAt: Foundation.Date? - - public init( - actions: [SecurityHubClientTypes.AutomationRulesActionV2]? = nil, - createdAt: Foundation.Date? = nil, - criteria: SecurityHubClientTypes.Criteria? = nil, - description: Swift.String? = nil, - ruleArn: Swift.String? = nil, - ruleId: Swift.String? = nil, - ruleName: Swift.String? = nil, - ruleOrder: Swift.Float? = nil, - ruleStatus: SecurityHubClientTypes.RuleStatusV2? = nil, - updatedAt: Foundation.Date? = nil - ) { - self.actions = actions - self.createdAt = createdAt - self.criteria = criteria - self.description = description - self.ruleArn = ruleArn - self.ruleId = ruleId - self.ruleName = ruleName - self.ruleOrder = ruleOrder - self.ruleStatus = ruleStatus - self.updatedAt = updatedAt - } -} - public struct GetConfigurationPolicyInput: Swift.Sendable { /// The Amazon Resource Name (ARN) or universally unique identifier (UUID) of the configuration policy. /// This member is required. @@ -25992,12 +26032,15 @@ extension SecurityHubClientTypes { public enum GroupByField: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { case activityName case className + case cloudAccountName case cloudAccountUid case cloudProvider case cloudRegion case complianceAssessmentsName case complianceControl + case complianceStandards case complianceStatus + case findingInfoAnalyticName case findingInfoTitle case findingInfoTypes case metadataProductName @@ -26006,6 +26049,7 @@ extension SecurityHubClientTypes { case resourcesUid case severity case status + case vulnerabilitiesAffectedPackagesName case vulnerabilitiesFixCoverage case sdkUnknown(Swift.String) @@ -26013,12 +26057,15 @@ extension SecurityHubClientTypes { return [ .activityName, .className, + .cloudAccountName, .cloudAccountUid, .cloudProvider, .cloudRegion, .complianceAssessmentsName, .complianceControl, + .complianceStandards, .complianceStatus, + .findingInfoAnalyticName, .findingInfoTitle, .findingInfoTypes, .metadataProductName, @@ -26027,6 +26074,7 @@ extension SecurityHubClientTypes { .resourcesUid, .severity, .status, + .vulnerabilitiesAffectedPackagesName, .vulnerabilitiesFixCoverage ] } @@ -26040,12 +26088,15 @@ extension SecurityHubClientTypes { switch self { case .activityName: return "activity_name" case .className: return "class_name" + case .cloudAccountName: return "cloud.account.name" case .cloudAccountUid: return "cloud.account.uid" case .cloudProvider: return "cloud.provider" case .cloudRegion: return "cloud.region" case .complianceAssessmentsName: return "compliance.assessments.name" case .complianceControl: return "compliance.control" + case .complianceStandards: return "compliance.standards" case .complianceStatus: return "compliance.status" + case .findingInfoAnalyticName: return "finding_info.analytic.name" case .findingInfoTitle: return "finding_info.title" case .findingInfoTypes: return "finding_info.types" case .metadataProductName: return "metadata.product.name" @@ -26054,6 +26105,7 @@ extension SecurityHubClientTypes { case .resourcesUid: return "resources.uid" case .severity: return "severity" case .status: return "status" + case .vulnerabilitiesAffectedPackagesName: return "vulnerabilities.affected_packages.name" case .vulnerabilitiesFixCoverage: return "vulnerabilities.fix_coverage" case let .sdkUnknown(s): return s } @@ -26061,46 +26113,6 @@ extension SecurityHubClientTypes { } } -extension SecurityHubClientTypes { - - /// Defines the how the finding attribute should be grouped. - public struct GroupByRule: Swift.Sendable { - /// The criteria used to select which security findings should be included in the grouping operation. - public var filters: SecurityHubClientTypes.OcsfFindingFilters? - /// The attribute by which filtered findings should be grouped. - /// This member is required. - public var groupByField: SecurityHubClientTypes.GroupByField? - - public init( - filters: SecurityHubClientTypes.OcsfFindingFilters? = nil, - groupByField: SecurityHubClientTypes.GroupByField? = nil - ) { - self.filters = filters - self.groupByField = groupByField - } - } -} - -public struct GetFindingStatisticsV2Input: Swift.Sendable { - /// Specifies how security findings should be aggregated and organized in the statistical analysis. It can accept up to 5 groupBy fields in a single call. - /// This member is required. - public var groupByRules: [SecurityHubClientTypes.GroupByRule]? - /// The maximum number of results to be returned. - public var maxStatisticResults: Swift.Int? - /// Orders the aggregation count in descending or ascending order. Descending order is the default. - public var sortOrder: SecurityHubClientTypes.SortOrder? - - public init( - groupByRules: [SecurityHubClientTypes.GroupByRule]? = nil, - maxStatisticResults: Swift.Int? = nil, - sortOrder: SecurityHubClientTypes.SortOrder? = nil - ) { - self.groupByRules = groupByRules - self.maxStatisticResults = maxStatisticResults - self.sortOrder = sortOrder - } -} - extension SecurityHubClientTypes { /// Represents individual aggregated results when grouping security findings for each GroupByField. @@ -26150,29 +26162,6 @@ public struct GetFindingStatisticsV2Output: Swift.Sendable { } } -public struct GetFindingsV2Input: Swift.Sendable { - /// The finding attributes used to define a condition to filter the returned OCSF findings. You can filter up to 10 composite filters. For each filter type inside of a composite filter, you can provide up to 20 filters. - public var filters: SecurityHubClientTypes.OcsfFindingFilters? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response. - public var nextToken: Swift.String? - /// The finding attributes used to sort the list of returned findings. - public var sortCriteria: [SecurityHubClientTypes.SortCriterion]? - - public init( - filters: SecurityHubClientTypes.OcsfFindingFilters? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - sortCriteria: [SecurityHubClientTypes.SortCriterion]? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - self.sortCriteria = sortCriteria - } -} - public struct GetFindingsV2Output: Swift.Sendable { /// An array of security findings returned by the operation. public var findings: [Smithy.Document]? @@ -26459,8 +26448,8 @@ extension SecurityHubClientTypes { public var rawValue: Swift.String { switch self { - case .resourceCreationTimeDt: return "resource_creation_time_dt" - case .resourceDetailCaptureTimeDt: return "resource_detail_capture_time_dt" + case .resourceCreationTimeDt: return "ResourceCreationTime" + case .resourceDetailCaptureTimeDt: return "ResourceDetailCaptureTime" case let .sdkUnknown(s): return s } } @@ -26505,7 +26494,7 @@ extension SecurityHubClientTypes { public var rawValue: Swift.String { switch self { - case .tag: return "tags" + case .tag: return "ResourceTags" case let .sdkUnknown(s): return s } } @@ -26566,15 +26555,15 @@ extension SecurityHubClientTypes { public var rawValue: Swift.String { switch self { - case .severityCritical: return "findings_summary.severities.critical" - case .severityFatal: return "findings_summary.severities.fatal" - case .severityHigh: return "findings_summary.severities.high" - case .severityInformational: return "findings_summary.severities.informational" - case .severityLow: return "findings_summary.severities.low" - case .severityMedium: return "findings_summary.severities.medium" - case .severityOther: return "findings_summary.severities.other" - case .severityUnknown: return "findings_summary.severities.unknown" - case .totalFindings: return "findings_summary.total_findings" + case .severityCritical: return "FindingsSummary.Severities.Critical" + case .severityFatal: return "FindingsSummary.Severities.Fatal" + case .severityHigh: return "FindingsSummary.Severities.High" + case .severityInformational: return "FindingsSummary.Severities.Informational" + case .severityLow: return "FindingsSummary.Severities.Low" + case .severityMedium: return "FindingsSummary.Severities.Medium" + case .severityOther: return "FindingsSummary.Severities.Other" + case .severityUnknown: return "FindingsSummary.Severities.Unknown" + case .totalFindings: return "FindingsSummary.TotalFindings" case let .sdkUnknown(s): return s } } @@ -26607,8 +26596,8 @@ extension SecurityHubClientTypes { case findingType case productName case region - case resourceArn case resourceCategory + case resourceGuid case resourceId case resourceName case resourceType @@ -26620,8 +26609,8 @@ extension SecurityHubClientTypes { .findingType, .productName, .region, - .resourceArn, .resourceCategory, + .resourceGuid, .resourceId, .resourceName, .resourceType @@ -26635,15 +26624,15 @@ extension SecurityHubClientTypes { public var rawValue: Swift.String { switch self { - case .accountId: return "account_id" - case .findingType: return "findings_summary.finding_type" - case .productName: return "findings_summary.product_name" - case .region: return "region" - case .resourceArn: return "resource_arn" - case .resourceCategory: return "resource_category" - case .resourceId: return "resource_id" - case .resourceName: return "resource_name" - case .resourceType: return "resource_type" + case .accountId: return "AccountId" + case .findingType: return "FindingsSummary.FindingType" + case .productName: return "FindingsSummary.ProductName" + case .region: return "Region" + case .resourceCategory: return "ResourceCategory" + case .resourceGuid: return "ResourceGuid" + case .resourceId: return "ResourceId" + case .resourceName: return "ResourceName" + case .resourceType: return "ResourceType" case let .sdkUnknown(s): return s } } @@ -26669,56 +26658,6 @@ extension SecurityHubClientTypes { } } -extension SecurityHubClientTypes { - - /// Enables the creation of criteria for Amazon Web Services resources in Security Hub. - public struct ResourcesCompositeFilter: Swift.Sendable { - /// Enables filtering based on date and timestamp field values. - public var dateFilters: [SecurityHubClientTypes.ResourcesDateFilter]? - /// Enables filtering based on map-based field values. - public var mapFilters: [SecurityHubClientTypes.ResourcesMapFilter]? - /// Enables filtering based on numerical field values. - public var numberFilters: [SecurityHubClientTypes.ResourcesNumberFilter]? - /// The logical operator used to combine multiple filter conditions. - public var `operator`: SecurityHubClientTypes.AllowedOperators? - /// Enables filtering based on string field values. - public var stringFilters: [SecurityHubClientTypes.ResourcesStringFilter]? - - public init( - dateFilters: [SecurityHubClientTypes.ResourcesDateFilter]? = nil, - mapFilters: [SecurityHubClientTypes.ResourcesMapFilter]? = nil, - numberFilters: [SecurityHubClientTypes.ResourcesNumberFilter]? = nil, - `operator`: SecurityHubClientTypes.AllowedOperators? = nil, - stringFilters: [SecurityHubClientTypes.ResourcesStringFilter]? = nil - ) { - self.dateFilters = dateFilters - self.mapFilters = mapFilters - self.numberFilters = numberFilters - self.`operator` = `operator` - self.stringFilters = stringFilters - } - } -} - -extension SecurityHubClientTypes { - - /// Enables filtering of Amazon Web Services resources based on data. - public struct ResourcesFilters: Swift.Sendable { - /// A collection of complex filtering conditions that can be applied to Amazon Web Services resources. - public var compositeFilters: [SecurityHubClientTypes.ResourcesCompositeFilter]? - /// The logical operator used to combine multiple filter conditions in the structure. - public var compositeOperator: SecurityHubClientTypes.AllowedOperators? - - public init( - compositeFilters: [SecurityHubClientTypes.ResourcesCompositeFilter]? = nil, - compositeOperator: SecurityHubClientTypes.AllowedOperators? = nil - ) { - self.compositeFilters = compositeFilters - self.compositeOperator = compositeOperator - } - } -} - extension SecurityHubClientTypes { public enum ResourceGroupByField: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -26748,58 +26687,18 @@ extension SecurityHubClientTypes { public var rawValue: Swift.String { switch self { - case .accountId: return "account_id" - case .findingType: return "findings_summary.finding_type" - case .region: return "region" - case .resourceCategory: return "resource_category" - case .resourceName: return "resource_name" - case .resourceType: return "resource_type" + case .accountId: return "AccountId" + case .findingType: return "FindingsSummary.FindingType" + case .region: return "Region" + case .resourceCategory: return "ResourceCategory" + case .resourceName: return "ResourceName" + case .resourceType: return "ResourceType" case let .sdkUnknown(s): return s } } } } -extension SecurityHubClientTypes { - - /// Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings. - public struct ResourceGroupByRule: Swift.Sendable { - /// The criteria used to select resources and associated security findings. - public var filters: SecurityHubClientTypes.ResourcesFilters? - /// Specifies the attribute that resources should be grouped by. - /// This member is required. - public var groupByField: SecurityHubClientTypes.ResourceGroupByField? - - public init( - filters: SecurityHubClientTypes.ResourcesFilters? = nil, - groupByField: SecurityHubClientTypes.ResourceGroupByField? = nil - ) { - self.filters = filters - self.groupByField = groupByField - } - } -} - -public struct GetResourcesStatisticsV2Input: Swift.Sendable { - /// How resource statistics should be aggregated and organized in the response. - /// This member is required. - public var groupByRules: [SecurityHubClientTypes.ResourceGroupByRule]? - /// The maximum number of results to be returned. - public var maxStatisticResults: Swift.Int? - /// Sorts aggregated statistics. - public var sortOrder: SecurityHubClientTypes.SortOrder? - - public init( - groupByRules: [SecurityHubClientTypes.ResourceGroupByRule]? = nil, - maxStatisticResults: Swift.Int? = nil, - sortOrder: SecurityHubClientTypes.SortOrder? = nil - ) { - self.groupByRules = groupByRules - self.maxStatisticResults = maxStatisticResults - self.sortOrder = sortOrder - } -} - public struct GetResourcesStatisticsV2Output: Swift.Sendable { /// The aggregated statistics about resources based on the specified grouping rule. /// This member is required. @@ -26812,29 +26711,6 @@ public struct GetResourcesStatisticsV2Output: Swift.Sendable { } } -public struct GetResourcesV2Input: Swift.Sendable { - /// Filters resources based on a set of criteria. - public var filters: SecurityHubClientTypes.ResourcesFilters? - /// The maximum number of results to return. - public var maxResults: Swift.Int? - /// The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response. - public var nextToken: Swift.String? - /// The finding attributes used to sort the list of returned findings. - public var sortCriteria: [SecurityHubClientTypes.SortCriterion]? - - public init( - filters: SecurityHubClientTypes.ResourcesFilters? = nil, - maxResults: Swift.Int? = nil, - nextToken: Swift.String? = nil, - sortCriteria: [SecurityHubClientTypes.SortCriterion]? = nil - ) { - self.filters = filters - self.maxResults = maxResults - self.nextToken = nextToken - self.sortCriteria = sortCriteria - } -} - extension SecurityHubClientTypes { /// A comprehensive distribution of security findings by severity level for Amazon Web Services resources. @@ -26988,8 +26864,6 @@ extension SecurityHubClientTypes { /// The Amazon Web Services Region where the resource is located. /// This member is required. public var region: Swift.String? - /// Specifies the ARN that uniquely identifies a resource. - public var resourceArn: Swift.String? /// The grouping where the resource belongs. public var resourceCategory: SecurityHubClientTypes.ResourceCategory? /// The configuration details of a resource. @@ -27000,6 +26874,8 @@ extension SecurityHubClientTypes { /// The timestamp when information about the resource was captured. /// This member is required. public var resourceDetailCaptureTimeDt: Swift.String? + /// The global identifier used to identify a resource. + public var resourceGuid: Swift.String? /// The unique identifier for a resource. /// This member is required. public var resourceId: Swift.String? @@ -27014,11 +26890,11 @@ extension SecurityHubClientTypes { accountId: Swift.String? = nil, findingsSummary: [SecurityHubClientTypes.ResourceFindingsSummary]? = nil, region: Swift.String? = nil, - resourceArn: Swift.String? = nil, resourceCategory: SecurityHubClientTypes.ResourceCategory? = nil, resourceConfig: Smithy.Document? = nil, resourceCreationTimeDt: Swift.String? = nil, resourceDetailCaptureTimeDt: Swift.String? = nil, + resourceGuid: Swift.String? = nil, resourceId: Swift.String? = nil, resourceName: Swift.String? = nil, resourceTags: [SecurityHubClientTypes.ResourceTag]? = nil, @@ -27027,11 +26903,11 @@ extension SecurityHubClientTypes { self.accountId = accountId self.findingsSummary = findingsSummary self.region = region - self.resourceArn = resourceArn self.resourceCategory = resourceCategory self.resourceConfig = resourceConfig self.resourceCreationTimeDt = resourceCreationTimeDt self.resourceDetailCaptureTimeDt = resourceDetailCaptureTimeDt + self.resourceGuid = resourceGuid self.resourceId = resourceId self.resourceName = resourceName self.resourceTags = resourceTags @@ -27940,42 +27816,6 @@ public struct UpdateAggregatorV2Output: Swift.Sendable { } } -public struct UpdateAutomationRuleV2Input: Swift.Sendable { - /// A list of actions to be performed when the rule criteria is met. - public var actions: [SecurityHubClientTypes.AutomationRulesActionV2]? - /// The filtering type and configuration of the automation rule. - public var criteria: SecurityHubClientTypes.Criteria? - /// A description of the automation rule. - public var description: Swift.String? - /// The ARN of the automation rule. - /// This member is required. - public var identifier: Swift.String? - /// The name of the automation rule. - public var ruleName: Swift.String? - /// Represents a value for the rule priority. - public var ruleOrder: Swift.Float? - /// The status of the automation rule. - public var ruleStatus: SecurityHubClientTypes.RuleStatusV2? - - public init( - actions: [SecurityHubClientTypes.AutomationRulesActionV2]? = nil, - criteria: SecurityHubClientTypes.Criteria? = nil, - description: Swift.String? = nil, - identifier: Swift.String? = nil, - ruleName: Swift.String? = nil, - ruleOrder: Swift.Float? = nil, - ruleStatus: SecurityHubClientTypes.RuleStatusV2? = nil - ) { - self.actions = actions - self.criteria = criteria - self.description = description - self.identifier = identifier - self.ruleName = ruleName - self.ruleOrder = ruleOrder - self.ruleStatus = ruleStatus - } -} - public struct UpdateAutomationRuleV2Output: Swift.Sendable { public init() { } @@ -28173,113 +28013,492 @@ public struct UpdateInsightInput: Swift.Sendable { name: Swift.String? = nil ) { self.filters = filters - self.groupByAttribute = groupByAttribute - self.insightArn = insightArn - self.name = name + self.groupByAttribute = groupByAttribute + self.insightArn = insightArn + self.name = name + } +} + +public struct UpdateInsightOutput: Swift.Sendable { + + public init() { } +} + +public struct UpdateOrganizationConfigurationInput: Swift.Sendable { + /// Whether to automatically enable Security Hub in new member accounts when they join the organization. If set to true, then Security Hub is automatically enabled in new accounts. If set to false, then Security Hub isn't enabled in new accounts automatically. The default value is false. If the ConfigurationType of your organization is set to CENTRAL, then this field is set to false and can't be changed in the home Region and linked Regions. However, in that case, the delegated administrator can create a configuration policy in which Security Hub is enabled and associate the policy with new organization accounts. + /// This member is required. + public var autoEnable: Swift.Bool? + /// Whether to automatically enable Security Hub [default standards](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-enable-disable.html) in new member accounts when they join the organization. The default value of this parameter is equal to DEFAULT. If equal to DEFAULT, then Security Hub default standards are automatically enabled for new member accounts. If equal to NONE, then default standards are not automatically enabled for new member accounts. If the ConfigurationType of your organization is set to CENTRAL, then this field is set to NONE and can't be changed in the home Region and linked Regions. However, in that case, the delegated administrator can create a configuration policy in which specific security standards are enabled and associate the policy with new organization accounts. + public var autoEnableStandards: SecurityHubClientTypes.AutoEnableStandards? + /// Provides information about the way an organization is configured in Security Hub. + public var organizationConfiguration: SecurityHubClientTypes.OrganizationConfiguration? + + public init( + autoEnable: Swift.Bool? = nil, + autoEnableStandards: SecurityHubClientTypes.AutoEnableStandards? = nil, + organizationConfiguration: SecurityHubClientTypes.OrganizationConfiguration? = nil + ) { + self.autoEnable = autoEnable + self.autoEnableStandards = autoEnableStandards + self.organizationConfiguration = organizationConfiguration + } +} + +public struct UpdateOrganizationConfigurationOutput: Swift.Sendable { + + public init() { } +} + +public struct UpdateSecurityControlInput: Swift.Sendable { + /// The most recent reason for updating the properties of the security control. This field accepts alphanumeric characters in addition to white spaces, dashes, and underscores. + public var lastUpdateReason: Swift.String? + /// An object that specifies which security control parameters to update. + /// This member is required. + public var parameters: [Swift.String: SecurityHubClientTypes.ParameterConfiguration]? + /// The Amazon Resource Name (ARN) or ID of the control to update. + /// This member is required. + public var securityControlId: Swift.String? + + public init( + lastUpdateReason: Swift.String? = nil, + parameters: [Swift.String: SecurityHubClientTypes.ParameterConfiguration]? = nil, + securityControlId: Swift.String? = nil + ) { + self.lastUpdateReason = lastUpdateReason + self.parameters = parameters + self.securityControlId = securityControlId + } +} + +public struct UpdateSecurityControlOutput: Swift.Sendable { + + public init() { } +} + +public struct UpdateSecurityHubConfigurationInput: Swift.Sendable { + /// Whether to automatically enable new controls when they are added to standards that are enabled. By default, this is set to true, and new controls are enabled automatically. To not automatically enable new controls, set this to false. When you automatically enable new controls, you can interact with the controls in the console and programmatically immediately after release. However, automatically enabled controls have a temporary default status of DISABLED. It can take up to several days for Security Hub to process the control release and designate the control as ENABLED in your account. During the processing period, you can manually enable or disable a control, and Security Hub will maintain that designation regardless of whether you have AutoEnableControls set to true. + public var autoEnableControls: Swift.Bool? + /// Updates whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards. For accounts that are part of an organization, this value can only be updated in the administrator account. + public var controlFindingGenerator: SecurityHubClientTypes.ControlFindingGenerator? + + public init( + autoEnableControls: Swift.Bool? = nil, + controlFindingGenerator: SecurityHubClientTypes.ControlFindingGenerator? = nil + ) { + self.autoEnableControls = autoEnableControls + self.controlFindingGenerator = controlFindingGenerator + } +} + +public struct UpdateSecurityHubConfigurationOutput: Swift.Sendable { + + public init() { } +} + +public struct UpdateStandardsControlInput: Swift.Sendable { + /// The updated status of the security standard control. + public var controlStatus: SecurityHubClientTypes.ControlStatus? + /// A description of the reason why you are disabling a security standard control. If you are disabling a control, then this is required. + public var disabledReason: Swift.String? + /// The ARN of the security standard control to enable or disable. + /// This member is required. + public var standardsControlArn: Swift.String? + + public init( + controlStatus: SecurityHubClientTypes.ControlStatus? = nil, + disabledReason: Swift.String? = nil, + standardsControlArn: Swift.String? = nil + ) { + self.controlStatus = controlStatus + self.disabledReason = disabledReason + self.standardsControlArn = standardsControlArn + } +} + +public struct UpdateStandardsControlOutput: Swift.Sendable { + + public init() { } +} + +extension SecurityHubClientTypes { + + /// Enables the creation of filtering criteria for security findings. + public struct CompositeFilter: Swift.Sendable { + /// Enables filtering based on boolean field values. + public var booleanFilters: [SecurityHubClientTypes.OcsfBooleanFilter]? + /// Enables filtering based on date and timestamp fields. + public var dateFilters: [SecurityHubClientTypes.OcsfDateFilter]? + /// A list of IP address filters that allowing you to filter findings based on IP address properties. + public var ipFilters: [SecurityHubClientTypes.OcsfIpFilter]? + /// Enables filtering based on map field values. + public var mapFilters: [SecurityHubClientTypes.OcsfMapFilter]? + /// Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator (AND/OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions. + public var nestedCompositeFilters: [SecurityHubClientTypes.CompositeFilter]? + /// Enables filtering based on numerical field values. + public var numberFilters: [SecurityHubClientTypes.OcsfNumberFilter]? + /// The logical operator used to combine multiple filter conditions. + public var `operator`: SecurityHubClientTypes.AllowedOperators? + /// Enables filtering based on string field values. + public var stringFilters: [SecurityHubClientTypes.OcsfStringFilter]? + + public init( + booleanFilters: [SecurityHubClientTypes.OcsfBooleanFilter]? = nil, + dateFilters: [SecurityHubClientTypes.OcsfDateFilter]? = nil, + ipFilters: [SecurityHubClientTypes.OcsfIpFilter]? = nil, + mapFilters: [SecurityHubClientTypes.OcsfMapFilter]? = nil, + nestedCompositeFilters: [SecurityHubClientTypes.CompositeFilter]? = nil, + numberFilters: [SecurityHubClientTypes.OcsfNumberFilter]? = nil, + `operator`: SecurityHubClientTypes.AllowedOperators? = nil, + stringFilters: [SecurityHubClientTypes.OcsfStringFilter]? = nil + ) { + self.booleanFilters = booleanFilters + self.dateFilters = dateFilters + self.ipFilters = ipFilters + self.mapFilters = mapFilters + self.nestedCompositeFilters = nestedCompositeFilters + self.numberFilters = numberFilters + self.`operator` = `operator` + self.stringFilters = stringFilters + } + } +} + +extension SecurityHubClientTypes { + + /// Enables the creation of criteria for Amazon Web Services resources in Security Hub. + public struct ResourcesCompositeFilter: Swift.Sendable { + /// Enables filtering based on date and timestamp field values. + public var dateFilters: [SecurityHubClientTypes.ResourcesDateFilter]? + /// Enables filtering based on map-based field values. + public var mapFilters: [SecurityHubClientTypes.ResourcesMapFilter]? + /// Provides an additional level of filtering, creating a three-layer nested structure. The first layer is a CompositeFilters array with a CompositeOperator (AND/OR). The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. The third layer is NestedCompositeFilters, which contains additional filter conditions. + public var nestedCompositeFilters: [SecurityHubClientTypes.ResourcesCompositeFilter]? + /// Enables filtering based on numerical field values. + public var numberFilters: [SecurityHubClientTypes.ResourcesNumberFilter]? + /// The logical operator used to combine multiple filter conditions. + public var `operator`: SecurityHubClientTypes.AllowedOperators? + /// Enables filtering based on string field values. + public var stringFilters: [SecurityHubClientTypes.ResourcesStringFilter]? + + public init( + dateFilters: [SecurityHubClientTypes.ResourcesDateFilter]? = nil, + mapFilters: [SecurityHubClientTypes.ResourcesMapFilter]? = nil, + nestedCompositeFilters: [SecurityHubClientTypes.ResourcesCompositeFilter]? = nil, + numberFilters: [SecurityHubClientTypes.ResourcesNumberFilter]? = nil, + `operator`: SecurityHubClientTypes.AllowedOperators? = nil, + stringFilters: [SecurityHubClientTypes.ResourcesStringFilter]? = nil + ) { + self.dateFilters = dateFilters + self.mapFilters = mapFilters + self.nestedCompositeFilters = nestedCompositeFilters + self.numberFilters = numberFilters + self.`operator` = `operator` + self.stringFilters = stringFilters + } + } +} + +extension SecurityHubClientTypes { + + /// Specifies the filtering criteria for security findings using OCSF. + public struct OcsfFindingFilters: Swift.Sendable { + /// Enables the creation of complex filtering conditions by combining filter criteria. + public var compositeFilters: [SecurityHubClientTypes.CompositeFilter]? + /// The logical operators used to combine the filtering on multiple CompositeFilters. + public var compositeOperator: SecurityHubClientTypes.AllowedOperators? + + public init( + compositeFilters: [SecurityHubClientTypes.CompositeFilter]? = nil, + compositeOperator: SecurityHubClientTypes.AllowedOperators? = nil + ) { + self.compositeFilters = compositeFilters + self.compositeOperator = compositeOperator + } + } +} + +extension SecurityHubClientTypes { + + /// Enables filtering of Amazon Web Services resources based on data. + public struct ResourcesFilters: Swift.Sendable { + /// A collection of complex filtering conditions that can be applied to Amazon Web Services resources. + public var compositeFilters: [SecurityHubClientTypes.ResourcesCompositeFilter]? + /// The logical operator used to combine multiple filter conditions in the structure. + public var compositeOperator: SecurityHubClientTypes.AllowedOperators? + + public init( + compositeFilters: [SecurityHubClientTypes.ResourcesCompositeFilter]? = nil, + compositeOperator: SecurityHubClientTypes.AllowedOperators? = nil + ) { + self.compositeFilters = compositeFilters + self.compositeOperator = compositeOperator + } + } +} + +extension SecurityHubClientTypes { + + /// Defines the parameters and conditions used to evaluate and filter security findings. + public indirect enum Criteria: Swift.Sendable { + /// The filtering conditions that align with OCSF standards. + case ocsffindingcriteria(SecurityHubClientTypes.OcsfFindingFilters) + case sdkUnknown(Swift.String) + } +} + +extension SecurityHubClientTypes { + + /// Defines the how the finding attribute should be grouped. + public struct GroupByRule: Swift.Sendable { + /// The criteria used to select which security findings should be included in the grouping operation. + public var filters: SecurityHubClientTypes.OcsfFindingFilters? + /// The attribute by which filtered findings should be grouped. + /// This member is required. + public var groupByField: SecurityHubClientTypes.GroupByField? + + public init( + filters: SecurityHubClientTypes.OcsfFindingFilters? = nil, + groupByField: SecurityHubClientTypes.GroupByField? = nil + ) { + self.filters = filters + self.groupByField = groupByField + } + } +} + +extension SecurityHubClientTypes { + + /// Defines the configuration for organizing and categorizing Amazon Web Services resources based on associated security findings. + public struct ResourceGroupByRule: Swift.Sendable { + /// The criteria used to select resources and associated security findings. + public var filters: SecurityHubClientTypes.ResourcesFilters? + /// Specifies the attribute that resources should be grouped by. + /// This member is required. + public var groupByField: SecurityHubClientTypes.ResourceGroupByField? + + public init( + filters: SecurityHubClientTypes.ResourcesFilters? = nil, + groupByField: SecurityHubClientTypes.ResourceGroupByField? = nil + ) { + self.filters = filters + self.groupByField = groupByField + } + } +} + +public struct GetFindingsV2Input: Swift.Sendable { + /// The finding attributes used to define a condition to filter the returned OCSF findings. You can filter up to 10 composite filters. For each filter type inside of a composite filter, you can provide up to 20 filters. + public var filters: SecurityHubClientTypes.OcsfFindingFilters? + /// The maximum number of results to return. + public var maxResults: Swift.Int? + /// The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response. + public var nextToken: Swift.String? + /// The finding attributes used to sort the list of returned findings. + public var sortCriteria: [SecurityHubClientTypes.SortCriterion]? + + public init( + filters: SecurityHubClientTypes.OcsfFindingFilters? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil, + sortCriteria: [SecurityHubClientTypes.SortCriterion]? = nil + ) { + self.filters = filters + self.maxResults = maxResults + self.nextToken = nextToken + self.sortCriteria = sortCriteria + } +} + +public struct GetResourcesV2Input: Swift.Sendable { + /// Filters resources based on a set of criteria. + public var filters: SecurityHubClientTypes.ResourcesFilters? + /// The maximum number of results to return. + public var maxResults: Swift.Int? + /// The token required for pagination. On your first call, set the value of this parameter to NULL. For subsequent calls, to continue listing data, set the value of this parameter to the value returned in the previous response. + public var nextToken: Swift.String? + /// The finding attributes used to sort the list of returned findings. + public var sortCriteria: [SecurityHubClientTypes.SortCriterion]? + + public init( + filters: SecurityHubClientTypes.ResourcesFilters? = nil, + maxResults: Swift.Int? = nil, + nextToken: Swift.String? = nil, + sortCriteria: [SecurityHubClientTypes.SortCriterion]? = nil + ) { + self.filters = filters + self.maxResults = maxResults + self.nextToken = nextToken + self.sortCriteria = sortCriteria } } -public struct UpdateInsightOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateOrganizationConfigurationInput: Swift.Sendable { - /// Whether to automatically enable Security Hub in new member accounts when they join the organization. If set to true, then Security Hub is automatically enabled in new accounts. If set to false, then Security Hub isn't enabled in new accounts automatically. The default value is false. If the ConfigurationType of your organization is set to CENTRAL, then this field is set to false and can't be changed in the home Region and linked Regions. However, in that case, the delegated administrator can create a configuration policy in which Security Hub is enabled and associate the policy with new organization accounts. +public struct CreateAutomationRuleV2Input: Swift.Sendable { + /// A list of actions to be performed when the rule criteria is met. /// This member is required. - public var autoEnable: Swift.Bool? - /// Whether to automatically enable Security Hub [default standards](https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-enable-disable.html) in new member accounts when they join the organization. The default value of this parameter is equal to DEFAULT. If equal to DEFAULT, then Security Hub default standards are automatically enabled for new member accounts. If equal to NONE, then default standards are not automatically enabled for new member accounts. If the ConfigurationType of your organization is set to CENTRAL, then this field is set to NONE and can't be changed in the home Region and linked Regions. However, in that case, the delegated administrator can create a configuration policy in which specific security standards are enabled and associate the policy with new organization accounts. - public var autoEnableStandards: SecurityHubClientTypes.AutoEnableStandards? - /// Provides information about the way an organization is configured in Security Hub. - public var organizationConfiguration: SecurityHubClientTypes.OrganizationConfiguration? + public var actions: [SecurityHubClientTypes.AutomationRulesActionV2]? + /// A unique identifier used to ensure idempotency. + public var clientToken: Swift.String? + /// The filtering type and configuration of the automation rule. + /// This member is required. + public var criteria: SecurityHubClientTypes.Criteria? + /// A description of the V2 automation rule. + /// This member is required. + public var description: Swift.String? + /// The name of the V2 automation rule. + /// This member is required. + public var ruleName: Swift.String? + /// The value for the rule priority. + /// This member is required. + public var ruleOrder: Swift.Float? + /// The status of the V2 automation rule. + public var ruleStatus: SecurityHubClientTypes.RuleStatusV2? + /// A list of key-value pairs associated with the V2 automation rule. + public var tags: [Swift.String: Swift.String]? public init( - autoEnable: Swift.Bool? = nil, - autoEnableStandards: SecurityHubClientTypes.AutoEnableStandards? = nil, - organizationConfiguration: SecurityHubClientTypes.OrganizationConfiguration? = nil + actions: [SecurityHubClientTypes.AutomationRulesActionV2]? = nil, + clientToken: Swift.String? = nil, + criteria: SecurityHubClientTypes.Criteria? = nil, + description: Swift.String? = nil, + ruleName: Swift.String? = nil, + ruleOrder: Swift.Float? = nil, + ruleStatus: SecurityHubClientTypes.RuleStatusV2? = nil, + tags: [Swift.String: Swift.String]? = nil ) { - self.autoEnable = autoEnable - self.autoEnableStandards = autoEnableStandards - self.organizationConfiguration = organizationConfiguration + self.actions = actions + self.clientToken = clientToken + self.criteria = criteria + self.description = description + self.ruleName = ruleName + self.ruleOrder = ruleOrder + self.ruleStatus = ruleStatus + self.tags = tags } } -public struct UpdateOrganizationConfigurationOutput: Swift.Sendable { +public struct GetAutomationRuleV2Output: Swift.Sendable { + /// A list of actions performed when the rule criteria is met. + public var actions: [SecurityHubClientTypes.AutomationRulesActionV2]? + /// The timestamp when the V2 automation rule was created. + public var createdAt: Foundation.Date? + /// The filtering type and configuration of the V2 automation rule. + public var criteria: SecurityHubClientTypes.Criteria? + /// A description of the automation rule. + public var description: Swift.String? + /// The ARN of the V2 automation rule. + public var ruleArn: Swift.String? + /// The ID of the V2 automation rule. + public var ruleId: Swift.String? + /// The name of the V2 automation rule. + public var ruleName: Swift.String? + /// The value for the rule priority. + public var ruleOrder: Swift.Float? + /// The status of the V2 automation automation rule. + public var ruleStatus: SecurityHubClientTypes.RuleStatusV2? + /// The timestamp when the V2 automation rule was updated. + public var updatedAt: Foundation.Date? - public init() { } + public init( + actions: [SecurityHubClientTypes.AutomationRulesActionV2]? = nil, + createdAt: Foundation.Date? = nil, + criteria: SecurityHubClientTypes.Criteria? = nil, + description: Swift.String? = nil, + ruleArn: Swift.String? = nil, + ruleId: Swift.String? = nil, + ruleName: Swift.String? = nil, + ruleOrder: Swift.Float? = nil, + ruleStatus: SecurityHubClientTypes.RuleStatusV2? = nil, + updatedAt: Foundation.Date? = nil + ) { + self.actions = actions + self.createdAt = createdAt + self.criteria = criteria + self.description = description + self.ruleArn = ruleArn + self.ruleId = ruleId + self.ruleName = ruleName + self.ruleOrder = ruleOrder + self.ruleStatus = ruleStatus + self.updatedAt = updatedAt + } } -public struct UpdateSecurityControlInput: Swift.Sendable { - /// The most recent reason for updating the properties of the security control. This field accepts alphanumeric characters in addition to white spaces, dashes, and underscores. - public var lastUpdateReason: Swift.String? - /// An object that specifies which security control parameters to update. - /// This member is required. - public var parameters: [Swift.String: SecurityHubClientTypes.ParameterConfiguration]? - /// The Amazon Resource Name (ARN) or ID of the control to update. +public struct UpdateAutomationRuleV2Input: Swift.Sendable { + /// A list of actions to be performed when the rule criteria is met. + public var actions: [SecurityHubClientTypes.AutomationRulesActionV2]? + /// The filtering type and configuration of the automation rule. + public var criteria: SecurityHubClientTypes.Criteria? + /// A description of the automation rule. + public var description: Swift.String? + /// The ARN of the automation rule. /// This member is required. - public var securityControlId: Swift.String? + public var identifier: Swift.String? + /// The name of the automation rule. + public var ruleName: Swift.String? + /// Represents a value for the rule priority. + public var ruleOrder: Swift.Float? + /// The status of the automation rule. + public var ruleStatus: SecurityHubClientTypes.RuleStatusV2? public init( - lastUpdateReason: Swift.String? = nil, - parameters: [Swift.String: SecurityHubClientTypes.ParameterConfiguration]? = nil, - securityControlId: Swift.String? = nil + actions: [SecurityHubClientTypes.AutomationRulesActionV2]? = nil, + criteria: SecurityHubClientTypes.Criteria? = nil, + description: Swift.String? = nil, + identifier: Swift.String? = nil, + ruleName: Swift.String? = nil, + ruleOrder: Swift.Float? = nil, + ruleStatus: SecurityHubClientTypes.RuleStatusV2? = nil ) { - self.lastUpdateReason = lastUpdateReason - self.parameters = parameters - self.securityControlId = securityControlId + self.actions = actions + self.criteria = criteria + self.description = description + self.identifier = identifier + self.ruleName = ruleName + self.ruleOrder = ruleOrder + self.ruleStatus = ruleStatus } } -public struct UpdateSecurityControlOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateSecurityHubConfigurationInput: Swift.Sendable { - /// Whether to automatically enable new controls when they are added to standards that are enabled. By default, this is set to true, and new controls are enabled automatically. To not automatically enable new controls, set this to false. When you automatically enable new controls, you can interact with the controls in the console and programmatically immediately after release. However, automatically enabled controls have a temporary default status of DISABLED. It can take up to several days for Security Hub to process the control release and designate the control as ENABLED in your account. During the processing period, you can manually enable or disable a control, and Security Hub will maintain that designation regardless of whether you have AutoEnableControls set to true. - public var autoEnableControls: Swift.Bool? - /// Updates whether the calling account has consolidated control findings turned on. If the value for this field is set to SECURITY_CONTROL, Security Hub generates a single finding for a control check even when the check applies to multiple enabled standards. If the value for this field is set to STANDARD_CONTROL, Security Hub generates separate findings for a control check when the check applies to multiple enabled standards. For accounts that are part of an organization, this value can only be updated in the administrator account. - public var controlFindingGenerator: SecurityHubClientTypes.ControlFindingGenerator? +public struct GetFindingStatisticsV2Input: Swift.Sendable { + /// Specifies how security findings should be aggregated and organized in the statistical analysis. It can accept up to 5 groupBy fields in a single call. + /// This member is required. + public var groupByRules: [SecurityHubClientTypes.GroupByRule]? + /// The maximum number of results to be returned. + public var maxStatisticResults: Swift.Int? + /// Orders the aggregation count in descending or ascending order. Descending order is the default. + public var sortOrder: SecurityHubClientTypes.SortOrder? public init( - autoEnableControls: Swift.Bool? = nil, - controlFindingGenerator: SecurityHubClientTypes.ControlFindingGenerator? = nil + groupByRules: [SecurityHubClientTypes.GroupByRule]? = nil, + maxStatisticResults: Swift.Int? = nil, + sortOrder: SecurityHubClientTypes.SortOrder? = nil ) { - self.autoEnableControls = autoEnableControls - self.controlFindingGenerator = controlFindingGenerator + self.groupByRules = groupByRules + self.maxStatisticResults = maxStatisticResults + self.sortOrder = sortOrder } } -public struct UpdateSecurityHubConfigurationOutput: Swift.Sendable { - - public init() { } -} - -public struct UpdateStandardsControlInput: Swift.Sendable { - /// The updated status of the security standard control. - public var controlStatus: SecurityHubClientTypes.ControlStatus? - /// A description of the reason why you are disabling a security standard control. If you are disabling a control, then this is required. - public var disabledReason: Swift.String? - /// The ARN of the security standard control to enable or disable. +public struct GetResourcesStatisticsV2Input: Swift.Sendable { + /// How resource statistics should be aggregated and organized in the response. /// This member is required. - public var standardsControlArn: Swift.String? + public var groupByRules: [SecurityHubClientTypes.ResourceGroupByRule]? + /// The maximum number of results to be returned. + public var maxStatisticResults: Swift.Int? + /// Sorts aggregated statistics. + public var sortOrder: SecurityHubClientTypes.SortOrder? public init( - controlStatus: SecurityHubClientTypes.ControlStatus? = nil, - disabledReason: Swift.String? = nil, - standardsControlArn: Swift.String? = nil + groupByRules: [SecurityHubClientTypes.ResourceGroupByRule]? = nil, + maxStatisticResults: Swift.Int? = nil, + sortOrder: SecurityHubClientTypes.SortOrder? = nil ) { - self.controlStatus = controlStatus - self.disabledReason = disabledReason - self.standardsControlArn = standardsControlArn + self.groupByRules = groupByRules + self.maxStatisticResults = maxStatisticResults + self.sortOrder = sortOrder } } -public struct UpdateStandardsControlOutput: Swift.Sendable { - - public init() { } -} - extension AcceptAdministratorInvitationInput { static func urlPathProvider(_ value: AcceptAdministratorInvitationInput) -> Swift.String? { @@ -34275,7 +34494,9 @@ extension SecurityHubClientTypes.CompositeFilter { guard let value else { return } try writer["BooleanFilters"].writeList(value.booleanFilters, memberWritingClosure: SecurityHubClientTypes.OcsfBooleanFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["DateFilters"].writeList(value.dateFilters, memberWritingClosure: SecurityHubClientTypes.OcsfDateFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["IpFilters"].writeList(value.ipFilters, memberWritingClosure: SecurityHubClientTypes.OcsfIpFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["MapFilters"].writeList(value.mapFilters, memberWritingClosure: SecurityHubClientTypes.OcsfMapFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["NestedCompositeFilters"].writeList(value.nestedCompositeFilters, memberWritingClosure: SecurityHubClientTypes.CompositeFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["NumberFilters"].writeList(value.numberFilters, memberWritingClosure: SecurityHubClientTypes.OcsfNumberFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Operator"].write(value.`operator`) try writer["StringFilters"].writeList(value.stringFilters, memberWritingClosure: SecurityHubClientTypes.OcsfStringFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) @@ -34289,11 +34510,45 @@ extension SecurityHubClientTypes.CompositeFilter { value.booleanFilters = try reader["BooleanFilters"].readListIfPresent(memberReadingClosure: SecurityHubClientTypes.OcsfBooleanFilter.read(from:), memberNodeInfo: "member", isFlattened: false) value.numberFilters = try reader["NumberFilters"].readListIfPresent(memberReadingClosure: SecurityHubClientTypes.OcsfNumberFilter.read(from:), memberNodeInfo: "member", isFlattened: false) value.mapFilters = try reader["MapFilters"].readListIfPresent(memberReadingClosure: SecurityHubClientTypes.OcsfMapFilter.read(from:), memberNodeInfo: "member", isFlattened: false) + value.ipFilters = try reader["IpFilters"].readListIfPresent(memberReadingClosure: SecurityHubClientTypes.OcsfIpFilter.read(from:), memberNodeInfo: "member", isFlattened: false) + value.nestedCompositeFilters = try reader["NestedCompositeFilters"].readListIfPresent(memberReadingClosure: SecurityHubClientTypes.CompositeFilter.read(from:), memberNodeInfo: "member", isFlattened: false) value.`operator` = try reader["Operator"].readIfPresent() return value } } +extension SecurityHubClientTypes.OcsfIpFilter { + + static func write(value: SecurityHubClientTypes.OcsfIpFilter?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["FieldName"].write(value.fieldName) + try writer["Filter"].write(value.filter, with: SecurityHubClientTypes.IpFilter.write(value:to:)) + } + + static func read(from reader: SmithyJSON.Reader) throws -> SecurityHubClientTypes.OcsfIpFilter { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = SecurityHubClientTypes.OcsfIpFilter() + value.fieldName = try reader["FieldName"].readIfPresent() + value.filter = try reader["Filter"].readIfPresent(with: SecurityHubClientTypes.IpFilter.read(from:)) + return value + } +} + +extension SecurityHubClientTypes.IpFilter { + + static func write(value: SecurityHubClientTypes.IpFilter?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["Cidr"].write(value.cidr) + } + + static func read(from reader: SmithyJSON.Reader) throws -> SecurityHubClientTypes.IpFilter { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = SecurityHubClientTypes.IpFilter() + value.cidr = try reader["Cidr"].readIfPresent() + return value + } +} + extension SecurityHubClientTypes.OcsfMapFilter { static func write(value: SecurityHubClientTypes.OcsfMapFilter?, to writer: SmithyJSON.Writer) throws { @@ -48368,21 +48623,6 @@ extension SecurityHubClientTypes.KeywordFilter { } } -extension SecurityHubClientTypes.IpFilter { - - static func write(value: SecurityHubClientTypes.IpFilter?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["Cidr"].write(value.cidr) - } - - static func read(from reader: SmithyJSON.Reader) throws -> SecurityHubClientTypes.IpFilter { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = SecurityHubClientTypes.IpFilter() - value.cidr = try reader["Cidr"].readIfPresent() - return value - } -} - extension SecurityHubClientTypes.Member { static func read(from reader: SmithyJSON.Reader) throws -> SecurityHubClientTypes.Member { @@ -48404,7 +48644,7 @@ extension SecurityHubClientTypes.ResourceResult { static func read(from reader: SmithyJSON.Reader) throws -> SecurityHubClientTypes.ResourceResult { guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } var value = SecurityHubClientTypes.ResourceResult() - value.resourceArn = try reader["ResourceArn"].readIfPresent() + value.resourceGuid = try reader["ResourceGuid"].readIfPresent() value.resourceId = try reader["ResourceId"].readIfPresent() ?? "" value.accountId = try reader["AccountId"].readIfPresent() ?? "" value.region = try reader["Region"].readIfPresent() ?? "" @@ -48856,6 +49096,7 @@ extension SecurityHubClientTypes.ResourcesCompositeFilter { guard let value else { return } try writer["DateFilters"].writeList(value.dateFilters, memberWritingClosure: SecurityHubClientTypes.ResourcesDateFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["MapFilters"].writeList(value.mapFilters, memberWritingClosure: SecurityHubClientTypes.ResourcesMapFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) + try writer["NestedCompositeFilters"].writeList(value.nestedCompositeFilters, memberWritingClosure: SecurityHubClientTypes.ResourcesCompositeFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["NumberFilters"].writeList(value.numberFilters, memberWritingClosure: SecurityHubClientTypes.ResourcesNumberFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["Operator"].write(value.`operator`) try writer["StringFilters"].writeList(value.stringFilters, memberWritingClosure: SecurityHubClientTypes.ResourcesStringFilter.write(value:to:), memberNodeInfo: "member", isFlattened: false) diff --git a/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/SecurityHubClient.swift b/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/SecurityHubClient.swift index 54c76d2e39c..8d10ce8fa9e 100644 --- a/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/SecurityHubClient.swift +++ b/Sources/Services/AWSSecurityHub/Sources/AWSSecurityHub/SecurityHubClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -68,9 +68,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SecurityHubClient: ClientRuntime.Client { +public class SecurityHubClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SecurityHubClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SecurityHubClient.SecurityHubClientConfiguration let serviceName = "SecurityHub" @@ -1289,7 +1288,7 @@ extension SecurityHubClient { /// Performs the `BatchUpdateFindingsV2` operation on the `SecurityHub` service. /// - /// Used by customers to update information about their investigation into a finding. Requested by delegated administrator accounts or member accounts. Delegated administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:BatchUpdateFindings action. Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in private preview and subject to change. + /// Used by customers to update information about their investigation into a finding. Requested by delegated administrator accounts or member accounts. Delegated administrator accounts can update findings for their account and their member accounts. Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:BatchUpdateFindings action. Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `BatchUpdateFindingsV2Input`) /// @@ -1578,7 +1577,7 @@ extension SecurityHubClient { /// Performs the `CreateAggregatorV2` operation on the `SecurityHub` service. /// - /// Enables aggregation across Amazon Web Services Regions. This API is in private preview and subject to change. + /// Enables aggregation across Amazon Web Services Regions. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `CreateAggregatorV2Input`) /// @@ -1724,7 +1723,7 @@ extension SecurityHubClient { /// Performs the `CreateAutomationRuleV2` operation on the `SecurityHub` service. /// - /// Creates a V2 automation rule. This API is in private preview and subject to change. + /// Creates a V2 automation rule. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `CreateAutomationRuleV2Input`) /// @@ -2388,7 +2387,7 @@ extension SecurityHubClient { /// Performs the `DeleteAggregatorV2` operation on the `SecurityHub` service. /// - /// Deletes the Aggregator V2. This API is in private preview and subject to change. + /// Deletes the Aggregator V2. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `DeleteAggregatorV2Input`) /// @@ -2458,7 +2457,7 @@ extension SecurityHubClient { /// Performs the `DeleteAutomationRuleV2` operation on the `SecurityHub` service. /// - /// Deletes a V2 automation rule. This API is in private preview and subject to change. + /// Deletes a V2 automation rule. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `DeleteAutomationRuleV2Input`) /// @@ -3230,7 +3229,7 @@ extension SecurityHubClient { /// Performs the `DescribeProductsV2` operation on the `SecurityHub` service. /// - /// Gets information about the product integration. This API is in private preview and subject to change. + /// Gets information about the product integration. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `DescribeProductsV2Input`) /// @@ -3300,7 +3299,7 @@ extension SecurityHubClient { /// Performs the `DescribeSecurityHubV2` operation on the `SecurityHub` service. /// - /// Returns details about the service resource in your account. This API is in private preview and subject to change. + /// Returns details about the service resource in your account. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `DescribeSecurityHubV2Input`) /// @@ -3715,7 +3714,7 @@ extension SecurityHubClient { /// Performs the `DisableSecurityHubV2` operation on the `SecurityHub` service. /// - /// Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change. + /// Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `DisableSecurityHubV2Input`) /// @@ -4218,7 +4217,7 @@ extension SecurityHubClient { /// Performs the `EnableSecurityHubV2` operation on the `SecurityHub` service. /// - /// Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change. + /// Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `EnableSecurityHubV2Input`) /// @@ -4358,7 +4357,7 @@ extension SecurityHubClient { /// Performs the `GetAggregatorV2` operation on the `SecurityHub` service. /// - /// Returns the configuration of the specified Aggregator V2. This API is in private preview and subject to change. + /// Returns the configuration of the specified Aggregator V2. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `GetAggregatorV2Input`) /// @@ -4428,7 +4427,7 @@ extension SecurityHubClient { /// Performs the `GetAutomationRuleV2` operation on the `SecurityHub` service. /// - /// Returns an automation rule for the V2 service. This API is in private preview and subject to change. + /// Returns an automation rule for the V2 service. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `GetAutomationRuleV2Input`) /// @@ -4923,7 +4922,7 @@ extension SecurityHubClient { /// Performs the `GetFindingStatisticsV2` operation on the `SecurityHub` service. /// - /// Returns aggregated statistical data about findings. GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. You must have permission to perform the s action. This API is in private preview and subject to change. + /// Returns aggregated statistical data about findings. GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. You must have permission to perform the s action. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `GetFindingStatisticsV2Input`) /// @@ -5066,7 +5065,7 @@ extension SecurityHubClient { /// Performs the `GetFindingsV2` operation on the `SecurityHub` service. /// - /// Return a list of findings that match the specified criteria. GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:GetFindings action. This API is in private preview and subject to change. + /// Return a list of findings that match the specified criteria. GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. You must have permission to perform the securityhub:GetFindings action. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `GetFindingsV2Input`) /// @@ -5489,7 +5488,7 @@ extension SecurityHubClient { /// Performs the `GetResourcesStatisticsV2` operation on the `SecurityHub` service. /// - /// Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in private preview and subject to change. + /// Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `GetResourcesStatisticsV2Input`) /// @@ -5562,7 +5561,7 @@ extension SecurityHubClient { /// Performs the `GetResourcesV2` operation on the `SecurityHub` service. /// - /// Returns a list of resources. This API is in private preview and subject to change. + /// Returns a list of resources. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `GetResourcesV2Input`) /// @@ -5777,7 +5776,7 @@ extension SecurityHubClient { /// Performs the `ListAggregatorsV2` operation on the `SecurityHub` service. /// - /// Retrieves a list of V2 aggregators. This API is in private preview and subject to change. + /// Retrieves a list of V2 aggregators. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `ListAggregatorsV2Input`) /// @@ -5918,7 +5917,7 @@ extension SecurityHubClient { /// Performs the `ListAutomationRulesV2` operation on the `SecurityHub` service. /// - /// Returns a list of automation rules and metadata for the calling account. This API is in private preview and subject to change. + /// Returns a list of automation rules and metadata for the calling account. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `ListAutomationRulesV2Input`) /// @@ -7106,7 +7105,7 @@ extension SecurityHubClient { /// Performs the `UpdateAggregatorV2` operation on the `SecurityHub` service. /// - /// Udpates the configuration for the Aggregator V2. This API is in private preview and subject to change. + /// Udpates the configuration for the Aggregator V2. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `UpdateAggregatorV2Input`) /// @@ -7179,7 +7178,7 @@ extension SecurityHubClient { /// Performs the `UpdateAutomationRuleV2` operation on the `SecurityHub` service. /// - /// Updates a V2 automation rule. This API is in private preview and subject to change. + /// Updates a V2 automation rule. This API is in public preview and subject to change. /// /// - Parameter input: [no documentation found] (Type: `UpdateAutomationRuleV2Input`) /// diff --git a/Sources/Services/AWSSecurityIR/Sources/AWSSecurityIR/SecurityIRClient.swift b/Sources/Services/AWSSecurityIR/Sources/AWSSecurityIR/SecurityIRClient.swift index c3a21200cf0..e35585dc4b2 100644 --- a/Sources/Services/AWSSecurityIR/Sources/AWSSecurityIR/SecurityIRClient.swift +++ b/Sources/Services/AWSSecurityIR/Sources/AWSSecurityIR/SecurityIRClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SecurityIRClient: ClientRuntime.Client { +public class SecurityIRClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SecurityIRClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SecurityIRClient.SecurityIRClientConfiguration let serviceName = "Security IR" diff --git a/Sources/Services/AWSSecurityLake/Sources/AWSSecurityLake/SecurityLakeClient.swift b/Sources/Services/AWSSecurityLake/Sources/AWSSecurityLake/SecurityLakeClient.swift index 6ff1edb6282..50deb73869e 100644 --- a/Sources/Services/AWSSecurityLake/Sources/AWSSecurityLake/SecurityLakeClient.swift +++ b/Sources/Services/AWSSecurityLake/Sources/AWSSecurityLake/SecurityLakeClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SecurityLakeClient: ClientRuntime.Client { +public class SecurityLakeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SecurityLakeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SecurityLakeClient.SecurityLakeClientConfiguration let serviceName = "SecurityLake" diff --git a/Sources/Services/AWSServerlessApplicationRepository/Sources/AWSServerlessApplicationRepository/ServerlessApplicationRepositoryClient.swift b/Sources/Services/AWSServerlessApplicationRepository/Sources/AWSServerlessApplicationRepository/ServerlessApplicationRepositoryClient.swift index 4f62291dff6..9d68894a009 100644 --- a/Sources/Services/AWSServerlessApplicationRepository/Sources/AWSServerlessApplicationRepository/ServerlessApplicationRepositoryClient.swift +++ b/Sources/Services/AWSServerlessApplicationRepository/Sources/AWSServerlessApplicationRepository/ServerlessApplicationRepositoryClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ServerlessApplicationRepositoryClient: ClientRuntime.Client { +public class ServerlessApplicationRepositoryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ServerlessApplicationRepositoryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ServerlessApplicationRepositoryClient.ServerlessApplicationRepositoryClientConfiguration let serviceName = "ServerlessApplicationRepository" diff --git a/Sources/Services/AWSServiceCatalog/Sources/AWSServiceCatalog/ServiceCatalogClient.swift b/Sources/Services/AWSServiceCatalog/Sources/AWSServiceCatalog/ServiceCatalogClient.swift index c43f00002db..b0bae6a8f63 100644 --- a/Sources/Services/AWSServiceCatalog/Sources/AWSServiceCatalog/ServiceCatalogClient.swift +++ b/Sources/Services/AWSServiceCatalog/Sources/AWSServiceCatalog/ServiceCatalogClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ServiceCatalogClient: ClientRuntime.Client { +public class ServiceCatalogClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ServiceCatalogClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ServiceCatalogClient.ServiceCatalogClientConfiguration let serviceName = "Service Catalog" diff --git a/Sources/Services/AWSServiceCatalogAppRegistry/Sources/AWSServiceCatalogAppRegistry/ServiceCatalogAppRegistryClient.swift b/Sources/Services/AWSServiceCatalogAppRegistry/Sources/AWSServiceCatalogAppRegistry/ServiceCatalogAppRegistryClient.swift index 8b120d593b0..6347d2d6248 100644 --- a/Sources/Services/AWSServiceCatalogAppRegistry/Sources/AWSServiceCatalogAppRegistry/ServiceCatalogAppRegistryClient.swift +++ b/Sources/Services/AWSServiceCatalogAppRegistry/Sources/AWSServiceCatalogAppRegistry/ServiceCatalogAppRegistryClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ServiceCatalogAppRegistryClient: ClientRuntime.Client { +public class ServiceCatalogAppRegistryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ServiceCatalogAppRegistryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ServiceCatalogAppRegistryClient.ServiceCatalogAppRegistryClientConfiguration let serviceName = "Service Catalog AppRegistry" diff --git a/Sources/Services/AWSServiceDiscovery/Sources/AWSServiceDiscovery/ServiceDiscoveryClient.swift b/Sources/Services/AWSServiceDiscovery/Sources/AWSServiceDiscovery/ServiceDiscoveryClient.swift index a44eccac66d..cf3c1320747 100644 --- a/Sources/Services/AWSServiceDiscovery/Sources/AWSServiceDiscovery/ServiceDiscoveryClient.swift +++ b/Sources/Services/AWSServiceDiscovery/Sources/AWSServiceDiscovery/ServiceDiscoveryClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ServiceDiscoveryClient: ClientRuntime.Client { +public class ServiceDiscoveryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ServiceDiscoveryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ServiceDiscoveryClient.ServiceDiscoveryClientConfiguration let serviceName = "ServiceDiscovery" diff --git a/Sources/Services/AWSServiceQuotas/Sources/AWSServiceQuotas/ServiceQuotasClient.swift b/Sources/Services/AWSServiceQuotas/Sources/AWSServiceQuotas/ServiceQuotasClient.swift index 492765efb5b..3d1dd201e16 100644 --- a/Sources/Services/AWSServiceQuotas/Sources/AWSServiceQuotas/ServiceQuotasClient.swift +++ b/Sources/Services/AWSServiceQuotas/Sources/AWSServiceQuotas/ServiceQuotasClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ServiceQuotasClient: ClientRuntime.Client { +public class ServiceQuotasClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ServiceQuotasClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ServiceQuotasClient.ServiceQuotasClientConfiguration let serviceName = "Service Quotas" diff --git a/Sources/Services/AWSShield/Sources/AWSShield/ShieldClient.swift b/Sources/Services/AWSShield/Sources/AWSShield/ShieldClient.swift index d1050aef7eb..1567911297e 100644 --- a/Sources/Services/AWSShield/Sources/AWSShield/ShieldClient.swift +++ b/Sources/Services/AWSShield/Sources/AWSShield/ShieldClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class ShieldClient: ClientRuntime.Client { +public class ShieldClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ShieldClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: ShieldClient.ShieldClientConfiguration let serviceName = "Shield" diff --git a/Sources/Services/AWSSigner/Sources/AWSSigner/SignerClient.swift b/Sources/Services/AWSSigner/Sources/AWSSigner/SignerClient.swift index 40c63d7e401..89dd62c3b67 100644 --- a/Sources/Services/AWSSigner/Sources/AWSSigner/SignerClient.swift +++ b/Sources/Services/AWSSigner/Sources/AWSSigner/SignerClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SignerClient: ClientRuntime.Client { +public class SignerClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SignerClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SignerClient.SignerClientConfiguration let serviceName = "signer" diff --git a/Sources/Services/AWSSimSpaceWeaver/Sources/AWSSimSpaceWeaver/SimSpaceWeaverClient.swift b/Sources/Services/AWSSimSpaceWeaver/Sources/AWSSimSpaceWeaver/SimSpaceWeaverClient.swift index 40e846b14e1..6246d376139 100644 --- a/Sources/Services/AWSSimSpaceWeaver/Sources/AWSSimSpaceWeaver/SimSpaceWeaverClient.swift +++ b/Sources/Services/AWSSimSpaceWeaver/Sources/AWSSimSpaceWeaver/SimSpaceWeaverClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SimSpaceWeaverClient: ClientRuntime.Client { +public class SimSpaceWeaverClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SimSpaceWeaverClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SimSpaceWeaverClient.SimSpaceWeaverClientConfiguration let serviceName = "SimSpaceWeaver" diff --git a/Sources/Services/AWSSnowDeviceManagement/Sources/AWSSnowDeviceManagement/SnowDeviceManagementClient.swift b/Sources/Services/AWSSnowDeviceManagement/Sources/AWSSnowDeviceManagement/SnowDeviceManagementClient.swift index ca396ce515a..e20cfd902ec 100644 --- a/Sources/Services/AWSSnowDeviceManagement/Sources/AWSSnowDeviceManagement/SnowDeviceManagementClient.swift +++ b/Sources/Services/AWSSnowDeviceManagement/Sources/AWSSnowDeviceManagement/SnowDeviceManagementClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SnowDeviceManagementClient: ClientRuntime.Client { +public class SnowDeviceManagementClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SnowDeviceManagementClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SnowDeviceManagementClient.SnowDeviceManagementClientConfiguration let serviceName = "Snow Device Management" diff --git a/Sources/Services/AWSSnowball/Sources/AWSSnowball/SnowballClient.swift b/Sources/Services/AWSSnowball/Sources/AWSSnowball/SnowballClient.swift index c684aa25b37..90e85990f72 100644 --- a/Sources/Services/AWSSnowball/Sources/AWSSnowball/SnowballClient.swift +++ b/Sources/Services/AWSSnowball/Sources/AWSSnowball/SnowballClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SnowballClient: ClientRuntime.Client { +public class SnowballClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SnowballClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SnowballClient.SnowballClientConfiguration let serviceName = "Snowball" diff --git a/Sources/Services/AWSSocialMessaging/Sources/AWSSocialMessaging/SocialMessagingClient.swift b/Sources/Services/AWSSocialMessaging/Sources/AWSSocialMessaging/SocialMessagingClient.swift index 4bb5b36b070..52289da7f38 100644 --- a/Sources/Services/AWSSocialMessaging/Sources/AWSSocialMessaging/SocialMessagingClient.swift +++ b/Sources/Services/AWSSocialMessaging/Sources/AWSSocialMessaging/SocialMessagingClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SocialMessagingClient: ClientRuntime.Client { +public class SocialMessagingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SocialMessagingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SocialMessagingClient.SocialMessagingClientConfiguration let serviceName = "SocialMessaging" diff --git a/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/SsmSapClient.swift b/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/SsmSapClient.swift index 584e2f6aec5..3b7b68e45ed 100644 --- a/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/SsmSapClient.swift +++ b/Sources/Services/AWSSsmSap/Sources/AWSSsmSap/SsmSapClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SsmSapClient: ClientRuntime.Client { +public class SsmSapClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SsmSapClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SsmSapClient.SsmSapClientConfiguration let serviceName = "Ssm Sap" diff --git a/Sources/Services/AWSStorageGateway/Sources/AWSStorageGateway/StorageGatewayClient.swift b/Sources/Services/AWSStorageGateway/Sources/AWSStorageGateway/StorageGatewayClient.swift index 3ec67e56656..1ae6bf71e08 100644 --- a/Sources/Services/AWSStorageGateway/Sources/AWSStorageGateway/StorageGatewayClient.swift +++ b/Sources/Services/AWSStorageGateway/Sources/AWSStorageGateway/StorageGatewayClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class StorageGatewayClient: ClientRuntime.Client { +public class StorageGatewayClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "StorageGatewayClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: StorageGatewayClient.StorageGatewayClientConfiguration let serviceName = "Storage Gateway" diff --git a/Sources/Services/AWSSupplyChain/Sources/AWSSupplyChain/SupplyChainClient.swift b/Sources/Services/AWSSupplyChain/Sources/AWSSupplyChain/SupplyChainClient.swift index e5bdeb69db1..3249220f57a 100644 --- a/Sources/Services/AWSSupplyChain/Sources/AWSSupplyChain/SupplyChainClient.swift +++ b/Sources/Services/AWSSupplyChain/Sources/AWSSupplyChain/SupplyChainClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SupplyChainClient: ClientRuntime.Client { +public class SupplyChainClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SupplyChainClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SupplyChainClient.SupplyChainClientConfiguration let serviceName = "SupplyChain" diff --git a/Sources/Services/AWSSupport/Sources/AWSSupport/SupportClient.swift b/Sources/Services/AWSSupport/Sources/AWSSupport/SupportClient.swift index ecd2c9e6556..f3c7a9a6f61 100644 --- a/Sources/Services/AWSSupport/Sources/AWSSupport/SupportClient.swift +++ b/Sources/Services/AWSSupport/Sources/AWSSupport/SupportClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SupportClient: ClientRuntime.Client { +public class SupportClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SupportClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SupportClient.SupportClientConfiguration let serviceName = "Support" diff --git a/Sources/Services/AWSSupportApp/Sources/AWSSupportApp/SupportAppClient.swift b/Sources/Services/AWSSupportApp/Sources/AWSSupportApp/SupportAppClient.swift index 36a45f972e7..492c6d4f8d9 100644 --- a/Sources/Services/AWSSupportApp/Sources/AWSSupportApp/SupportAppClient.swift +++ b/Sources/Services/AWSSupportApp/Sources/AWSSupportApp/SupportAppClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SupportAppClient: ClientRuntime.Client { +public class SupportAppClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SupportAppClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SupportAppClient.SupportAppClientConfiguration let serviceName = "Support App" diff --git a/Sources/Services/AWSSynthetics/Sources/AWSSynthetics/SyntheticsClient.swift b/Sources/Services/AWSSynthetics/Sources/AWSSynthetics/SyntheticsClient.swift index 5aaff5888a2..935c22d5af4 100644 --- a/Sources/Services/AWSSynthetics/Sources/AWSSynthetics/SyntheticsClient.swift +++ b/Sources/Services/AWSSynthetics/Sources/AWSSynthetics/SyntheticsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class SyntheticsClient: ClientRuntime.Client { +public class SyntheticsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "SyntheticsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: SyntheticsClient.SyntheticsClientConfiguration let serviceName = "synthetics" diff --git a/Sources/Services/AWSTaxSettings/Sources/AWSTaxSettings/TaxSettingsClient.swift b/Sources/Services/AWSTaxSettings/Sources/AWSTaxSettings/TaxSettingsClient.swift index 45b4929de20..af472da1f68 100644 --- a/Sources/Services/AWSTaxSettings/Sources/AWSTaxSettings/TaxSettingsClient.swift +++ b/Sources/Services/AWSTaxSettings/Sources/AWSTaxSettings/TaxSettingsClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TaxSettingsClient: ClientRuntime.Client { +public class TaxSettingsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TaxSettingsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TaxSettingsClient.TaxSettingsClientConfiguration let serviceName = "TaxSettings" diff --git a/Sources/Services/AWSTextract/Sources/AWSTextract/TextractClient.swift b/Sources/Services/AWSTextract/Sources/AWSTextract/TextractClient.swift index d2976bcedd6..de535e32231 100644 --- a/Sources/Services/AWSTextract/Sources/AWSTextract/TextractClient.swift +++ b/Sources/Services/AWSTextract/Sources/AWSTextract/TextractClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TextractClient: ClientRuntime.Client { +public class TextractClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TextractClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TextractClient.TextractClientConfiguration let serviceName = "Textract" diff --git a/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/Models.swift b/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/Models.swift index 37650b39890..7f42383ad0a 100644 --- a/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/Models.swift +++ b/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/Models.swift @@ -22,6 +22,7 @@ import protocol ClientRuntime.ModeledError @_spi(SmithyReadWrite) import protocol SmithyReadWrite.SmithyWriter @_spi(SmithyReadWrite) import struct AWSClientRuntime.AWSJSONError @_spi(UnknownAWSHTTPServiceError) import struct AWSClientRuntime.UnknownAWSHTTPServiceError +@_spi(SmithyReadWrite) import struct SmithyReadWrite.ReadingClosureBox public struct TagResourceOutput: Swift.Sendable { @@ -465,7 +466,6 @@ extension TimestreamInfluxDBClientTypes { public struct CreateDbClusterInput: Swift.Sendable { /// The amount of storage to allocate for your DB storage type in GiB (gibibytes). - /// This member is required. public var allocatedStorage: Swift.Int? /// The name of the initial InfluxDB bucket. All InfluxDB data is stored in a bucket. A bucket combines the concept of a database and a retention period (the duration of time that each data point persists). A bucket belongs to an organization. public var bucket: Swift.String? @@ -483,7 +483,6 @@ public struct CreateDbClusterInput: Swift.Sendable { /// * Influx I/O Included 16000 IOPS public var dbStorageType: TimestreamInfluxDBClientTypes.DbStorageType? /// Specifies the type of cluster to create. - /// This member is required. public var deploymentType: TimestreamInfluxDBClientTypes.ClusterDeploymentType? /// Specifies the behavior of failure recovery when the primary node of the cluster fails. public var failoverMode: TimestreamInfluxDBClientTypes.FailoverMode? @@ -497,9 +496,8 @@ public struct CreateDbClusterInput: Swift.Sendable { /// The name of the initial organization for the initial admin user in InfluxDB. An InfluxDB organization is a workspace for a group of users. public var organization: Swift.String? /// The password of the initial admin user created in InfluxDB. This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a secret created in Secrets Manager in your account. - /// This member is required. public var password: Swift.String? - /// The port number on which InfluxDB accepts connections. Valid Values: 1024-65535 Default: 8086 Constraints: The value can't be 2375-2376, 7788-7799, 8090, or 51678-51680 + /// The port number on which InfluxDB accepts connections. Valid Values: 1024-65535 Default: 8086 for InfluxDB v2, 8181 for InfluxDB v3 Constraints: The value can't be 2375-2376, 7788-7799, 8090, or 51678-51680 public var port: Swift.Int? /// Configures the Timestream for InfluxDB cluster with a public IP to facilitate access from outside the VPC. public var publiclyAccessible: Swift.Bool? @@ -654,6 +652,38 @@ public struct GetDbClusterInput: Swift.Sendable { } } +extension TimestreamInfluxDBClientTypes { + + public enum EngineType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case influxdbV2 + case influxdbV3Core + case influxdbV3Enterprise + case sdkUnknown(Swift.String) + + public static var allCases: [EngineType] { + return [ + .influxdbV2, + .influxdbV3Core, + .influxdbV3Enterprise + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .influxdbV2: return "INFLUXDB_V2" + case .influxdbV3Core: return "INFLUXDB_V3_CORE" + case .influxdbV3Enterprise: return "INFLUXDB_V3_ENTERPRISE" + case let .sdkUnknown(s): return s + } + } + } +} + public struct GetDbClusterOutput: Swift.Sendable { /// The amount of storage allocated for your DB storage type (in gibibytes). public var allocatedStorage: Swift.Int? @@ -670,6 +700,8 @@ public struct GetDbClusterOutput: Swift.Sendable { public var deploymentType: TimestreamInfluxDBClientTypes.ClusterDeploymentType? /// The endpoint used to connect to the Timestream for InfluxDB cluster for write and read operations. public var endpoint: Swift.String? + /// The engine type of your DB cluster. + public var engineType: TimestreamInfluxDBClientTypes.EngineType? /// The configured failover mode for the DB cluster. public var failoverMode: TimestreamInfluxDBClientTypes.FailoverMode? /// Service-generated unique identifier of the DB cluster to retrieve. @@ -705,6 +737,7 @@ public struct GetDbClusterOutput: Swift.Sendable { dbStorageType: TimestreamInfluxDBClientTypes.DbStorageType? = nil, deploymentType: TimestreamInfluxDBClientTypes.ClusterDeploymentType? = nil, endpoint: Swift.String? = nil, + engineType: TimestreamInfluxDBClientTypes.EngineType? = nil, failoverMode: TimestreamInfluxDBClientTypes.FailoverMode? = nil, id: Swift.String? = nil, influxAuthParametersSecretArn: Swift.String? = nil, @@ -725,6 +758,7 @@ public struct GetDbClusterOutput: Swift.Sendable { self.dbStorageType = dbStorageType self.deploymentType = deploymentType self.endpoint = endpoint + self.engineType = engineType self.failoverMode = failoverMode self.id = id self.influxAuthParametersSecretArn = influxAuthParametersSecretArn @@ -772,6 +806,8 @@ extension TimestreamInfluxDBClientTypes { public var deploymentType: TimestreamInfluxDBClientTypes.ClusterDeploymentType? /// The endpoint used to connect to the Timestream for InfluxDB cluster for write and read operations. public var endpoint: Swift.String? + /// The engine type of your DB cluster. + public var engineType: TimestreamInfluxDBClientTypes.EngineType? /// Service-generated unique identifier of the DB cluster to retrieve. /// This member is required. public var id: Swift.String? @@ -794,6 +830,7 @@ extension TimestreamInfluxDBClientTypes { dbStorageType: TimestreamInfluxDBClientTypes.DbStorageType? = nil, deploymentType: TimestreamInfluxDBClientTypes.ClusterDeploymentType? = nil, endpoint: Swift.String? = nil, + engineType: TimestreamInfluxDBClientTypes.EngineType? = nil, id: Swift.String? = nil, name: Swift.String? = nil, networkType: TimestreamInfluxDBClientTypes.NetworkType? = nil, @@ -807,6 +844,7 @@ extension TimestreamInfluxDBClientTypes { self.dbStorageType = dbStorageType self.deploymentType = deploymentType self.endpoint = endpoint + self.engineType = engineType self.id = id self.name = name self.networkType = networkType @@ -885,14 +923,22 @@ extension TimestreamInfluxDBClientTypes { extension TimestreamInfluxDBClientTypes { public enum InstanceMode: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case compact + case ingest case primary + case process + case query case replica case standby case sdkUnknown(Swift.String) public static var allCases: [InstanceMode] { return [ + .compact, + .ingest, .primary, + .process, + .query, .replica, .standby ] @@ -905,7 +951,11 @@ extension TimestreamInfluxDBClientTypes { public var rawValue: Swift.String { switch self { + case .compact: return "COMPACT" + case .ingest: return "INGEST" case .primary: return "PRIMARY" + case .process: return "PROCESS" + case .query: return "QUERY" case .replica: return "REPLICA" case .standby: return "STANDBY" case let .sdkUnknown(s): return s @@ -989,6 +1039,8 @@ extension TimestreamInfluxDBClientTypes { public var id: Swift.String? /// Specifies the DB instance's role in the cluster. public var instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? + /// Specifies the DB instance's roles in the cluster. + public var instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? /// A service-generated name for the DB instance based on the customer-supplied name for the DB cluster. /// This member is required. public var name: Swift.String? @@ -1008,6 +1060,7 @@ extension TimestreamInfluxDBClientTypes { endpoint: Swift.String? = nil, id: Swift.String? = nil, instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? = nil, + instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? = nil, name: Swift.String? = nil, networkType: TimestreamInfluxDBClientTypes.NetworkType? = nil, port: Swift.Int? = nil, @@ -1021,6 +1074,7 @@ extension TimestreamInfluxDBClientTypes { self.endpoint = endpoint self.id = id self.instanceMode = instanceMode + self.instanceModes = instanceModes self.name = name self.networkType = networkType self.port = port @@ -1118,7 +1172,7 @@ public struct CreateDbInstanceInput: Swift.Sendable { public var networkType: TimestreamInfluxDBClientTypes.NetworkType? /// The name of the initial organization for the initial admin user in InfluxDB. An InfluxDB organization is a workspace for a group of users. public var organization: Swift.String? - /// The password of the initial admin user created in InfluxDB. This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a Secret created in Secrets Manager in your account. + /// The password of the initial admin user created in InfluxDB v2. This password will allow you to access the InfluxDB UI to perform various administrative tasks and also use the InfluxDB CLI to create an operator token. These attributes will be stored in a Secret created in Secrets Manager in your account. /// This member is required. public var password: Swift.String? /// The port number on which InfluxDB accepts connections. Valid Values: 1024-65535 Default: 8086 Constraints: The value can't be 2375-2376, 7788-7799, 8090, or 51678-51680 @@ -1207,6 +1261,8 @@ public struct CreateDbInstanceOutput: Swift.Sendable { public var influxAuthParametersSecretArn: Swift.String? /// Specifies the DbInstance's role in the cluster. public var instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? + /// Specifies the DbInstance's roles in the cluster. + public var instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? /// Configuration for sending InfluxDB engine logs to send to specified S3 bucket. public var logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? /// The customer-supplied name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. @@ -1241,6 +1297,7 @@ public struct CreateDbInstanceOutput: Swift.Sendable { id: Swift.String? = nil, influxAuthParametersSecretArn: Swift.String? = nil, instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? = nil, + instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? = nil, logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? = nil, name: Swift.String? = nil, networkType: TimestreamInfluxDBClientTypes.NetworkType? = nil, @@ -1263,6 +1320,7 @@ public struct CreateDbInstanceOutput: Swift.Sendable { self.id = id self.influxAuthParametersSecretArn = influxAuthParametersSecretArn self.instanceMode = instanceMode + self.instanceModes = instanceModes self.logDeliveryConfiguration = logDeliveryConfiguration self.name = name self.networkType = networkType @@ -1314,6 +1372,8 @@ public struct DeleteDbInstanceOutput: Swift.Sendable { public var influxAuthParametersSecretArn: Swift.String? /// Specifies the DbInstance's role in the cluster. public var instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? + /// Specifies the DbInstance's roles in the cluster. + public var instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? /// Configuration for sending InfluxDB engine logs to send to specified S3 bucket. public var logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? /// The customer-supplied name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. @@ -1348,6 +1408,7 @@ public struct DeleteDbInstanceOutput: Swift.Sendable { id: Swift.String? = nil, influxAuthParametersSecretArn: Swift.String? = nil, instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? = nil, + instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? = nil, logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? = nil, name: Swift.String? = nil, networkType: TimestreamInfluxDBClientTypes.NetworkType? = nil, @@ -1370,6 +1431,7 @@ public struct DeleteDbInstanceOutput: Swift.Sendable { self.id = id self.influxAuthParametersSecretArn = influxAuthParametersSecretArn self.instanceMode = instanceMode + self.instanceModes = instanceModes self.logDeliveryConfiguration = logDeliveryConfiguration self.name = name self.networkType = networkType @@ -1421,6 +1483,8 @@ public struct GetDbInstanceOutput: Swift.Sendable { public var influxAuthParametersSecretArn: Swift.String? /// Specifies the DbInstance's role in the cluster. public var instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? + /// Specifies the DbInstance's roles in the cluster. + public var instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? /// Configuration for sending InfluxDB engine logs to send to specified S3 bucket. public var logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? /// The customer-supplied name that uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. @@ -1455,6 +1519,7 @@ public struct GetDbInstanceOutput: Swift.Sendable { id: Swift.String? = nil, influxAuthParametersSecretArn: Swift.String? = nil, instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? = nil, + instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? = nil, logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? = nil, name: Swift.String? = nil, networkType: TimestreamInfluxDBClientTypes.NetworkType? = nil, @@ -1477,6 +1542,7 @@ public struct GetDbInstanceOutput: Swift.Sendable { self.id = id self.influxAuthParametersSecretArn = influxAuthParametersSecretArn self.instanceMode = instanceMode + self.instanceModes = instanceModes self.logDeliveryConfiguration = logDeliveryConfiguration self.name = name self.networkType = networkType @@ -1645,6 +1711,8 @@ public struct UpdateDbInstanceOutput: Swift.Sendable { public var influxAuthParametersSecretArn: Swift.String? /// Specifies the DbInstance's role in the cluster. public var instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? + /// Specifies the DbInstance's roles in the cluster. + public var instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? /// Configuration for sending InfluxDB engine logs to send to specified S3 bucket. public var logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? /// This customer-supplied name uniquely identifies the DB instance when interacting with the Amazon Timestream for InfluxDB API and CLI commands. @@ -1679,6 +1747,7 @@ public struct UpdateDbInstanceOutput: Swift.Sendable { id: Swift.String? = nil, influxAuthParametersSecretArn: Swift.String? = nil, instanceMode: TimestreamInfluxDBClientTypes.InstanceMode? = nil, + instanceModes: [TimestreamInfluxDBClientTypes.InstanceMode]? = nil, logDeliveryConfiguration: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration? = nil, name: Swift.String? = nil, networkType: TimestreamInfluxDBClientTypes.NetworkType? = nil, @@ -1701,6 +1770,7 @@ public struct UpdateDbInstanceOutput: Swift.Sendable { self.id = id self.influxAuthParametersSecretArn = influxAuthParametersSecretArn self.instanceMode = instanceMode + self.instanceModes = instanceModes self.logDeliveryConfiguration = logDeliveryConfiguration self.name = name self.networkType = networkType @@ -1716,6 +1786,7 @@ public struct UpdateDbInstanceOutput: Swift.Sendable { extension TimestreamInfluxDBClientTypes { public enum DurationType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case days case hours case milliseconds case minutes @@ -1724,6 +1795,7 @@ extension TimestreamInfluxDBClientTypes { public static var allCases: [DurationType] { return [ + .days, .hours, .milliseconds, .minutes, @@ -1738,6 +1810,7 @@ extension TimestreamInfluxDBClientTypes { public var rawValue: Swift.String { switch self { + case .days: return "days" case .hours: return "hours" case .milliseconds: return "milliseconds" case .minutes: return "minutes" @@ -1804,12 +1877,14 @@ extension TimestreamInfluxDBClientTypes { extension TimestreamInfluxDBClientTypes { public enum TracingType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case disabled case jaeger case log case sdkUnknown(Swift.String) public static var allCases: [TracingType] { return [ + .disabled, .jaeger, .log ] @@ -1822,6 +1897,7 @@ extension TimestreamInfluxDBClientTypes { public var rawValue: Swift.String { switch self { + case .disabled: return "disabled" case .jaeger: return "jaeger" case .log: return "log" case let .sdkUnknown(s): return s @@ -1977,12 +2053,472 @@ extension TimestreamInfluxDBClientTypes { } } +extension TimestreamInfluxDBClientTypes { + + public enum DataFusionRuntimeType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case multiThread + case multiThreadAlt + case sdkUnknown(Swift.String) + + public static var allCases: [DataFusionRuntimeType] { + return [ + .multiThread, + .multiThreadAlt + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .multiThread: return "multi-thread" + case .multiThreadAlt: return "multi-thread-alt" + case let .sdkUnknown(s): return s + } + } + } +} + +extension TimestreamInfluxDBClientTypes { + + /// Percent or Absolute Long for InfluxDB parameters + public enum PercentOrAbsoluteLong: Swift.Sendable { + /// Percent for InfluxDB parameters. + case percent(Swift.String) + /// Absolute long for InfluxDB parameters. + case absolute(Swift.Int) + case sdkUnknown(Swift.String) + } +} + +extension TimestreamInfluxDBClientTypes { + + public enum LogFormats: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case full + case sdkUnknown(Swift.String) + + public static var allCases: [LogFormats] { + return [ + .full + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .full: return "full" + case let .sdkUnknown(s): return s + } + } + } +} + +extension TimestreamInfluxDBClientTypes { + + /// All the customer-modifiable InfluxDB v3 Core parameters in Timestream for InfluxDB. + public struct InfluxDBv3CoreParameters: Swift.Sendable { + /// Provides custom configuration to DataFusion as a comma-separated list of key:value pairs. + public var dataFusionConfig: Swift.String? + /// When multiple parquet files are required in a sorted way (deduplication for example), specifies the maximum fanout. Default: 1000 + public var dataFusionMaxParquetFanout: Swift.Int? + /// Sets the maximum number of DataFusion runtime threads to use. + public var dataFusionNumThreads: Swift.Int? + /// Disables the LIFO slot of the DataFusion runtime. + public var dataFusionRuntimeDisableLifoSlot: Swift.Bool? + /// Sets the number of scheduler ticks after which the scheduler of the DataFusion tokio runtime polls for external events–for example: timers, I/O. + public var dataFusionRuntimeEventInterval: Swift.Int? + /// Sets the number of scheduler ticks after which the scheduler of the DataFusion runtime polls the global task queue. + public var dataFusionRuntimeGlobalQueueInterval: Swift.Int? + /// Specifies the limit for additional threads spawned by the DataFusion runtime. + public var dataFusionRuntimeMaxBlockingThreads: Swift.Int? + /// Configures the maximum number of events processed per tick by the tokio DataFusion runtime. + public var dataFusionRuntimeMaxIoEventsPerTick: Swift.Int? + /// Sets a custom timeout for a thread in the blocking pool of the tokio DataFusion runtime. + public var dataFusionRuntimeThreadKeepAlive: TimestreamInfluxDBClientTypes.Duration? + /// Sets the thread priority for tokio DataFusion runtime workers. Default: 10 + public var dataFusionRuntimeThreadPriority: Swift.Int? + /// Specifies the DataFusion tokio runtime type. Default: multi-thread + public var dataFusionRuntimeType: TimestreamInfluxDBClientTypes.DataFusionRuntimeType? + /// Uses a cached parquet loader when reading parquet files from the object store. + public var dataFusionUseCachedParquetLoader: Swift.Bool? + /// Specifies the grace period before permanently deleting data. Default: 24h + public var deleteGracePeriod: TimestreamInfluxDBClientTypes.Duration? + /// Disables the in-memory Parquet cache. By default, the cache is enabled. + public var disableParquetMemCache: Swift.Bool? + /// Specifies the interval to evict expired entries from the distinct value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h. Default: 10s + public var distinctCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the size of memory pool used during query execution. Can be given as absolute value in bytes or as a percentage of the total available memory–for example: 8000000000 or 10%. Default: 20% + public var execMemPoolBytes: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? + /// Specifies the threshold for the internal memory buffer. Supports either a percentage (portion of available memory) or absolute value in MB–for example: 70% or 100 Default: 70% + public var forceSnapshotMemThreshold: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? + /// Specifies the duration that Parquet files are arranged into. Data timestamps land each row into a file of this duration. Supported durations are 1m, 5m, and 10m. These files are known as “generation 1” files that the compactor in InfluxDB 3 Enterprise can merge into larger generations. Default: 10m + public var gen1Duration: TimestreamInfluxDBClientTypes.Duration? + /// Specifies how far back to look when creating generation 1 Parquet files. Default: 24h + public var gen1LookbackDuration: TimestreamInfluxDBClientTypes.Duration? + /// Sets the default duration for hard deletion of data. Default: 90d + public var hardDeleteDefaultDuration: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the interval to evict expired entries from the Last-N-Value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h. Default: 10s + public var lastCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? + /// Sets the filter directive for logs. + public var logFilter: Swift.String? + /// Defines the message format for logs. Default: full + public var logFormat: TimestreamInfluxDBClientTypes.LogFormats? + /// Specifies the maximum size of HTTP requests. Default: 10485760 + public var maxHttpRequestSize: Swift.Int? + /// Sets the interval to check if the in-memory Parquet cache needs to be pruned. Default: 1s + public var parquetMemCachePruneInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the percentage of entries to prune during a prune operation on the in-memory Parquet cache. Default: 0.1 + public var parquetMemCachePrunePercentage: Swift.Float? + /// Specifies the time window for caching recent Parquet files in memory. Default: 5h + public var parquetMemCacheQueryPathDuration: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the size of the in-memory Parquet cache in megabytes or percentage of total available memory. Default: 20% + public var parquetMemCacheSize: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? + /// Specifies the interval to prefetch into the Parquet cache during compaction. Default: 3d + public var preemptiveCacheAge: TimestreamInfluxDBClientTypes.Duration? + /// Limits the number of Parquet files a query can access. If a query attempts to read more than this limit, InfluxDB 3 returns an error. Default: 432 + public var queryFileLimit: Swift.Int? + /// Defines the size of the query log. Up to this many queries remain in the log before older queries are evicted to make room for new ones. Default: 1000 + public var queryLogSize: Swift.Int? + /// The interval at which retention policies are checked and enforced. Enter as a human-readable time–for example: 30m or 1h. Default: 30m + public var retentionCheckInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the number of snapshotted WAL files to retain in the object store. Flushing the WAL files does not clear the WAL files immediately; they are deleted when the number of snapshotted WAL files exceeds this number. Default: 300 + public var snapshottedWalFilesToKeep: Swift.Int? + /// Limits the concurrency level for table index cache operations. Default: 8 + public var tableIndexCacheConcurrencyLimit: Swift.Int? + /// Specifies the maximum number of entries in the table index cache. Default: 1000 + public var tableIndexCacheMaxEntries: Swift.Int? + /// Specifies the maximum number of write requests that can be buffered before a flush must be executed and succeed. Default: 100000 + public var walMaxWriteBufferSize: Swift.Int? + /// Concurrency limit during WAL replay. Setting this number too high can lead to OOM. The default is dynamically determined. Default: max(num_cpus, 10) + public var walReplayConcurrencyLimit: Swift.Int? + /// Determines whether WAL replay should fail when encountering errors. Default: false + public var walReplayFailOnError: Swift.Bool? + /// Defines the number of WAL files to attempt to remove in a snapshot. This, multiplied by the interval, determines how often snapshots are taken. Default: 600 + public var walSnapshotSize: Swift.Int? + + public init( + dataFusionConfig: Swift.String? = nil, + dataFusionMaxParquetFanout: Swift.Int? = nil, + dataFusionNumThreads: Swift.Int? = nil, + dataFusionRuntimeDisableLifoSlot: Swift.Bool? = nil, + dataFusionRuntimeEventInterval: Swift.Int? = nil, + dataFusionRuntimeGlobalQueueInterval: Swift.Int? = nil, + dataFusionRuntimeMaxBlockingThreads: Swift.Int? = nil, + dataFusionRuntimeMaxIoEventsPerTick: Swift.Int? = nil, + dataFusionRuntimeThreadKeepAlive: TimestreamInfluxDBClientTypes.Duration? = nil, + dataFusionRuntimeThreadPriority: Swift.Int? = nil, + dataFusionRuntimeType: TimestreamInfluxDBClientTypes.DataFusionRuntimeType? = nil, + dataFusionUseCachedParquetLoader: Swift.Bool? = nil, + deleteGracePeriod: TimestreamInfluxDBClientTypes.Duration? = nil, + disableParquetMemCache: Swift.Bool? = nil, + distinctCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + execMemPoolBytes: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? = nil, + forceSnapshotMemThreshold: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? = nil, + gen1Duration: TimestreamInfluxDBClientTypes.Duration? = nil, + gen1LookbackDuration: TimestreamInfluxDBClientTypes.Duration? = nil, + hardDeleteDefaultDuration: TimestreamInfluxDBClientTypes.Duration? = nil, + lastCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + logFilter: Swift.String? = nil, + logFormat: TimestreamInfluxDBClientTypes.LogFormats? = nil, + maxHttpRequestSize: Swift.Int? = nil, + parquetMemCachePruneInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + parquetMemCachePrunePercentage: Swift.Float? = nil, + parquetMemCacheQueryPathDuration: TimestreamInfluxDBClientTypes.Duration? = nil, + parquetMemCacheSize: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? = nil, + preemptiveCacheAge: TimestreamInfluxDBClientTypes.Duration? = nil, + queryFileLimit: Swift.Int? = nil, + queryLogSize: Swift.Int? = nil, + retentionCheckInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + snapshottedWalFilesToKeep: Swift.Int? = nil, + tableIndexCacheConcurrencyLimit: Swift.Int? = nil, + tableIndexCacheMaxEntries: Swift.Int? = nil, + walMaxWriteBufferSize: Swift.Int? = nil, + walReplayConcurrencyLimit: Swift.Int? = nil, + walReplayFailOnError: Swift.Bool? = nil, + walSnapshotSize: Swift.Int? = nil + ) { + self.dataFusionConfig = dataFusionConfig + self.dataFusionMaxParquetFanout = dataFusionMaxParquetFanout + self.dataFusionNumThreads = dataFusionNumThreads + self.dataFusionRuntimeDisableLifoSlot = dataFusionRuntimeDisableLifoSlot + self.dataFusionRuntimeEventInterval = dataFusionRuntimeEventInterval + self.dataFusionRuntimeGlobalQueueInterval = dataFusionRuntimeGlobalQueueInterval + self.dataFusionRuntimeMaxBlockingThreads = dataFusionRuntimeMaxBlockingThreads + self.dataFusionRuntimeMaxIoEventsPerTick = dataFusionRuntimeMaxIoEventsPerTick + self.dataFusionRuntimeThreadKeepAlive = dataFusionRuntimeThreadKeepAlive + self.dataFusionRuntimeThreadPriority = dataFusionRuntimeThreadPriority + self.dataFusionRuntimeType = dataFusionRuntimeType + self.dataFusionUseCachedParquetLoader = dataFusionUseCachedParquetLoader + self.deleteGracePeriod = deleteGracePeriod + self.disableParquetMemCache = disableParquetMemCache + self.distinctCacheEvictionInterval = distinctCacheEvictionInterval + self.execMemPoolBytes = execMemPoolBytes + self.forceSnapshotMemThreshold = forceSnapshotMemThreshold + self.gen1Duration = gen1Duration + self.gen1LookbackDuration = gen1LookbackDuration + self.hardDeleteDefaultDuration = hardDeleteDefaultDuration + self.lastCacheEvictionInterval = lastCacheEvictionInterval + self.logFilter = logFilter + self.logFormat = logFormat + self.maxHttpRequestSize = maxHttpRequestSize + self.parquetMemCachePruneInterval = parquetMemCachePruneInterval + self.parquetMemCachePrunePercentage = parquetMemCachePrunePercentage + self.parquetMemCacheQueryPathDuration = parquetMemCacheQueryPathDuration + self.parquetMemCacheSize = parquetMemCacheSize + self.preemptiveCacheAge = preemptiveCacheAge + self.queryFileLimit = queryFileLimit + self.queryLogSize = queryLogSize + self.retentionCheckInterval = retentionCheckInterval + self.snapshottedWalFilesToKeep = snapshottedWalFilesToKeep + self.tableIndexCacheConcurrencyLimit = tableIndexCacheConcurrencyLimit + self.tableIndexCacheMaxEntries = tableIndexCacheMaxEntries + self.walMaxWriteBufferSize = walMaxWriteBufferSize + self.walReplayConcurrencyLimit = walReplayConcurrencyLimit + self.walReplayFailOnError = walReplayFailOnError + self.walSnapshotSize = walSnapshotSize + } + } +} + +extension TimestreamInfluxDBClientTypes { + + /// All the customer-modifiable InfluxDB v3 Enterprise parameters in Timestream for InfluxDB. + public struct InfluxDBv3EnterpriseParameters: Swift.Sendable { + /// Defines how often the catalog synchronizes across cluster nodes. Default: 10s + public var catalogSyncInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies how often the compactor checks for new compaction work to perform. Default: 10s + public var compactionCheckInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the amount of time that the compactor waits after finishing a compaction run to delete files marked as needing deletion during that compaction run. Default: 10m + public var compactionCleanupWait: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the duration of the first level of compaction (gen2). Later levels of compaction are multiples of this duration. This value should be equal to or greater than the gen1 duration. Default: 20m + public var compactionGen2Duration: TimestreamInfluxDBClientTypes.Duration? + /// Sets the maximum number of files included in any compaction plan. Default: 500 + public var compactionMaxNumFilesPerPlan: Swift.Int? + /// Specifies a comma-separated list of multiples defining the duration of each level of compaction. The number of elements in the list determines the number of compaction levels. The first element specifies the duration of the first level (gen3); subsequent levels are multiples of the previous level. Default: 3,4,6,5 + public var compactionMultipliers: Swift.String? + /// Specifies the soft limit for the number of rows per file that the compactor writes. The compactor may write more rows than this limit. Default: 1000000 + public var compactionRowLimit: Swift.Int? + /// Provides custom configuration to DataFusion as a comma-separated list of key:value pairs. + public var dataFusionConfig: Swift.String? + /// When multiple parquet files are required in a sorted way (deduplication for example), specifies the maximum fanout. Default: 1000 + public var dataFusionMaxParquetFanout: Swift.Int? + /// Sets the maximum number of DataFusion runtime threads to use. + public var dataFusionNumThreads: Swift.Int? + /// Disables the LIFO slot of the DataFusion runtime. + public var dataFusionRuntimeDisableLifoSlot: Swift.Bool? + /// Sets the number of scheduler ticks after which the scheduler of the DataFusion tokio runtime polls for external events–for example: timers, I/O. + public var dataFusionRuntimeEventInterval: Swift.Int? + /// Sets the number of scheduler ticks after which the scheduler of the DataFusion runtime polls the global task queue. + public var dataFusionRuntimeGlobalQueueInterval: Swift.Int? + /// Specifies the limit for additional threads spawned by the DataFusion runtime. + public var dataFusionRuntimeMaxBlockingThreads: Swift.Int? + /// Configures the maximum number of events processed per tick by the tokio DataFusion runtime. + public var dataFusionRuntimeMaxIoEventsPerTick: Swift.Int? + /// Sets a custom timeout for a thread in the blocking pool of the tokio DataFusion runtime. + public var dataFusionRuntimeThreadKeepAlive: TimestreamInfluxDBClientTypes.Duration? + /// Sets the thread priority for tokio DataFusion runtime workers. Default: 10 + public var dataFusionRuntimeThreadPriority: Swift.Int? + /// Specifies the DataFusion tokio runtime type. Default: multi-thread + public var dataFusionRuntimeType: TimestreamInfluxDBClientTypes.DataFusionRuntimeType? + /// Uses a cached parquet loader when reading parquet files from the object store. + public var dataFusionUseCachedParquetLoader: Swift.Bool? + /// Specifies if the compactor instance should be a standalone instance or not. + /// This member is required. + public var dedicatedCompactor: Swift.Bool? + /// Specifies the grace period before permanently deleting data. Default: 24h + public var deleteGracePeriod: TimestreamInfluxDBClientTypes.Duration? + /// Disables the in-memory Parquet cache. By default, the cache is enabled. + public var disableParquetMemCache: Swift.Bool? + /// Specifies the interval to evict expired entries from the distinct value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h. Default: 10s + public var distinctCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? + /// Disables populating the distinct value cache from historical data. If disabled, the cache is still populated with data from the write-ahead log (WAL). + public var distinctValueCacheDisableFromHistory: Swift.Bool? + /// Specifies the size of memory pool used during query execution. Can be given as absolute value in bytes or as a percentage of the total available memory–for example: 8000000000 or 10%. Default: 20% + public var execMemPoolBytes: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? + /// Specifies the threshold for the internal memory buffer. Supports either a percentage (portion of available memory) or absolute value in MB–for example: 70% or 100 Default: 70% + public var forceSnapshotMemThreshold: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? + /// Specifies the duration that Parquet files are arranged into. Data timestamps land each row into a file of this duration. Supported durations are 1m, 5m, and 10m. These files are known as “generation 1” files, which the compactor can merge into larger generations. Default: 10m + public var gen1Duration: TimestreamInfluxDBClientTypes.Duration? + /// Specifies how far back to look when creating generation 1 Parquet files. Default: 24h + public var gen1LookbackDuration: TimestreamInfluxDBClientTypes.Duration? + /// Sets the default duration for hard deletion of data. Default: 90d + public var hardDeleteDefaultDuration: TimestreamInfluxDBClientTypes.Duration? + /// Specifies number of instances in the DbCluster which can both ingest and query. + /// This member is required. + public var ingestQueryInstances: Swift.Int? + /// Specifies the interval to evict expired entries from the Last-N-Value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h. Default: 10s + public var lastCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? + /// Disables populating the last-N-value cache from historical data. If disabled, the cache is still populated with data from the write-ahead log (WAL). + public var lastValueCacheDisableFromHistory: Swift.Bool? + /// Sets the filter directive for logs. + public var logFilter: Swift.String? + /// Defines the message format for logs. Default: full + public var logFormat: TimestreamInfluxDBClientTypes.LogFormats? + /// Specifies the maximum size of HTTP requests. Default: 10485760 + public var maxHttpRequestSize: Swift.Int? + /// Sets the interval to check if the in-memory Parquet cache needs to be pruned. Default: 1s + public var parquetMemCachePruneInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the percentage of entries to prune during a prune operation on the in-memory Parquet cache. Default: 0.1 + public var parquetMemCachePrunePercentage: Swift.Float? + /// Specifies the time window for caching recent Parquet files in memory. Default: 5h + public var parquetMemCacheQueryPathDuration: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the size of the in-memory Parquet cache in megabytes or percentage of total available memory. Default: 20% + public var parquetMemCacheSize: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? + /// Specifies the interval to prefetch into the Parquet cache during compaction. Default: 3d + public var preemptiveCacheAge: TimestreamInfluxDBClientTypes.Duration? + /// Limits the number of Parquet files a query can access. If a query attempts to read more than this limit, InfluxDB 3 returns an error. Default: 432 + public var queryFileLimit: Swift.Int? + /// Defines the size of the query log. Up to this many queries remain in the log before older queries are evicted to make room for new ones. Default: 1000 + public var queryLogSize: Swift.Int? + /// Specifies number of instances in the DbCluster which can only query. + /// This member is required. + public var queryOnlyInstances: Swift.Int? + /// Specifies the interval at which data replication occurs between cluster nodes. Default: 250ms + public var replicationInterval: TimestreamInfluxDBClientTypes.Duration? + /// The interval at which retention policies are checked and enforced. Enter as a human-readable time–for example: 30m or 1h. Default: 30m + public var retentionCheckInterval: TimestreamInfluxDBClientTypes.Duration? + /// Specifies the number of snapshotted WAL files to retain in the object store. Flushing the WAL files does not clear the WAL files immediately; they are deleted when the number of snapshotted WAL files exceeds this number. Default: 300 + public var snapshottedWalFilesToKeep: Swift.Int? + /// Limits the concurrency level for table index cache operations. Default: 8 + public var tableIndexCacheConcurrencyLimit: Swift.Int? + /// Specifies the maximum number of entries in the table index cache. Default: 1000 + public var tableIndexCacheMaxEntries: Swift.Int? + /// Specifies the maximum number of write requests that can be buffered before a flush must be executed and succeed. Default: 100000 + public var walMaxWriteBufferSize: Swift.Int? + /// Concurrency limit during WAL replay. Setting this number too high can lead to OOM. The default is dynamically determined. Default: max(num_cpus, 10) + public var walReplayConcurrencyLimit: Swift.Int? + /// Determines whether WAL replay should fail when encountering errors. Default: false + public var walReplayFailOnError: Swift.Bool? + /// Defines the number of WAL files to attempt to remove in a snapshot. This, multiplied by the interval, determines how often snapshots are taken. Default: 600 + public var walSnapshotSize: Swift.Int? + + public init( + catalogSyncInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + compactionCheckInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + compactionCleanupWait: TimestreamInfluxDBClientTypes.Duration? = nil, + compactionGen2Duration: TimestreamInfluxDBClientTypes.Duration? = nil, + compactionMaxNumFilesPerPlan: Swift.Int? = nil, + compactionMultipliers: Swift.String? = nil, + compactionRowLimit: Swift.Int? = nil, + dataFusionConfig: Swift.String? = nil, + dataFusionMaxParquetFanout: Swift.Int? = nil, + dataFusionNumThreads: Swift.Int? = nil, + dataFusionRuntimeDisableLifoSlot: Swift.Bool? = nil, + dataFusionRuntimeEventInterval: Swift.Int? = nil, + dataFusionRuntimeGlobalQueueInterval: Swift.Int? = nil, + dataFusionRuntimeMaxBlockingThreads: Swift.Int? = nil, + dataFusionRuntimeMaxIoEventsPerTick: Swift.Int? = nil, + dataFusionRuntimeThreadKeepAlive: TimestreamInfluxDBClientTypes.Duration? = nil, + dataFusionRuntimeThreadPriority: Swift.Int? = nil, + dataFusionRuntimeType: TimestreamInfluxDBClientTypes.DataFusionRuntimeType? = nil, + dataFusionUseCachedParquetLoader: Swift.Bool? = nil, + dedicatedCompactor: Swift.Bool? = nil, + deleteGracePeriod: TimestreamInfluxDBClientTypes.Duration? = nil, + disableParquetMemCache: Swift.Bool? = nil, + distinctCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + distinctValueCacheDisableFromHistory: Swift.Bool? = nil, + execMemPoolBytes: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? = nil, + forceSnapshotMemThreshold: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? = nil, + gen1Duration: TimestreamInfluxDBClientTypes.Duration? = nil, + gen1LookbackDuration: TimestreamInfluxDBClientTypes.Duration? = nil, + hardDeleteDefaultDuration: TimestreamInfluxDBClientTypes.Duration? = nil, + ingestQueryInstances: Swift.Int? = nil, + lastCacheEvictionInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + lastValueCacheDisableFromHistory: Swift.Bool? = nil, + logFilter: Swift.String? = nil, + logFormat: TimestreamInfluxDBClientTypes.LogFormats? = nil, + maxHttpRequestSize: Swift.Int? = nil, + parquetMemCachePruneInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + parquetMemCachePrunePercentage: Swift.Float? = nil, + parquetMemCacheQueryPathDuration: TimestreamInfluxDBClientTypes.Duration? = nil, + parquetMemCacheSize: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong? = nil, + preemptiveCacheAge: TimestreamInfluxDBClientTypes.Duration? = nil, + queryFileLimit: Swift.Int? = nil, + queryLogSize: Swift.Int? = nil, + queryOnlyInstances: Swift.Int? = nil, + replicationInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + retentionCheckInterval: TimestreamInfluxDBClientTypes.Duration? = nil, + snapshottedWalFilesToKeep: Swift.Int? = nil, + tableIndexCacheConcurrencyLimit: Swift.Int? = nil, + tableIndexCacheMaxEntries: Swift.Int? = nil, + walMaxWriteBufferSize: Swift.Int? = nil, + walReplayConcurrencyLimit: Swift.Int? = nil, + walReplayFailOnError: Swift.Bool? = nil, + walSnapshotSize: Swift.Int? = nil + ) { + self.catalogSyncInterval = catalogSyncInterval + self.compactionCheckInterval = compactionCheckInterval + self.compactionCleanupWait = compactionCleanupWait + self.compactionGen2Duration = compactionGen2Duration + self.compactionMaxNumFilesPerPlan = compactionMaxNumFilesPerPlan + self.compactionMultipliers = compactionMultipliers + self.compactionRowLimit = compactionRowLimit + self.dataFusionConfig = dataFusionConfig + self.dataFusionMaxParquetFanout = dataFusionMaxParquetFanout + self.dataFusionNumThreads = dataFusionNumThreads + self.dataFusionRuntimeDisableLifoSlot = dataFusionRuntimeDisableLifoSlot + self.dataFusionRuntimeEventInterval = dataFusionRuntimeEventInterval + self.dataFusionRuntimeGlobalQueueInterval = dataFusionRuntimeGlobalQueueInterval + self.dataFusionRuntimeMaxBlockingThreads = dataFusionRuntimeMaxBlockingThreads + self.dataFusionRuntimeMaxIoEventsPerTick = dataFusionRuntimeMaxIoEventsPerTick + self.dataFusionRuntimeThreadKeepAlive = dataFusionRuntimeThreadKeepAlive + self.dataFusionRuntimeThreadPriority = dataFusionRuntimeThreadPriority + self.dataFusionRuntimeType = dataFusionRuntimeType + self.dataFusionUseCachedParquetLoader = dataFusionUseCachedParquetLoader + self.dedicatedCompactor = dedicatedCompactor + self.deleteGracePeriod = deleteGracePeriod + self.disableParquetMemCache = disableParquetMemCache + self.distinctCacheEvictionInterval = distinctCacheEvictionInterval + self.distinctValueCacheDisableFromHistory = distinctValueCacheDisableFromHistory + self.execMemPoolBytes = execMemPoolBytes + self.forceSnapshotMemThreshold = forceSnapshotMemThreshold + self.gen1Duration = gen1Duration + self.gen1LookbackDuration = gen1LookbackDuration + self.hardDeleteDefaultDuration = hardDeleteDefaultDuration + self.ingestQueryInstances = ingestQueryInstances + self.lastCacheEvictionInterval = lastCacheEvictionInterval + self.lastValueCacheDisableFromHistory = lastValueCacheDisableFromHistory + self.logFilter = logFilter + self.logFormat = logFormat + self.maxHttpRequestSize = maxHttpRequestSize + self.parquetMemCachePruneInterval = parquetMemCachePruneInterval + self.parquetMemCachePrunePercentage = parquetMemCachePrunePercentage + self.parquetMemCacheQueryPathDuration = parquetMemCacheQueryPathDuration + self.parquetMemCacheSize = parquetMemCacheSize + self.preemptiveCacheAge = preemptiveCacheAge + self.queryFileLimit = queryFileLimit + self.queryLogSize = queryLogSize + self.queryOnlyInstances = queryOnlyInstances + self.replicationInterval = replicationInterval + self.retentionCheckInterval = retentionCheckInterval + self.snapshottedWalFilesToKeep = snapshottedWalFilesToKeep + self.tableIndexCacheConcurrencyLimit = tableIndexCacheConcurrencyLimit + self.tableIndexCacheMaxEntries = tableIndexCacheMaxEntries + self.walMaxWriteBufferSize = walMaxWriteBufferSize + self.walReplayConcurrencyLimit = walReplayConcurrencyLimit + self.walReplayFailOnError = walReplayFailOnError + self.walSnapshotSize = walSnapshotSize + } + } +} + extension TimestreamInfluxDBClientTypes { /// The parameters that comprise the parameter group. public enum Parameters: Swift.Sendable { /// All the customer-modifiable InfluxDB v2 parameters in Timestream for InfluxDB. case influxdbv2(TimestreamInfluxDBClientTypes.InfluxDBv2Parameters) + /// All the customer-modifiable InfluxDB v3 Core parameters in Timestream for InfluxDB. + case influxdbv3core(TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters) + /// All the customer-modifiable InfluxDB v3 Enterprise parameters in Timestream for InfluxDB. + case influxdbv3enterprise(TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters) case sdkUnknown(Swift.String) } } @@ -2543,6 +3079,7 @@ extension CreateDbInstanceOutput { value.id = try reader["id"].readIfPresent() ?? "" value.influxAuthParametersSecretArn = try reader["influxAuthParametersSecretArn"].readIfPresent() value.instanceMode = try reader["instanceMode"].readIfPresent() + value.instanceModes = try reader["instanceModes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) value.logDeliveryConfiguration = try reader["logDeliveryConfiguration"].readIfPresent(with: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration.read(from:)) value.name = try reader["name"].readIfPresent() ?? "" value.networkType = try reader["networkType"].readIfPresent() @@ -2603,6 +3140,7 @@ extension DeleteDbInstanceOutput { value.id = try reader["id"].readIfPresent() ?? "" value.influxAuthParametersSecretArn = try reader["influxAuthParametersSecretArn"].readIfPresent() value.instanceMode = try reader["instanceMode"].readIfPresent() + value.instanceModes = try reader["instanceModes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) value.logDeliveryConfiguration = try reader["logDeliveryConfiguration"].readIfPresent(with: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration.read(from:)) value.name = try reader["name"].readIfPresent() ?? "" value.networkType = try reader["networkType"].readIfPresent() @@ -2630,6 +3168,7 @@ extension GetDbClusterOutput { value.dbStorageType = try reader["dbStorageType"].readIfPresent() value.deploymentType = try reader["deploymentType"].readIfPresent() value.endpoint = try reader["endpoint"].readIfPresent() + value.engineType = try reader["engineType"].readIfPresent() value.failoverMode = try reader["failoverMode"].readIfPresent() value.id = try reader["id"].readIfPresent() ?? "" value.influxAuthParametersSecretArn = try reader["influxAuthParametersSecretArn"].readIfPresent() @@ -2665,6 +3204,7 @@ extension GetDbInstanceOutput { value.id = try reader["id"].readIfPresent() ?? "" value.influxAuthParametersSecretArn = try reader["influxAuthParametersSecretArn"].readIfPresent() value.instanceMode = try reader["instanceMode"].readIfPresent() + value.instanceModes = try reader["instanceModes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) value.logDeliveryConfiguration = try reader["logDeliveryConfiguration"].readIfPresent(with: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration.read(from:)) value.name = try reader["name"].readIfPresent() ?? "" value.networkType = try reader["networkType"].readIfPresent() @@ -2803,6 +3343,7 @@ extension UpdateDbInstanceOutput { value.id = try reader["id"].readIfPresent() ?? "" value.influxAuthParametersSecretArn = try reader["influxAuthParametersSecretArn"].readIfPresent() value.instanceMode = try reader["instanceMode"].readIfPresent() + value.instanceModes = try reader["instanceModes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) value.logDeliveryConfiguration = try reader["logDeliveryConfiguration"].readIfPresent(with: TimestreamInfluxDBClientTypes.LogDeliveryConfiguration.read(from:)) value.name = try reader["name"].readIfPresent() ?? "" value.networkType = try reader["networkType"].readIfPresent() @@ -3260,6 +3801,10 @@ extension TimestreamInfluxDBClientTypes.Parameters { switch value { case let .influxdbv2(influxdbv2): try writer["InfluxDBv2"].write(influxdbv2, with: TimestreamInfluxDBClientTypes.InfluxDBv2Parameters.write(value:to:)) + case let .influxdbv3core(influxdbv3core): + try writer["InfluxDBv3Core"].write(influxdbv3core, with: TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters.write(value:to:)) + case let .influxdbv3enterprise(influxdbv3enterprise): + try writer["InfluxDBv3Enterprise"].write(influxdbv3enterprise, with: TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters.write(value:to:)) case let .sdkUnknown(sdkUnknown): try writer["sdkUnknown"].write(sdkUnknown) } @@ -3271,12 +3816,269 @@ extension TimestreamInfluxDBClientTypes.Parameters { switch name { case "InfluxDBv2": return .influxdbv2(try reader["InfluxDBv2"].read(with: TimestreamInfluxDBClientTypes.InfluxDBv2Parameters.read(from:))) + case "InfluxDBv3Core": + return .influxdbv3core(try reader["InfluxDBv3Core"].read(with: TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters.read(from:))) + case "InfluxDBv3Enterprise": + return .influxdbv3enterprise(try reader["InfluxDBv3Enterprise"].read(with: TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters.read(from:))) default: return .sdkUnknown(name ?? "") } } } +extension TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters { + + static func write(value: TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["catalogSyncInterval"].write(value.catalogSyncInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["compactionCheckInterval"].write(value.compactionCheckInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["compactionCleanupWait"].write(value.compactionCleanupWait, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["compactionGen2Duration"].write(value.compactionGen2Duration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["compactionMaxNumFilesPerPlan"].write(value.compactionMaxNumFilesPerPlan) + try writer["compactionMultipliers"].write(value.compactionMultipliers) + try writer["compactionRowLimit"].write(value.compactionRowLimit) + try writer["dataFusionConfig"].write(value.dataFusionConfig) + try writer["dataFusionMaxParquetFanout"].write(value.dataFusionMaxParquetFanout) + try writer["dataFusionNumThreads"].write(value.dataFusionNumThreads) + try writer["dataFusionRuntimeDisableLifoSlot"].write(value.dataFusionRuntimeDisableLifoSlot) + try writer["dataFusionRuntimeEventInterval"].write(value.dataFusionRuntimeEventInterval) + try writer["dataFusionRuntimeGlobalQueueInterval"].write(value.dataFusionRuntimeGlobalQueueInterval) + try writer["dataFusionRuntimeMaxBlockingThreads"].write(value.dataFusionRuntimeMaxBlockingThreads) + try writer["dataFusionRuntimeMaxIoEventsPerTick"].write(value.dataFusionRuntimeMaxIoEventsPerTick) + try writer["dataFusionRuntimeThreadKeepAlive"].write(value.dataFusionRuntimeThreadKeepAlive, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["dataFusionRuntimeThreadPriority"].write(value.dataFusionRuntimeThreadPriority) + try writer["dataFusionRuntimeType"].write(value.dataFusionRuntimeType) + try writer["dataFusionUseCachedParquetLoader"].write(value.dataFusionUseCachedParquetLoader) + try writer["dedicatedCompactor"].write(value.dedicatedCompactor) + try writer["deleteGracePeriod"].write(value.deleteGracePeriod, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["disableParquetMemCache"].write(value.disableParquetMemCache) + try writer["distinctCacheEvictionInterval"].write(value.distinctCacheEvictionInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["distinctValueCacheDisableFromHistory"].write(value.distinctValueCacheDisableFromHistory) + try writer["execMemPoolBytes"].write(value.execMemPoolBytes, with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.write(value:to:)) + try writer["forceSnapshotMemThreshold"].write(value.forceSnapshotMemThreshold, with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.write(value:to:)) + try writer["gen1Duration"].write(value.gen1Duration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["gen1LookbackDuration"].write(value.gen1LookbackDuration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["hardDeleteDefaultDuration"].write(value.hardDeleteDefaultDuration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["ingestQueryInstances"].write(value.ingestQueryInstances) + try writer["lastCacheEvictionInterval"].write(value.lastCacheEvictionInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["lastValueCacheDisableFromHistory"].write(value.lastValueCacheDisableFromHistory) + try writer["logFilter"].write(value.logFilter) + try writer["logFormat"].write(value.logFormat) + try writer["maxHttpRequestSize"].write(value.maxHttpRequestSize) + try writer["parquetMemCachePruneInterval"].write(value.parquetMemCachePruneInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["parquetMemCachePrunePercentage"].write(value.parquetMemCachePrunePercentage) + try writer["parquetMemCacheQueryPathDuration"].write(value.parquetMemCacheQueryPathDuration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["parquetMemCacheSize"].write(value.parquetMemCacheSize, with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.write(value:to:)) + try writer["preemptiveCacheAge"].write(value.preemptiveCacheAge, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["queryFileLimit"].write(value.queryFileLimit) + try writer["queryLogSize"].write(value.queryLogSize) + try writer["queryOnlyInstances"].write(value.queryOnlyInstances) + try writer["replicationInterval"].write(value.replicationInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["retentionCheckInterval"].write(value.retentionCheckInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["snapshottedWalFilesToKeep"].write(value.snapshottedWalFilesToKeep) + try writer["tableIndexCacheConcurrencyLimit"].write(value.tableIndexCacheConcurrencyLimit) + try writer["tableIndexCacheMaxEntries"].write(value.tableIndexCacheMaxEntries) + try writer["walMaxWriteBufferSize"].write(value.walMaxWriteBufferSize) + try writer["walReplayConcurrencyLimit"].write(value.walReplayConcurrencyLimit) + try writer["walReplayFailOnError"].write(value.walReplayFailOnError) + try writer["walSnapshotSize"].write(value.walSnapshotSize) + } + + static func read(from reader: SmithyJSON.Reader) throws -> TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = TimestreamInfluxDBClientTypes.InfluxDBv3EnterpriseParameters() + value.queryFileLimit = try reader["queryFileLimit"].readIfPresent() + value.queryLogSize = try reader["queryLogSize"].readIfPresent() + value.logFilter = try reader["logFilter"].readIfPresent() + value.logFormat = try reader["logFormat"].readIfPresent() + value.dataFusionNumThreads = try reader["dataFusionNumThreads"].readIfPresent() + value.dataFusionRuntimeType = try reader["dataFusionRuntimeType"].readIfPresent() + value.dataFusionRuntimeDisableLifoSlot = try reader["dataFusionRuntimeDisableLifoSlot"].readIfPresent() + value.dataFusionRuntimeEventInterval = try reader["dataFusionRuntimeEventInterval"].readIfPresent() + value.dataFusionRuntimeGlobalQueueInterval = try reader["dataFusionRuntimeGlobalQueueInterval"].readIfPresent() + value.dataFusionRuntimeMaxBlockingThreads = try reader["dataFusionRuntimeMaxBlockingThreads"].readIfPresent() + value.dataFusionRuntimeMaxIoEventsPerTick = try reader["dataFusionRuntimeMaxIoEventsPerTick"].readIfPresent() + value.dataFusionRuntimeThreadKeepAlive = try reader["dataFusionRuntimeThreadKeepAlive"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.dataFusionRuntimeThreadPriority = try reader["dataFusionRuntimeThreadPriority"].readIfPresent() + value.dataFusionMaxParquetFanout = try reader["dataFusionMaxParquetFanout"].readIfPresent() + value.dataFusionUseCachedParquetLoader = try reader["dataFusionUseCachedParquetLoader"].readIfPresent() + value.dataFusionConfig = try reader["dataFusionConfig"].readIfPresent() + value.maxHttpRequestSize = try reader["maxHttpRequestSize"].readIfPresent() + value.forceSnapshotMemThreshold = try reader["forceSnapshotMemThreshold"].readIfPresent(with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.read(from:)) + value.walSnapshotSize = try reader["walSnapshotSize"].readIfPresent() + value.walMaxWriteBufferSize = try reader["walMaxWriteBufferSize"].readIfPresent() + value.snapshottedWalFilesToKeep = try reader["snapshottedWalFilesToKeep"].readIfPresent() + value.preemptiveCacheAge = try reader["preemptiveCacheAge"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.parquetMemCachePrunePercentage = try reader["parquetMemCachePrunePercentage"].readIfPresent() + value.parquetMemCachePruneInterval = try reader["parquetMemCachePruneInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.disableParquetMemCache = try reader["disableParquetMemCache"].readIfPresent() + value.parquetMemCacheQueryPathDuration = try reader["parquetMemCacheQueryPathDuration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.lastCacheEvictionInterval = try reader["lastCacheEvictionInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.distinctCacheEvictionInterval = try reader["distinctCacheEvictionInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.gen1Duration = try reader["gen1Duration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.execMemPoolBytes = try reader["execMemPoolBytes"].readIfPresent(with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.read(from:)) + value.parquetMemCacheSize = try reader["parquetMemCacheSize"].readIfPresent(with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.read(from:)) + value.walReplayFailOnError = try reader["walReplayFailOnError"].readIfPresent() + value.walReplayConcurrencyLimit = try reader["walReplayConcurrencyLimit"].readIfPresent() + value.tableIndexCacheMaxEntries = try reader["tableIndexCacheMaxEntries"].readIfPresent() + value.tableIndexCacheConcurrencyLimit = try reader["tableIndexCacheConcurrencyLimit"].readIfPresent() + value.gen1LookbackDuration = try reader["gen1LookbackDuration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.retentionCheckInterval = try reader["retentionCheckInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.deleteGracePeriod = try reader["deleteGracePeriod"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.hardDeleteDefaultDuration = try reader["hardDeleteDefaultDuration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.ingestQueryInstances = try reader["ingestQueryInstances"].readIfPresent() ?? 0 + value.queryOnlyInstances = try reader["queryOnlyInstances"].readIfPresent() ?? 0 + value.dedicatedCompactor = try reader["dedicatedCompactor"].readIfPresent() ?? false + value.compactionRowLimit = try reader["compactionRowLimit"].readIfPresent() + value.compactionMaxNumFilesPerPlan = try reader["compactionMaxNumFilesPerPlan"].readIfPresent() + value.compactionGen2Duration = try reader["compactionGen2Duration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.compactionMultipliers = try reader["compactionMultipliers"].readIfPresent() + value.compactionCleanupWait = try reader["compactionCleanupWait"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.compactionCheckInterval = try reader["compactionCheckInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.lastValueCacheDisableFromHistory = try reader["lastValueCacheDisableFromHistory"].readIfPresent() + value.distinctValueCacheDisableFromHistory = try reader["distinctValueCacheDisableFromHistory"].readIfPresent() + value.replicationInterval = try reader["replicationInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.catalogSyncInterval = try reader["catalogSyncInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + return value + } +} + +extension TimestreamInfluxDBClientTypes.Duration { + + static func write(value: TimestreamInfluxDBClientTypes.Duration?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["durationType"].write(value.durationType) + try writer["value"].write(value.value) + } + + static func read(from reader: SmithyJSON.Reader) throws -> TimestreamInfluxDBClientTypes.Duration { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = TimestreamInfluxDBClientTypes.Duration() + value.durationType = try reader["durationType"].readIfPresent() ?? .sdkUnknown("") + value.value = try reader["value"].readIfPresent() ?? 0 + return value + } +} + +extension TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong { + + static func write(value: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .absolute(absolute): + try writer["absolute"].write(absolute) + case let .percent(percent): + try writer["percent"].write(percent) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } + + static func read(from reader: SmithyJSON.Reader) throws -> TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "percent": + return .percent(try reader["percent"].read()) + case "absolute": + return .absolute(try reader["absolute"].read()) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters { + + static func write(value: TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["dataFusionConfig"].write(value.dataFusionConfig) + try writer["dataFusionMaxParquetFanout"].write(value.dataFusionMaxParquetFanout) + try writer["dataFusionNumThreads"].write(value.dataFusionNumThreads) + try writer["dataFusionRuntimeDisableLifoSlot"].write(value.dataFusionRuntimeDisableLifoSlot) + try writer["dataFusionRuntimeEventInterval"].write(value.dataFusionRuntimeEventInterval) + try writer["dataFusionRuntimeGlobalQueueInterval"].write(value.dataFusionRuntimeGlobalQueueInterval) + try writer["dataFusionRuntimeMaxBlockingThreads"].write(value.dataFusionRuntimeMaxBlockingThreads) + try writer["dataFusionRuntimeMaxIoEventsPerTick"].write(value.dataFusionRuntimeMaxIoEventsPerTick) + try writer["dataFusionRuntimeThreadKeepAlive"].write(value.dataFusionRuntimeThreadKeepAlive, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["dataFusionRuntimeThreadPriority"].write(value.dataFusionRuntimeThreadPriority) + try writer["dataFusionRuntimeType"].write(value.dataFusionRuntimeType) + try writer["dataFusionUseCachedParquetLoader"].write(value.dataFusionUseCachedParquetLoader) + try writer["deleteGracePeriod"].write(value.deleteGracePeriod, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["disableParquetMemCache"].write(value.disableParquetMemCache) + try writer["distinctCacheEvictionInterval"].write(value.distinctCacheEvictionInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["execMemPoolBytes"].write(value.execMemPoolBytes, with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.write(value:to:)) + try writer["forceSnapshotMemThreshold"].write(value.forceSnapshotMemThreshold, with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.write(value:to:)) + try writer["gen1Duration"].write(value.gen1Duration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["gen1LookbackDuration"].write(value.gen1LookbackDuration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["hardDeleteDefaultDuration"].write(value.hardDeleteDefaultDuration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["lastCacheEvictionInterval"].write(value.lastCacheEvictionInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["logFilter"].write(value.logFilter) + try writer["logFormat"].write(value.logFormat) + try writer["maxHttpRequestSize"].write(value.maxHttpRequestSize) + try writer["parquetMemCachePruneInterval"].write(value.parquetMemCachePruneInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["parquetMemCachePrunePercentage"].write(value.parquetMemCachePrunePercentage) + try writer["parquetMemCacheQueryPathDuration"].write(value.parquetMemCacheQueryPathDuration, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["parquetMemCacheSize"].write(value.parquetMemCacheSize, with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.write(value:to:)) + try writer["preemptiveCacheAge"].write(value.preemptiveCacheAge, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["queryFileLimit"].write(value.queryFileLimit) + try writer["queryLogSize"].write(value.queryLogSize) + try writer["retentionCheckInterval"].write(value.retentionCheckInterval, with: TimestreamInfluxDBClientTypes.Duration.write(value:to:)) + try writer["snapshottedWalFilesToKeep"].write(value.snapshottedWalFilesToKeep) + try writer["tableIndexCacheConcurrencyLimit"].write(value.tableIndexCacheConcurrencyLimit) + try writer["tableIndexCacheMaxEntries"].write(value.tableIndexCacheMaxEntries) + try writer["walMaxWriteBufferSize"].write(value.walMaxWriteBufferSize) + try writer["walReplayConcurrencyLimit"].write(value.walReplayConcurrencyLimit) + try writer["walReplayFailOnError"].write(value.walReplayFailOnError) + try writer["walSnapshotSize"].write(value.walSnapshotSize) + } + + static func read(from reader: SmithyJSON.Reader) throws -> TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = TimestreamInfluxDBClientTypes.InfluxDBv3CoreParameters() + value.queryFileLimit = try reader["queryFileLimit"].readIfPresent() + value.queryLogSize = try reader["queryLogSize"].readIfPresent() + value.logFilter = try reader["logFilter"].readIfPresent() + value.logFormat = try reader["logFormat"].readIfPresent() + value.dataFusionNumThreads = try reader["dataFusionNumThreads"].readIfPresent() + value.dataFusionRuntimeType = try reader["dataFusionRuntimeType"].readIfPresent() + value.dataFusionRuntimeDisableLifoSlot = try reader["dataFusionRuntimeDisableLifoSlot"].readIfPresent() + value.dataFusionRuntimeEventInterval = try reader["dataFusionRuntimeEventInterval"].readIfPresent() + value.dataFusionRuntimeGlobalQueueInterval = try reader["dataFusionRuntimeGlobalQueueInterval"].readIfPresent() + value.dataFusionRuntimeMaxBlockingThreads = try reader["dataFusionRuntimeMaxBlockingThreads"].readIfPresent() + value.dataFusionRuntimeMaxIoEventsPerTick = try reader["dataFusionRuntimeMaxIoEventsPerTick"].readIfPresent() + value.dataFusionRuntimeThreadKeepAlive = try reader["dataFusionRuntimeThreadKeepAlive"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.dataFusionRuntimeThreadPriority = try reader["dataFusionRuntimeThreadPriority"].readIfPresent() + value.dataFusionMaxParquetFanout = try reader["dataFusionMaxParquetFanout"].readIfPresent() + value.dataFusionUseCachedParquetLoader = try reader["dataFusionUseCachedParquetLoader"].readIfPresent() + value.dataFusionConfig = try reader["dataFusionConfig"].readIfPresent() + value.maxHttpRequestSize = try reader["maxHttpRequestSize"].readIfPresent() + value.forceSnapshotMemThreshold = try reader["forceSnapshotMemThreshold"].readIfPresent(with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.read(from:)) + value.walSnapshotSize = try reader["walSnapshotSize"].readIfPresent() + value.walMaxWriteBufferSize = try reader["walMaxWriteBufferSize"].readIfPresent() + value.snapshottedWalFilesToKeep = try reader["snapshottedWalFilesToKeep"].readIfPresent() + value.preemptiveCacheAge = try reader["preemptiveCacheAge"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.parquetMemCachePrunePercentage = try reader["parquetMemCachePrunePercentage"].readIfPresent() + value.parquetMemCachePruneInterval = try reader["parquetMemCachePruneInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.disableParquetMemCache = try reader["disableParquetMemCache"].readIfPresent() + value.parquetMemCacheQueryPathDuration = try reader["parquetMemCacheQueryPathDuration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.lastCacheEvictionInterval = try reader["lastCacheEvictionInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.distinctCacheEvictionInterval = try reader["distinctCacheEvictionInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.gen1Duration = try reader["gen1Duration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.execMemPoolBytes = try reader["execMemPoolBytes"].readIfPresent(with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.read(from:)) + value.parquetMemCacheSize = try reader["parquetMemCacheSize"].readIfPresent(with: TimestreamInfluxDBClientTypes.PercentOrAbsoluteLong.read(from:)) + value.walReplayFailOnError = try reader["walReplayFailOnError"].readIfPresent() + value.walReplayConcurrencyLimit = try reader["walReplayConcurrencyLimit"].readIfPresent() + value.tableIndexCacheMaxEntries = try reader["tableIndexCacheMaxEntries"].readIfPresent() + value.tableIndexCacheConcurrencyLimit = try reader["tableIndexCacheConcurrencyLimit"].readIfPresent() + value.gen1LookbackDuration = try reader["gen1LookbackDuration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.retentionCheckInterval = try reader["retentionCheckInterval"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.deleteGracePeriod = try reader["deleteGracePeriod"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + value.hardDeleteDefaultDuration = try reader["hardDeleteDefaultDuration"].readIfPresent(with: TimestreamInfluxDBClientTypes.Duration.read(from:)) + return value + } +} + extension TimestreamInfluxDBClientTypes.InfluxDBv2Parameters { static func write(value: TimestreamInfluxDBClientTypes.InfluxDBv2Parameters?, to writer: SmithyJSON.Writer) throws { @@ -3358,23 +4160,6 @@ extension TimestreamInfluxDBClientTypes.InfluxDBv2Parameters { } } -extension TimestreamInfluxDBClientTypes.Duration { - - static func write(value: TimestreamInfluxDBClientTypes.Duration?, to writer: SmithyJSON.Writer) throws { - guard let value else { return } - try writer["durationType"].write(value.durationType) - try writer["value"].write(value.value) - } - - static func read(from reader: SmithyJSON.Reader) throws -> TimestreamInfluxDBClientTypes.Duration { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = TimestreamInfluxDBClientTypes.Duration() - value.durationType = try reader["durationType"].readIfPresent() ?? .sdkUnknown("") - value.value = try reader["value"].readIfPresent() ?? 0 - return value - } -} - extension TimestreamInfluxDBClientTypes.DbClusterSummary { static func read(from reader: SmithyJSON.Reader) throws -> TimestreamInfluxDBClientTypes.DbClusterSummary { @@ -3392,6 +4177,7 @@ extension TimestreamInfluxDBClientTypes.DbClusterSummary { value.networkType = try reader["networkType"].readIfPresent() value.dbStorageType = try reader["dbStorageType"].readIfPresent() value.allocatedStorage = try reader["allocatedStorage"].readIfPresent() + value.engineType = try reader["engineType"].readIfPresent() return value } } @@ -3433,6 +4219,7 @@ extension TimestreamInfluxDBClientTypes.DbInstanceForClusterSummary { value.allocatedStorage = try reader["allocatedStorage"].readIfPresent() value.deploymentType = try reader["deploymentType"].readIfPresent() value.instanceMode = try reader["instanceMode"].readIfPresent() + value.instanceModes = try reader["instanceModes"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosureBox().read(from:), memberNodeInfo: "member", isFlattened: false) return value } } diff --git a/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/TimestreamInfluxDBClient.swift b/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/TimestreamInfluxDBClient.swift index d5cf239ca4b..4db086a7e85 100644 --- a/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/TimestreamInfluxDBClient.swift +++ b/Sources/Services/AWSTimestreamInfluxDB/Sources/AWSTimestreamInfluxDB/TimestreamInfluxDBClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TimestreamInfluxDBClient: ClientRuntime.Client { +public class TimestreamInfluxDBClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TimestreamInfluxDBClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TimestreamInfluxDBClient.TimestreamInfluxDBClientConfiguration let serviceName = "Timestream InfluxDB" diff --git a/Sources/Services/AWSTimestreamQuery/Sources/AWSTimestreamQuery/TimestreamQueryClient.swift b/Sources/Services/AWSTimestreamQuery/Sources/AWSTimestreamQuery/TimestreamQueryClient.swift index 1fd697b3e90..869d9335031 100644 --- a/Sources/Services/AWSTimestreamQuery/Sources/AWSTimestreamQuery/TimestreamQueryClient.swift +++ b/Sources/Services/AWSTimestreamQuery/Sources/AWSTimestreamQuery/TimestreamQueryClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TimestreamQueryClient: ClientRuntime.Client { +public class TimestreamQueryClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TimestreamQueryClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TimestreamQueryClient.TimestreamQueryClientConfiguration let serviceName = "Timestream Query" diff --git a/Sources/Services/AWSTimestreamWrite/Sources/AWSTimestreamWrite/TimestreamWriteClient.swift b/Sources/Services/AWSTimestreamWrite/Sources/AWSTimestreamWrite/TimestreamWriteClient.swift index 806ea94d4f7..8c951f95828 100644 --- a/Sources/Services/AWSTimestreamWrite/Sources/AWSTimestreamWrite/TimestreamWriteClient.swift +++ b/Sources/Services/AWSTimestreamWrite/Sources/AWSTimestreamWrite/TimestreamWriteClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TimestreamWriteClient: ClientRuntime.Client { +public class TimestreamWriteClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TimestreamWriteClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TimestreamWriteClient.TimestreamWriteClientConfiguration let serviceName = "Timestream Write" diff --git a/Sources/Services/AWSTnb/Sources/AWSTnb/TnbClient.swift b/Sources/Services/AWSTnb/Sources/AWSTnb/TnbClient.swift index 303d83c2942..85ce819e5b5 100644 --- a/Sources/Services/AWSTnb/Sources/AWSTnb/TnbClient.swift +++ b/Sources/Services/AWSTnb/Sources/AWSTnb/TnbClient.swift @@ -33,7 +33,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys @_spi(SmithyReadWrite) import enum SmithyReadWrite.WritingClosures import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -70,9 +70,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TnbClient: ClientRuntime.Client { +public class TnbClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TnbClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TnbClient.TnbClientConfiguration let serviceName = "tnb" diff --git a/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/Models.swift b/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/Models.swift index 36776f943e0..7c1e18a7a08 100644 --- a/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/Models.swift +++ b/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/Models.swift @@ -3997,25 +3997,7 @@ public struct StartCallAnalyticsJobInput: Swift.Sendable { /// Describes the Amazon S3 location of the media file you want to use in your Call Analytics request. /// This member is required. public var media: TranscribeClientTypes.Media? - /// The KMS key you want to use to encrypt your Call Analytics output. If using a key located in the current Amazon Web Services account, you can specify your KMS key in one of four ways: - /// - /// * Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use an alias for the KMS key ID. For example, alias/ExampleAlias. - /// - /// * Use the Amazon Resource Name (ARN) for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If using a key located in a different Amazon Web Services account than the current Amazon Web Services account, you can specify your KMS key in one of two ways: - /// - /// * Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). If you specify a KMS key to encrypt your output, you must also specify an output location using the OutputLocation parameter. Note that the role making the request must have permission to use the specified KMS key. + /// The Amazon Resource Name (ARN) of a KMS key that you want to use to encrypt your Call Analytics output. KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. For more information, see [ KMS key ARNs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN). If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). Note that the role making the request and the role specified in the DataAccessRoleArn request parameter (if present) must have permission to use the specified KMS key. public var outputEncryptionKMSKeyId: Swift.String? /// The Amazon S3 location where you want your Call Analytics transcription output stored. You can use any of the following formats to specify the output location: /// @@ -4084,25 +4066,7 @@ public struct StartMedicalScribeJobInput: Swift.Sendable { /// The name of the Amazon S3 bucket where you want your Medical Scribe output stored. Do not include the S3:// prefix of the specified bucket. Note that the role specified in the DataAccessRoleArn request parameter must have permission to use the specified location. You can change Amazon S3 permissions using the [Amazon Web Services Management Console](https://console.aws.amazon.com/s3). See also [Permissions Required for IAM User Roles](https://docs.aws.amazon.com/transcribe/latest/dg/security_iam_id-based-policy-examples.html#auth-role-iam-user). /// This member is required. public var outputBucketName: Swift.String? - /// The KMS key you want to use to encrypt your Medical Scribe output. If using a key located in the current Amazon Web Services account, you can specify your KMS key in one of four ways: - /// - /// * Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use an alias for the KMS key ID. For example, alias/ExampleAlias. - /// - /// * Use the Amazon Resource Name (ARN) for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If using a key located in a different Amazon Web Services account than the current Amazon Web Services account, you can specify your KMS key in one of two ways: - /// - /// * Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). Note that the role specified in the DataAccessRoleArn request parameter must have permission to use the specified KMS key. + /// The Amazon Resource Name (ARN) of a KMS key that you want to use to encrypt your Medical Scribe output. KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. For more information, see [ KMS key ARNs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN). If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). Note that the role making the request and the role specified in the DataAccessRoleArn request parameter (if present) must have permission to use the specified KMS key. public var outputEncryptionKMSKeyId: Swift.String? /// Makes it possible to control how your Medical Scribe job is processed using a MedicalScribeSettings object. Specify ChannelIdentification if ChannelDefinitions are set. Enabled ShowSpeakerLabels if ChannelIdentification and ChannelDefinitions are not set. One and only one of ChannelIdentification and ShowSpeakerLabels must be set. If ShowSpeakerLabels is set, MaxSpeakerLabels must also be set. Use Settings to specify a vocabulary or vocabulary filter or both using VocabularyName, VocabularyFilterName. VocabularyFilterMethod must be specified if VocabularyFilterName is set. /// This member is required. @@ -4167,25 +4131,7 @@ public struct StartMedicalTranscriptionJobInput: Swift.Sendable { /// The name of the Amazon S3 bucket where you want your medical transcription output stored. Do not include the S3:// prefix of the specified bucket. If you want your output to go to a sub-folder of this bucket, specify it using the OutputKey parameter; OutputBucketName only accepts the name of a bucket. For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET, set OutputBucketName to DOC-EXAMPLE-BUCKET. However, if you want your output stored in S3://DOC-EXAMPLE-BUCKET/test-files/, set OutputBucketName to DOC-EXAMPLE-BUCKET and OutputKey to test-files/. Note that Amazon Transcribe must have permission to use the specified location. You can change Amazon S3 permissions using the [Amazon Web Services Management Console](https://console.aws.amazon.com/s3). See also [Permissions Required for IAM User Roles](https://docs.aws.amazon.com/transcribe/latest/dg/security_iam_id-based-policy-examples.html#auth-role-iam-user). /// This member is required. public var outputBucketName: Swift.String? - /// The KMS key you want to use to encrypt your medical transcription output. If using a key located in the current Amazon Web Services account, you can specify your KMS key in one of four ways: - /// - /// * Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use an alias for the KMS key ID. For example, alias/ExampleAlias. - /// - /// * Use the Amazon Resource Name (ARN) for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If using a key located in a different Amazon Web Services account than the current Amazon Web Services account, you can specify your KMS key in one of two ways: - /// - /// * Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). If you specify a KMS key to encrypt your output, you must also specify an output location using the OutputLocation parameter. Note that the role making the request must have permission to use the specified KMS key. + /// The Amazon Resource Name (ARN) of a KMS key that you want to use to encrypt your medical transcription output. KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. For more information, see [ KMS key ARNs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN). If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). Note that the role making the request and the role specified in the DataAccessRoleArn request parameter (if present) must have permission to use the specified KMS key. public var outputEncryptionKMSKeyId: Swift.String? /// Use in combination with OutputBucketName to specify the output location of your transcript and, optionally, a unique name for your output file. The default name for your transcription output is the same as the name you specified for your medical transcription job (MedicalTranscriptionJobName). Here are some examples of how you can use OutputKey: /// @@ -4302,25 +4248,7 @@ public struct StartTranscriptionJobInput: Swift.Sendable { public var modelSettings: TranscribeClientTypes.ModelSettings? /// The name of the Amazon S3 bucket where you want your transcription output stored. Do not include the S3:// prefix of the specified bucket. If you want your output to go to a sub-folder of this bucket, specify it using the OutputKey parameter; OutputBucketName only accepts the name of a bucket. For example, if you want your output stored in S3://DOC-EXAMPLE-BUCKET, set OutputBucketName to DOC-EXAMPLE-BUCKET. However, if you want your output stored in S3://DOC-EXAMPLE-BUCKET/test-files/, set OutputBucketName to DOC-EXAMPLE-BUCKET and OutputKey to test-files/. Note that Amazon Transcribe must have permission to use the specified location. You can change Amazon S3 permissions using the [Amazon Web Services Management Console](https://console.aws.amazon.com/s3). See also [Permissions Required for IAM User Roles](https://docs.aws.amazon.com/transcribe/latest/dg/security_iam_id-based-policy-examples.html#auth-role-iam-user). If you do not specify OutputBucketName, your transcript is placed in a service-managed Amazon S3 bucket and you are provided with a URI to access your transcript. public var outputBucketName: Swift.String? - /// The KMS key you want to use to encrypt your transcription output. If using a key located in the current Amazon Web Services account, you can specify your KMS key in one of four ways: - /// - /// * Use the KMS key ID itself. For example, 1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use an alias for the KMS key ID. For example, alias/ExampleAlias. - /// - /// * Use the Amazon Resource Name (ARN) for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If using a key located in a different Amazon Web Services account than the current Amazon Web Services account, you can specify your KMS key in one of two ways: - /// - /// * Use the ARN for the KMS key ID. For example, arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab. - /// - /// * Use the ARN for the KMS key alias. For example, arn:aws:kms:region:account-ID:alias/ExampleAlias. - /// - /// - /// If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). If you specify a KMS key to encrypt your output, you must also specify an output location using the OutputLocation parameter. Note that the role making the request must have permission to use the specified KMS key. + /// The Amazon Resource Name (ARN) of a KMS key that you want to use to encrypt your transcription output. KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example: arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. For more information, see [ KMS key ARNs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id-key-ARN). If you do not specify an encryption key, your output is encrypted with the default Amazon S3 key (SSE-S3). Note that the role making the request and the role specified in the DataAccessRoleArn request parameter (if present) must have permission to use the specified KMS key. public var outputEncryptionKMSKeyId: Swift.String? /// Use in combination with OutputBucketName to specify the output location of your transcript and, optionally, a unique name for your output file. The default name for your transcription output is the same as the name you specified for your transcription job (TranscriptionJobName). Here are some examples of how you can use OutputKey: /// @@ -4955,6 +4883,13 @@ extension UntagResourceInput { } } +extension UntagResourceInput { + + static func queryItemProvider(_ value: UntagResourceInput) throws -> [Smithy.URIQueryItem] { + return [] + } +} + extension UpdateCallAnalyticsCategoryInput { static func urlPathProvider(_ value: UpdateCallAnalyticsCategoryInput) -> Swift.String? { diff --git a/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/TranscribeClient.swift b/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/TranscribeClient.swift index 59ba3568d4a..1d5c50770a0 100644 --- a/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/TranscribeClient.swift +++ b/Sources/Services/AWSTranscribe/Sources/AWSTranscribe/TranscribeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TranscribeClient: ClientRuntime.Client { +public class TranscribeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TranscribeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TranscribeClient.TranscribeClientConfiguration let serviceName = "Transcribe" @@ -3193,6 +3192,7 @@ extension TranscribeClient { } builder.interceptors.add(ClientRuntime.URLPathMiddleware(UntagResourceInput.urlPathProvider(_:))) builder.interceptors.add(ClientRuntime.URLHostMiddleware()) + builder.serialize(ClientRuntime.QueryItemMiddleware(UntagResourceInput.queryItemProvider(_:))) builder.interceptors.add(ClientRuntime.ContentLengthMiddleware()) builder.deserialize(ClientRuntime.DeserializeMiddleware(UntagResourceOutput.httpOutput(from:), UntagResourceOutputError.httpError(from:))) builder.interceptors.add(ClientRuntime.LoggerMiddleware(clientLogMode: config.clientLogMode)) diff --git a/Sources/Services/AWSTranscribeStreaming/Sources/AWSTranscribeStreaming/TranscribeStreamingClient.swift b/Sources/Services/AWSTranscribeStreaming/Sources/AWSTranscribeStreaming/TranscribeStreamingClient.swift index 5fbe54c36ea..079c1a2041d 100644 --- a/Sources/Services/AWSTranscribeStreaming/Sources/AWSTranscribeStreaming/TranscribeStreamingClient.swift +++ b/Sources/Services/AWSTranscribeStreaming/Sources/AWSTranscribeStreaming/TranscribeStreamingClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import func AWSSDKEventStreamsAuth.setupBidirectionalStreaming import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -64,9 +64,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TranscribeStreamingClient: ClientRuntime.Client { +public class TranscribeStreamingClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TranscribeStreamingClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TranscribeStreamingClient.TranscribeStreamingClientConfiguration let serviceName = "Transcribe Streaming" diff --git a/Sources/Services/AWSTransfer/Sources/AWSTransfer/Models.swift b/Sources/Services/AWSTransfer/Sources/AWSTransfer/Models.swift index 0663a77e984..946227ed747 100644 --- a/Sources/Services/AWSTransfer/Sources/AWSTransfer/Models.swift +++ b/Sources/Services/AWSTransfer/Sources/AWSTransfer/Models.swift @@ -1544,6 +1544,65 @@ public struct ConflictException: ClientRuntime.ModeledError, AWSClientRuntime.AW } } +extension TransferClientTypes { + + /// VPC_LATTICE egress configuration that specifies the Resource Configuration ARN and port for connecting to SFTP servers through customer VPCs. Requires a valid Resource Configuration with appropriate network access. + public struct ConnectorVpcLatticeEgressConfig: Swift.Sendable { + /// Port number for connecting to the SFTP server through VPC_LATTICE. Defaults to 22 if not specified. Must match the port on which the target SFTP server is listening. + public var portNumber: Swift.Int? + /// ARN of the VPC_LATTICE Resource Configuration that defines the target SFTP server location. Must point to a valid Resource Configuration in the customer's VPC with appropriate network connectivity to the SFTP server. + /// This member is required. + public var resourceConfigurationArn: Swift.String? + + public init( + portNumber: Swift.Int? = nil, + resourceConfigurationArn: Swift.String? = nil + ) { + self.portNumber = portNumber + self.resourceConfigurationArn = resourceConfigurationArn + } + } +} + +extension TransferClientTypes { + + /// Configuration structure that defines how traffic is routed from the connector to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type for private connectivity through customer VPCs. + public enum ConnectorEgressConfig: Swift.Sendable { + /// VPC_LATTICE configuration for routing connector traffic through customer VPCs. Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations. + case vpclattice(TransferClientTypes.ConnectorVpcLatticeEgressConfig) + case sdkUnknown(Swift.String) + } +} + +extension TransferClientTypes { + + public enum ConnectorEgressType: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case serviceManaged + case vpcLattice + case sdkUnknown(Swift.String) + + public static var allCases: [ConnectorEgressType] { + return [ + .serviceManaged, + .vpcLattice + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .serviceManaged: return "SERVICE_MANAGED" + case .vpcLattice: return "VPC_LATTICE" + case let .sdkUnknown(s): return s + } + } + } +} + extension TransferClientTypes { public enum TransferTableStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { @@ -1614,14 +1673,14 @@ extension TransferClientTypes { public struct SftpConnectorConfig: Swift.Sendable { /// Specify the number of concurrent connections that your connector creates to the remote server. The default value is 1. The maximum values is 5. If you are using the Amazon Web Services Management Console, the default value is 5. This parameter specifies the number of active connections that your connector can establish with the remote server at the same time. Increasing this value can enhance connector performance when transferring large file batches by enabling parallel operations. public var maxConcurrentConnections: Swift.Int? - /// The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ssh-keyscan command against the SFTP server to retrieve the necessary key. TrustedHostKeys is optional for CreateConnector. If not provided, you can use TestConnection to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key. The three standard SSH public key format elements are , , and an optional , with spaces between each element. Specify only the and : do not enter the portion of the key. For the trusted host key, Transfer Family accepts RSA and ECDSA keys. + /// The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ssh-keyscan command against the SFTP server to retrieve the necessary key. TrustedHostKeys is optional for CreateConnector. If not provided, you can use TestConnection to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key. When creating connectors with egress config (VPC_LATTICE type connectors), since host name is not something we can verify, the only accepted trusted host key format is key-type key-body without the host name. For example: ssh-rsa AAAAB3Nza... The three standard SSH public key format elements are , , and an optional , with spaces between each element. Specify only the and : do not enter the portion of the key. For the trusted host key, Transfer Family accepts RSA and ECDSA keys. /// /// * For RSA keys, the string is ssh-rsa. /// /// * For ECDSA keys, the string is either ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending on the size of the key you generated. /// /// - /// Run this command to retrieve the SFTP server host key, where your SFTP server name is ftp.host.com. ssh-keyscan ftp.host.com This prints the public host key to standard output. ftp.host.com ssh-rsa AAAAB3Nza... Copy and paste this string into the TrustedHostKeys field for the create-connector command or into the Trusted host keys field in the console. For VPC Lattice type connectors (VPC_LATTICE), remove the hostname from the key and use only the key-type key-body format. In this example, it should be: ssh-rsa AAAAB3Nza... public var trustedHostKeys: [Swift.String]? /// The identifier for the secret (in Amazon Web Services Secrets Manager) that contains the SFTP user's private key, password, or both. The identifier must be the Amazon Resource Name (ARN) of the secret. /// @@ -1648,6 +1707,8 @@ public struct CreateConnectorInput: Swift.Sendable { public var accessRole: Swift.String? /// A structure that contains the parameters for an AS2 connector object. public var as2Config: TransferClientTypes.As2ConnectorConfig? + /// Specifies the egress configuration for the connector, which determines how traffic is routed from the connector to the SFTP server. When set to VPC, enables routing through customer VPCs using VPC_LATTICE for private connectivity. + public var egressConfig: TransferClientTypes.ConnectorEgressConfig? /// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs. public var loggingRole: Swift.String? /// Specifies the name of the security policy for the connector. @@ -1656,13 +1717,13 @@ public struct CreateConnectorInput: Swift.Sendable { public var sftpConfig: TransferClientTypes.SftpConnectorConfig? /// Key-value pairs that can be used to group and search for connectors. Tags are metadata attached to connectors for any purpose. public var tags: [TransferClientTypes.Tag]? - /// The URL of the partner's AS2 or SFTP endpoint. - /// This member is required. + /// The URL of the partner's AS2 or SFTP endpoint. When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null. public var url: Swift.String? public init( accessRole: Swift.String? = nil, as2Config: TransferClientTypes.As2ConnectorConfig? = nil, + egressConfig: TransferClientTypes.ConnectorEgressConfig? = nil, loggingRole: Swift.String? = nil, securityPolicyName: Swift.String? = nil, sftpConfig: TransferClientTypes.SftpConnectorConfig? = nil, @@ -1671,6 +1732,7 @@ public struct CreateConnectorInput: Swift.Sendable { ) { self.accessRole = accessRole self.as2Config = as2Config + self.egressConfig = egressConfig self.loggingRole = loggingRole self.securityPolicyName = securityPolicyName self.sftpConfig = sftpConfig @@ -1715,6 +1777,68 @@ public struct DescribeConnectorInput: Swift.Sendable { } } +extension TransferClientTypes { + + /// VPC_LATTICE egress configuration details in the response, containing the Resource Configuration ARN and port number currently configured for the connector. + public struct DescribedConnectorVpcLatticeEgressConfig: Swift.Sendable { + /// Port number currently configured for SFTP connections through VPC_LATTICE. Shows the port on which the connector attempts to connect to the target SFTP server. + public var portNumber: Swift.Int? + /// ARN of the VPC_LATTICE Resource Configuration currently used by the connector. This Resource Configuration defines the network path to the SFTP server through the customer's VPC. + /// This member is required. + public var resourceConfigurationArn: Swift.String? + + public init( + portNumber: Swift.Int? = nil, + resourceConfigurationArn: Swift.String? = nil + ) { + self.portNumber = portNumber + self.resourceConfigurationArn = resourceConfigurationArn + } + } +} + +extension TransferClientTypes { + + /// Response structure containing the current egress configuration details for the connector. Shows how traffic is currently routed from the connector to the SFTP server. + public enum DescribedConnectorEgressConfig: Swift.Sendable { + /// VPC_LATTICE configuration details in the response, showing the current Resource Configuration ARN and port settings for VPC-based connectivity. + case vpclattice(TransferClientTypes.DescribedConnectorVpcLatticeEgressConfig) + case sdkUnknown(Swift.String) + } +} + +extension TransferClientTypes { + + public enum ConnectorStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { + case active + case errored + case pending + case sdkUnknown(Swift.String) + + public static var allCases: [ConnectorStatus] { + return [ + .active, + .errored, + .pending + ] + } + + public init?(rawValue: Swift.String) { + let value = Self.allCases.first(where: { $0.rawValue == rawValue }) + self = value ?? Self.sdkUnknown(rawValue) + } + + public var rawValue: Swift.String { + switch self { + case .active: return "ACTIVE" + case .errored: return "ERRORED" + case .pending: return "PENDING" + case let .sdkUnknown(s): return s + } + } + } +} + extension TransferClientTypes { /// Describes the parameters for the connector, as identified by the ConnectorId. @@ -1728,6 +1852,13 @@ extension TransferClientTypes { public var as2Config: TransferClientTypes.As2ConnectorConfig? /// The unique identifier for the connector. public var connectorId: Swift.String? + /// Current egress configuration of the connector, showing how traffic is routed to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type. When using the VPC_LATTICE egress type, Transfer Family uses a managed Service Network to simplify the resource sharing process. + public var egressConfig: TransferClientTypes.DescribedConnectorEgressConfig? + /// Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice. + /// This member is required. + public var egressType: TransferClientTypes.ConnectorEgressType? + /// Error message providing details when the connector is in ERRORED status. Contains information to help troubleshoot connector creation or operation failures. + public var errorMessage: Swift.String? /// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs. public var loggingRole: Swift.String? /// The text name of the security policy for the specified connector. @@ -1736,9 +1867,12 @@ extension TransferClientTypes { public var serviceManagedEgressIpAddresses: [Swift.String]? /// A structure that contains the parameters for an SFTP connector object. public var sftpConfig: TransferClientTypes.SftpConnectorConfig? + /// Current status of the connector. PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention. + /// This member is required. + public var status: TransferClientTypes.ConnectorStatus? /// Key-value pairs that can be used to group and search for connectors. public var tags: [TransferClientTypes.Tag]? - /// The URL of the partner's AS2 or SFTP endpoint. + /// The URL of the partner's AS2 or SFTP endpoint. When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null. public var url: Swift.String? public init( @@ -1746,10 +1880,14 @@ extension TransferClientTypes { arn: Swift.String? = nil, as2Config: TransferClientTypes.As2ConnectorConfig? = nil, connectorId: Swift.String? = nil, + egressConfig: TransferClientTypes.DescribedConnectorEgressConfig? = nil, + egressType: TransferClientTypes.ConnectorEgressType? = .serviceManaged, + errorMessage: Swift.String? = nil, loggingRole: Swift.String? = nil, securityPolicyName: Swift.String? = nil, serviceManagedEgressIpAddresses: [Swift.String]? = nil, sftpConfig: TransferClientTypes.SftpConnectorConfig? = nil, + status: TransferClientTypes.ConnectorStatus? = .active, tags: [TransferClientTypes.Tag]? = nil, url: Swift.String? = nil ) { @@ -1757,10 +1895,14 @@ extension TransferClientTypes { self.arn = arn self.as2Config = as2Config self.connectorId = connectorId + self.egressConfig = egressConfig + self.egressType = egressType + self.errorMessage = errorMessage self.loggingRole = loggingRole self.securityPolicyName = securityPolicyName self.serviceManagedEgressIpAddresses = serviceManagedEgressIpAddresses self.sftpConfig = sftpConfig + self.status = status self.tags = tags self.url = url } @@ -1802,7 +1944,7 @@ extension TransferClientTypes { public var arn: Swift.String? /// The unique identifier for the connector. public var connectorId: Swift.String? - /// The URL of the partner's AS2 or SFTP endpoint. + /// The URL of the partner's AS2 or SFTP endpoint. When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null. public var url: Swift.String? public init( @@ -1833,6 +1975,35 @@ public struct ListConnectorsOutput: Swift.Sendable { } } +extension TransferClientTypes { + + /// VPC_LATTICE egress configuration updates for modifying how the connector routes traffic through customer VPCs. Changes to these settings may require connector restart to take effect. + public struct UpdateConnectorVpcLatticeEgressConfig: Swift.Sendable { + /// Updated port number for SFTP connections through VPC_LATTICE. Change this if the target SFTP server port has been modified or if connecting to a different server endpoint. + public var portNumber: Swift.Int? + /// Updated ARN of the VPC_LATTICE Resource Configuration. Use this to change the target SFTP server location or modify the network path through the customer's VPC infrastructure. + public var resourceConfigurationArn: Swift.String? + + public init( + portNumber: Swift.Int? = nil, + resourceConfigurationArn: Swift.String? = nil + ) { + self.portNumber = portNumber + self.resourceConfigurationArn = resourceConfigurationArn + } + } +} + +extension TransferClientTypes { + + /// Structure for updating the egress configuration of an existing connector. Allows modification of how traffic is routed from the connector to the SFTP server, including VPC_LATTICE settings. + public enum UpdateConnectorEgressConfig: Swift.Sendable { + /// VPC_LATTICE configuration updates for the connector. Use this to modify the Resource Configuration ARN or port number for VPC-based connectivity. + case vpclattice(TransferClientTypes.UpdateConnectorVpcLatticeEgressConfig) + case sdkUnknown(Swift.String) + } +} + public struct UpdateConnectorInput: Swift.Sendable { /// Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the Identity and Access Management role to use. For AS2 connectors With AS2, you can send files by calling StartFileTransfer and specifying the file paths in the request parameter, SendFilePaths. We use the file’s parent directory (for example, for --send-file-paths /bucket/dir/file.txt, parent directory is /bucket/dir/) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the AccessRole needs to provide read and write access to the parent directory of the file location used in the StartFileTransfer request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with StartFileTransfer. If you are using Basic authentication for your AS2 connector, the access role requires the secretsmanager:GetSecretValue permission for the secret. If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key in Secrets Manager, then the role also needs the kms:Decrypt permission for that key. For SFTP connectors Make sure that the access role provides read and write access to the parent directory of the file location that's used in the StartFileTransfer request. Additionally, make sure that the role provides secretsmanager:GetSecretValue permission to Secrets Manager. public var accessRole: Swift.String? @@ -1841,19 +2012,22 @@ public struct UpdateConnectorInput: Swift.Sendable { /// The unique identifier for the connector. /// This member is required. public var connectorId: Swift.String? + /// Updates the egress configuration for the connector, allowing you to modify how traffic is routed from the connector to the SFTP server. Changes to VPC configuration may require connector restart. + public var egressConfig: TransferClientTypes.UpdateConnectorEgressConfig? /// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs. public var loggingRole: Swift.String? /// Specifies the name of the security policy for the connector. public var securityPolicyName: Swift.String? /// A structure that contains the parameters for an SFTP connector object. public var sftpConfig: TransferClientTypes.SftpConnectorConfig? - /// The URL of the partner's AS2 or SFTP endpoint. + /// The URL of the partner's AS2 or SFTP endpoint. When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null. public var url: Swift.String? public init( accessRole: Swift.String? = nil, as2Config: TransferClientTypes.As2ConnectorConfig? = nil, connectorId: Swift.String? = nil, + egressConfig: TransferClientTypes.UpdateConnectorEgressConfig? = nil, loggingRole: Swift.String? = nil, securityPolicyName: Swift.String? = nil, sftpConfig: TransferClientTypes.SftpConnectorConfig? = nil, @@ -1862,6 +2036,7 @@ public struct UpdateConnectorInput: Swift.Sendable { self.accessRole = accessRole self.as2Config = as2Config self.connectorId = connectorId + self.egressConfig = egressConfig self.loggingRole = loggingRole self.securityPolicyName = securityPolicyName self.sftpConfig = sftpConfig @@ -2555,7 +2730,7 @@ extension TransferClientTypes { public struct ProtocolDetails: Swift.Sendable { /// Indicates the transport method for the AS2 messages. Currently, only HTTP is supported. public var as2Transports: [TransferClientTypes.As2Transport]? - /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: aws transfer update-server --protocol-details PassiveIp=0.0.0.0 Replace 0.0.0.0 in the example above with the actual IP address you want to use. If you change the PassiveIp value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with Transfer Family](http://aws.amazon.com/blogs/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/). Special values The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the PassiveIp=0.0.0.0 response. + /// Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: aws transfer update-server --protocol-details PassiveIp=0.0.0.0 Replace 0.0.0.0 in the example above with the actual IP address you want to use. If you change the PassiveIp value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with Transfer Family](http://aws.amazon.com/blogs/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/). Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting TlsSessionResumptionMode = ENFORCED. For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see [ Avoid placing NLBs and NATs in front of Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations). Special values The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the PassiveIp=0.0.0.0 response. public var passiveIp: Swift.String? /// Use the SetStatOption to ignore the error that is generated when the client attempts to use SETSTAT on a file you are uploading to an S3 bucket. Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as SETSTAT when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. Set the value to ENABLE_NO_OP to have the Transfer Family server ignore the SETSTAT command, and upload files without needing to make any changes to your SFTP client. While the SetStatOptionENABLE_NO_OP setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a SETSTAT call. If you want to preserve the original timestamp for your file, and modify other file attributes using SETSTAT, you can use Amazon EFS as backend storage with Transfer Family. public var setStatOption: TransferClientTypes.SetStatOption? @@ -2752,7 +2927,7 @@ public struct CreateServerInput: Swift.Sendable { public var postAuthenticationLoginBanner: Swift.String? /// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel. public var preAuthenticationLoginBanner: Swift.String? - /// The protocol settings that are configured for your server. + /// The protocol settings that are configured for your server. Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see [ Avoid placing NLBs and NATs in front of Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations). /// /// * To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. /// @@ -4213,7 +4388,7 @@ extension TransferClientTypes { public var postAuthenticationLoginBanner: Swift.String? /// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel. public var preAuthenticationLoginBanner: Swift.String? - /// The protocol settings that are configured for your server. + /// The protocol settings that are configured for your server. Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see [ Avoid placing NLBs and NATs in front of Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations). /// /// * To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. /// @@ -5633,7 +5808,7 @@ public struct UpdateServerInput: Swift.Sendable { public var postAuthenticationLoginBanner: Swift.String? /// Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel. public var preAuthenticationLoginBanner: Swift.String? - /// The protocol settings that are configured for your server. + /// The protocol settings that are configured for your server. Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see [ Avoid placing NLBs and NATs in front of Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations). /// /// * To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. /// @@ -6864,6 +7039,7 @@ extension CreateConnectorInput { guard let value else { return } try writer["AccessRole"].write(value.accessRole) try writer["As2Config"].write(value.as2Config, with: TransferClientTypes.As2ConnectorConfig.write(value:to:)) + try writer["EgressConfig"].write(value.egressConfig, with: TransferClientTypes.ConnectorEgressConfig.write(value:to:)) try writer["LoggingRole"].write(value.loggingRole) try writer["SecurityPolicyName"].write(value.securityPolicyName) try writer["SftpConfig"].write(value.sftpConfig, with: TransferClientTypes.SftpConnectorConfig.write(value:to:)) @@ -7488,6 +7664,7 @@ extension UpdateConnectorInput { try writer["AccessRole"].write(value.accessRole) try writer["As2Config"].write(value.as2Config, with: TransferClientTypes.As2ConnectorConfig.write(value:to:)) try writer["ConnectorId"].write(value.connectorId) + try writer["EgressConfig"].write(value.egressConfig, with: TransferClientTypes.UpdateConnectorEgressConfig.write(value:to:)) try writer["LoggingRole"].write(value.loggingRole) try writer["SecurityPolicyName"].write(value.securityPolicyName) try writer["SftpConfig"].write(value.sftpConfig, with: TransferClientTypes.SftpConnectorConfig.write(value:to:)) @@ -9923,6 +10100,35 @@ extension TransferClientTypes.DescribedConnector { value.sftpConfig = try reader["SftpConfig"].readIfPresent(with: TransferClientTypes.SftpConnectorConfig.read(from:)) value.serviceManagedEgressIpAddresses = try reader["ServiceManagedEgressIpAddresses"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.securityPolicyName = try reader["SecurityPolicyName"].readIfPresent() + value.egressConfig = try reader["EgressConfig"].readIfPresent(with: TransferClientTypes.DescribedConnectorEgressConfig.read(from:)) + value.egressType = try reader["EgressType"].readIfPresent() ?? TransferClientTypes.ConnectorEgressType.serviceManaged + value.errorMessage = try reader["ErrorMessage"].readIfPresent() + value.status = try reader["Status"].readIfPresent() ?? TransferClientTypes.ConnectorStatus.active + return value + } +} + +extension TransferClientTypes.DescribedConnectorEgressConfig { + + static func read(from reader: SmithyJSON.Reader) throws -> TransferClientTypes.DescribedConnectorEgressConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + let name = reader.children.filter { $0.hasContent && $0.nodeInfo.name != "__type" }.first?.nodeInfo.name + switch name { + case "VpcLattice": + return .vpclattice(try reader["VpcLattice"].read(with: TransferClientTypes.DescribedConnectorVpcLatticeEgressConfig.read(from:))) + default: + return .sdkUnknown(name ?? "") + } + } +} + +extension TransferClientTypes.DescribedConnectorVpcLatticeEgressConfig { + + static func read(from reader: SmithyJSON.Reader) throws -> TransferClientTypes.DescribedConnectorVpcLatticeEgressConfig { + guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } + var value = TransferClientTypes.DescribedConnectorVpcLatticeEgressConfig() + value.resourceConfigurationArn = try reader["ResourceConfigurationArn"].readIfPresent() ?? "" + value.portNumber = try reader["PortNumber"].readIfPresent() return value } } @@ -10784,6 +10990,28 @@ extension TransferClientTypes.SftpConnectorConnectionDetails { } } +extension TransferClientTypes.ConnectorEgressConfig { + + static func write(value: TransferClientTypes.ConnectorEgressConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .vpclattice(vpclattice): + try writer["VpcLattice"].write(vpclattice, with: TransferClientTypes.ConnectorVpcLatticeEgressConfig.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } +} + +extension TransferClientTypes.ConnectorVpcLatticeEgressConfig { + + static func write(value: TransferClientTypes.ConnectorVpcLatticeEgressConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["PortNumber"].write(value.portNumber) + try writer["ResourceConfigurationArn"].write(value.resourceConfigurationArn) + } +} + extension TransferClientTypes.WebAppIdentityProviderDetails { static func write(value: TransferClientTypes.WebAppIdentityProviderDetails?, to writer: SmithyJSON.Writer) throws { @@ -10806,6 +11034,28 @@ extension TransferClientTypes.IdentityCenterConfig { } } +extension TransferClientTypes.UpdateConnectorEgressConfig { + + static func write(value: TransferClientTypes.UpdateConnectorEgressConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + switch value { + case let .vpclattice(vpclattice): + try writer["VpcLattice"].write(vpclattice, with: TransferClientTypes.UpdateConnectorVpcLatticeEgressConfig.write(value:to:)) + case let .sdkUnknown(sdkUnknown): + try writer["sdkUnknown"].write(sdkUnknown) + } + } +} + +extension TransferClientTypes.UpdateConnectorVpcLatticeEgressConfig { + + static func write(value: TransferClientTypes.UpdateConnectorVpcLatticeEgressConfig?, to writer: SmithyJSON.Writer) throws { + guard let value else { return } + try writer["PortNumber"].write(value.portNumber) + try writer["ResourceConfigurationArn"].write(value.resourceConfigurationArn) + } +} + extension TransferClientTypes.UpdateWebAppIdentityProviderDetails { static func write(value: TransferClientTypes.UpdateWebAppIdentityProviderDetails?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSTransfer/Sources/AWSTransfer/TransferClient.swift b/Sources/Services/AWSTransfer/Sources/AWSTransfer/TransferClient.swift index d01c9cbc653..750bdcdff1e 100644 --- a/Sources/Services/AWSTransfer/Sources/AWSTransfer/TransferClient.swift +++ b/Sources/Services/AWSTransfer/Sources/AWSTransfer/TransferClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TransferClient: ClientRuntime.Client { +public class TransferClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TransferClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TransferClient.TransferClientConfiguration let serviceName = "Transfer" diff --git a/Sources/Services/AWSTranslate/Sources/AWSTranslate/TranslateClient.swift b/Sources/Services/AWSTranslate/Sources/AWSTranslate/TranslateClient.swift index 3f087f0d000..81239d38eac 100644 --- a/Sources/Services/AWSTranslate/Sources/AWSTranslate/TranslateClient.swift +++ b/Sources/Services/AWSTranslate/Sources/AWSTranslate/TranslateClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TranslateClient: ClientRuntime.Client { +public class TranslateClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TranslateClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TranslateClient.TranslateClientConfiguration let serviceName = "Translate" diff --git a/Sources/Services/AWSTrustedAdvisor/Sources/AWSTrustedAdvisor/TrustedAdvisorClient.swift b/Sources/Services/AWSTrustedAdvisor/Sources/AWSTrustedAdvisor/TrustedAdvisorClient.swift index 6dcf2a5f12e..eb3327f289a 100644 --- a/Sources/Services/AWSTrustedAdvisor/Sources/AWSTrustedAdvisor/TrustedAdvisorClient.swift +++ b/Sources/Services/AWSTrustedAdvisor/Sources/AWSTrustedAdvisor/TrustedAdvisorClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class TrustedAdvisorClient: ClientRuntime.Client { +public class TrustedAdvisorClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "TrustedAdvisorClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: TrustedAdvisorClient.TrustedAdvisorClientConfiguration let serviceName = "TrustedAdvisor" diff --git a/Sources/Services/AWSVPCLattice/Sources/AWSVPCLattice/VPCLatticeClient.swift b/Sources/Services/AWSVPCLattice/Sources/AWSVPCLattice/VPCLatticeClient.swift index 0c6d8c9d8f0..66eabfce3e8 100644 --- a/Sources/Services/AWSVPCLattice/Sources/AWSVPCLattice/VPCLatticeClient.swift +++ b/Sources/Services/AWSVPCLattice/Sources/AWSVPCLattice/VPCLatticeClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class VPCLatticeClient: ClientRuntime.Client { +public class VPCLatticeClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "VPCLatticeClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: VPCLatticeClient.VPCLatticeClientConfiguration let serviceName = "VPC Lattice" diff --git a/Sources/Services/AWSVerifiedPermissions/Sources/AWSVerifiedPermissions/VerifiedPermissionsClient.swift b/Sources/Services/AWSVerifiedPermissions/Sources/AWSVerifiedPermissions/VerifiedPermissionsClient.swift index 31251e66600..8df8b6f67ff 100644 --- a/Sources/Services/AWSVerifiedPermissions/Sources/AWSVerifiedPermissions/VerifiedPermissionsClient.swift +++ b/Sources/Services/AWSVerifiedPermissions/Sources/AWSVerifiedPermissions/VerifiedPermissionsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class VerifiedPermissionsClient: ClientRuntime.Client { +public class VerifiedPermissionsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "VerifiedPermissionsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: VerifiedPermissionsClient.VerifiedPermissionsClientConfiguration let serviceName = "VerifiedPermissions" diff --git a/Sources/Services/AWSVoiceID/Sources/AWSVoiceID/VoiceIDClient.swift b/Sources/Services/AWSVoiceID/Sources/AWSVoiceID/VoiceIDClient.swift index 4bb9892103b..ac301fe8a1c 100644 --- a/Sources/Services/AWSVoiceID/Sources/AWSVoiceID/VoiceIDClient.swift +++ b/Sources/Services/AWSVoiceID/Sources/AWSVoiceID/VoiceIDClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class VoiceIDClient: ClientRuntime.Client { +public class VoiceIDClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "VoiceIDClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: VoiceIDClient.VoiceIDClientConfiguration let serviceName = "Voice ID" diff --git a/Sources/Services/AWSWAF/Sources/AWSWAF/WAFClient.swift b/Sources/Services/AWSWAF/Sources/AWSWAF/WAFClient.swift index 213c0aaeb5a..19126176d15 100644 --- a/Sources/Services/AWSWAF/Sources/AWSWAF/WAFClient.swift +++ b/Sources/Services/AWSWAF/Sources/AWSWAF/WAFClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WAFClient: ClientRuntime.Client { +public class WAFClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WAFClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WAFClient.WAFClientConfiguration let serviceName = "WAF" diff --git a/Sources/Services/AWSWAFRegional/Sources/AWSWAFRegional/WAFRegionalClient.swift b/Sources/Services/AWSWAFRegional/Sources/AWSWAFRegional/WAFRegionalClient.swift index d29372cffef..55b53c2addd 100644 --- a/Sources/Services/AWSWAFRegional/Sources/AWSWAFRegional/WAFRegionalClient.swift +++ b/Sources/Services/AWSWAFRegional/Sources/AWSWAFRegional/WAFRegionalClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WAFRegionalClient: ClientRuntime.Client { +public class WAFRegionalClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WAFRegionalClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WAFRegionalClient.WAFRegionalClientConfiguration let serviceName = "WAF Regional" diff --git a/Sources/Services/AWSWAFV2/Sources/AWSWAFV2/WAFV2Client.swift b/Sources/Services/AWSWAFV2/Sources/AWSWAFV2/WAFV2Client.swift index d84b47b723b..32e7f2eb771 100644 --- a/Sources/Services/AWSWAFV2/Sources/AWSWAFV2/WAFV2Client.swift +++ b/Sources/Services/AWSWAFV2/Sources/AWSWAFV2/WAFV2Client.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WAFV2Client: ClientRuntime.Client { +public class WAFV2Client: AWSClientRuntime.AWSServiceClient { public static let clientName = "WAFV2Client" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WAFV2Client.WAFV2ClientConfiguration let serviceName = "WAFV2" diff --git a/Sources/Services/AWSWellArchitected/Sources/AWSWellArchitected/WellArchitectedClient.swift b/Sources/Services/AWSWellArchitected/Sources/AWSWellArchitected/WellArchitectedClient.swift index 168f3cb4d39..af27a40f240 100644 --- a/Sources/Services/AWSWellArchitected/Sources/AWSWellArchitected/WellArchitectedClient.swift +++ b/Sources/Services/AWSWellArchitected/Sources/AWSWellArchitected/WellArchitectedClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WellArchitectedClient: ClientRuntime.Client { +public class WellArchitectedClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WellArchitectedClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WellArchitectedClient.WellArchitectedClientConfiguration let serviceName = "WellArchitected" diff --git a/Sources/Services/AWSWisdom/Sources/AWSWisdom/WisdomClient.swift b/Sources/Services/AWSWisdom/Sources/AWSWisdom/WisdomClient.swift index 27d60df8c90..dac11ded70d 100644 --- a/Sources/Services/AWSWisdom/Sources/AWSWisdom/WisdomClient.swift +++ b/Sources/Services/AWSWisdom/Sources/AWSWisdom/WisdomClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WisdomClient: ClientRuntime.Client { +public class WisdomClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WisdomClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WisdomClient.WisdomClientConfiguration let serviceName = "Wisdom" diff --git a/Sources/Services/AWSWorkDocs/Sources/AWSWorkDocs/WorkDocsClient.swift b/Sources/Services/AWSWorkDocs/Sources/AWSWorkDocs/WorkDocsClient.swift index df69758dd2b..dda3c91c4f4 100644 --- a/Sources/Services/AWSWorkDocs/Sources/AWSWorkDocs/WorkDocsClient.swift +++ b/Sources/Services/AWSWorkDocs/Sources/AWSWorkDocs/WorkDocsClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkDocsClient: ClientRuntime.Client { +public class WorkDocsClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkDocsClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkDocsClient.WorkDocsClientConfiguration let serviceName = "WorkDocs" diff --git a/Sources/Services/AWSWorkMail/Sources/AWSWorkMail/WorkMailClient.swift b/Sources/Services/AWSWorkMail/Sources/AWSWorkMail/WorkMailClient.swift index 636fcb2042c..5b46d651d6e 100644 --- a/Sources/Services/AWSWorkMail/Sources/AWSWorkMail/WorkMailClient.swift +++ b/Sources/Services/AWSWorkMail/Sources/AWSWorkMail/WorkMailClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkMailClient: ClientRuntime.Client { +public class WorkMailClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkMailClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkMailClient.WorkMailClientConfiguration let serviceName = "WorkMail" diff --git a/Sources/Services/AWSWorkMailMessageFlow/Sources/AWSWorkMailMessageFlow/WorkMailMessageFlowClient.swift b/Sources/Services/AWSWorkMailMessageFlow/Sources/AWSWorkMailMessageFlow/WorkMailMessageFlowClient.swift index 15f82fcdb9c..db628629d7c 100644 --- a/Sources/Services/AWSWorkMailMessageFlow/Sources/AWSWorkMailMessageFlow/WorkMailMessageFlowClient.swift +++ b/Sources/Services/AWSWorkMailMessageFlow/Sources/AWSWorkMailMessageFlow/WorkMailMessageFlowClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.OrchestratorMetricsAttributesKeys import enum Smithy.ByteStream import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkMailMessageFlowClient: ClientRuntime.Client { +public class WorkMailMessageFlowClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkMailMessageFlowClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkMailMessageFlowClient.WorkMailMessageFlowClientConfiguration let serviceName = "WorkMailMessageFlow" diff --git a/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/Models.swift b/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/Models.swift index decf149465c..731c0909c13 100644 --- a/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/Models.swift +++ b/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/Models.swift @@ -2975,6 +2975,8 @@ extension WorkSpacesClientTypes { /// The identifier of the Directory Service directory for the WorkSpace. You can use [DescribeWorkspaceDirectories] to list the available directories. /// This member is required. public var directoryId: Swift.String? + /// The IPv6 address for the WorkSpace. + public var ipv6Address: Swift.String? /// Indicates whether the data stored on the root volume is encrypted. public var rootVolumeEncryptionEnabled: Swift.Bool? /// The tags for the WorkSpace. @@ -2994,6 +2996,7 @@ extension WorkSpacesClientTypes { public init( bundleId: Swift.String? = nil, directoryId: Swift.String? = nil, + ipv6Address: Swift.String? = nil, rootVolumeEncryptionEnabled: Swift.Bool? = nil, tags: [WorkSpacesClientTypes.Tag]? = nil, userName: Swift.String? = nil, @@ -3004,6 +3007,7 @@ extension WorkSpacesClientTypes { ) { self.bundleId = bundleId self.directoryId = directoryId + self.ipv6Address = ipv6Address self.rootVolumeEncryptionEnabled = rootVolumeEncryptionEnabled self.tags = tags self.userName = userName @@ -3246,6 +3250,8 @@ extension WorkSpacesClientTypes { public var errorMessage: Swift.String? /// The IP address of the WorkSpace. public var ipAddress: Swift.String? + /// The IPv6 address of the WorkSpace. + public var ipv6Address: Swift.String? /// The modification states of the WorkSpace. public var modificationStates: [WorkSpacesClientTypes.ModificationState]? /// The standby WorkSpace or primary WorkSpace related to the specified WorkSpace. @@ -3316,6 +3322,7 @@ extension WorkSpacesClientTypes { errorCode: Swift.String? = nil, errorMessage: Swift.String? = nil, ipAddress: Swift.String? = nil, + ipv6Address: Swift.String? = nil, modificationStates: [WorkSpacesClientTypes.ModificationState]? = nil, relatedWorkspaces: [WorkSpacesClientTypes.RelatedWorkspaceProperties]? = nil, rootVolumeEncryptionEnabled: Swift.Bool? = nil, @@ -3336,6 +3343,7 @@ extension WorkSpacesClientTypes { self.errorCode = errorCode self.errorMessage = errorMessage self.ipAddress = ipAddress + self.ipv6Address = ipv6Address self.modificationStates = modificationStates self.relatedWorkspaces = relatedWorkspaces self.rootVolumeEncryptionEnabled = rootVolumeEncryptionEnabled @@ -5807,6 +5815,8 @@ extension WorkSpacesClientTypes { public var directoryType: WorkSpacesClientTypes.WorkspaceDirectoryType? /// The IP addresses of the DNS servers for the directory. public var dnsIpAddresses: [Swift.String]? + /// The IPv6 addresses of the DNS servers for the directory. + public var dnsIpv6Addresses: [Swift.String]? /// Endpoint encryption mode that allows you to configure the specified directory between Standard TLS and FIPS 140-2 validated mode. public var endpointEncryptionMode: WorkSpacesClientTypes.EndpointEncryptionMode? /// The error message returned. @@ -5857,6 +5867,7 @@ extension WorkSpacesClientTypes { directoryName: Swift.String? = nil, directoryType: WorkSpacesClientTypes.WorkspaceDirectoryType? = nil, dnsIpAddresses: [Swift.String]? = nil, + dnsIpv6Addresses: [Swift.String]? = nil, endpointEncryptionMode: WorkSpacesClientTypes.EndpointEncryptionMode? = nil, errorMessage: Swift.String? = nil, iamRoleId: Swift.String? = nil, @@ -5886,6 +5897,7 @@ extension WorkSpacesClientTypes { self.directoryName = directoryName self.directoryType = directoryType self.dnsIpAddresses = dnsIpAddresses + self.dnsIpv6Addresses = dnsIpv6Addresses self.endpointEncryptionMode = endpointEncryptionMode self.errorMessage = errorMessage self.iamRoleId = iamRoleId @@ -12852,6 +12864,7 @@ extension WorkSpacesClientTypes.WorkspaceRequest { guard let value else { return } try writer["BundleId"].write(value.bundleId) try writer["DirectoryId"].write(value.directoryId) + try writer["Ipv6Address"].write(value.ipv6Address) try writer["RootVolumeEncryptionEnabled"].write(value.rootVolumeEncryptionEnabled) try writer["Tags"].writeList(value.tags, memberWritingClosure: WorkSpacesClientTypes.Tag.write(value:to:), memberNodeInfo: "member", isFlattened: false) try writer["UserName"].write(value.userName) @@ -12873,6 +12886,7 @@ extension WorkSpacesClientTypes.WorkspaceRequest { value.workspaceProperties = try reader["WorkspaceProperties"].readIfPresent(with: WorkSpacesClientTypes.WorkspaceProperties.read(from:)) value.tags = try reader["Tags"].readListIfPresent(memberReadingClosure: WorkSpacesClientTypes.Tag.read(from:), memberNodeInfo: "member", isFlattened: false) value.workspaceName = try reader["WorkspaceName"].readIfPresent() + value.ipv6Address = try reader["Ipv6Address"].readIfPresent() return value } } @@ -12932,6 +12946,7 @@ extension WorkSpacesClientTypes.Workspace { value.directoryId = try reader["DirectoryId"].readIfPresent() value.userName = try reader["UserName"].readIfPresent() value.ipAddress = try reader["IpAddress"].readIfPresent() + value.ipv6Address = try reader["Ipv6Address"].readIfPresent() value.state = try reader["State"].readIfPresent() value.bundleId = try reader["BundleId"].readIfPresent() value.subnetId = try reader["SubnetId"].readIfPresent() @@ -13365,6 +13380,7 @@ extension WorkSpacesClientTypes.WorkspaceDirectory { value.registrationCode = try reader["RegistrationCode"].readIfPresent() value.subnetIds = try reader["SubnetIds"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.dnsIpAddresses = try reader["DnsIpAddresses"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) + value.dnsIpv6Addresses = try reader["DnsIpv6Addresses"].readListIfPresent(memberReadingClosure: SmithyReadWrite.ReadingClosures.readString(from:), memberNodeInfo: "member", isFlattened: false) value.customerUserName = try reader["CustomerUserName"].readIfPresent() value.iamRoleId = try reader["IamRoleId"].readIfPresent() value.directoryType = try reader["DirectoryType"].readIfPresent() diff --git a/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/WorkSpacesClient.swift b/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/WorkSpacesClient.swift index cbc362cc39c..7a08b5bdeba 100644 --- a/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/WorkSpacesClient.swift +++ b/Sources/Services/AWSWorkSpaces/Sources/AWSWorkSpaces/WorkSpacesClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkSpacesClient: ClientRuntime.Client { +public class WorkSpacesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkSpacesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkSpacesClient.WorkSpacesClientConfiguration let serviceName = "WorkSpaces" diff --git a/Sources/Services/AWSWorkSpacesThinClient/Sources/AWSWorkSpacesThinClient/WorkSpacesThinClientClient.swift b/Sources/Services/AWSWorkSpacesThinClient/Sources/AWSWorkSpacesThinClient/WorkSpacesThinClientClient.swift index 91ac97ccd74..47928315cfd 100644 --- a/Sources/Services/AWSWorkSpacesThinClient/Sources/AWSWorkSpacesThinClient/WorkSpacesThinClientClient.swift +++ b/Sources/Services/AWSWorkSpacesThinClient/Sources/AWSWorkSpacesThinClient/WorkSpacesThinClientClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkSpacesThinClientClient: ClientRuntime.Client { +public class WorkSpacesThinClientClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkSpacesThinClientClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkSpacesThinClientClient.WorkSpacesThinClientClientConfiguration let serviceName = "WorkSpaces Thin Client" diff --git a/Sources/Services/AWSWorkSpacesWeb/Sources/AWSWorkSpacesWeb/WorkSpacesWebClient.swift b/Sources/Services/AWSWorkSpacesWeb/Sources/AWSWorkSpacesWeb/WorkSpacesWebClient.swift index 4b319b398aa..3249881c914 100644 --- a/Sources/Services/AWSWorkSpacesWeb/Sources/AWSWorkSpacesWeb/WorkSpacesWebClient.swift +++ b/Sources/Services/AWSWorkSpacesWeb/Sources/AWSWorkSpacesWeb/WorkSpacesWebClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -67,9 +67,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkSpacesWebClient: ClientRuntime.Client { +public class WorkSpacesWebClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkSpacesWebClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkSpacesWebClient.WorkSpacesWebClientConfiguration let serviceName = "WorkSpaces Web" diff --git a/Sources/Services/AWSWorkspacesInstances/Sources/AWSWorkspacesInstances/WorkspacesInstancesClient.swift b/Sources/Services/AWSWorkspacesInstances/Sources/AWSWorkspacesInstances/WorkspacesInstancesClient.swift index f1c61b295fe..8f7ae1d2bd3 100644 --- a/Sources/Services/AWSWorkspacesInstances/Sources/AWSWorkspacesInstances/WorkspacesInstancesClient.swift +++ b/Sources/Services/AWSWorkspacesInstances/Sources/AWSWorkspacesInstances/WorkspacesInstancesClient.swift @@ -31,7 +31,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -66,9 +66,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class WorkspacesInstancesClient: ClientRuntime.Client { +public class WorkspacesInstancesClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "WorkspacesInstancesClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: WorkspacesInstancesClient.WorkspacesInstancesClientConfiguration let serviceName = "Workspaces Instances" diff --git a/Sources/Services/AWSXRay/Sources/AWSXRay/XRayClient.swift b/Sources/Services/AWSXRay/Sources/AWSXRay/XRayClient.swift index 9ba5fa1ded0..b4b8480ef8a 100644 --- a/Sources/Services/AWSXRay/Sources/AWSXRay/XRayClient.swift +++ b/Sources/Services/AWSXRay/Sources/AWSXRay/XRayClient.swift @@ -32,7 +32,7 @@ import enum ClientRuntime.DefaultTelemetry import enum ClientRuntime.OrchestratorMetricsAttributesKeys import protocol AWSClientRuntime.AWSDefaultClientConfiguration import protocol AWSClientRuntime.AWSRegionClientConfiguration -import protocol ClientRuntime.Client +import protocol AWSClientRuntime.AWSServiceClient import protocol ClientRuntime.DefaultClientConfiguration import protocol ClientRuntime.DefaultHttpClientConfiguration import protocol ClientRuntime.HttpInterceptorProvider @@ -65,9 +65,8 @@ import struct SmithyRetries.DefaultRetryStrategy import struct SmithyRetriesAPI.RetryStrategyOptions import typealias SmithyHTTPAuthAPI.AuthSchemes -public class XRayClient: ClientRuntime.Client { +public class XRayClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "XRayClient" - public static let version = "1.5.61" let client: ClientRuntime.SdkHttpClient let config: XRayClient.XRayClientConfiguration let serviceName = "XRay" diff --git a/codegen/sdk-codegen/aws-models/accessanalyzer.json b/codegen/sdk-codegen/aws-models/accessanalyzer.json index a3138dabe53..e73d6c09f8a 100644 --- a/codegen/sdk-codegen/aws-models/accessanalyzer.json +++ b/codegen/sdk-codegen/aws-models/accessanalyzer.json @@ -146,27 +146,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/account.json b/codegen/sdk-codegen/aws-models/account.json index 1f856bdb53d..c92908e5667 100644 --- a/codegen/sdk-codegen/aws-models/account.json +++ b/codegen/sdk-codegen/aws-models/account.json @@ -156,26 +156,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/acm-pca.json b/codegen/sdk-codegen/aws-models/acm-pca.json index 7b65e572250..4994b55bd37 100644 --- a/codegen/sdk-codegen/aws-models/acm-pca.json +++ b/codegen/sdk-codegen/aws-models/acm-pca.json @@ -96,27 +96,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/acm.json b/codegen/sdk-codegen/aws-models/acm.json index db464212495..1e0817dcaec 100644 --- a/codegen/sdk-codegen/aws-models/acm.json +++ b/codegen/sdk-codegen/aws-models/acm.json @@ -398,27 +398,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/aiops.json b/codegen/sdk-codegen/aws-models/aiops.json index 3330a604df8..f7425667934 100644 --- a/codegen/sdk-codegen/aws-models/aiops.json +++ b/codegen/sdk-codegen/aws-models/aiops.json @@ -67,27 +67,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/amp.json b/codegen/sdk-codegen/aws-models/amp.json index 28e977067cb..04d79d89898 100644 --- a/codegen/sdk-codegen/aws-models/amp.json +++ b/codegen/sdk-codegen/aws-models/amp.json @@ -212,27 +212,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -923,6 +923,321 @@ "smithy.api#documentation": "

The AmpConfiguration structure defines the Amazon Managed Service for Prometheus instance a scraper should send metrics to.

" } }, + "com.amazonaws.amp#AnomalyDetector": { + "type": "resource", + "identifiers": { + "workspaceId": { + "target": "com.amazonaws.amp#WorkspaceId" + }, + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId" + } + }, + "put": { + "target": "com.amazonaws.amp#PutAnomalyDetector" + }, + "create": { + "target": "com.amazonaws.amp#CreateAnomalyDetector" + }, + "read": { + "target": "com.amazonaws.amp#DescribeAnomalyDetector" + }, + "delete": { + "target": "com.amazonaws.amp#DeleteAnomalyDetector" + }, + "list": { + "target": "com.amazonaws.amp#ListAnomalyDetectors" + }, + "traits": { + "aws.api#arn": { + "template": "anomalydetector/{workspaceId}/{anomalyDetectorId}" + } + } + }, + "com.amazonaws.amp#AnomalyDetectorAlias": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^[0-9A-Za-z][-.0-9A-Z_a-z]*$" + } + }, + "com.amazonaws.amp#AnomalyDetectorArn": { + "type": "string", + "traits": { + "aws.api#arnReference": { + "type": "AWS::APS::Workspace", + "service": "ManagedPrometheusCP", + "resource": "AnomalyDetector" + }, + "smithy.api#pattern": "^arn:aws[-a-z]*:aps:[-a-z0-9]+:[0-9]{12}:anomalydetector/ws-.+/ad-.+$" + } + }, + "com.amazonaws.amp#AnomalyDetectorConfiguration": { + "type": "union", + "members": { + "randomCutForest": { + "target": "com.amazonaws.amp#RandomCutForestConfiguration", + "traits": { + "smithy.api#documentation": "

The Random Cut Forest algorithm configuration for anomaly detection.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration for the anomaly detection algorithm.

" + } + }, + "com.amazonaws.amp#AnomalyDetectorDescription": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.amp#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "alias": { + "target": "com.amazonaws.amp#AnomalyDetectorAlias", + "traits": { + "smithy.api#documentation": "

The user-friendly name of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "evaluationIntervalInSeconds": { + "target": "com.amazonaws.amp#AnomalyDetectorEvaluationInterval", + "traits": { + "smithy.api#documentation": "

The frequency, in seconds, at which the anomaly detector evaluates metrics.

" + } + }, + "missingDataAction": { + "target": "com.amazonaws.amp#AnomalyDetectorMissingDataAction", + "traits": { + "smithy.api#documentation": "

The action taken when data is missing during evaluation.

" + } + }, + "configuration": { + "target": "com.amazonaws.amp#AnomalyDetectorConfiguration", + "traits": { + "smithy.api#documentation": "

The algorithm configuration of the anomaly detector.

" + } + }, + "labels": { + "target": "com.amazonaws.amp#PrometheusMetricLabelMap", + "traits": { + "smithy.api#documentation": "

The Amazon Managed Service for Prometheus metric labels associated with the anomaly detector.

" + } + }, + "status": { + "target": "com.amazonaws.amp#AnomalyDetectorStatus", + "traits": { + "smithy.api#documentation": "

The current status of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the anomaly detector was created.

", + "smithy.api#required": {} + } + }, + "modifiedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the anomaly detector was last modified.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "

The tags applied to the anomaly detector.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Detailed information about an anomaly detector.

" + } + }, + "com.amazonaws.amp#AnomalyDetectorEvaluationInterval": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 30, + "max": 86400 + } + } + }, + "com.amazonaws.amp#AnomalyDetectorId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + }, + "smithy.api#pattern": "^ad-[0-9A-Za-z][-.0-9A-Z_a-z]*$" + } + }, + "com.amazonaws.amp#AnomalyDetectorMissingDataAction": { + "type": "union", + "members": { + "markAsAnomaly": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Marks missing data points as anomalies.

" + } + }, + "skip": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Skips evaluation when data is missing.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies the action to take when data is missing during anomaly detection evaluation.

" + } + }, + "com.amazonaws.amp#AnomalyDetectorStatus": { + "type": "structure", + "members": { + "statusCode": { + "target": "com.amazonaws.amp#AnomalyDetectorStatusCode", + "traits": { + "smithy.api#documentation": "

The status code of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "statusReason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

A description of the current status of the anomaly detector.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The status information of an anomaly detector.

" + } + }, + "com.amazonaws.amp#AnomalyDetectorStatusCode": { + "type": "enum", + "members": { + "CREATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATING" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "UPDATING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATING" + } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETING" + } + }, + "CREATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATION_FAILED" + } + }, + "UPDATE_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UPDATE_FAILED" + } + }, + "DELETION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETION_FAILED" + } + } + } + }, + "com.amazonaws.amp#AnomalyDetectorSummary": { + "type": "structure", + "members": { + "arn": { + "target": "com.amazonaws.amp#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "alias": { + "target": "com.amazonaws.amp#AnomalyDetectorAlias", + "traits": { + "smithy.api#documentation": "

The user-friendly name of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#AnomalyDetectorStatus", + "traits": { + "smithy.api#documentation": "

The current status of the anomaly detector.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the anomaly detector was created.

", + "smithy.api#required": {} + } + }, + "modifiedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the anomaly detector was last modified.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "

The tags applied to the anomaly detector.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Summary information about an anomaly detector for list operations.

" + } + }, + "com.amazonaws.amp#AnomalyDetectorSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.amp#AnomalyDetectorSummary" + } + }, "com.amazonaws.amp#CloudWatchLogDestination": { "type": "structure", "members": { @@ -1079,6 +1394,144 @@ "smithy.api#documentation": "

Represents the output of a CreateAlertManagerDefinition operation.

" } }, + "com.amazonaws.amp#CreateAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#CreateAnomalyDetectorRequest" + }, + "output": { + "target": "com.amazonaws.amp#CreateAnomalyDetectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#ConflictException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an anomaly detector within a workspace using the Random Cut Forest algorithm for time-series analysis. The anomaly detector analyzes Amazon Managed Service for Prometheus metrics to identify unusual patterns and behaviors.

", + "smithy.api#http": { + "code": 202, + "method": "POST", + "uri": "/workspaces/{workspaceId}/anomalydetectors" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.amp#CreateAnomalyDetectorRequest": { + "type": "structure", + "members": { + "workspaceId": { + "target": "com.amazonaws.amp#WorkspaceId", + "traits": { + "smithy.api#documentation": "

The identifier of the workspace where the anomaly detector will be created.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "alias": { + "target": "com.amazonaws.amp#AnomalyDetectorAlias", + "traits": { + "smithy.api#documentation": "

A user-friendly name for the anomaly detector.

", + "smithy.api#required": {} + } + }, + "evaluationIntervalInSeconds": { + "target": "com.amazonaws.amp#AnomalyDetectorEvaluationInterval", + "traits": { + "smithy.api#default": 60, + "smithy.api#documentation": "

The frequency, in seconds, at which the anomaly detector evaluates metrics. The default value is 60 seconds.

" + } + }, + "missingDataAction": { + "target": "com.amazonaws.amp#AnomalyDetectorMissingDataAction", + "traits": { + "smithy.api#documentation": "

Specifies the action to take when data is missing during evaluation.

" + } + }, + "configuration": { + "target": "com.amazonaws.amp#AnomalyDetectorConfiguration", + "traits": { + "smithy.api#documentation": "

The algorithm configuration for the anomaly detector.

", + "smithy.api#required": {} + } + }, + "labels": { + "target": "com.amazonaws.amp#PrometheusMetricLabelMap", + "traits": { + "smithy.api#documentation": "

The Amazon Managed Service for Prometheus metric labels to associate with the anomaly detector.

", + "smithy.api#length": { + "max": 140 + } + } + }, + "clientToken": { + "target": "com.amazonaws.amp#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "smithy.api#idempotencyToken": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "

The metadata to apply to the anomaly detector to assist with categorization and organization.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#CreateAnomalyDetectorResponse": { + "type": "structure", + "members": { + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the created anomaly detector.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.amp#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the created anomaly detector.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#AnomalyDetectorStatus", + "traits": { + "smithy.api#documentation": "

The status information of the created anomaly detector.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "

The tags applied to the created anomaly detector.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.amp#CreateLoggingConfiguration": { "type": "operation", "input": { @@ -1699,6 +2152,76 @@ "smithy.api#documentation": "

Represents the input of a DeleteAlertManagerDefinition operation.

" } }, + "com.amazonaws.amp#DeleteAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#DeleteAnomalyDetectorRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#ConflictException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes an anomaly detector from a workspace. This operation is idempotent.

", + "smithy.api#http": { + "code": 202, + "method": "DELETE", + "uri": "/workspaces/{workspaceId}/anomalydetectors/{anomalyDetectorId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.amp#DeleteAnomalyDetectorRequest": { + "type": "structure", + "members": { + "workspaceId": { + "target": "com.amazonaws.amp#WorkspaceId", + "traits": { + "smithy.api#documentation": "

The identifier of the workspace containing the anomaly detector to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The identifier of the anomaly detector to delete.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "com.amazonaws.amp#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "smithy.api#httpQuery": "clientToken", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.amp#DeleteLoggingConfiguration": { "type": "operation", "input": { @@ -2244,6 +2767,138 @@ "smithy.api#documentation": "

Represents the output of a DescribeAlertManagerDefinition operation.

" } }, + "com.amazonaws.amp#DescribeAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#DescribeAnomalyDetectorRequest" + }, + "output": { + "target": "com.amazonaws.amp#DescribeAnomalyDetectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves detailed information about a specific anomaly detector, including its status and configuration.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/workspaces/{workspaceId}/anomalydetectors/{anomalyDetectorId}" + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "AnomalyDetectorActive": { + "documentation": "Wait until the anomaly detector reaches ACTIVE status", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "anomalyDetector.status.statusCode", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "anomalyDetector.status.statusCode", + "expected": "CREATING", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "anomalyDetector.status.statusCode", + "expected": "UPDATING", + "comparator": "stringEquals" + } + } + } + ] + }, + "AnomalyDetectorDeleted": { + "documentation": "Wait until the anomaly detector reaches DELETED status", + "acceptors": [ + { + "state": "success", + "matcher": { + "errorType": "ResourceNotFoundException" + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "anomalyDetector.status.statusCode", + "expected": "DELETING", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.amp#DescribeAnomalyDetectorRequest": { + "type": "structure", + "members": { + "workspaceId": { + "target": "com.amazonaws.amp#WorkspaceId", + "traits": { + "smithy.api#documentation": "

The identifier of the workspace containing the anomaly detector.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The identifier of the anomaly detector to describe.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#DescribeAnomalyDetectorResponse": { + "type": "structure", + "members": { + "anomalyDetector": { + "target": "com.amazonaws.amp#AnomalyDetectorDescription", + "traits": { + "smithy.api#documentation": "

The detailed information about the anomaly detector.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.amp#DescribeLoggingConfiguration": { "type": "operation", "input": { @@ -3119,7 +3774,33 @@ "min": 1, "max": 64 }, - "smithy.api#pattern": "^[!-~]+$" + "smithy.api#pattern": "^[!-~]+$" + } + }, + "com.amazonaws.amp#IgnoreNearExpected": { + "type": "union", + "members": { + "amount": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The absolute amount by which values can differ from expected values before being considered anomalous.

", + "smithy.api#range": { + "min": 0 + } + } + }, + "ratio": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

The ratio by which values can differ from expected values before being considered anomalous.

", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for threshold settings that determine when values near expected values should be ignored during anomaly detection.

" } }, "com.amazonaws.amp#InternalServerException": { @@ -3232,6 +3913,109 @@ "target": "com.amazonaws.amp#LimitsPerLabelSet" } }, + "com.amazonaws.amp#ListAnomalyDetectors": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#ListAnomalyDetectorsRequest" + }, + "output": { + "target": "com.amazonaws.amp#ListAnomalyDetectorsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a paginated list of anomaly detectors for a workspace with optional filtering by alias.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/workspaces/{workspaceId}/anomalydetectors" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "anomalyDetectors" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.amp#ListAnomalyDetectorsRequest": { + "type": "structure", + "members": { + "workspaceId": { + "target": "com.amazonaws.amp#WorkspaceId", + "traits": { + "smithy.api#documentation": "

The identifier of the workspace containing the anomaly detectors to list.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "alias": { + "target": "com.amazonaws.amp#AnomalyDetectorAlias", + "traits": { + "smithy.api#documentation": "

Filters the results to anomaly detectors with the specified alias.

", + "smithy.api#httpQuery": "alias" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return in a single call. Valid range is 1 to 1000.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "nextToken": { + "target": "com.amazonaws.amp#PaginationToken", + "traits": { + "smithy.api#documentation": "

The pagination token to continue retrieving results.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#ListAnomalyDetectorsResponse": { + "type": "structure", + "members": { + "anomalyDetectors": { + "target": "com.amazonaws.amp#AnomalyDetectorSummaryList", + "traits": { + "smithy.api#documentation": "

The list of anomaly detectors in the workspace.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.amp#PaginationToken", + "traits": { + "smithy.api#documentation": "

The pagination token to retrieve the next set of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.amp#ListRuleGroupsNamespaces": { "type": "operation", "input": { @@ -3901,6 +4685,34 @@ } } }, + "com.amazonaws.amp#PrometheusMetricLabelKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 7168 + }, + "smithy.api#pattern": "^(?!__)[a-zA-Z_][a-zA-Z0-9_]*$" + } + }, + "com.amazonaws.amp#PrometheusMetricLabelMap": { + "type": "map", + "key": { + "target": "com.amazonaws.amp#PrometheusMetricLabelKey" + }, + "value": { + "target": "com.amazonaws.amp#PrometheusMetricLabelValue" + } + }, + "com.amazonaws.amp#PrometheusMetricLabelValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 7168 + } + } + }, "com.amazonaws.amp#PutAlertManagerDefinition": { "type": "operation", "input": { @@ -3987,6 +4799,136 @@ "smithy.api#documentation": "

Represents the output of a PutAlertManagerDefinition operation.

" } }, + "com.amazonaws.amp#PutAnomalyDetector": { + "type": "operation", + "input": { + "target": "com.amazonaws.amp#PutAnomalyDetectorRequest" + }, + "output": { + "target": "com.amazonaws.amp#PutAnomalyDetectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.amp#AccessDeniedException" + }, + { + "target": "com.amazonaws.amp#ConflictException" + }, + { + "target": "com.amazonaws.amp#InternalServerException" + }, + { + "target": "com.amazonaws.amp#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.amp#ThrottlingException" + }, + { + "target": "com.amazonaws.amp#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

When you call PutAnomalyDetector, the operation creates a new anomaly detector if one doesn't exist, or updates an existing one. Each call to this operation triggers a complete retraining of the detector, which includes querying the minimum required samples and backfilling the detector with historical data. This process occurs regardless of whether you're making a minor change like updating the evaluation interval or making more substantial modifications. The operation serves as the single method for creating, updating, and retraining anomaly detectors.

", + "smithy.api#http": { + "code": 202, + "method": "PUT", + "uri": "/workspaces/{workspaceId}/anomalydetectors/{anomalyDetectorId}" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.amp#PutAnomalyDetectorRequest": { + "type": "structure", + "members": { + "workspaceId": { + "target": "com.amazonaws.amp#WorkspaceId", + "traits": { + "smithy.api#documentation": "

The identifier of the workspace containing the anomaly detector to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The identifier of the anomaly detector to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "evaluationIntervalInSeconds": { + "target": "com.amazonaws.amp#AnomalyDetectorEvaluationInterval", + "traits": { + "smithy.api#default": 60, + "smithy.api#documentation": "

The frequency, in seconds, at which the anomaly detector evaluates metrics.

" + } + }, + "missingDataAction": { + "target": "com.amazonaws.amp#AnomalyDetectorMissingDataAction", + "traits": { + "smithy.api#documentation": "

Specifies the action to take when data is missing during evaluation.

" + } + }, + "configuration": { + "target": "com.amazonaws.amp#AnomalyDetectorConfiguration", + "traits": { + "smithy.api#documentation": "

The algorithm configuration for the anomaly detector.

", + "smithy.api#required": {} + } + }, + "labels": { + "target": "com.amazonaws.amp#PrometheusMetricLabelMap", + "traits": { + "smithy.api#documentation": "

The Amazon Managed Service for Prometheus metric labels to associate with the anomaly detector.

" + } + }, + "clientToken": { + "target": "com.amazonaws.amp#IdempotencyToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the request.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.amp#PutAnomalyDetectorResponse": { + "type": "structure", + "members": { + "anomalyDetectorId": { + "target": "com.amazonaws.amp#AnomalyDetectorId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the updated anomaly detector.

", + "smithy.api#required": {} + } + }, + "arn": { + "target": "com.amazonaws.amp#AnomalyDetectorArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated anomaly detector.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.amp#AnomalyDetectorStatus", + "traits": { + "smithy.api#documentation": "

The status information of the updated anomaly detector.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.amp#TagMap", + "traits": { + "smithy.api#documentation": "

The tags applied to the updated anomaly detector.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.amp#PutResourcePolicy": { "type": "operation", "input": { @@ -4323,6 +5265,64 @@ ] } }, + "com.amazonaws.amp#RandomCutForestConfiguration": { + "type": "structure", + "members": { + "query": { + "target": "com.amazonaws.amp#RandomCutForestQuery", + "traits": { + "smithy.api#documentation": "

The Prometheus query used to retrieve the time-series data for anomaly detection.

Random Cut Forest queries must be wrapped by a supported PromQL aggregation operator. For more information, see Aggregation operators on the Prometheus docs website.

Supported PromQL aggregation operators: avg, count, group, max, min, quantile, stddev, stdvar, and sum.

", + "smithy.api#required": {} + } + }, + "shingleSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": 8, + "smithy.api#documentation": "

The number of consecutive data points used to create a shingle for the Random Cut Forest algorithm. The default number is 8 consecutive data points.

", + "smithy.api#range": { + "min": 2, + "max": 1024 + } + } + }, + "sampleSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": 256, + "smithy.api#documentation": "

The number of data points sampled from the input stream for the Random Cut Forest algorithm. The default number is 256 consecutive data points.

", + "smithy.api#range": { + "min": 256, + "max": 1024 + } + } + }, + "ignoreNearExpectedFromAbove": { + "target": "com.amazonaws.amp#IgnoreNearExpected", + "traits": { + "smithy.api#documentation": "

Configuration for ignoring values that are near expected values from above during anomaly detection.

" + } + }, + "ignoreNearExpectedFromBelow": { + "target": "com.amazonaws.amp#IgnoreNearExpected", + "traits": { + "smithy.api#documentation": "

Configuration for ignoring values that are near expected values from below during anomaly detection.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for the Random Cut Forest algorithm used for anomaly detection in time-series data.

" + } + }, + "com.amazonaws.amp#RandomCutForestQuery": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 8192 + } + } + }, "com.amazonaws.amp#ResourceNotFoundException": { "type": "structure", "members": { @@ -6122,6 +7122,9 @@ { "target": "com.amazonaws.amp#AlertManagerDefinition" }, + { + "target": "com.amazonaws.amp#AnomalyDetector" + }, { "target": "com.amazonaws.amp#LoggingConfiguration" }, diff --git a/codegen/sdk-codegen/aws-models/amplify.json b/codegen/sdk-codegen/aws-models/amplify.json index fdca598a9f1..9390f08bacd 100644 --- a/codegen/sdk-codegen/aws-models/amplify.json +++ b/codegen/sdk-codegen/aws-models/amplify.json @@ -189,27 +189,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/amplifybackend.json b/codegen/sdk-codegen/aws-models/amplifybackend.json index c74260853dc..76302c19372 100644 --- a/codegen/sdk-codegen/aws-models/amplifybackend.json +++ b/codegen/sdk-codegen/aws-models/amplifybackend.json @@ -177,27 +177,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/amplifyuibuilder.json b/codegen/sdk-codegen/aws-models/amplifyuibuilder.json index ec867b72707..f5f65c654a2 100644 --- a/codegen/sdk-codegen/aws-models/amplifyuibuilder.json +++ b/codegen/sdk-codegen/aws-models/amplifyuibuilder.json @@ -150,27 +150,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/api-gateway.json b/codegen/sdk-codegen/aws-models/api-gateway.json index cc4108c3e09..15dfe66533a 100644 --- a/codegen/sdk-codegen/aws-models/api-gateway.json +++ b/codegen/sdk-codegen/aws-models/api-gateway.json @@ -778,27 +778,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/apigatewaymanagementapi.json b/codegen/sdk-codegen/aws-models/apigatewaymanagementapi.json index e873426ce40..f229dfc7dfe 100644 --- a/codegen/sdk-codegen/aws-models/apigatewaymanagementapi.json +++ b/codegen/sdk-codegen/aws-models/apigatewaymanagementapi.json @@ -67,27 +67,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/apigatewayv2.json b/codegen/sdk-codegen/aws-models/apigatewayv2.json index 1da04fbf82c..bd3e48b5c4a 100644 --- a/codegen/sdk-codegen/aws-models/apigatewayv2.json +++ b/codegen/sdk-codegen/aws-models/apigatewayv2.json @@ -459,27 +459,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/app-mesh.json b/codegen/sdk-codegen/aws-models/app-mesh.json index fd676fb8518..c9987a2086d 100644 --- a/codegen/sdk-codegen/aws-models/app-mesh.json +++ b/codegen/sdk-codegen/aws-models/app-mesh.json @@ -64,27 +64,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/appconfig.json b/codegen/sdk-codegen/aws-models/appconfig.json index eb03a6e3408..304695b4af1 100644 --- a/codegen/sdk-codegen/aws-models/appconfig.json +++ b/codegen/sdk-codegen/aws-models/appconfig.json @@ -369,27 +369,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/appconfigdata.json b/codegen/sdk-codegen/aws-models/appconfigdata.json index d943bb498ac..4394a5375d2 100644 --- a/codegen/sdk-codegen/aws-models/appconfigdata.json +++ b/codegen/sdk-codegen/aws-models/appconfigdata.json @@ -36,27 +36,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/appfabric.json b/codegen/sdk-codegen/aws-models/appfabric.json index a4add97d4e6..8942b6fa1c5 100644 --- a/codegen/sdk-codegen/aws-models/appfabric.json +++ b/codegen/sdk-codegen/aws-models/appfabric.json @@ -1336,27 +1336,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/appflow.json b/codegen/sdk-codegen/aws-models/appflow.json index 746b33835cd..5a7dbb39c4f 100644 --- a/codegen/sdk-codegen/aws-models/appflow.json +++ b/codegen/sdk-codegen/aws-models/appflow.json @@ -8158,27 +8158,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/appintegrations.json b/codegen/sdk-codegen/aws-models/appintegrations.json index 723e8b38430..8588655979f 100644 --- a/codegen/sdk-codegen/aws-models/appintegrations.json +++ b/codegen/sdk-codegen/aws-models/appintegrations.json @@ -137,27 +137,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/application-auto-scaling.json b/codegen/sdk-codegen/aws-models/application-auto-scaling.json index bb1154cd4bb..0aab11b23c6 100644 --- a/codegen/sdk-codegen/aws-models/application-auto-scaling.json +++ b/codegen/sdk-codegen/aws-models/application-auto-scaling.json @@ -159,27 +159,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/application-discovery-service.json b/codegen/sdk-codegen/aws-models/application-discovery-service.json index 1d1a2e6793b..936fae9626e 100644 --- a/codegen/sdk-codegen/aws-models/application-discovery-service.json +++ b/codegen/sdk-codegen/aws-models/application-discovery-service.json @@ -143,27 +143,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/application-insights.json b/codegen/sdk-codegen/aws-models/application-insights.json index a1dab77f69e..da40cb891cf 100644 --- a/codegen/sdk-codegen/aws-models/application-insights.json +++ b/codegen/sdk-codegen/aws-models/application-insights.json @@ -1723,27 +1723,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/application-signals.json b/codegen/sdk-codegen/aws-models/application-signals.json index 50466220594..39c4c3112e6 100644 --- a/codegen/sdk-codegen/aws-models/application-signals.json +++ b/codegen/sdk-codegen/aws-models/application-signals.json @@ -119,19 +119,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -367,20 +367,20 @@ "AttributeFilterName": { "target": "com.amazonaws.applicationsignals#AttributeFilterName", "traits": { - "smithy.api#documentation": "

The name of the attribute to filter by, such as Platform, Environment, or BusinessUnit.

", + "smithy.api#documentation": "

The name of the attribute to filter on. This corresponds to service metadata attributes such as environment, team, or custom tags.

", "smithy.api#required": {} } }, "AttributeFilterValues": { "target": "com.amazonaws.applicationsignals#AttributeFilterValues", "traits": { - "smithy.api#documentation": "

An array of values to match for the specified attribute. Services that have any of these values for the attribute will be included in the results.

", + "smithy.api#documentation": "

An array of values to match against the specified attribute. Services with attribute values matching any of these values will be included in the results.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A structure that defines a filter for narrowing down results based on specific attribute values. This can be used to filter services by platform, environment, or other service characteristics.

" + "smithy.api#documentation": "

Represents a filter for service attributes. Used to narrow down results based on specific attribute names and values.

" } }, "com.amazonaws.applicationsignals#AttributeFilterName": { @@ -453,43 +453,43 @@ "KeyAttributes": { "target": "com.amazonaws.applicationsignals#Attributes", "traits": { - "smithy.api#documentation": "

The key attributes that identify the service or entity this audit finding relates to. This is a string-to-string map that includes fields like Type, Name, and Environment.

", + "smithy.api#documentation": "

A map of key attributes that identify the resource associated with this audit finding. These attributes help locate and understand the context of the finding.

", "smithy.api#required": {} } }, "AuditorResults": { "target": "com.amazonaws.applicationsignals#AuditorResults", "traits": { - "smithy.api#documentation": "

An array of auditor results that contain the specific findings, descriptions, and severity levels identified by different auditing algorithms.

" + "smithy.api#documentation": "

An array of results from different auditors that examined the resource. Each result includes the auditor name, description, and severity level.

" } }, "Operation": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the operation associated with this audit finding, if the finding is specific to a particular service operation.

" + "smithy.api#documentation": "

The operation or action that was being audited when this finding was discovered. This provides context about what was being examined.

" } }, "MetricGraph": { "target": "com.amazonaws.applicationsignals#MetricGraph", "traits": { - "smithy.api#documentation": "

A structure containing metric data queries and time range information that provides context for the audit finding through relevant performance metrics.

" + "smithy.api#documentation": "

A metric graph associated with the audit finding, showing relevant performance data that may be related to the identified issue.

" } }, "DependencyGraph": { "target": "com.amazonaws.applicationsignals#DependencyGraph", "traits": { - "smithy.api#documentation": "

A structure containing nodes and edges that represent the dependency relationships relevant to this audit finding, helping to understand the context and potential impact.

" + "smithy.api#documentation": "

A dependency graph showing the relationships between services that may be affected by or related to the audit finding.

" } }, "Type": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The type of audit finding.

" + "smithy.api#documentation": "

The type or category of the audit finding, such as \"Performance\", \"Security\", or \"Configuration\".

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains information about an audit finding, which represents an automated analysis result about service behavior, performance issues, or potential problems identified through heuristic algorithms.

" + "smithy.api#documentation": "

Represents an audit finding that identifies a potential issue, misconfiguration, or compliance violation in Application Signals resources.

" } }, "com.amazonaws.applicationsignals#AuditFindings": { @@ -509,20 +509,20 @@ "Type": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The type of entity being audited, such as Service, SLO, or ServiceOperation.

", + "smithy.api#documentation": "

The type of resource being targeted for audit, such as \"Service\", \"SLO\", \"ServiceOperation\", or \"Canary\".

", "smithy.api#required": {} } }, "Data": { "target": "com.amazonaws.applicationsignals#AuditTargetEntity", "traits": { - "smithy.api#documentation": "

The specific data identifying the audit target entity.

", + "smithy.api#documentation": "

The specific data or entity information for the audit target, containing details needed to identify and examine the resource.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A structure that specifies the target entity for audit analysis, such as a service, SLO, or service_operation.

" + "smithy.api#documentation": "

Specifies a target resource for auditing, such as a service, SLO, or operation.

" } }, "com.amazonaws.applicationsignals#AuditTargetEntity": { @@ -537,18 +537,24 @@ "Slo": { "target": "com.amazonaws.applicationsignals#ServiceLevelObjectiveEntity", "traits": { - "smithy.api#documentation": "

SLO entity information when the audit target is a service level objective.

" + "smithy.api#documentation": "

Service Level Objective entity information when the audit target is an SLO.

" } }, "ServiceOperation": { "target": "com.amazonaws.applicationsignals#ServiceOperationEntity", "traits": { - "smithy.api#documentation": "

Service operation entity information when the audit target is a specific service operation.

" + "smithy.api#documentation": "

Service operation entity information when the audit target is a specific operation within a service.

" + } + }, + "Canary": { + "target": "com.amazonaws.applicationsignals#CanaryEntity", + "traits": { + "smithy.api#documentation": "

Canary entity information when the audit target is a CloudWatch Synthetics canary.

" } } }, "traits": { - "smithy.api#documentation": "

A union structure that contains the specific entity information for different types of audit targets.

" + "smithy.api#documentation": "

A union type that represents different types of entities that can be audited, such as services, SLOs, service operations, or canaries.

" } }, "com.amazonaws.applicationsignals#AuditTargets": { @@ -569,13 +575,13 @@ "Auditor": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the auditor algorithm that generated this result.

" + "smithy.api#documentation": "

The name or identifier of the auditor that performed the examination and generated this result.

" } }, "Description": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A detailed description of the audit finding, explaining what was observed and potential implications.

", + "smithy.api#documentation": "

A detailed description of what the auditor found, including any recommendations for remediation or further investigation.

", "smithy.api#length": { "max": 10240 } @@ -584,12 +590,12 @@ "Severity": { "target": "com.amazonaws.applicationsignals#Severity", "traits": { - "smithy.api#documentation": "

The severity level of this audit finding, indicating the importance and potential impact of the issue.

" + "smithy.api#documentation": "

The severity level of the finding, such as \"Critical\", \"High\", \"Medium\", or \"Low\". This helps prioritize remediation efforts.

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains the result of an automated audit analysis, including the auditor name, description of findings, and severity level.

" + "smithy.api#documentation": "

Represents the result of an audit performed by a specific auditor on a resource.

" } }, "com.amazonaws.applicationsignals#AuditorResults": { @@ -886,66 +892,81 @@ } } }, + "com.amazonaws.applicationsignals#CanaryEntity": { + "type": "structure", + "members": { + "CanaryName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the CloudWatch Synthetics canary.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Represents a CloudWatch Synthetics canary that can be audited for performance and configuration issues.

" + } + }, "com.amazonaws.applicationsignals#ChangeEvent": { "type": "structure", "members": { "Timestamp": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when this change event occurred. When used in a raw HTTP Query API, it is formatted as epoch time in seconds.

", + "smithy.api#documentation": "

The timestamp when the change event occurred, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#required": {} } }, "AccountId": { "target": "com.amazonaws.applicationsignals#AwsAccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID where this change event occurred.

", + "smithy.api#documentation": "

The AWS account ID where the change event occurred.

", "smithy.api#required": {} } }, "Region": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services region where this change event occurred.

", + "smithy.api#documentation": "

The AWS region where the change event occurred.

", "smithy.api#required": {} } }, "Entity": { "target": "com.amazonaws.applicationsignals#Attributes", "traits": { - "smithy.api#documentation": "

The entity (service or resource) that was affected by this change event, including its key attributes.

", + "smithy.api#documentation": "

The entity or resource that was changed, such as a service, deployment, or configuration.

", "smithy.api#required": {} } }, "ChangeEventType": { "target": "com.amazonaws.applicationsignals#ChangeEventType", "traits": { - "smithy.api#documentation": "

The type of change event that occurred, such as DEPLOYMENT.

", + "smithy.api#documentation": "

The type of change that occurred, such as \"Deployment\", \"Configuration\", or \"Infrastructure\".

", "smithy.api#required": {} } }, "EventId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A unique identifier for this change event.

", + "smithy.api#documentation": "

A unique identifier for the change event.

", "smithy.api#required": {} } }, "UserName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the user who initiated this change event, if available.

" + "smithy.api#documentation": "

The name of the user or system that initiated the change event.

" } }, "EventName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name or description of this change event.

" + "smithy.api#documentation": "

A descriptive name for the change event that provides context about what changed.

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains information about a change event that occurred for a service, such as a deployment or configuration change.

" + "smithy.api#documentation": "

Represents a change event that occurred in the system, such as deployments, configuration changes, or other operational events that may impact service performance.

" } }, "com.amazonaws.applicationsignals#ChangeEventType": { @@ -1112,7 +1133,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the grouping configuration for this account. This removes all custom grouping attribute definitions that were previously configured.

", + "smithy.api#documentation": "

Deletes a grouping configuration that defines how services are grouped and organized in Application Signals. Once deleted, services will no longer be grouped according to the specified configuration rules.

This operation is irreversible. After deletion, you must recreate the grouping configuration if you want to restore the same grouping behavior.

", "smithy.api#http": { "method": "DELETE", "uri": "/grouping-configuration", @@ -1208,18 +1229,18 @@ "Nodes": { "target": "com.amazonaws.applicationsignals#Nodes", "traits": { - "smithy.api#documentation": "

An array of nodes representing the services, resources, or other entities in the dependency graph.

" + "smithy.api#documentation": "

An array of nodes in the dependency graph, where each node represents a service or component.

" } }, "Edges": { "target": "com.amazonaws.applicationsignals#Edges", "traits": { - "smithy.api#documentation": "

An array of edges representing the connections and relationships between the nodes in the dependency graph.

" + "smithy.api#documentation": "

An array of edges in the dependency graph, where each edge represents a connection or dependency between two nodes.

" } } }, "traits": { - "smithy.api#documentation": "

A structure that represents the dependency relationships relevant to an audit finding, containing nodes and edges that show how services and resources are connected.

" + "smithy.api#documentation": "

Represents a graph showing the dependencies between services and components in your application architecture.

" } }, "com.amazonaws.applicationsignals#Dimension": { @@ -1308,30 +1329,30 @@ "SourceNodeId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The identifier of the source node in this edge connection.

" + "smithy.api#documentation": "

The identifier of the source node in the dependency relationship.

" } }, "DestinationNodeId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The identifier of the destination node in this edge connection.

" + "smithy.api#documentation": "

The identifier of the destination node in the dependency relationship.

" } }, "Duration": { "target": "smithy.api#Double", "traits": { - "smithy.api#documentation": "

The duration or latency associated with this connection, if applicable.

" + "smithy.api#documentation": "

The typical duration or latency of interactions along this edge, measured in milliseconds.

" } }, "ConnectionType": { "target": "com.amazonaws.applicationsignals#ConnectionType", "traits": { - "smithy.api#documentation": "

The type of connection between the nodes, indicating the nature of the relationship.

" + "smithy.api#documentation": "

The type of connection between the nodes, such as \"HTTP\", \"Database\", \"Queue\", or \"Internal\".

" } } }, "traits": { - "smithy.api#documentation": "

A structure that represents a connection between two nodes in a dependency graph, showing the relationship and characteristics of the connection.

" + "smithy.api#documentation": "

Represents a connection between two nodes in a dependency graph, showing how services or components interact with each other.

" } }, "com.amazonaws.applicationsignals#Edges": { @@ -1656,25 +1677,25 @@ "GroupingName": { "target": "com.amazonaws.applicationsignals#GroupingString", "traits": { - "smithy.api#documentation": "

The friendly name for this grouping attribute, such as BusinessUnit or Environment. This name is used to identify the grouping in the console and APIs.

", + "smithy.api#documentation": "

The name of the grouping attribute, such as \"Environment\", \"Team\", or \"Application\".

", "smithy.api#required": {} } }, "GroupingSourceKeys": { "target": "com.amazonaws.applicationsignals#GroupingSourceKeyStringList", "traits": { - "smithy.api#documentation": "

An array of source keys used to derive the grouping attribute value from telemetry data, Amazon Web Services tags, or other sources. For example, [\"business_unit\", \"team\"] would look for values in those fields.

" + "smithy.api#documentation": "

An array of source attribute keys that will be used to determine the grouping value for each service. These keys correspond to service metadata or tags.

" } }, "DefaultGroupingValue": { "target": "com.amazonaws.applicationsignals#GroupingString", "traits": { - "smithy.api#documentation": "

The default value to use for this grouping attribute when no value can be derived from the source keys. This ensures all services have a grouping value even if the source data is missing.

" + "smithy.api#documentation": "

The default value to use for grouping when a service doesn't have any of the specified source keys, such as \"Unknown\" or \"Unassigned\".

" } } }, "traits": { - "smithy.api#documentation": "

A structure that defines how services should be grouped based on specific attributes. This includes the friendly name for the grouping, the source keys to derive values from, and an optional default value.

" + "smithy.api#documentation": "

Defines how services should be grouped based on specific attributes. This allows logical organization of services in dashboards and service maps.

" } }, "com.amazonaws.applicationsignals#GroupingAttributeDefinitions": { @@ -1689,20 +1710,20 @@ "GroupingAttributeDefinitions": { "target": "com.amazonaws.applicationsignals#GroupingAttributeDefinitions", "traits": { - "smithy.api#documentation": "

An array of grouping attribute definitions that specify how services should be grouped based on various attributes and source keys.

", + "smithy.api#documentation": "

An array of grouping attribute definitions that specify the rules for organizing services into groups.

", "smithy.api#required": {} } }, "UpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when this grouping configuration was last updated. When used in a raw HTTP Query API, it is formatted as epoch time in seconds.

", + "smithy.api#documentation": "

The timestamp when the grouping configuration was last updated, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A structure that contains the complete grouping configuration for an account, including all defined grouping attributes and metadata about when it was last updated.

" + "smithy.api#documentation": "

Contains the complete configuration for how services are grouped and organized in Application Signals.

" } }, "com.amazonaws.applicationsignals#GroupingSourceKeyStringList": { @@ -1795,7 +1816,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of audit findings that provide automated analysis of service behavior and root cause analysis. These findings help identify the most significant observations about your services, including performance issues, anomalies, and potential problems. The findings are generated using heuristic algorithms based on established troubleshooting patterns.

", + "smithy.api#documentation": "

Retrieves a list of audit findings for Application Signals resources. Audit findings identify potential issues, misconfigurations, or compliance violations in your observability setup.

You can filter findings by time range, auditor type, and target resources to focus on specific areas of concern. This operation supports pagination for large result sets.

", "smithy.api#http": { "method": "POST", "uri": "/auditFindings", @@ -1810,7 +1831,7 @@ "StartTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The start of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057

", + "smithy.api#documentation": "

The start time for the audit findings query. Only findings created on or after this time will be included in the results. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#httpQuery": "StartTime", "smithy.api#required": {} } @@ -1818,7 +1839,7 @@ "EndTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The end of the time period to retrieve audit findings for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057

", + "smithy.api#documentation": "

The end time for the audit findings query. Only findings created before this time will be included in the results. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#httpQuery": "EndTime", "smithy.api#required": {} } @@ -1826,26 +1847,26 @@ "Auditors": { "target": "com.amazonaws.applicationsignals#Auditors", "traits": { - "smithy.api#documentation": "

A list of auditor names to filter the findings by. Only findings generated by the specified auditors will be returned.

The following auditors are available for configuration:

  • slo - SloAuditor: Identifies SLO violations and detects breached thresholds during the Assessment phase.

  • operation_metric - OperationMetricAuditor: Detects anomalies in service operation metrics from Application Signals RED metrics during the Assessment phase

  • service_quota - ServiceQuotaAuditor: Monitors resource utilization against service quotas during the Assessment phase

  • trace - TraceAuditor: Performs deep-dive analysis of distributed traces, correlating traces with breached SLOs or abnormal RED metrics during the Analysis phase

  • dependency_metric - CriticalPathAuditor: Analyzes service dependency impacts and maps dependency relationships from Application Signals RED metrics during the Analysis phase

  • top_contributor - TopContributorAuditor: Identifies infrastructure-level contributors to issues by analyzing EMF logs of Application Signals RED metrics during the Analysis phase

  • log - LogAuditor: Extracts insights from application logs, categorizing error types and ranking severity by frequency during the Analysis phase

InitAuditor and Summarizer auditors are not configurable as they are automatically triggered during the audit process.

" + "smithy.api#documentation": "

An array of auditor names to filter the findings. Only findings generated by the specified auditors will be returned. When not specified, findings from all auditors are included except canary.

" } }, "AuditTargets": { "target": "com.amazonaws.applicationsignals#AuditTargets", "traits": { - "smithy.api#documentation": "

A list of audit targets to filter the findings by. You can specify services, SLOs, or service operations to limit the audit findings to specific entities.

", + "smithy.api#documentation": "

An array of audit target specifications to filter the findings. Only findings related to the specified targets (such as specific services, SLOs, operations or canary) will be returned.

", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.applicationsignals#NextToken", "traits": { - "smithy.api#documentation": "

Include this value, if it was returned by the previous operation, to get the next set of audit findings.

" + "smithy.api#documentation": "

The token for the next set of results. Use this token to retrieve additional pages of audit findings when the result set is large.

" } }, "MaxResults": { "target": "com.amazonaws.applicationsignals#ListAuditFindingMaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of audit findings to return in one operation. If you omit this parameter, the default of 10 is used.

" + "smithy.api#documentation": "

The maximum number of audit findings to return in a single request. Valid range is 1 to 100. If not specified, defaults to 50.

" } } }, @@ -1859,14 +1880,14 @@ "AuditFindings": { "target": "com.amazonaws.applicationsignals#AuditFindings", "traits": { - "smithy.api#documentation": "

An array of structures, where each structure contains information about one audit finding, including the auditor results, severity, and associated metric and dependency graphs.

", + "smithy.api#documentation": "

An array of audit findings that match the specified criteria. Each finding includes details about the issue, affected resources, and auditor results.

", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.applicationsignals#NextToken", "traits": { - "smithy.api#documentation": "

Include this value in your next use of this API to get the next set of audit findings.

" + "smithy.api#documentation": "

The token to use for retrieving the next page of results. This value is present only if there are more results available than were returned in the current response.

" } } }, @@ -1894,7 +1915,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the current grouping configuration for this account, including all custom grouping attribute definitions that have been configured. These definitions determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings.

", + "smithy.api#documentation": "

Retrieves the available grouping attribute definitions that can be used to create grouping configurations. These definitions specify the attributes and rules available for organizing services.

Use this operation to discover what grouping options are available before creating or updating grouping configurations.

", "smithy.api#http": { "method": "POST", "uri": "/grouping-attribute-definitions", @@ -1909,7 +1930,7 @@ "NextToken": { "target": "com.amazonaws.applicationsignals#NextToken", "traits": { - "smithy.api#documentation": "

Include this value, if it was returned by the previous operation, to get the next set of grouping attribute definitions.

", + "smithy.api#documentation": "

The token for the next set of results. Use this token to retrieve additional pages of grouping attribute definitions when the result set is large.

", "smithy.api#httpQuery": "NextToken" } } @@ -1924,20 +1945,20 @@ "GroupingAttributeDefinitions": { "target": "com.amazonaws.applicationsignals#GroupingAttributeDefinitions", "traits": { - "smithy.api#documentation": "

An array of structures, where each structure contains information about one grouping attribute definition, including the grouping name, source keys, and default values.

", + "smithy.api#documentation": "

An array of available grouping attribute definitions that can be used to create grouping configurations.

", "smithy.api#required": {} } }, "UpdatedAt": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the grouping configuration was last updated. When used in a raw HTTP Query API, it is formatted as epoch time in seconds.

" + "smithy.api#documentation": "

The timestamp when the grouping attribute definitions were last updated. Expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

" } }, "NextToken": { "target": "com.amazonaws.applicationsignals#NextToken", "traits": { - "smithy.api#documentation": "

Include this value in your next use of this API to get the next set of grouping attribute definitions.

" + "smithy.api#documentation": "

The token to use for retrieving the next page of results. This value is present only if there are more results available than were returned in the current response.

" } } }, @@ -2553,7 +2574,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns information about the last deployment and other change states of services. This API provides visibility into recent changes that may have affected service performance, helping with troubleshooting and change correlation.

", + "smithy.api#documentation": "

Retrieves the current state information for services monitored by Application Signals. Service states include health status, recent change events, and other operational metadata.

You can filter results by time range, AWS account, and service attributes to focus on specific services or time periods. This operation supports pagination and can include data from linked accounts.

", "smithy.api#http": { "method": "POST", "uri": "/service/states", @@ -2573,14 +2594,14 @@ "StartTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The start of the time period to retrieve service state information for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057.

", + "smithy.api#documentation": "

The start time for the service states query. Only service states from this time onward will be included. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#required": {} } }, "EndTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The end of the time period to retrieve service state information for. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057.

", + "smithy.api#documentation": "

The end time for the service states query. Only service states before this time will be included. Specify the time as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#required": {} } }, @@ -2588,32 +2609,32 @@ "target": "com.amazonaws.applicationsignals#ListServiceStatesMaxResults", "traits": { "smithy.api#default": 20, - "smithy.api#documentation": "

The maximum number of service states to return in one operation. If you omit this parameter, the default of 20 is used.

" + "smithy.api#documentation": "

The maximum number of service states to return in a single request. Valid range is 1 to 100. If not specified, defaults to 50.

" } }, "NextToken": { "target": "com.amazonaws.applicationsignals#NextToken", "traits": { - "smithy.api#documentation": "

Include this value, if it was returned by the previous operation, to get the next set of service states.

" + "smithy.api#documentation": "

The token for the next set of results. Use this token to retrieve additional pages of service states when the result set is large.

" } }, "IncludeLinkedAccounts": { "target": "smithy.api#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

If you are using this operation in a monitoring account, specify true to include service states from source accounts in the returned data.

" + "smithy.api#documentation": "

Specifies whether to include service states from linked AWS accounts in the results. Set to true to include linked accounts, or false to only include the current account. Defaults to false.

" } }, "AwsAccountId": { "target": "com.amazonaws.applicationsignals#AwsAccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID to filter service states by. Use this to limit results to services from a specific account.

" + "smithy.api#documentation": "

The AWS account ID to filter service states. If specified, only service states from this account will be returned. If not specified, service states from the current account (and linked accounts if enabled) are returned.

" } }, "AttributeFilters": { "target": "com.amazonaws.applicationsignals#AttributeFilters", "traits": { - "smithy.api#documentation": "

A list of attribute filters to narrow down the services. You can filter by platform, environment, or other service attributes.

" + "smithy.api#documentation": "

An array of attribute filters to narrow down the service states returned. Each filter specifies an attribute name and the values to match against.

" } } }, @@ -2635,28 +2656,28 @@ "StartTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The start of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057.

", + "smithy.api#documentation": "

The start time of the query range, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#required": {} } }, "EndTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The end of the time period that the returned information applies to. When used in a raw HTTP Query API, it is formatted as epoch time in seconds. For example, 1698778057.

", + "smithy.api#documentation": "

The end time of the query range, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

", "smithy.api#required": {} } }, "ServiceStates": { "target": "com.amazonaws.applicationsignals#ServiceStates", "traits": { - "smithy.api#documentation": "

An array of structures, where each structure contains information about the state of one service, including its latest change events such as deployments.

", + "smithy.api#documentation": "

An array of service state objects that match the specified criteria. Each service state includes current status, recent change events, and service metadata.

", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.applicationsignals#NextToken", "traits": { - "smithy.api#documentation": "

Include this value in your next use of this API to get the next set of service states.

" + "smithy.api#documentation": "

The token to use for retrieving the next page of results. This value is present only if there are more results available than were returned in the current response.

" } } }, @@ -2956,24 +2977,24 @@ "MetricDataQueries": { "target": "com.amazonaws.applicationsignals#MetricDataQueries", "traits": { - "smithy.api#documentation": "

An array of metric data queries that define the metrics to be retrieved and analyzed as part of the audit finding context.

" + "smithy.api#documentation": "

An array of metric data queries that define what metrics to display in the graph. Each query specifies the metric source, aggregation, and time range.

" } }, "StartTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The start time for the metric data included in this graph. When used in a raw HTTP Query API, it is formatted as epoch time in seconds.

" + "smithy.api#documentation": "

The start time for the metric data displayed in the graph, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

" } }, "EndTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The end time for the metric data included in this graph. When used in a raw HTTP Query API, it is formatted as epoch time in seconds.

" + "smithy.api#documentation": "

The end time for the metric data displayed in the graph, expressed as the number of milliseconds since January 1, 1970, 00:00:00 UTC.

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains metric data queries and time range information that provides context for audit findings through relevant performance metrics.

" + "smithy.api#documentation": "

Represents a graph of metric data over time, showing performance trends and patterns for monitored resources.

" } }, "com.amazonaws.applicationsignals#MetricId": { @@ -3159,51 +3180,51 @@ "KeyAttributes": { "target": "com.amazonaws.applicationsignals#Attributes", "traits": { - "smithy.api#documentation": "

The key attributes that identify this node, including Type, Name, and Environment information.

", + "smithy.api#documentation": "

A map of key attributes that identify and describe the node, such as service name, environment, and other metadata.

", "smithy.api#required": {} } }, "Name": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the entity represented by this node.

", + "smithy.api#documentation": "

The display name of the node, typically the service or component name.

", "smithy.api#required": {} } }, "NodeId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A unique identifier for this node within the dependency graph.

", + "smithy.api#documentation": "

A unique identifier for the node within the dependency graph.

", "smithy.api#required": {} } }, "Operation": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The operation associated with this node, if applicable.

" + "smithy.api#documentation": "

The specific operation or endpoint within the service that this node represents, if applicable.

" } }, "Type": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The type of entity represented by this node, such as Service or Resource.

" + "smithy.api#documentation": "

The type of node, such as \"Service\", \"Database\", \"Queue\", or \"External\".

" } }, "Duration": { "target": "smithy.api#Double", "traits": { - "smithy.api#documentation": "

The duration or processing time associated with this node, if applicable.

" + "smithy.api#documentation": "

The typical response time or processing duration for this node, measured in milliseconds.

" } }, "Status": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The status of the entity represented by this node.

" + "smithy.api#documentation": "

The current health status of the node, such as \"Healthy\", \"Warning\", or \"Critical\".

" } } }, "traits": { - "smithy.api#documentation": "

A structure that represents a node in a dependency graph, containing information about a service, resource, or other entity and its characteristics.

" + "smithy.api#documentation": "

Represents a node in a dependency graph, typically corresponding to a service or component in your application architecture.

" } }, "com.amazonaws.applicationsignals#Nodes": { @@ -3254,7 +3275,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates or updates the grouping configuration for this account. This operation allows you to define custom grouping attributes that determine how services are logically grouped based on telemetry attributes, Amazon Web Services tags, or predefined mappings. These grouping attributes can then be used to organize and filter services in the Application Signals console and APIs.

", + "smithy.api#documentation": "

Creates or updates a grouping configuration that defines how services are organized and grouped in Application Signals dashboards and service maps.

Grouping configurations allow you to logically organize services based on attributes such as environment, team ownership, or business function, making it easier to monitor and manage related services together.

", "smithy.api#http": { "method": "PUT", "uri": "/grouping-configuration", @@ -3269,7 +3290,7 @@ "GroupingAttributeDefinitions": { "target": "com.amazonaws.applicationsignals#GroupingAttributeDefinitions", "traits": { - "smithy.api#documentation": "

An array of grouping attribute definitions that specify how services should be grouped. Each definition includes a friendly name, source keys to derive the grouping value from, and an optional default value.

", + "smithy.api#documentation": "

An array of grouping attribute definitions that specify how services should be grouped. Each definition includes the grouping name, source keys, and default values.

", "smithy.api#required": {} } } @@ -3284,7 +3305,7 @@ "GroupingConfiguration": { "target": "com.amazonaws.applicationsignals#GroupingConfiguration", "traits": { - "smithy.api#documentation": "

A structure containing the updated grouping configuration, including all grouping attribute definitions and the timestamp when it was last updated.

", + "smithy.api#documentation": "

The created or updated grouping configuration, including all attribute definitions and metadata such as the update timestamp.

", "smithy.api#required": {} } } @@ -3549,7 +3570,7 @@ "ServiceGroups": { "target": "com.amazonaws.applicationsignals#ServiceGroups", "traits": { - "smithy.api#documentation": "

An array of service groups that this service belongs to, based on the configured grouping attributes.

" + "smithy.api#documentation": "

An array of service groups that this service belongs to, based on the configured grouping rules.

" } }, "MetricReferences": { @@ -3670,30 +3691,30 @@ "Type": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The type of the service entity.

" + "smithy.api#documentation": "

The type of service, such as \"WebService\", \"Database\", \"Queue\", or \"Function\".

" } }, "Name": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the service.

" + "smithy.api#documentation": "

The name of the service as identified by Application Signals.

" } }, "Environment": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The environment where the service is deployed.

" + "smithy.api#documentation": "

The environment where the service is deployed, such as \"Production\", \"Staging\", or \"Development\".

" } }, "AwsAccountId": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID where the service is located. Provide this value only for cross-account access.

" + "smithy.api#documentation": "

The AWS account ID where the service is deployed.

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains identifying information for a service entity.

" + "smithy.api#documentation": "

Represents a service entity that is monitored by Application Signals.

" } }, "com.amazonaws.applicationsignals#ServiceErrorMessage": { @@ -3705,34 +3726,34 @@ "GroupName": { "target": "com.amazonaws.applicationsignals#GroupName", "traits": { - "smithy.api#documentation": "

The name of the grouping attribute, such as BusinessUnit or Environment.

", + "smithy.api#documentation": "

The name of the group, such as \"Environment\", \"Team\", or \"Application\".

", "smithy.api#required": {} } }, "GroupValue": { "target": "com.amazonaws.applicationsignals#GroupValue", "traits": { - "smithy.api#documentation": "

The value of the grouping attribute for this service, such as Payments or Production.

", + "smithy.api#documentation": "

The specific value for this group, such as \"Production\", \"TeamA\", or \"WebApp\".

", "smithy.api#required": {} } }, "GroupSource": { "target": "com.amazonaws.applicationsignals#GroupSource", "traits": { - "smithy.api#documentation": "

The source of the grouping attribute, such as TAG, OTEL, or DEFAULT.

", + "smithy.api#documentation": "

The source of the grouping information, such as \"Tag\", \"Attribute\", or \"Manual\".

", "smithy.api#required": {} } }, "GroupIdentifier": { "target": "com.amazonaws.applicationsignals#GroupIdentifier", "traits": { - "smithy.api#documentation": "

A unique identifier for this grouping attribute value, used for filtering and API operations.

", + "smithy.api#documentation": "

A unique identifier for the group within the grouping configuration.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A structure that represents a logical grouping of services based on shared attributes such as business unit, environment, or entry point.

" + "smithy.api#documentation": "

Represents a logical grouping of services based on shared attributes or characteristics.

" } }, "com.amazonaws.applicationsignals#ServiceGroups": { @@ -3891,7 +3912,7 @@ "MetricName": { "target": "com.amazonaws.applicationsignals#MetricName", "traits": { - "smithy.api#documentation": "

The name of the CloudWatch metric to use for the SLO, when using a custom metric rather than Application Signals standard metrics.

" + "smithy.api#documentation": "

The name of the CloudWatch metric used as a service level indicator (SLI) for measuring service performance.

" } }, "Statistic": { @@ -4226,18 +4247,18 @@ "SloName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the service level objective.

" + "smithy.api#documentation": "

The name of the Service Level Objective.

" } }, "SloArn": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The ARN of the service level objective. The SLO must be provided with ARN for cross-account access.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Service Level Objective.

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains identifying information for a service level objective entity.

" + "smithy.api#documentation": "

Represents a Service Level Objective (SLO) entity that can be audited for compliance and performance.

" } }, "com.amazonaws.applicationsignals#ServiceLevelObjectiveId": { @@ -4391,18 +4412,18 @@ "Operation": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the operation.

" + "smithy.api#documentation": "

The name of the specific operation within the service.

" } }, "MetricType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The type of metric associated with this service operation.

" + "smithy.api#documentation": "

The type of metric associated with this service operation, such as \"Latency\", \"ErrorRate\", or \"Throughput\".

" } } }, "traits": { - "smithy.api#documentation": "

A structure that contains identifying information for a service operation entity.

" + "smithy.api#documentation": "

Represents a specific operation within a service that can be monitored and audited independently.

" } }, "com.amazonaws.applicationsignals#ServiceOperations": { @@ -4439,26 +4460,26 @@ "AttributeFilters": { "target": "com.amazonaws.applicationsignals#AttributeFilters", "traits": { - "smithy.api#documentation": "

The attribute filters that were applied when retrieving this service state information.

" + "smithy.api#documentation": "

The attribute filters that were applied when retrieving this service state.

" } }, "Service": { "target": "com.amazonaws.applicationsignals#Attributes", "traits": { - "smithy.api#documentation": "

The key attributes that identify this service, including Type, Name, and Environment information.

", + "smithy.api#documentation": "

The service entity information for this service state.

", "smithy.api#required": {} } }, "LatestChangeEvents": { "target": "com.amazonaws.applicationsignals#LatestChangeEvents", "traits": { - "smithy.api#documentation": "

An array containing the most recent change events for this service, such as deployments, with information about when they occurred and who initiated them.

", + "smithy.api#documentation": "

An array of the most recent change events that may have affected this service, such as deployments or configuration changes.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A structure that contains information about the current state of a service, including its latest change events such as deployments and other state-changing activities.

" + "smithy.api#documentation": "

Represents the current state and health information for a service monitored by Application Signals.

" } }, "com.amazonaws.applicationsignals#ServiceStates": { @@ -4504,7 +4525,7 @@ "ServiceGroups": { "target": "com.amazonaws.applicationsignals#ServiceGroups", "traits": { - "smithy.api#documentation": "

An array of service groups that this service belongs to, based on the configured grouping attributes.

" + "smithy.api#documentation": "

An array of service groups that this service belongs to, providing a summary view of the service's organizational context.

" } } }, diff --git a/codegen/sdk-codegen/aws-models/applicationcostprofiler.json b/codegen/sdk-codegen/aws-models/applicationcostprofiler.json index 431aa46689b..43183a06b16 100644 --- a/codegen/sdk-codegen/aws-models/applicationcostprofiler.json +++ b/codegen/sdk-codegen/aws-models/applicationcostprofiler.json @@ -74,27 +74,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/apprunner.json b/codegen/sdk-codegen/aws-models/apprunner.json index a930ad14227..0a9271afb30 100644 --- a/codegen/sdk-codegen/aws-models/apprunner.json +++ b/codegen/sdk-codegen/aws-models/apprunner.json @@ -195,27 +195,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/appstream.json b/codegen/sdk-codegen/aws-models/appstream.json index 00c50828da8..dc631f44965 100644 --- a/codegen/sdk-codegen/aws-models/appstream.json +++ b/codegen/sdk-codegen/aws-models/appstream.json @@ -146,6 +146,76 @@ } } }, + "com.amazonaws.appstream#AdminAppLicenseUsageList": { + "type": "list", + "member": { + "target": "com.amazonaws.appstream#AdminAppLicenseUsageRecord" + } + }, + "com.amazonaws.appstream#AdminAppLicenseUsageRecord": { + "type": "structure", + "members": { + "UserArn": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the user who used the license-included application.

", + "smithy.api#required": {} + } + }, + "BillingPeriod": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The billing period for the license usage record.

", + "smithy.api#required": {} + } + }, + "OwnerAWSAccountId": { + "target": "com.amazonaws.appstream#AwsAccountId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The account ID of the owner of the license.

", + "smithy.api#required": {} + } + }, + "SubscriptionFirstUsedDate": { + "target": "com.amazonaws.appstream#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The date and time when the license was first used.

", + "smithy.api#required": {} + } + }, + "SubscriptionLastUsedDate": { + "target": "com.amazonaws.appstream#Timestamp", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The date and time when the license was last used.

", + "smithy.api#required": {} + } + }, + "LicenseType": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of license (for example, Microsoft Office).

", + "smithy.api#required": {} + } + }, + "UserId": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the user who used the license-included application.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The collection of license usage records.

" + } + }, "com.amazonaws.appstream#AppBlock": { "type": "structure", "members": { @@ -1010,6 +1080,66 @@ "smithy.api#output": {} } }, + "com.amazonaws.appstream#AssociateSoftwareToImageBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#AssociateSoftwareToImageBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#AssociateSoftwareToImageBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#IncompatibleImageException" + }, + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Associates license included application(s) with an existing image builder instance.

" + } + }, + "com.amazonaws.appstream#AssociateSoftwareToImageBuilderRequest": { + "type": "structure", + "members": { + "ImageBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the target image builder instance.

", + "smithy.api#required": {} + } + }, + "SoftwareNames": { + "target": "com.amazonaws.appstream#StringList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The list of license included applications to associate with the image builder.

\n

Possible values include the following:

\n
    \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_64Bit

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#AssociateSoftwareToImageBuilderResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#AuthenticationType": { "type": "enum", "members": { @@ -2304,6 +2434,18 @@ "traits": { "smithy.api#documentation": "

The list of interface VPC endpoint (interface endpoint) objects. Administrators can connect to the image builder only through the specified endpoints.

" } + }, + "SoftwaresToInstall": { + "target": "com.amazonaws.appstream#StringList", + "traits": { + "smithy.api#documentation": "

The list of license included applications to install on the image builder during creation.

\n

Possible values include the following:

\n
    \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_64Bit

    \n
  • \n
" + } + }, + "SoftwaresToUninstall": { + "target": "com.amazonaws.appstream#StringList", + "traits": { + "smithy.api#documentation": "

The list of license included applications to uninstall from the image builder during creation.

\n

Possible values include the following:

\n
    \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_64Bit

    \n
  • \n
" + } } }, "traits": { @@ -3785,6 +3927,77 @@ "smithy.api#output": {} } }, + "com.amazonaws.appstream#DescribeAppLicenseUsage": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DescribeAppLicenseUsageRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DescribeAppLicenseUsageResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves license included application usage information.

" + } + }, + "com.amazonaws.appstream#DescribeAppLicenseUsageRequest": { + "type": "structure", + "members": { + "BillingPeriod": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Billing period for the usage record.

\n

Specify the value in yyyy-mm format. For example, for August\n 2025, use 2025-08.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.appstream#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

" + } + }, + "NextToken": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

Token for pagination of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DescribeAppLicenseUsageResult": { + "type": "structure", + "members": { + "AppLicenseUsages": { + "target": "com.amazonaws.appstream#AdminAppLicenseUsageList", + "traits": { + "smithy.api#documentation": "

Collection of license usage records.

" + } + }, + "NextToken": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

Token for pagination of results.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#DescribeApplicationFleetAssociations": { "type": "operation", "input": { @@ -4520,6 +4733,80 @@ "smithy.api#output": {} } }, + "com.amazonaws.appstream#DescribeSoftwareAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DescribeSoftwareAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DescribeSoftwareAssociationsResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves license included application associations for a specified resource.

" + } + }, + "com.amazonaws.appstream#DescribeSoftwareAssociationsRequest": { + "type": "structure", + "members": { + "AssociatedResource": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ARN of the resource to describe software associations. Possible resources are Image and ImageBuilder.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.appstream#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return.

" + } + }, + "NextToken": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DescribeSoftwareAssociationsResult": { + "type": "structure", + "members": { + "AssociatedResource": { + "target": "com.amazonaws.appstream#Arn", + "traits": { + "smithy.api#documentation": "

The ARN of the resource to describe software associations.

" + } + }, + "SoftwareAssociations": { + "target": "com.amazonaws.appstream#SoftwareAssociationsList", + "traits": { + "smithy.api#documentation": "

Collection of license included applications association details including:

\n
    \n
  • \n

    License included application name and version information

    \n
  • \n
  • \n

    Deployment status (SoftwareDeploymentStatus enum)

    \n
  • \n
  • \n

    Error details for failed deployments

    \n
  • \n
  • \n

    Association timestamps

    \n
  • \n
" + } + }, + "NextToken": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The pagination token to use to retrieve the next page of results for this operation.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#DescribeStacks": { "type": "operation", "input": { @@ -5191,6 +5478,63 @@ "smithy.api#output": {} } }, + "com.amazonaws.appstream#DisassociateSoftwareFromImageBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#DisassociateSoftwareFromImageBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#DisassociateSoftwareFromImageBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#InvalidParameterCombinationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes license included application(s) association(s) from an image builder instance.

" + } + }, + "com.amazonaws.appstream#DisassociateSoftwareFromImageBuilderRequest": { + "type": "structure", + "members": { + "ImageBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the target image builder instance.

", + "smithy.api#required": {} + } + }, + "SoftwareNames": { + "target": "com.amazonaws.appstream#StringList", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The list of license included applications to disassociate from the image builder.

\n

Possible values include the following:

\n
    \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_64Bit

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#DisassociateSoftwareFromImageBuilderResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#DisplayName": { "type": "string", "traits": { @@ -6185,6 +6529,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether the image is shared with another account ID.

" } + }, + "ManagedSoftwareIncluded": { + "target": "com.amazonaws.appstream#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the image includes license-included applications.

" + } } }, "traits": { @@ -6386,6 +6736,18 @@ "traits": { "smithy.api#enumValue": "PENDING_QUALIFICATION" } + }, + "PENDING_SYNCING_APPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_SYNCING_APPS" + } + }, + "SYNCING_APPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SYNCING_APPS" + } } } }, @@ -7046,6 +7408,9 @@ { "target": "com.amazonaws.appstream#AssociateFleet" }, + { + "target": "com.amazonaws.appstream#AssociateSoftwareToImageBuilder" + }, { "target": "com.amazonaws.appstream#BatchAssociateUserStack" }, @@ -7154,6 +7519,9 @@ { "target": "com.amazonaws.appstream#DescribeApplications" }, + { + "target": "com.amazonaws.appstream#DescribeAppLicenseUsage" + }, { "target": "com.amazonaws.appstream#DescribeDirectoryConfigs" }, @@ -7175,6 +7543,9 @@ { "target": "com.amazonaws.appstream#DescribeSessions" }, + { + "target": "com.amazonaws.appstream#DescribeSoftwareAssociations" + }, { "target": "com.amazonaws.appstream#DescribeStacks" }, @@ -7205,6 +7576,9 @@ { "target": "com.amazonaws.appstream#DisassociateFleet" }, + { + "target": "com.amazonaws.appstream#DisassociateSoftwareFromImageBuilder" + }, { "target": "com.amazonaws.appstream#EnableUser" }, @@ -7232,6 +7606,9 @@ { "target": "com.amazonaws.appstream#StartImageBuilder" }, + { + "target": "com.amazonaws.appstream#StartSoftwareDeploymentToImageBuilder" + }, { "target": "com.amazonaws.appstream#StopAppBlockBuilder" }, @@ -7293,27 +7670,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -8596,6 +8973,85 @@ "target": "com.amazonaws.appstream#SharedImagePermissions" } }, + "com.amazonaws.appstream#SoftwareAssociations": { + "type": "structure", + "members": { + "SoftwareName": { + "target": "com.amazonaws.appstream#String", + "traits": { + "smithy.api#documentation": "

The name of the license-included application.

\n

Possible values include the following:

\n
    \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Professional_Plus_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Professional_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Office_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2021_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Visio_2024_LTSC_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2021_Standard_64Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_32Bit

    \n
  • \n
  • \n

    Microsoft_Project_2024_Standard_64Bit

    \n
  • \n
" + } + }, + "Status": { + "target": "com.amazonaws.appstream#SoftwareDeploymentStatus", + "traits": { + "smithy.api#documentation": "

The deployment status of the license-included application.

" + } + }, + "DeploymentError": { + "target": "com.amazonaws.appstream#ErrorDetailsList", + "traits": { + "smithy.api#documentation": "

The error details for failed deployments of the license-included application.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The association between a license-included application and a resource.

" + } + }, + "com.amazonaws.appstream#SoftwareAssociationsList": { + "type": "list", + "member": { + "target": "com.amazonaws.appstream#SoftwareAssociations" + } + }, + "com.amazonaws.appstream#SoftwareDeploymentStatus": { + "type": "enum", + "members": { + "STAGED_FOR_INSTALLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STAGED_FOR_INSTALLATION" + } + }, + "PENDING_INSTALLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_INSTALLATION" + } + }, + "INSTALLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSTALLED" + } + }, + "STAGED_FOR_UNINSTALLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STAGED_FOR_UNINSTALLATION" + } + }, + "PENDING_UNINSTALLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_UNINSTALLATION" + } + }, + "FAILED_TO_INSTALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_TO_INSTALL" + } + }, + "FAILED_TO_UNINSTALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED_TO_UNINSTALL" + } + } + } + }, "com.amazonaws.appstream#Stack": { "type": "structure", "members": { @@ -9016,6 +9472,58 @@ "smithy.api#output": {} } }, + "com.amazonaws.appstream#StartSoftwareDeploymentToImageBuilder": { + "type": "operation", + "input": { + "target": "com.amazonaws.appstream#StartSoftwareDeploymentToImageBuilderRequest" + }, + "output": { + "target": "com.amazonaws.appstream#StartSoftwareDeploymentToImageBuilderResult" + }, + "errors": [ + { + "target": "com.amazonaws.appstream#ConcurrentModificationException" + }, + { + "target": "com.amazonaws.appstream#OperationNotPermittedException" + }, + { + "target": "com.amazonaws.appstream#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Initiates license included applications deployment to an image builder instance.

" + } + }, + "com.amazonaws.appstream#StartSoftwareDeploymentToImageBuilderRequest": { + "type": "structure", + "members": { + "ImageBuilderName": { + "target": "com.amazonaws.appstream#Name", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the target image builder instance.

", + "smithy.api#required": {} + } + }, + "RetryFailedDeployments": { + "target": "com.amazonaws.appstream#Boolean", + "traits": { + "smithy.api#documentation": "

Whether to retry previously failed license included application deployments.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.appstream#StartSoftwareDeploymentToImageBuilderResult": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.appstream#StopAppBlockBuilder": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/appsync.json b/codegen/sdk-codegen/aws-models/appsync.json index 9df5557042d..1ee4bb65f68 100644 --- a/codegen/sdk-codegen/aws-models/appsync.json +++ b/codegen/sdk-codegen/aws-models/appsync.json @@ -280,27 +280,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/apptest.json b/codegen/sdk-codegen/aws-models/apptest.json deleted file mode 100644 index 7e4e235b8bd..00000000000 --- a/codegen/sdk-codegen/aws-models/apptest.json +++ /dev/null @@ -1,6244 +0,0 @@ -{ - "smithy": "2.0", - "shapes": { - "com.amazonaws.apptest#AccessDeniedException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The account or role doesn't have the right permissions to make the request.

", - "smithy.api#error": "client", - "smithy.api#httpError": 403 - } - }, - "com.amazonaws.apptest#Arn": { - "type": "string", - "traits": { - "smithy.api#pattern": "^arn:(aws|aws-cn|aws-iso|aws-iso-[a-z]{1}|aws-us-gov):[A-Za-z0-9][A-Za-z0-9_/.-]{0,62}:([a-z]{2}-((iso[a-z]{0,1}-)|(gov-)){0,1}[a-z]+-[0-9]):[0-9]{12}:[A-Za-z0-9/][A-Za-z0-9:_/+=,@.-]{0,1023}$" - } - }, - "com.amazonaws.apptest#AwsApptestControlPlaneService": { - "type": "service", - "version": "2022-12-06", - "operations": [ - { - "target": "com.amazonaws.apptest#ListTagsForResource" - }, - { - "target": "com.amazonaws.apptest#TagResource" - }, - { - "target": "com.amazonaws.apptest#UntagResource" - } - ], - "resources": [ - { - "target": "com.amazonaws.apptest#TestCase" - }, - { - "target": "com.amazonaws.apptest#TestConfiguration" - }, - { - "target": "com.amazonaws.apptest#TestRun" - }, - { - "target": "com.amazonaws.apptest#TestSuite" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "AppTest", - "cloudFormationName": "AppTest", - "cloudTrailEventSource": "apptest.amazonaws.com", - "arnNamespace": "apptest", - "endpointPrefix": "apptest" - }, - "aws.auth#sigv4": { - "name": "apptest" - }, - "aws.iam#defineConditionKeys": { - "aws:ResourceTag/${TagKey}": { - "type": "String", - "documentation": "Filters access by a tag key and value pair of a resource", - "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-resourcetag" - }, - "aws:RequestTag/${TagKey}": { - "type": "String", - "documentation": "Filters access by a tag key and value pair that is allowed in the request", - "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-requesttag" - }, - "aws:TagKeys": { - "type": "ArrayOfString", - "documentation": "Filters access by a list of tag keys that are allowed in the request", - "externalDocumentation": "${DocHomeURL}IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-tagkeys" - } - }, - "aws.iam#supportedPrincipalTypes": [ - "Root", - "IAMUser", - "IAMRole", - "FederatedUser" - ], - "aws.protocols#restJson1": {}, - "smithy.api#cors": { - "additionalAllowedHeaders": [ - "*,authorization,date,x-amz-date,x-amz-security-token,x-amz-target,content-type,x-amz-content-sha256,x-amz-user-agent,x-amzn-platform-id,x-amzn-trace-id,amz-sdk-invocation-id,amz-sdk-request" - ] - }, - "smithy.api#documentation": "

AWS Mainframe Modernization Application Testing provides tools and resources for automated functional equivalence testing for your migration projects.

", - "smithy.api#title": "AWS Mainframe Modernization Application Testing", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://apptest-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://apptest-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://apptest.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://apptest.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ], - "type": "tree" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://apptest.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://apptest.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://apptest.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://apptest.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.apptest#Batch": { - "type": "structure", - "members": { - "batchJobName": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The job name of the batch.

", - "smithy.api#required": {} - } - }, - "batchJobParameters": { - "target": "com.amazonaws.apptest#BatchJobParameters", - "traits": { - "smithy.api#documentation": "

The batch job parameters of the batch.

" - } - }, - "exportDataSetNames": { - "target": "com.amazonaws.apptest#ExportDataSetNames", - "traits": { - "smithy.api#documentation": "

The export data set names of the batch.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines a batch.

" - } - }, - "com.amazonaws.apptest#BatchJobParameters": { - "type": "map", - "key": { - "target": "smithy.api#String" - }, - "value": { - "target": "smithy.api#String" - } - }, - "com.amazonaws.apptest#BatchStepInput": { - "type": "structure", - "members": { - "resource": { - "target": "com.amazonaws.apptest#MainframeResourceSummary", - "traits": { - "smithy.api#documentation": "

The resource of the batch step input.

", - "smithy.api#required": {} - } - }, - "batchJobName": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The batch job name of the batch step input.

", - "smithy.api#required": {} - } - }, - "batchJobParameters": { - "target": "com.amazonaws.apptest#BatchJobParameters", - "traits": { - "smithy.api#documentation": "

The batch job parameters of the batch step input.

" - } - }, - "exportDataSetNames": { - "target": "com.amazonaws.apptest#ExportDataSetNames", - "traits": { - "smithy.api#documentation": "

The export data set names of the batch step input.

" - } - }, - "properties": { - "target": "com.amazonaws.apptest#MainframeActionProperties", - "traits": { - "smithy.api#documentation": "

The properties of the batch step input.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines a batch step input.

" - } - }, - "com.amazonaws.apptest#BatchStepOutput": { - "type": "structure", - "members": { - "dataSetExportLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The data set export location of the batch step output.

" - } - }, - "dmsOutputLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The Database Migration Service (DMS) output location of the batch step output.

" - } - }, - "dataSetDetails": { - "target": "com.amazonaws.apptest#DataSetList", - "traits": { - "smithy.api#documentation": "

The data set details of the batch step output.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines a batch step output.

" - } - }, - "com.amazonaws.apptest#BatchSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#BatchStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the batch summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#BatchStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the batch summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Summarizes a batch job.

" - } - }, - "com.amazonaws.apptest#CaptureTool": { - "type": "enum", - "members": { - "PRECISELY": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Precisely" - } - }, - "AWS_DMS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "AWS DMS" - } - } - } - }, - "com.amazonaws.apptest#CloudFormation": { - "type": "structure", - "members": { - "templateLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The template location of the CloudFormation template.

", - "smithy.api#required": {} - } - }, - "parameters": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The CloudFormation properties in the CloudFormation template.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the CloudFormation template and its parameters.

" - } - }, - "com.amazonaws.apptest#CloudFormationAction": { - "type": "structure", - "members": { - "resource": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The resource of the CloudFormation action.

", - "smithy.api#required": {} - } - }, - "actionType": { - "target": "com.amazonaws.apptest#CloudFormationActionType", - "traits": { - "smithy.api#documentation": "

The action type of the CloudFormation action.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the CloudFormation action.

" - } - }, - "com.amazonaws.apptest#CloudFormationActionType": { - "type": "enum", - "members": { - "CREATE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Create" - } - }, - "DELETE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Delete" - } - } - } - }, - "com.amazonaws.apptest#CloudFormationStepSummary": { - "type": "union", - "members": { - "createCloudformation": { - "target": "com.amazonaws.apptest#CreateCloudFormationSummary", - "traits": { - "smithy.api#documentation": "

Creates the CloudFormation summary of the step.

" - } - }, - "deleteCloudformation": { - "target": "com.amazonaws.apptest#DeleteCloudFormationSummary", - "traits": { - "smithy.api#documentation": "

Deletes the CloudFormation summary of the CloudFormation step summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the CloudFormation step summary.

" - } - }, - "com.amazonaws.apptest#CompareAction": { - "type": "structure", - "members": { - "input": { - "target": "com.amazonaws.apptest#Input", - "traits": { - "smithy.api#documentation": "

The input of the compare action.

", - "smithy.api#required": {} - } - }, - "output": { - "target": "com.amazonaws.apptest#Output", - "traits": { - "smithy.api#documentation": "

The output of the compare action.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Compares the action.

" - } - }, - "com.amazonaws.apptest#CompareActionSummary": { - "type": "structure", - "members": { - "type": { - "target": "com.amazonaws.apptest#File", - "traits": { - "smithy.api#documentation": "

The type of the compare action summary.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the compare action summary.

" - } - }, - "com.amazonaws.apptest#CompareDataSetsStepInput": { - "type": "structure", - "members": { - "sourceLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The source location of the compare data sets step input location.

", - "smithy.api#required": {} - } - }, - "targetLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The target location of the compare data sets step input location.

", - "smithy.api#required": {} - } - }, - "sourceDataSets": { - "target": "com.amazonaws.apptest#DataSetList", - "traits": { - "smithy.api#documentation": "

The source data sets of the compare data sets step input location.

", - "smithy.api#required": {} - } - }, - "targetDataSets": { - "target": "com.amazonaws.apptest#DataSetList", - "traits": { - "smithy.api#documentation": "

The target data sets of the compare data sets step input location.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the compare data sets step input.

" - } - }, - "com.amazonaws.apptest#CompareDataSetsStepOutput": { - "type": "structure", - "members": { - "comparisonOutputLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The comparison output location of the compare data sets step output.

", - "smithy.api#required": {} - } - }, - "comparisonStatus": { - "target": "com.amazonaws.apptest#ComparisonStatusEnum", - "traits": { - "smithy.api#documentation": "

The comparison status of the compare data sets step output.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the compare data sets step output.

" - } - }, - "com.amazonaws.apptest#CompareDataSetsSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#CompareDataSetsStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the compare data sets summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#CompareDataSetsStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the compare data sets summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Compares data sets summary.

" - } - }, - "com.amazonaws.apptest#CompareDatabaseCDCStepInput": { - "type": "structure", - "members": { - "sourceLocation": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The source location of the compare database CDC step input.

", - "smithy.api#required": {} - } - }, - "targetLocation": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The target location of the compare database CDC step input.

", - "smithy.api#required": {} - } - }, - "outputLocation": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The output location of the compare database CDC step input.

" - } - }, - "sourceMetadata": { - "target": "com.amazonaws.apptest#SourceDatabaseMetadata", - "traits": { - "smithy.api#documentation": "

The source metadata of the compare database CDC step input.

", - "smithy.api#required": {} - } - }, - "targetMetadata": { - "target": "com.amazonaws.apptest#TargetDatabaseMetadata", - "traits": { - "smithy.api#documentation": "

The target metadata location of the compare database CDC step input.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Compares the database Change Data Capture (CDC) step input.

" - } - }, - "com.amazonaws.apptest#CompareDatabaseCDCStepOutput": { - "type": "structure", - "members": { - "comparisonOutputLocation": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The comparison output of the compare database CDC step output.

", - "smithy.api#required": {} - } - }, - "comparisonStatus": { - "target": "com.amazonaws.apptest#ComparisonStatusEnum", - "traits": { - "smithy.api#documentation": "

The comparison status of the compare database CDC step output.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Compares the database CDC step output.

" - } - }, - "com.amazonaws.apptest#CompareDatabaseCDCSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#CompareDatabaseCDCStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the compare database CDC summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#CompareDatabaseCDCStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the compare database CDC summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Compares the database CDC summary.

" - } - }, - "com.amazonaws.apptest#CompareFileType": { - "type": "union", - "members": { - "datasets": { - "target": "com.amazonaws.apptest#CompareDataSetsSummary", - "traits": { - "smithy.api#documentation": "

The data sets in the compare file type.

" - } - }, - "databaseCDC": { - "target": "com.amazonaws.apptest#CompareDatabaseCDCSummary", - "traits": { - "smithy.api#documentation": "

The database CDC of the compare file type.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Compares the file type.

" - } - }, - "com.amazonaws.apptest#ComparisonStatusEnum": { - "type": "enum", - "members": { - "DIFFERENT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Different" - } - }, - "EQUIVALENT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Equivalent" - } - }, - "EQUAL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Equal" - } - } - } - }, - "com.amazonaws.apptest#ConflictException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - }, - "resourceId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The resource ID of the conflicts with existing resources.

" - } - }, - "resourceType": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The resource type of the conflicts with existing resources.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The parameters provided in the request conflict with existing resources.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.apptest#CreateCloudFormationStepInput": { - "type": "structure", - "members": { - "templateLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The template location of the CloudFormation step input.

", - "smithy.api#required": {} - } - }, - "parameters": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The CloudFormation properties of the CloudFormation step input.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Creates the CloudFormation step input.

" - } - }, - "com.amazonaws.apptest#CreateCloudFormationStepOutput": { - "type": "structure", - "members": { - "stackId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The stack ID of the CloudFormation step output.

", - "smithy.api#required": {} - } - }, - "exports": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The exports of the CloudFormation step output.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Creates a CloudFormation step output.

" - } - }, - "com.amazonaws.apptest#CreateCloudFormationSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#CreateCloudFormationStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the CloudFormation summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#CreateCloudFormationStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the CloudFormation summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Creates a CloudFormation summary.

" - } - }, - "com.amazonaws.apptest#CreateTestCase": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#CreateTestCaseRequest" - }, - "output": { - "target": "com.amazonaws.apptest#CreateTestCaseResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#conditionKeys": [ - "aws:RequestTag/${TagKey}", - "aws:TagKeys" - ], - "aws.iam#iamAction": { - "name": "CreateTestCase", - "documentation": "Grants permission to create a test case", - "createsResources": [ - "TestCase" - ] - }, - "smithy.api#documentation": "

Creates a test case.

", - "smithy.api#http": { - "method": "POST", - "uri": "/testcase", - "code": 201 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#CreateTestCaseRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test case.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test case.

" - } - }, - "steps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The steps in the test case.

", - "smithy.api#required": {} - } - }, - "clientToken": { - "target": "com.amazonaws.apptest#IdempotencyTokenString", - "traits": { - "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The client token of the test case.

", - "smithy.api#idempotencyToken": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The specified tags of the test case.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#CreateTestCaseResponse": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test case.

", - "smithy.api#required": {} - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test case version of the test case.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#CreateTestConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#CreateTestConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.apptest#CreateTestConfigurationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#conditionKeys": [ - "aws:RequestTag/${TagKey}", - "aws:TagKeys" - ], - "aws.iam#iamAction": { - "name": "CreateTestConfiguration", - "documentation": "Grants permission to create a test configuration", - "createsResources": [ - "TestConfiguration" - ] - }, - "smithy.api#documentation": "

Creates a test configuration.

", - "smithy.api#http": { - "method": "POST", - "uri": "/testconfiguration", - "code": 201 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#CreateTestConfigurationRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test configuration.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test configuration.

" - } - }, - "resources": { - "target": "com.amazonaws.apptest#ResourceList", - "traits": { - "smithy.api#documentation": "

The defined resources of the test configuration.

", - "smithy.api#required": {} - } - }, - "properties": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The properties of the test configuration.

" - } - }, - "clientToken": { - "target": "com.amazonaws.apptest#IdempotencyTokenString", - "traits": { - "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The client token of the test configuration.

", - "smithy.api#idempotencyToken": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the test configuration.

" - } - }, - "serviceSettings": { - "target": "com.amazonaws.apptest#ServiceSettings", - "traits": { - "smithy.api#documentation": "

The service settings of the test configuration.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#CreateTestConfigurationResponse": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test configuration ID.

", - "smithy.api#required": {} - } - }, - "testConfigurationVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test configuration version.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#CreateTestSuite": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#CreateTestSuiteRequest" - }, - "output": { - "target": "com.amazonaws.apptest#CreateTestSuiteResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#conditionKeys": [ - "aws:RequestTag/${TagKey}", - "aws:TagKeys" - ], - "aws.iam#iamAction": { - "name": "CreateTestSuite", - "documentation": "Grants permission to create a test suite", - "createsResources": [ - "TestSuite" - ] - }, - "smithy.api#documentation": "

Creates a test suite.

", - "smithy.api#http": { - "method": "POST", - "uri": "/testsuite", - "code": 201 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#CreateTestSuiteRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test suite.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test suite.

" - } - }, - "beforeSteps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The before steps of the test suite.

" - } - }, - "afterSteps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The after steps of the test suite.

" - } - }, - "testCases": { - "target": "com.amazonaws.apptest#TestCases", - "traits": { - "smithy.api#documentation": "

The test cases in the test suite.

", - "smithy.api#required": {} - } - }, - "clientToken": { - "target": "com.amazonaws.apptest#IdempotencyTokenString", - "traits": { - "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The client token of the test suite.

", - "smithy.api#idempotencyToken": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the test suite.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#CreateTestSuiteResponse": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The suite ID of the test suite.

", - "smithy.api#required": {} - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The suite version of the test suite.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#DataSet": { - "type": "structure", - "members": { - "type": { - "target": "com.amazonaws.apptest#DataSetType", - "traits": { - "smithy.api#documentation": "

The type of the data set.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#String100", - "traits": { - "smithy.api#documentation": "

The name of the data set.

", - "smithy.api#required": {} - } - }, - "ccsid": { - "target": "com.amazonaws.apptest#String50", - "traits": { - "smithy.api#documentation": "

The CCSID of the data set.

", - "smithy.api#required": {} - } - }, - "format": { - "target": "com.amazonaws.apptest#Format", - "traits": { - "smithy.api#documentation": "

The format of the data set.

", - "smithy.api#required": {} - } - }, - "length": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The length of the data set.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines a data set.

" - } - }, - "com.amazonaws.apptest#DataSetList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#DataSet" - } - }, - "com.amazonaws.apptest#DataSetType": { - "type": "enum", - "members": { - "PS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PS" - } - } - } - }, - "com.amazonaws.apptest#DatabaseCDC": { - "type": "structure", - "members": { - "sourceMetadata": { - "target": "com.amazonaws.apptest#SourceDatabaseMetadata", - "traits": { - "smithy.api#documentation": "

The source metadata of the database CDC.

", - "smithy.api#required": {} - } - }, - "targetMetadata": { - "target": "com.amazonaws.apptest#TargetDatabaseMetadata", - "traits": { - "smithy.api#documentation": "

The target metadata of the database CDC.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines the Change Data Capture (CDC) of the database.

" - } - }, - "com.amazonaws.apptest#DeleteCloudFormationStepInput": { - "type": "structure", - "members": { - "stackId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The stack ID of the deleted CloudFormation step input.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Deletes the CloudFormation step input.

" - } - }, - "com.amazonaws.apptest#DeleteCloudFormationStepOutput": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "

Deletes the CloudFormation summary step output.

" - } - }, - "com.amazonaws.apptest#DeleteCloudFormationSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#DeleteCloudFormationStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the deleted CloudFormation summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#DeleteCloudFormationStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the deleted CloudFormation summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Deletes the CloudFormation summary.

" - } - }, - "com.amazonaws.apptest#DeleteTestCase": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#DeleteTestCaseRequest" - }, - "output": { - "target": "com.amazonaws.apptest#DeleteTestCaseResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "DeleteTestCase", - "documentation": "Grants permission to delete a test case" - }, - "smithy.api#documentation": "

Deletes a test case.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/testcases/{testCaseId}", - "code": 204 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#DeleteTestCaseRequest": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test case.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#DeleteTestCaseResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#DeleteTestConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#DeleteTestConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.apptest#DeleteTestConfigurationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "DeleteTestConfiguration", - "documentation": "Grants permission to delete a test configuration" - }, - "smithy.api#documentation": "

Deletes a test configuration.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/testconfigurations/{testConfigurationId}", - "code": 204 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#DeleteTestConfigurationRequest": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test ID of the test configuration.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#DeleteTestConfigurationResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#DeleteTestRun": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#DeleteTestRunRequest" - }, - "output": { - "target": "com.amazonaws.apptest#DeleteTestRunResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "DeleteTestRun", - "documentation": "Grants permission to delete a test run", - "requiredActions": [ - "s3:DeleteObjects", - "s3:ListObjectsV2" - ] - }, - "smithy.api#documentation": "

Deletes a test run.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/testruns/{testRunId}", - "code": 204 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#DeleteTestRunRequest": { - "type": "structure", - "members": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The run ID of the test run.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#DeleteTestRunResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#DeleteTestSuite": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#DeleteTestSuiteRequest" - }, - "output": { - "target": "com.amazonaws.apptest#DeleteTestSuiteResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "DeleteTestSuite", - "documentation": "Grants permission to delete a test suite" - }, - "smithy.api#documentation": "

Deletes a test suite.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/testsuites/{testSuiteId}", - "code": 204 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#DeleteTestSuiteRequest": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test ID of the test suite.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#DeleteTestSuiteResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ExportDataSetNames": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#String100" - } - }, - "com.amazonaws.apptest#File": { - "type": "union", - "members": { - "fileType": { - "target": "com.amazonaws.apptest#CompareFileType", - "traits": { - "smithy.api#documentation": "

The file type of the file.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines a file.

" - } - }, - "com.amazonaws.apptest#FileMetadata": { - "type": "union", - "members": { - "dataSets": { - "target": "com.amazonaws.apptest#DataSetList", - "traits": { - "smithy.api#documentation": "

The data sets of the file metadata.

" - } - }, - "databaseCDC": { - "target": "com.amazonaws.apptest#DatabaseCDC", - "traits": { - "smithy.api#documentation": "

The database CDC of the file metadata.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a file metadata.

" - } - }, - "com.amazonaws.apptest#Format": { - "type": "enum", - "members": { - "FIXED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FIXED" - } - }, - "VARIABLE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "VARIABLE" - } - }, - "LINE_SEQUENTIAL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LINE_SEQUENTIAL" - } - } - } - }, - "com.amazonaws.apptest#GetTestCase": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#GetTestCaseRequest" - }, - "output": { - "target": "com.amazonaws.apptest#GetTestCaseResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "GetTestCase", - "documentation": "Grants permission to get a test case" - }, - "smithy.api#documentation": "

Gets a test case.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testcases/{testCaseId}", - "code": 200 - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#GetTestCaseRequest": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The request test ID of the test case.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test case version of the test case.

", - "smithy.api#httpQuery": "testCaseVersion" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#GetTestCaseResponse": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The response test ID of the test case.

", - "smithy.api#required": {} - } - }, - "testCaseArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the test case.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test case.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test case.

" - } - }, - "latestVersion": { - "target": "com.amazonaws.apptest#TestCaseLatestVersion", - "traits": { - "smithy.api#documentation": "

The latest version of the test case.

", - "smithy.api#required": {} - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The case version of the test case.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestCaseLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test case.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test case.

" - } - }, - "creationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The creation time of the test case.

", - "smithy.api#required": {} - } - }, - "lastUpdateTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The last update time of the test case.

", - "smithy.api#required": {} - } - }, - "steps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The steps of the test case.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the test case.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#GetTestConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#GetTestConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.apptest#GetTestConfigurationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "GetTestConfiguration", - "documentation": "Grants permission to get a test configuration" - }, - "smithy.api#documentation": "

Gets a test configuration.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testconfigurations/{testConfigurationId}", - "code": 200 - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#GetTestConfigurationRequest": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The request test configuration ID.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "testConfigurationVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test configuration version.

", - "smithy.api#httpQuery": "testConfigurationVersion" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#GetTestConfigurationResponse": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The response test configuration ID.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The test configuration name

", - "smithy.api#required": {} - } - }, - "testConfigurationArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The test configuration Amazon Resource Name (ARN).

", - "smithy.api#required": {} - } - }, - "latestVersion": { - "target": "com.amazonaws.apptest#TestConfigurationLatestVersion", - "traits": { - "smithy.api#documentation": "

The latest version of the test configuration.

", - "smithy.api#required": {} - } - }, - "testConfigurationVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test configuration version.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestConfigurationLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test configuration.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test configuration.

" - } - }, - "creationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The creation time of the test configuration.

", - "smithy.api#required": {} - } - }, - "lastUpdateTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The last update time of the test configuration.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test configuration.

" - } - }, - "resources": { - "target": "com.amazonaws.apptest#ResourceList", - "traits": { - "smithy.api#documentation": "

The resources of the test configuration.

", - "smithy.api#required": {} - } - }, - "properties": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The properties of the test configuration.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the test configuration.

" - } - }, - "serviceSettings": { - "target": "com.amazonaws.apptest#ServiceSettings", - "traits": { - "smithy.api#documentation": "

The service settings of the test configuration.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#GetTestRunStep": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#GetTestRunStepRequest" - }, - "output": { - "target": "com.amazonaws.apptest#GetTestRunStepResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "GetTestRunStep", - "documentation": "Grants permission to get test run step" - }, - "smithy.api#documentation": "

Gets a test run step.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testruns/{testRunId}/steps/{stepName}", - "code": 200 - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#GetTestRunStepRequest": { - "type": "structure", - "members": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test run step.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "stepName": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The step name of the test run step.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of a test run step.

", - "smithy.api#httpQuery": "testCaseId" - } - }, - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of a test run step.

", - "smithy.api#httpQuery": "testSuiteId" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#GetTestRunStepResponse": { - "type": "structure", - "members": { - "stepName": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The step name of the test run step.

", - "smithy.api#required": {} - } - }, - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test run step.

", - "smithy.api#required": {} - } - }, - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test run step.

" - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test case version of the test run step.

" - } - }, - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test run step.

" - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test suite version of the test run step.

" - } - }, - "beforeStep": { - "target": "smithy.api#Boolean", - "traits": { - "smithy.api#documentation": "

The before steps of the test run step.

" - } - }, - "afterStep": { - "target": "smithy.api#Boolean", - "traits": { - "smithy.api#documentation": "

The after steps of the test run step.

" - } - }, - "status": { - "target": "com.amazonaws.apptest#StepRunStatus", - "traits": { - "smithy.api#documentation": "

The status of the test run step.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test run step.

" - } - }, - "runStartTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run start time of the test run step.

", - "smithy.api#required": {} - } - }, - "runEndTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run end time of the test run step.

" - } - }, - "stepRunSummary": { - "target": "com.amazonaws.apptest#StepRunSummary", - "traits": { - "smithy.api#documentation": "

The step run summary of the test run step.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#GetTestSuite": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#GetTestSuiteRequest" - }, - "output": { - "target": "com.amazonaws.apptest#GetTestSuiteResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "GetTestSuite", - "documentation": "Grants permission to get a test suite" - }, - "smithy.api#documentation": "

Gets a test suite.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testsuites/{testSuiteId}", - "code": 200 - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#GetTestSuiteRequest": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The ID of the test suite.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The version of the test suite.

", - "smithy.api#httpQuery": "testSuiteVersion" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#GetTestSuiteResponse": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The response ID of the test suite.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test suite.

", - "smithy.api#required": {} - } - }, - "latestVersion": { - "target": "com.amazonaws.apptest#TestSuiteLatestVersion", - "traits": { - "smithy.api#documentation": "

The latest version of the test suite.

", - "smithy.api#required": {} - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The version of the test suite.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestSuiteLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test suite.

" - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test suite.

" - } - }, - "testSuiteArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The test suite Amazon Resource Name (ARN).

", - "smithy.api#required": {} - } - }, - "creationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The creation time of the test suite.

", - "smithy.api#required": {} - } - }, - "lastUpdateTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The last update time of the test suite.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test suite.

" - } - }, - "beforeSteps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The before steps of the test suite.

", - "smithy.api#required": {} - } - }, - "afterSteps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The after steps of the test suite.

", - "smithy.api#required": {} - } - }, - "testCases": { - "target": "com.amazonaws.apptest#TestCases", - "traits": { - "smithy.api#documentation": "

The test cases of the test suite.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the test suite.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#IdempotencyTokenString": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[A-Za-z0-9\\-]{1,64}$" - } - }, - "com.amazonaws.apptest#Identifier": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[A-Za-z0-9:/\\-]{1,100}$" - } - }, - "com.amazonaws.apptest#Input": { - "type": "union", - "members": { - "file": { - "target": "com.amazonaws.apptest#InputFile", - "traits": { - "smithy.api#documentation": "

The file in the input.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the input.

" - } - }, - "com.amazonaws.apptest#InputFile": { - "type": "structure", - "members": { - "sourceLocation": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The source location of the input file.

", - "smithy.api#required": {} - } - }, - "targetLocation": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The target location of the input file.

", - "smithy.api#required": {} - } - }, - "fileMetadata": { - "target": "com.amazonaws.apptest#FileMetadata", - "traits": { - "smithy.api#documentation": "

The file metadata of the input file.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the input file.

" - } - }, - "com.amazonaws.apptest#InternalServerException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - }, - "retryAfterSeconds": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The number of seconds to retry the query.

", - "smithy.api#httpHeader": "Retry-After" - } - } - }, - "traits": { - "smithy.api#documentation": "

An unexpected error occurred during the processing of the request.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500, - "smithy.api#retryable": {} - } - }, - "com.amazonaws.apptest#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "documentation": "Grants permission to list tags for a resource" - }, - "smithy.api#documentation": "

Lists tags for a resource.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{resourceArn}", - "code": 200 - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ListTestCases": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTestCasesRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTestCasesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "ListTestCases", - "documentation": "Grants permission to list test cases" - }, - "smithy.api#documentation": "

Lists test cases.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testcases", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "testCases" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTestCasesRequest": { - "type": "structure", - "members": { - "testCaseIds": { - "target": "com.amazonaws.apptest#TestCaseIdList", - "traits": { - "smithy.api#documentation": "

The IDs of the test cases.

", - "smithy.api#httpQuery": "testCaseIds" - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The next token of the test cases.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.apptest#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum results of the test case.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTestCasesResponse": { - "type": "structure", - "members": { - "testCases": { - "target": "com.amazonaws.apptest#TestCaseSummaryList", - "traits": { - "smithy.api#documentation": "

The test cases in an application.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The next token in test cases.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ListTestConfigurations": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTestConfigurationsRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTestConfigurationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "ListTestConfigurations", - "documentation": "Grants permission to list test configurations" - }, - "smithy.api#documentation": "

Lists test configurations.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testconfigurations", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "testConfigurations" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTestConfigurationsRequest": { - "type": "structure", - "members": { - "testConfigurationIds": { - "target": "com.amazonaws.apptest#TestConfigurationIdList", - "traits": { - "smithy.api#documentation": "

The configuration IDs of the test configurations.

", - "smithy.api#httpQuery": "testConfigurationIds" - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The next token for the test configurations.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.apptest#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum results of the test configuration.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTestConfigurationsResponse": { - "type": "structure", - "members": { - "testConfigurations": { - "target": "com.amazonaws.apptest#TestConfigurationList", - "traits": { - "smithy.api#documentation": "

The test configurations.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The next token in the test configurations.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ListTestRunSteps": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTestRunStepsRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTestRunStepsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "ListTestRunSteps", - "documentation": "Grants permission to list steps for a test run" - }, - "smithy.api#documentation": "

Lists test run steps.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testruns/{testRunId}/steps", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "testRunSteps" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTestRunStepsRequest": { - "type": "structure", - "members": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test run steps.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test run steps.

", - "smithy.api#httpQuery": "testCaseId" - } - }, - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test run steps.

", - "smithy.api#httpQuery": "testSuiteId" - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from a previous step to retrieve the next page of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.apptest#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of test run steps to return in one page of results.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTestRunStepsResponse": { - "type": "structure", - "members": { - "testRunSteps": { - "target": "com.amazonaws.apptest#TestRunStepSummaryList", - "traits": { - "smithy.api#documentation": "

The test run steps of the response query.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from a previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ListTestRunTestCases": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTestRunTestCasesRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTestRunTestCasesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "ListTestRunTestCases", - "documentation": "Grants permission to list test cases for a test run" - }, - "smithy.api#documentation": "

Lists test run test cases.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testruns/{testRunId}/testcases", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "testRunTestCases" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTestRunTestCasesRequest": { - "type": "structure", - "members": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test cases.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from a previous request to retrieve the next page of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.apptest#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of test run test cases to return in one page of results.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTestRunTestCasesResponse": { - "type": "structure", - "members": { - "testRunTestCases": { - "target": "com.amazonaws.apptest#TestCaseRunSummaryList", - "traits": { - "smithy.api#documentation": "

The test run of the test cases.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from a previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ListTestRuns": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTestRunsRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTestRunsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "ListTestRuns", - "documentation": "Grants permission to list test runs" - }, - "smithy.api#documentation": "

Lists test runs.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testruns", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "testRuns" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTestRunsRequest": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test runs.

", - "smithy.api#httpQuery": "testSuiteId" - } - }, - "testRunIds": { - "target": "com.amazonaws.apptest#TestRunIdList", - "traits": { - "smithy.api#documentation": "

The test run IDs of the test runs.

", - "smithy.api#httpQuery": "testrunIds" - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from the previous request to retrieve the next page of test run results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.apptest#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of test runs to return in one page of results.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTestRunsResponse": { - "type": "structure", - "members": { - "testRuns": { - "target": "com.amazonaws.apptest#TestRunSummaryList", - "traits": { - "smithy.api#documentation": "

The test runs of the response query.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from the previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ListTestSuites": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#ListTestSuitesRequest" - }, - "output": { - "target": "com.amazonaws.apptest#ListTestSuitesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "ListTestSuites", - "documentation": "Grants permission to list test suites" - }, - "smithy.api#documentation": "

Lists test suites.

", - "smithy.api#http": { - "method": "GET", - "uri": "/testsuites", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "testSuites" - }, - "smithy.api#readonly": {} - } - }, - "com.amazonaws.apptest#ListTestSuitesRequest": { - "type": "structure", - "members": { - "testSuiteIds": { - "target": "com.amazonaws.apptest#TestSuiteIdList", - "traits": { - "smithy.api#documentation": "

The suite ID of the test suites.

", - "smithy.api#httpQuery": "testSuiteIds" - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from a previous request to retrieve the next page of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "maxResults": { - "target": "com.amazonaws.apptest#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of test suites to return in one page of results.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#ListTestSuitesResponse": { - "type": "structure", - "members": { - "testSuites": { - "target": "com.amazonaws.apptest#TestSuiteList", - "traits": { - "smithy.api#documentation": "

The test suites returned with the response query.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.apptest#NextToken", - "traits": { - "smithy.api#documentation": "

The token from a previous request to retrieve the next page of test suites results.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#M2ManagedActionProperties": { - "type": "structure", - "members": { - "forceStop": { - "target": "smithy.api#Boolean", - "traits": { - "smithy.api#documentation": "

Force stops the AWS Mainframe Modernization managed action properties.

" - } - }, - "importDataSetLocation": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The import data set location of the AWS Mainframe Modernization managed action properties.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed action properties.

" - } - }, - "com.amazonaws.apptest#M2ManagedActionType": { - "type": "enum", - "members": { - "CONFIGURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Configure" - } - }, - "DECONFIGURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deconfigure" - } - } - } - }, - "com.amazonaws.apptest#M2ManagedApplication": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The application ID of the AWS Mainframe Modernization managed application.

", - "smithy.api#required": {} - } - }, - "runtime": { - "target": "com.amazonaws.apptest#M2ManagedRuntime", - "traits": { - "smithy.api#documentation": "

The runtime of the AWS Mainframe Modernization managed application.

", - "smithy.api#required": {} - } - }, - "vpcEndpointServiceName": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The VPC endpoint service name of the AWS Mainframe Modernization managed application.

" - } - }, - "listenerPort": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The listener port of the AWS Mainframe Modernization managed application.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed application.

" - } - }, - "com.amazonaws.apptest#M2ManagedApplicationAction": { - "type": "structure", - "members": { - "resource": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The resource of the AWS Mainframe Modernization managed application action.

", - "smithy.api#required": {} - } - }, - "actionType": { - "target": "com.amazonaws.apptest#M2ManagedActionType", - "traits": { - "smithy.api#documentation": "

The action type of the AWS Mainframe Modernization managed application action.

", - "smithy.api#required": {} - } - }, - "properties": { - "target": "com.amazonaws.apptest#M2ManagedActionProperties", - "traits": { - "smithy.api#documentation": "

The properties of the AWS Mainframe Modernization managed application action.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed application action.

" - } - }, - "com.amazonaws.apptest#M2ManagedApplicationStepInput": { - "type": "structure", - "members": { - "applicationId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The application ID of the AWS Mainframe Modernization managed application step input.

", - "smithy.api#required": {} - } - }, - "runtime": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The runtime of the AWS Mainframe Modernization managed application step input.

", - "smithy.api#required": {} - } - }, - "vpcEndpointServiceName": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The VPC endpoint service name of the AWS Mainframe Modernization managed application step input.

" - } - }, - "listenerPort": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The listener port of the AWS Mainframe Modernization managed application step input.

" - } - }, - "actionType": { - "target": "com.amazonaws.apptest#M2ManagedActionType", - "traits": { - "smithy.api#documentation": "

The action type of the AWS Mainframe Modernization managed application step input.

", - "smithy.api#required": {} - } - }, - "properties": { - "target": "com.amazonaws.apptest#M2ManagedActionProperties", - "traits": { - "smithy.api#documentation": "

The properties of the AWS Mainframe Modernization managed application step input.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed application step input.

" - } - }, - "com.amazonaws.apptest#M2ManagedApplicationStepOutput": { - "type": "structure", - "members": { - "importDataSetSummary": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The import data set summary of the AWS Mainframe Modernization managed application step output.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed application step output.

" - } - }, - "com.amazonaws.apptest#M2ManagedApplicationStepSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#M2ManagedApplicationStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the AWS Mainframe Modernization managed application step summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#M2ManagedApplicationStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the AWS Mainframe Modernization managed application step summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed application step summary.

" - } - }, - "com.amazonaws.apptest#M2ManagedApplicationSummary": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The application ID of the AWS Mainframe Modernization managed application summary.

", - "smithy.api#required": {} - } - }, - "runtime": { - "target": "com.amazonaws.apptest#M2ManagedRuntime", - "traits": { - "smithy.api#documentation": "

The runtime of the AWS Mainframe Modernization managed application summary.

", - "smithy.api#required": {} - } - }, - "listenerPort": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The listener port of the AWS Mainframe Modernization managed application summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization managed application summary.

" - } - }, - "com.amazonaws.apptest#M2ManagedRuntime": { - "type": "enum", - "members": { - "MICROFOCUS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MicroFocus" - } - } - } - }, - "com.amazonaws.apptest#M2NonManagedActionType": { - "type": "enum", - "members": { - "CONFIGURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Configure" - } - }, - "DECONFIGURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deconfigure" - } - } - } - }, - "com.amazonaws.apptest#M2NonManagedApplication": { - "type": "structure", - "members": { - "vpcEndpointServiceName": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The VPC endpoint service name of the AWS Mainframe Modernization non-managed application.

", - "smithy.api#required": {} - } - }, - "listenerPort": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The listener port of the AWS Mainframe Modernization non-managed application.

", - "smithy.api#required": {} - } - }, - "runtime": { - "target": "com.amazonaws.apptest#M2NonManagedRuntime", - "traits": { - "smithy.api#documentation": "

The runtime of the AWS Mainframe Modernization non-managed application.

", - "smithy.api#required": {} - } - }, - "webAppName": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The web application name of the AWS Mainframe Modernization non-managed application.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization non-managed application.

" - } - }, - "com.amazonaws.apptest#M2NonManagedApplicationAction": { - "type": "structure", - "members": { - "resource": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The resource of the AWS Mainframe Modernization non-managed application action.

", - "smithy.api#required": {} - } - }, - "actionType": { - "target": "com.amazonaws.apptest#M2NonManagedActionType", - "traits": { - "smithy.api#documentation": "

The action type of the AWS Mainframe Modernization non-managed application action.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization non-managed application action.

" - } - }, - "com.amazonaws.apptest#M2NonManagedApplicationStepInput": { - "type": "structure", - "members": { - "vpcEndpointServiceName": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The VPC endpoint service name of the AWS Mainframe Modernization non-managed application step input.

", - "smithy.api#required": {} - } - }, - "listenerPort": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The listener port of the AWS Mainframe Modernization non-managed application step input.

", - "smithy.api#required": {} - } - }, - "runtime": { - "target": "com.amazonaws.apptest#M2NonManagedRuntime", - "traits": { - "smithy.api#documentation": "

The runtime of the AWS Mainframe Modernization non-managed application step input.

", - "smithy.api#required": {} - } - }, - "webAppName": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The web app name of the AWS Mainframe Modernization non-managed application step input.

" - } - }, - "actionType": { - "target": "com.amazonaws.apptest#M2NonManagedActionType", - "traits": { - "smithy.api#documentation": "

The action type of the AWS Mainframe Modernization non-managed application step input.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization non-managed application step input.

" - } - }, - "com.amazonaws.apptest#M2NonManagedApplicationStepOutput": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization non-managed application step output.

" - } - }, - "com.amazonaws.apptest#M2NonManagedApplicationStepSummary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#M2NonManagedApplicationStepInput", - "traits": { - "smithy.api#documentation": "

The step input of the AWS Mainframe Modernization non-managed application step summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#M2NonManagedApplicationStepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the AWS Mainframe Modernization non-managed application step summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization non-managed application step summary.

" - } - }, - "com.amazonaws.apptest#M2NonManagedApplicationSummary": { - "type": "structure", - "members": { - "vpcEndpointServiceName": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The VPC endpoint service name of the AWS Mainframe Modernization non-managed application summary.

", - "smithy.api#required": {} - } - }, - "listenerPort": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The listener port of the AWS Mainframe Modernization non-managed application summary.

", - "smithy.api#required": {} - } - }, - "runtime": { - "target": "com.amazonaws.apptest#M2NonManagedRuntime", - "traits": { - "smithy.api#documentation": "

The runtime of the AWS Mainframe Modernization non-managed application summary.

", - "smithy.api#required": {} - } - }, - "webAppName": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The web application name of the AWS Mainframe Modernization non-managed application summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the AWS Mainframe Modernization non-managed application summary.

" - } - }, - "com.amazonaws.apptest#M2NonManagedRuntime": { - "type": "enum", - "members": { - "BLUAGE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BluAge" - } - } - } - }, - "com.amazonaws.apptest#MainframeAction": { - "type": "structure", - "members": { - "resource": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The resource of the mainframe action.

", - "smithy.api#required": {} - } - }, - "actionType": { - "target": "com.amazonaws.apptest#MainframeActionType", - "traits": { - "smithy.api#documentation": "

The action type of the mainframe action.

", - "smithy.api#required": {} - } - }, - "properties": { - "target": "com.amazonaws.apptest#MainframeActionProperties", - "traits": { - "smithy.api#documentation": "

The properties of the mainframe action.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the mainframe action.

" - } - }, - "com.amazonaws.apptest#MainframeActionProperties": { - "type": "structure", - "members": { - "dmsTaskArn": { - "target": "com.amazonaws.apptest#Variable", - "traits": { - "smithy.api#documentation": "

The DMS task ARN of the mainframe action properties.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the mainframe action properties.

" - } - }, - "com.amazonaws.apptest#MainframeActionSummary": { - "type": "union", - "members": { - "batch": { - "target": "com.amazonaws.apptest#BatchSummary", - "traits": { - "smithy.api#documentation": "

The batch of the mainframe action summary.

" - } - }, - "tn3270": { - "target": "com.amazonaws.apptest#TN3270Summary", - "traits": { - "smithy.api#documentation": "

The tn3270 port of the mainframe action summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the mainframe action summary.

" - } - }, - "com.amazonaws.apptest#MainframeActionType": { - "type": "union", - "members": { - "batch": { - "target": "com.amazonaws.apptest#Batch", - "traits": { - "smithy.api#documentation": "

The batch of the mainframe action type.

" - } - }, - "tn3270": { - "target": "com.amazonaws.apptest#TN3270", - "traits": { - "smithy.api#documentation": "

The tn3270 port of the mainframe action type.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the mainframe action type.

" - } - }, - "com.amazonaws.apptest#MainframeResourceSummary": { - "type": "union", - "members": { - "m2ManagedApplication": { - "target": "com.amazonaws.apptest#M2ManagedApplicationSummary", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization managed application in the mainframe resource summary.

" - } - }, - "m2NonManagedApplication": { - "target": "com.amazonaws.apptest#M2NonManagedApplicationSummary", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization non-managed application in the mainframe resource summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the mainframe resource summary.

" - } - }, - "com.amazonaws.apptest#MaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.apptest#NextToken": { - "type": "string", - "traits": { - "smithy.api#pattern": "^\\S{1,2000}$" - } - }, - "com.amazonaws.apptest#Output": { - "type": "union", - "members": { - "file": { - "target": "com.amazonaws.apptest#OutputFile", - "traits": { - "smithy.api#documentation": "

The file of the output.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies an output.

" - } - }, - "com.amazonaws.apptest#OutputFile": { - "type": "structure", - "members": { - "fileLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The file location of the output file.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies an output file.

" - } - }, - "com.amazonaws.apptest#Properties": { - "type": "map", - "key": { - "target": "smithy.api#String" - }, - "value": { - "target": "smithy.api#String" - } - }, - "com.amazonaws.apptest#Resource": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the resource.

", - "smithy.api#required": {} - } - }, - "type": { - "target": "com.amazonaws.apptest#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a resource.

" - } - }, - "com.amazonaws.apptest#ResourceAction": { - "type": "union", - "members": { - "m2ManagedApplicationAction": { - "target": "com.amazonaws.apptest#M2ManagedApplicationAction", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization managed application action of the resource action.

" - } - }, - "m2NonManagedApplicationAction": { - "target": "com.amazonaws.apptest#M2NonManagedApplicationAction", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization non-managed application action of the resource action.

" - } - }, - "cloudFormationAction": { - "target": "com.amazonaws.apptest#CloudFormationAction", - "traits": { - "smithy.api#documentation": "

The CloudFormation action of the resource action.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a resource action.

" - } - }, - "com.amazonaws.apptest#ResourceActionSummary": { - "type": "union", - "members": { - "cloudFormation": { - "target": "com.amazonaws.apptest#CloudFormationStepSummary", - "traits": { - "smithy.api#documentation": "

The CloudFormation template of the resource action summary.

" - } - }, - "m2ManagedApplication": { - "target": "com.amazonaws.apptest#M2ManagedApplicationStepSummary", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization managed application of the resource action summary.

" - } - }, - "m2NonManagedApplication": { - "target": "com.amazonaws.apptest#M2NonManagedApplicationStepSummary", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization non-managed application of the resource action summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the resource action summary.

" - } - }, - "com.amazonaws.apptest#ResourceDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1000 - } - } - }, - "com.amazonaws.apptest#ResourceList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Resource" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 20 - } - } - }, - "com.amazonaws.apptest#ResourceName": { - "type": "string", - "traits": { - "smithy.api#pattern": "^[A-Za-z][A-Za-z0-9_\\-]{1,59}$" - } - }, - "com.amazonaws.apptest#ResourceNotFoundException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - }, - "resourceId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The resource ID of the resource not found.

" - } - }, - "resourceType": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The resource type of the resource not found.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource was not found.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.apptest#ResourceType": { - "type": "union", - "members": { - "cloudFormation": { - "target": "com.amazonaws.apptest#CloudFormation", - "traits": { - "smithy.api#documentation": "

The CloudFormation template of the resource type.

" - } - }, - "m2ManagedApplication": { - "target": "com.amazonaws.apptest#M2ManagedApplication", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization managed application of the resource type.

" - } - }, - "m2NonManagedApplication": { - "target": "com.amazonaws.apptest#M2NonManagedApplication", - "traits": { - "smithy.api#documentation": "

The AWS Mainframe Modernization non-managed application of the resource type.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the resource type.

" - } - }, - "com.amazonaws.apptest#S3Uri": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - } - } - }, - "com.amazonaws.apptest#Script": { - "type": "structure", - "members": { - "scriptLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The script location of the scripts.

", - "smithy.api#required": {} - } - }, - "type": { - "target": "com.amazonaws.apptest#ScriptType", - "traits": { - "smithy.api#documentation": "

The type of the scripts.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the script.

" - } - }, - "com.amazonaws.apptest#ScriptSummary": { - "type": "structure", - "members": { - "scriptLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The script location of the script summary.

", - "smithy.api#required": {} - } - }, - "type": { - "target": "com.amazonaws.apptest#ScriptType", - "traits": { - "smithy.api#documentation": "

The type of the script summary.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the scripts summary.

" - } - }, - "com.amazonaws.apptest#ScriptType": { - "type": "enum", - "members": { - "SELENIUM": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Selenium" - } - } - } - }, - "com.amazonaws.apptest#ServiceQuotaExceededException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - }, - "resourceId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The resource ID of AWS Application Testing that exceeded the limit.

" - } - }, - "resourceType": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The resource type of AWS Application Testing that exceeded the limit.

" - } - }, - "serviceCode": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The service code of AWS Application Testing that exceeded the limit.

" - } - }, - "quotaCode": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The quote codes of AWS Application Testing that exceeded the limit.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

One or more quotas for AWS Application Testing exceeds the limit.

", - "smithy.api#error": "client", - "smithy.api#httpError": 402 - } - }, - "com.amazonaws.apptest#ServiceSettings": { - "type": "structure", - "members": { - "kmsKeyId": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The KMS key ID of the service settings.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the service settings.

" - } - }, - "com.amazonaws.apptest#SourceDatabase": { - "type": "enum", - "members": { - "Z_OS_DB2": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "z/OS-DB2" - } - } - } - }, - "com.amazonaws.apptest#SourceDatabaseMetadata": { - "type": "structure", - "members": { - "type": { - "target": "com.amazonaws.apptest#SourceDatabase", - "traits": { - "smithy.api#documentation": "

The type of the source database metadata.

", - "smithy.api#required": {} - } - }, - "captureTool": { - "target": "com.amazonaws.apptest#CaptureTool", - "traits": { - "smithy.api#documentation": "

The capture tool of the source database metadata.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the source database metadata.

" - } - }, - "com.amazonaws.apptest#StartTestRun": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#StartTestRunRequest" - }, - "output": { - "target": "com.amazonaws.apptest#StartTestRunResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#conditionKeys": [ - "aws:RequestTag/${TagKey}", - "aws:TagKeys" - ], - "aws.iam#iamAction": { - "name": "StartTestRun", - "documentation": "Grants permission to start a test run", - "createsResources": [ - "TestRun" - ], - "requiredActions": [ - "cloudformation:CreateStack", - "cloudformation:DeleteStack", - "cloudformation:DescribeStacks", - "dms:DescribeReplicationTasks", - "dms:StartReplicationTask", - "dms:StopReplicationTask", - "ec2:DescribeAvailabilityZones", - "ec2:DescribeVpcEndpointServiceConfigurations", - "ec2:DescribeVpcEndpointServices", - "m2:CreateDataSetImportTask", - "m2:GetApplication", - "m2:GetBatchJobExecution", - "m2:GetDataSetDetails", - "m2:GetDataSetImportTask", - "m2:StartApplication", - "m2:StartBatchJob", - "m2:StopApplication", - "s3:DeleteObject", - "s3:DeleteObjects", - "s3:CopyObject", - "s3:HeadBucket", - "s3:CreateBucket", - "s3:UploadPart", - "s3:HeadObject", - "s3:CreateMultipartUpload", - "s3:CompleteMultipartUpload", - "s3:GetObject", - "s3:ListBucket", - "s3:PutObject", - "s3:ListObjectsV2" - ] - }, - "smithy.api#documentation": "

Starts a test run.

", - "smithy.api#http": { - "method": "POST", - "uri": "/testrun", - "code": 200 - } - } - }, - "com.amazonaws.apptest#StartTestRunRequest": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test run.

", - "smithy.api#required": {} - } - }, - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The configuration ID of the test run.

" - } - }, - "clientToken": { - "target": "com.amazonaws.apptest#IdempotencyTokenString", - "traits": { - "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The client token of the test run.

", - "smithy.api#idempotencyToken": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the test run.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#StartTestRunResponse": { - "type": "structure", - "members": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test run.

", - "smithy.api#required": {} - } - }, - "testRunStatus": { - "target": "com.amazonaws.apptest#TestRunStatus", - "traits": { - "smithy.api#documentation": "

The test run status of the test run.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#Step": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the step.

", - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the step.

" - } - }, - "action": { - "target": "com.amazonaws.apptest#StepAction", - "traits": { - "smithy.api#documentation": "

The action of the step.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines a step.

" - } - }, - "com.amazonaws.apptest#StepAction": { - "type": "union", - "members": { - "resourceAction": { - "target": "com.amazonaws.apptest#ResourceAction", - "traits": { - "smithy.api#documentation": "

The resource action of the step action.

" - } - }, - "mainframeAction": { - "target": "com.amazonaws.apptest#MainframeAction", - "traits": { - "smithy.api#documentation": "

The mainframe action of the step action.

" - } - }, - "compareAction": { - "target": "com.amazonaws.apptest#CompareAction", - "traits": { - "smithy.api#documentation": "

The compare action of the step action.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a step action.

" - } - }, - "com.amazonaws.apptest#StepList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Step" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 20 - } - } - }, - "com.amazonaws.apptest#StepRunStatus": { - "type": "enum", - "members": { - "SUCCESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Success" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "RUNNING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Running" - } - } - } - }, - "com.amazonaws.apptest#StepRunSummary": { - "type": "union", - "members": { - "mainframeAction": { - "target": "com.amazonaws.apptest#MainframeActionSummary", - "traits": { - "smithy.api#documentation": "

The mainframe action of the step run summary.

" - } - }, - "compareAction": { - "target": "com.amazonaws.apptest#CompareActionSummary", - "traits": { - "smithy.api#documentation": "

The compare action of the step run summary.

" - } - }, - "resourceAction": { - "target": "com.amazonaws.apptest#ResourceActionSummary", - "traits": { - "smithy.api#documentation": "

The resource action of the step run summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Defines the step run summary.

" - } - }, - "com.amazonaws.apptest#String100": { - "type": "string", - "traits": { - "smithy.api#pattern": "^\\S{1,100}$" - } - }, - "com.amazonaws.apptest#String50": { - "type": "string", - "traits": { - "smithy.api#pattern": "^\\S{1,50}$" - } - }, - "com.amazonaws.apptest#TN3270": { - "type": "structure", - "members": { - "script": { - "target": "com.amazonaws.apptest#Script", - "traits": { - "smithy.api#documentation": "

The script of the TN3270 protocol.

", - "smithy.api#required": {} - } - }, - "exportDataSetNames": { - "target": "com.amazonaws.apptest#ExportDataSetNames", - "traits": { - "smithy.api#documentation": "

The data set names of the TN3270 protocol.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the TN3270 protocol.

" - } - }, - "com.amazonaws.apptest#TN3270StepInput": { - "type": "structure", - "members": { - "resource": { - "target": "com.amazonaws.apptest#MainframeResourceSummary", - "traits": { - "smithy.api#documentation": "

The resource of the TN3270 step input.

", - "smithy.api#required": {} - } - }, - "script": { - "target": "com.amazonaws.apptest#ScriptSummary", - "traits": { - "smithy.api#documentation": "

The script of the TN3270 step input.

", - "smithy.api#required": {} - } - }, - "exportDataSetNames": { - "target": "com.amazonaws.apptest#ExportDataSetNames", - "traits": { - "smithy.api#documentation": "

The export data set names of the TN3270 step input.

" - } - }, - "properties": { - "target": "com.amazonaws.apptest#MainframeActionProperties", - "traits": { - "smithy.api#documentation": "

The properties of the TN3270 step input.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a TN3270 step input.

" - } - }, - "com.amazonaws.apptest#TN3270StepOutput": { - "type": "structure", - "members": { - "dataSetExportLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The data set export location of the TN3270 step output.

" - } - }, - "dmsOutputLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The output location of the TN3270 step output.

" - } - }, - "dataSetDetails": { - "target": "com.amazonaws.apptest#DataSetList", - "traits": { - "smithy.api#documentation": "

The data set details of the TN3270 step output.

" - } - }, - "scriptOutputLocation": { - "target": "com.amazonaws.apptest#S3Uri", - "traits": { - "smithy.api#documentation": "

The script output location of the TN3270 step output.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a TN3270 step output.

" - } - }, - "com.amazonaws.apptest#TN3270Summary": { - "type": "structure", - "members": { - "stepInput": { - "target": "com.amazonaws.apptest#TN3270StepInput", - "traits": { - "smithy.api#documentation": "

The step input of the TN3270 summary.

", - "smithy.api#required": {} - } - }, - "stepOutput": { - "target": "com.amazonaws.apptest#TN3270StepOutput", - "traits": { - "smithy.api#documentation": "

The step output of the TN3270 summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a TN3270 summary.

" - } - }, - "com.amazonaws.apptest#TagKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^(?!aws:).+$" - } - }, - "com.amazonaws.apptest#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TagKey" - } - }, - "com.amazonaws.apptest#TagMap": { - "type": "map", - "key": { - "target": "com.amazonaws.apptest#TagKey" - }, - "value": { - "target": "com.amazonaws.apptest#TagValue" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.apptest#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.apptest#TagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#conditionKeys": [ - "aws:RequestTag/${TagKey}", - "aws:TagKeys" - ], - "aws.iam#iamAction": { - "name": "TagResource", - "documentation": "Grants permission to tag a resource", - "requiredActions": [], - "resources": { - "required": {}, - "optional": {} - } - }, - "smithy.api#documentation": "

Specifies tags of a resource.

", - "smithy.api#http": { - "method": "POST", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.apptest#TagResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the tag resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.apptest#TagMap", - "traits": { - "smithy.api#documentation": "

The tags of the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "aws.api#data": "tagging", - "smithy.api#input": {}, - "smithy.api#references": [ - { - "resource": "com.amazonaws.apptest#TestCase", - "ids": { - "testCaseId": "resourceArn" - } - }, - { - "resource": "com.amazonaws.apptest#TestSuite", - "ids": { - "testSuiteId": "resourceArn" - } - }, - { - "resource": "com.amazonaws.apptest#TestConfiguration", - "ids": { - "testConfigurationId": "resourceArn" - } - }, - { - "resource": "com.amazonaws.apptest#TestRun", - "ids": { - "testRunId": "resourceArn" - } - } - ] - } - }, - "com.amazonaws.apptest#TagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#TagValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - } - } - }, - "com.amazonaws.apptest#TargetDatabase": { - "type": "enum", - "members": { - "POSTGRESQL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PostgreSQL" - } - } - } - }, - "com.amazonaws.apptest#TargetDatabaseMetadata": { - "type": "structure", - "members": { - "type": { - "target": "com.amazonaws.apptest#TargetDatabase", - "traits": { - "smithy.api#documentation": "

The type of the target database metadata.

", - "smithy.api#required": {} - } - }, - "captureTool": { - "target": "com.amazonaws.apptest#CaptureTool", - "traits": { - "smithy.api#documentation": "

The capture tool of the target database metadata.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a target database metadata.

" - } - }, - "com.amazonaws.apptest#TestCase": { - "type": "resource", - "identifiers": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "create": { - "target": "com.amazonaws.apptest#CreateTestCase" - }, - "read": { - "target": "com.amazonaws.apptest#GetTestCase" - }, - "update": { - "target": "com.amazonaws.apptest#UpdateTestCase" - }, - "delete": { - "target": "com.amazonaws.apptest#DeleteTestCase" - }, - "list": { - "target": "com.amazonaws.apptest#ListTestCases" - }, - "traits": { - "aws.api#arn": { - "template": "testcase/{testCaseId}" - }, - "aws.iam#conditionKeys": [ - "aws:ResourceTag/${TagKey}" - ], - "aws.iam#disableConditionKeyInference": {} - } - }, - "com.amazonaws.apptest#TestCaseIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "com.amazonaws.apptest#TestCaseLatestVersion": { - "type": "structure", - "members": { - "version": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The version of the test case latest version.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestCaseLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test case latest version.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test case latest version.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the latest version of a test case.

" - } - }, - "com.amazonaws.apptest#TestCaseLifecycle": { - "type": "enum", - "members": { - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Active" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deleting" - } - } - } - }, - "com.amazonaws.apptest#TestCaseList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "com.amazonaws.apptest#TestCaseRunStatus": { - "type": "enum", - "members": { - "SUCCESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Success" - } - }, - "RUNNING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Running" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - } - } - }, - "com.amazonaws.apptest#TestCaseRunSummary": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case id of the test case run summary.

", - "smithy.api#required": {} - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test case version of the test case run summary.

", - "smithy.api#required": {} - } - }, - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run id of the test case run summary.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestCaseRunStatus", - "traits": { - "smithy.api#documentation": "

The status of the test case run summary.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test case run summary.

" - } - }, - "runStartTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run start time of the test case run summary.

", - "smithy.api#required": {} - } - }, - "runEndTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run end time of the test case run summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the test case run summary.

" - } - }, - "com.amazonaws.apptest#TestCaseRunSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TestCaseRunSummary" - } - }, - "com.amazonaws.apptest#TestCaseSummary": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test case summary.

", - "smithy.api#required": {} - } - }, - "testCaseArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The test case Amazon Resource Name (ARN) of the test case summary.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test case summary.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test case summary.

" - } - }, - "latestVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The latest version of the test case summary.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestCaseLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test case summary.

", - "smithy.api#required": {} - } - }, - "creationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The creation time of the test case summary.

", - "smithy.api#required": {} - } - }, - "lastUpdateTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The last update time of the test case summary.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a test case summary.

" - } - }, - "com.amazonaws.apptest#TestCaseSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TestCaseSummary" - } - }, - "com.amazonaws.apptest#TestCases": { - "type": "union", - "members": { - "sequential": { - "target": "com.amazonaws.apptest#TestCaseList", - "traits": { - "smithy.api#documentation": "

The sequential of the test case.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies test cases.

" - } - }, - "com.amazonaws.apptest#TestConfiguration": { - "type": "resource", - "identifiers": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "create": { - "target": "com.amazonaws.apptest#CreateTestConfiguration" - }, - "read": { - "target": "com.amazonaws.apptest#GetTestConfiguration" - }, - "update": { - "target": "com.amazonaws.apptest#UpdateTestConfiguration" - }, - "delete": { - "target": "com.amazonaws.apptest#DeleteTestConfiguration" - }, - "list": { - "target": "com.amazonaws.apptest#ListTestConfigurations" - }, - "traits": { - "aws.api#arn": { - "template": "testconfiguration/{testConfigurationId}" - }, - "aws.iam#conditionKeys": [ - "aws:ResourceTag/${TagKey}" - ], - "aws.iam#disableConditionKeyInference": {} - } - }, - "com.amazonaws.apptest#TestConfigurationIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "com.amazonaws.apptest#TestConfigurationLatestVersion": { - "type": "structure", - "members": { - "version": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The version of the test configuration latest version.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestConfigurationLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test configuration latest version.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test configuration latest version.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the latest version of the test configuration.

" - } - }, - "com.amazonaws.apptest#TestConfigurationLifecycle": { - "type": "enum", - "members": { - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Active" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deleting" - } - } - } - }, - "com.amazonaws.apptest#TestConfigurationList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TestConfigurationSummary" - } - }, - "com.amazonaws.apptest#TestConfigurationSummary": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test configuration ID of the test configuration summary.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test configuration summary.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test configuration summary.

" - } - }, - "latestVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The latest version of the test configuration summary.

", - "smithy.api#required": {} - } - }, - "testConfigurationArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The test configuration ARN of the test configuration summary.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestConfigurationLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test configuration summary.

", - "smithy.api#required": {} - } - }, - "creationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The creation time of the test configuration summary.

", - "smithy.api#required": {} - } - }, - "lastUpdateTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The last update time of the test configuration summary.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a test configuration summary.

" - } - }, - "com.amazonaws.apptest#TestRun": { - "type": "resource", - "identifiers": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "create": { - "target": "com.amazonaws.apptest#StartTestRun" - }, - "delete": { - "target": "com.amazonaws.apptest#DeleteTestRun" - }, - "list": { - "target": "com.amazonaws.apptest#ListTestRuns" - }, - "operations": [ - { - "target": "com.amazonaws.apptest#GetTestRunStep" - }, - { - "target": "com.amazonaws.apptest#ListTestRunSteps" - }, - { - "target": "com.amazonaws.apptest#ListTestRunTestCases" - } - ], - "traits": { - "aws.api#arn": { - "template": "testrun/{testRunId}" - }, - "aws.iam#conditionKeys": [ - "aws:ResourceTag/${TagKey}" - ], - "aws.iam#disableConditionKeyInference": {} - } - }, - "com.amazonaws.apptest#TestRunIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "com.amazonaws.apptest#TestRunStatus": { - "type": "enum", - "members": { - "SUCCESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Success" - } - }, - "RUNNING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Running" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deleting" - } - } - } - }, - "com.amazonaws.apptest#TestRunStepSummary": { - "type": "structure", - "members": { - "stepName": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The step name of the test run step summary.

", - "smithy.api#required": {} - } - }, - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test run step summary.

", - "smithy.api#required": {} - } - }, - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test run step summary.

" - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test case version of the test run step summary.

" - } - }, - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test run step summary.

" - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test suite version of the test run step summary.

" - } - }, - "beforeStep": { - "target": "smithy.api#Boolean", - "traits": { - "smithy.api#documentation": "

The before step of the test run step summary.

" - } - }, - "afterStep": { - "target": "smithy.api#Boolean", - "traits": { - "smithy.api#documentation": "

The after step of the test run step summary.

" - } - }, - "status": { - "target": "com.amazonaws.apptest#StepRunStatus", - "traits": { - "smithy.api#documentation": "

The status of the test run step summary.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test run step summary.

" - } - }, - "runStartTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run start time of the test run step summary.

", - "smithy.api#required": {} - } - }, - "runEndTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run end time of the test run step summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a test run step summary.

" - } - }, - "com.amazonaws.apptest#TestRunStepSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TestRunStepSummary" - } - }, - "com.amazonaws.apptest#TestRunSummary": { - "type": "structure", - "members": { - "testRunId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test run ID of the test run summary.

", - "smithy.api#required": {} - } - }, - "testRunArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The test run ARN of the test run summary.

", - "smithy.api#required": {} - } - }, - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test run summary.

", - "smithy.api#required": {} - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test suite version of the test run summary.

", - "smithy.api#required": {} - } - }, - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test configuration ID of the test run summary.

" - } - }, - "testConfigurationVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test configuration version of the test run summary.

" - } - }, - "status": { - "target": "com.amazonaws.apptest#TestRunStatus", - "traits": { - "smithy.api#documentation": "

The status of the test run summary.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test run summary.

" - } - }, - "runStartTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run start time of the test run summary.

", - "smithy.api#required": {} - } - }, - "runEndTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The run end time of the test run summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a test run summary.

" - } - }, - "com.amazonaws.apptest#TestRunSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TestRunSummary" - } - }, - "com.amazonaws.apptest#TestSuite": { - "type": "resource", - "identifiers": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "create": { - "target": "com.amazonaws.apptest#CreateTestSuite" - }, - "read": { - "target": "com.amazonaws.apptest#GetTestSuite" - }, - "update": { - "target": "com.amazonaws.apptest#UpdateTestSuite" - }, - "delete": { - "target": "com.amazonaws.apptest#DeleteTestSuite" - }, - "list": { - "target": "com.amazonaws.apptest#ListTestSuites" - }, - "traits": { - "aws.api#arn": { - "template": "testsuite/{testSuiteId}" - }, - "aws.iam#conditionKeys": [ - "aws:ResourceTag/${TagKey}" - ], - "aws.iam#disableConditionKeyInference": {} - } - }, - "com.amazonaws.apptest#TestSuiteIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#Identifier" - } - }, - "com.amazonaws.apptest#TestSuiteLatestVersion": { - "type": "structure", - "members": { - "version": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The version of the test suite latest version.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestSuiteLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test suite latest version.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test suite latest version.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the latest version of a test suite.

" - } - }, - "com.amazonaws.apptest#TestSuiteLifecycle": { - "type": "enum", - "members": { - "CREATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Creating" - } - }, - "UPDATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Updating" - } - }, - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Active" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deleting" - } - } - } - }, - "com.amazonaws.apptest#TestSuiteList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#TestSuiteSummary" - } - }, - "com.amazonaws.apptest#TestSuiteSummary": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test suite summary.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.apptest#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the test suite summary.

", - "smithy.api#required": {} - } - }, - "statusReason": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The status reason of the test suite summary.

" - } - }, - "latestVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The latest version of the test suite summary.

", - "smithy.api#required": {} - } - }, - "testSuiteArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The test suite Amazon Resource Name (ARN) of the test suite summary.

", - "smithy.api#required": {} - } - }, - "status": { - "target": "com.amazonaws.apptest#TestSuiteLifecycle", - "traits": { - "smithy.api#documentation": "

The status of the test suite summary.

", - "smithy.api#required": {} - } - }, - "creationTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The creation time of the test suite summary.

", - "smithy.api#required": {} - } - }, - "lastUpdateTime": { - "target": "smithy.api#Timestamp", - "traits": { - "smithy.api#documentation": "

The last update time of the test suite summary.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the test suite summary.

" - } - }, - "com.amazonaws.apptest#ThrottlingException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - }, - "serviceCode": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The service code of requests that exceed the limit.

" - } - }, - "quotaCode": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The quota code of requests that exceed the limit.

" - } - }, - "retryAfterSeconds": { - "target": "smithy.api#Integer", - "traits": { - "smithy.api#documentation": "

The number of seconds to retry after for requests that exceed the limit.

", - "smithy.api#httpHeader": "Retry-After" - } - } - }, - "traits": { - "smithy.api#documentation": "

The number of requests made exceeds the limit.

", - "smithy.api#error": "client", - "smithy.api#httpError": 429, - "smithy.api#retryable": { - "throttling": true - } - } - }, - "com.amazonaws.apptest#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#UntagResourceRequest" - }, - "output": { - "target": "com.amazonaws.apptest#UntagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#conditionKeys": [ - "aws:TagKeys" - ], - "aws.iam#iamAction": { - "documentation": "Grants permission to untag a resource" - }, - "smithy.api#documentation": "

Untags a resource.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/tags/{resourceArn}", - "code": 200 - }, - "smithy.api#idempotent": {} - } - }, - "com.amazonaws.apptest#UntagResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.apptest#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "tagKeys": { - "target": "com.amazonaws.apptest#TagKeyList", - "traits": { - "smithy.api#documentation": "

The tag keys of the resource.

", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - } - }, - "traits": { - "aws.api#data": "tagging", - "smithy.api#input": {}, - "smithy.api#references": [ - { - "resource": "com.amazonaws.apptest#TestCase", - "ids": { - "testCaseId": "resourceArn" - } - }, - { - "resource": "com.amazonaws.apptest#TestSuite", - "ids": { - "testSuiteId": "resourceArn" - } - }, - { - "resource": "com.amazonaws.apptest#TestConfiguration", - "ids": { - "testConfigurationId": "resourceArn" - } - }, - { - "resource": "com.amazonaws.apptest#TestRun", - "ids": { - "testRunId": "resourceArn" - } - } - ] - } - }, - "com.amazonaws.apptest#UntagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#UpdateTestCase": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#UpdateTestCaseRequest" - }, - "output": { - "target": "com.amazonaws.apptest#UpdateTestCaseResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "UpdateTestCase", - "documentation": "Grants permission to update a test case" - }, - "smithy.api#documentation": "

Updates a test case.

", - "smithy.api#http": { - "method": "PATCH", - "uri": "/testcases/{testCaseId}", - "code": 200 - } - } - }, - "com.amazonaws.apptest#UpdateTestCaseRequest": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test case.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test case.

" - } - }, - "steps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The steps of the test case.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#UpdateTestCaseResponse": { - "type": "structure", - "members": { - "testCaseId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test case ID of the test case.

", - "smithy.api#required": {} - } - }, - "testCaseVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test case version of the test case.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#UpdateTestConfiguration": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#UpdateTestConfigurationRequest" - }, - "output": { - "target": "com.amazonaws.apptest#UpdateTestConfigurationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "UpdateTestConfiguration", - "documentation": "Grants permission to update a test configuration" - }, - "smithy.api#documentation": "

Updates a test configuration.

", - "smithy.api#http": { - "method": "PATCH", - "uri": "/testconfigurations/{testConfigurationId}", - "code": 200 - } - } - }, - "com.amazonaws.apptest#UpdateTestConfigurationRequest": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test configuration ID of the test configuration.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test configuration.

" - } - }, - "resources": { - "target": "com.amazonaws.apptest#ResourceList", - "traits": { - "smithy.api#documentation": "

The resources of the test configuration.

" - } - }, - "properties": { - "target": "com.amazonaws.apptest#Properties", - "traits": { - "smithy.api#documentation": "

The properties of the test configuration.

" - } - }, - "serviceSettings": { - "target": "com.amazonaws.apptest#ServiceSettings", - "traits": { - "smithy.api#documentation": "

The service settings of the test configuration.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#UpdateTestConfigurationResponse": { - "type": "structure", - "members": { - "testConfigurationId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The configuration ID of the test configuration.

", - "smithy.api#required": {} - } - }, - "testConfigurationVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The configuration version of the test configuration.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#UpdateTestSuite": { - "type": "operation", - "input": { - "target": "com.amazonaws.apptest#UpdateTestSuiteRequest" - }, - "output": { - "target": "com.amazonaws.apptest#UpdateTestSuiteResponse" - }, - "errors": [ - { - "target": "com.amazonaws.apptest#AccessDeniedException" - }, - { - "target": "com.amazonaws.apptest#ConflictException" - }, - { - "target": "com.amazonaws.apptest#InternalServerException" - }, - { - "target": "com.amazonaws.apptest#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.apptest#ThrottlingException" - }, - { - "target": "com.amazonaws.apptest#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "name": "UpdateTestSuite", - "documentation": "Grants permission to update a test suite" - }, - "smithy.api#documentation": "

Updates a test suite.

", - "smithy.api#http": { - "method": "PATCH", - "uri": "/testsuites/{testSuiteId}", - "code": 200 - } - } - }, - "com.amazonaws.apptest#UpdateTestSuiteRequest": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test suite.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "description": { - "target": "com.amazonaws.apptest#ResourceDescription", - "traits": { - "smithy.api#documentation": "

The description of the test suite.

" - } - }, - "beforeSteps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The before steps for the test suite.

" - } - }, - "afterSteps": { - "target": "com.amazonaws.apptest#StepList", - "traits": { - "smithy.api#documentation": "

The after steps of the test suite.

" - } - }, - "testCases": { - "target": "com.amazonaws.apptest#TestCases", - "traits": { - "smithy.api#documentation": "

The test cases in the test suite.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.apptest#UpdateTestSuiteResponse": { - "type": "structure", - "members": { - "testSuiteId": { - "target": "com.amazonaws.apptest#Identifier", - "traits": { - "smithy.api#documentation": "

The test suite ID of the test suite.

", - "smithy.api#required": {} - } - }, - "testSuiteVersion": { - "target": "com.amazonaws.apptest#Version", - "traits": { - "smithy.api#documentation": "

The test suite version of the test suite.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.apptest#ValidationException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#required": {} - } - }, - "reason": { - "target": "com.amazonaws.apptest#ValidationExceptionReason", - "traits": { - "smithy.api#documentation": "

The reason for the validation exception.

" - } - }, - "fieldList": { - "target": "com.amazonaws.apptest#ValidationExceptionFieldList", - "traits": { - "smithy.api#documentation": "

The field list of the validation exception.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

One or more parameter provided in the request is not valid.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.apptest#ValidationExceptionField": { - "type": "structure", - "members": { - "name": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The name of the validation exception field.

", - "smithy.api#required": {} - } - }, - "message": { - "target": "smithy.api#String", - "traits": { - "smithy.api#documentation": "

The message stating reason for why service validation failed.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a validation exception field.

" - } - }, - "com.amazonaws.apptest#ValidationExceptionFieldList": { - "type": "list", - "member": { - "target": "com.amazonaws.apptest#ValidationExceptionField" - } - }, - "com.amazonaws.apptest#ValidationExceptionReason": { - "type": "enum", - "members": { - "UNKNOWN_OPERATION": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "unknownOperation" - } - }, - "CANNOT_PARSE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "cannotParse" - } - }, - "FIELD_VALIDATION_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "fieldValidationFailed" - } - }, - "OTHER": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "other" - } - } - } - }, - "com.amazonaws.apptest#Variable": { - "type": "string", - "traits": { - "smithy.api#pattern": "^\\S{1,1000}$" - } - }, - "com.amazonaws.apptest#Version": { - "type": "integer" - } - } -} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/arc-zonal-shift.json b/codegen/sdk-codegen/aws-models/arc-zonal-shift.json index 4539d81bf39..7dc8bd6705e 100644 --- a/codegen/sdk-codegen/aws-models/arc-zonal-shift.json +++ b/codegen/sdk-codegen/aws-models/arc-zonal-shift.json @@ -1438,27 +1438,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/artifact.json b/codegen/sdk-codegen/aws-models/artifact.json index 8567d57e38e..e2f2d164e89 100644 --- a/codegen/sdk-codegen/aws-models/artifact.json +++ b/codegen/sdk-codegen/aws-models/artifact.json @@ -135,26 +135,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/athena.json b/codegen/sdk-codegen/aws-models/athena.json index 6342089aa20..6f822380826 100644 --- a/codegen/sdk-codegen/aws-models/athena.json +++ b/codegen/sdk-codegen/aws-models/athena.json @@ -291,27 +291,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/auditmanager.json b/codegen/sdk-codegen/aws-models/auditmanager.json index b978cce2207..c2d9d0a8a3f 100644 --- a/codegen/sdk-codegen/aws-models/auditmanager.json +++ b/codegen/sdk-codegen/aws-models/auditmanager.json @@ -1946,27 +1946,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/auto-scaling-plans.json b/codegen/sdk-codegen/aws-models/auto-scaling-plans.json index 2b9caed1c29..f948a7b7353 100644 --- a/codegen/sdk-codegen/aws-models/auto-scaling-plans.json +++ b/codegen/sdk-codegen/aws-models/auto-scaling-plans.json @@ -74,27 +74,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -287,6 +287,44 @@ } ], "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-east-1" + ] + } + ], + "endpoint": { + "url": "https://autoscaling-plans.us-gov-east-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://autoscaling-plans.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [], "endpoint": { @@ -786,6 +824,19 @@ "UseDualStack": false } }, + { + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://autoscaling-plans.us-gov-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, { "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { @@ -800,29 +851,29 @@ } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.us-gov-east-1.api.aws" + "url": "https://autoscaling-plans.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://autoscaling-plans-fips.us-gov-east-1.amazonaws.com" + "url": "https://autoscaling-plans-fips.us-gov-east-1.api.aws" } }, "params": { "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { diff --git a/codegen/sdk-codegen/aws-models/auto-scaling.json b/codegen/sdk-codegen/aws-models/auto-scaling.json index 85c4b784638..6adcc39886d 100644 --- a/codegen/sdk-codegen/aws-models/auto-scaling.json +++ b/codegen/sdk-codegen/aws-models/auto-scaling.json @@ -1373,27 +1373,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/b2bi.json b/codegen/sdk-codegen/aws-models/b2bi.json index e77a6cc5d98..e87d710c2e2 100644 --- a/codegen/sdk-codegen/aws-models/b2bi.json +++ b/codegen/sdk-codegen/aws-models/b2bi.json @@ -110,27 +110,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/backup-gateway.json b/codegen/sdk-codegen/aws-models/backup-gateway.json index cd8dd098010..bf844aac8e2 100644 --- a/codegen/sdk-codegen/aws-models/backup-gateway.json +++ b/codegen/sdk-codegen/aws-models/backup-gateway.json @@ -149,27 +149,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/backup.json b/codegen/sdk-codegen/aws-models/backup.json index fbb1567639a..2624bf91fa2 100644 --- a/codegen/sdk-codegen/aws-models/backup.json +++ b/codegen/sdk-codegen/aws-models/backup.json @@ -50,7 +50,7 @@ "BackupOptions": { "target": "com.amazonaws.backup#BackupOptions", "traits": { - "smithy.api#documentation": "

Specifies the backup option for a selected resource. This option is only available for\n Windows VSS backup jobs.

\n

Valid values:

\n

Set to \"WindowsVSS\":\"enabled\" to enable the WindowsVSS backup\n option and create a Windows VSS backup.

\n

Set to \"WindowsVSS\":\"disabled\" to create a regular backup. The\n WindowsVSS option is not enabled by default.

\n

If you specify an invalid option, you get an InvalidParameterValueException\n exception.

\n

For more information about Windows VSS backups, see Creating a VSS-Enabled Windows\n Backup.

" + "smithy.api#documentation": "

Specifies the backup option for a selected resource. This option is available for\n Windows VSS backup jobs and S3 backups.

\n

Valid values:

\n

Set to \"WindowsVSS\":\"enabled\" to enable the WindowsVSS backup\n option and create a Windows VSS backup.

\n

Set to \"WindowsVSS\":\"disabled\" to create a regular backup. The\n WindowsVSS option is not enabled by default.

\n

For S3 backups, set to \"S3BackupACLs\":\"disabled\" to exclude ACLs from the backup, \n or \"S3BackupObjectTags\":\"disabled\" to exclude object tags from the backup. \n By default, both ACLs and object tags are included in S3 backups.

\n

If you specify an invalid option, you get an InvalidParameterValueException\n exception.

\n

For more information about Windows VSS backups, see Creating a VSS-Enabled Windows\n Backup.

" } } }, @@ -216,12 +216,40 @@ "smithy.api#documentation": "

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

" } }, + "VaultType": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The type of backup vault where the recovery point is stored. Valid values are BACKUP_VAULT for standard backup vaults and LOGICALLY_AIR_GAPPED_BACKUP_VAULT for logically air-gapped vaults.

" + } + }, + "VaultLockState": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The lock state of the backup vault. For logically air-gapped vaults, this indicates whether the vault is locked in compliance mode. Valid values include LOCKED and UNLOCKED.

" + } + }, "RecoveryPointArn": { "target": "com.amazonaws.backup#ARN", "traits": { "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" } }, + "RecoveryPointLifecycle": { + "target": "com.amazonaws.backup#Lifecycle" + }, + "EncryptionKeyArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the backup. This can be a customer-managed key or an Amazon Web Services managed key, depending on the vault configuration.

" + } + }, + "IsEncrypted": { + "target": "com.amazonaws.backup#Boolean2", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A boolean value indicating whether the backup is encrypted. All backups in Backup are encrypted, but this field indicates the encryption status for transparency.

" + } + }, "ResourceArn": { "target": "com.amazonaws.backup#ARN", "traits": { @@ -1606,12 +1634,33 @@ "smithy.api#documentation": "

An Amazon Resource Name (ARN) that uniquely identifies a destination copy vault; for\n example, arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

" } }, + "DestinationVaultType": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The type of destination backup vault where the copied recovery point is stored. Valid values are BACKUP_VAULT for standard backup vaults and LOGICALLY_AIR_GAPPED_BACKUP_VAULT for logically air-gapped vaults.

" + } + }, + "DestinationVaultLockState": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The lock state of the destination backup vault. For logically air-gapped vaults, this indicates whether the vault is locked in compliance mode. Valid values include LOCKED and UNLOCKED.

" + } + }, "DestinationRecoveryPointArn": { "target": "com.amazonaws.backup#ARN", "traits": { "smithy.api#documentation": "

An ARN that uniquely identifies a destination recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" } }, + "DestinationEncryptionKeyArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the copied backup in the destination vault. This can be a customer-managed key or an Amazon Web Services managed key.

" + } + }, + "DestinationRecoveryPointLifecycle": { + "target": "com.amazonaws.backup#Lifecycle" + }, "ResourceArn": { "target": "com.amazonaws.backup#ARN", "traits": { @@ -3260,27 +3309,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -4849,18 +4898,46 @@ "smithy.api#documentation": "

The name of a logical container where backups are stored. Backup vaults are identified\n by names that are unique to the account used to create them and the Amazon Web Services\n Region where they are created.

" } }, + "RecoveryPointLifecycle": { + "target": "com.amazonaws.backup#Lifecycle" + }, "BackupVaultArn": { "target": "com.amazonaws.backup#ARN", "traits": { "smithy.api#documentation": "

An Amazon Resource Name (ARN) that uniquely identifies a backup vault; for example,\n arn:aws:backup:us-east-1:123456789012:backup-vault:aBackupVault.

" } }, + "VaultType": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The type of backup vault where the recovery point is stored. Valid values are BACKUP_VAULT for standard backup vaults and LOGICALLY_AIR_GAPPED_BACKUP_VAULT for logically air-gapped vaults.

" + } + }, + "VaultLockState": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The lock state of the backup vault. For logically air-gapped vaults, this indicates whether the vault is locked in compliance mode. Valid values include LOCKED and UNLOCKED.

" + } + }, "RecoveryPointArn": { "target": "com.amazonaws.backup#ARN", "traits": { "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" } }, + "EncryptionKeyArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the backup. This can be a customer-managed key or an Amazon Web Services managed key, depending on the vault configuration.

" + } + }, + "IsEncrypted": { + "target": "com.amazonaws.backup#Boolean2", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A boolean value indicating whether the backup is encrypted. All backups in Backup are encrypted, but this field indicates the encryption status for transparency.

" + } + }, "ResourceArn": { "target": "com.amazonaws.backup#ARN", "traits": { @@ -5961,6 +6038,18 @@ "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" } }, + "SourceResourceArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the original resource that was backed up. This provides context about what resource is being restored.

" + } + }, + "BackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the backup vault containing the recovery point being restored. This helps identify vault access policies and permissions.

" + } + }, "CreationDate": { "target": "com.amazonaws.backup#timestamp", "traits": { @@ -11341,6 +11430,12 @@ "smithy.api#documentation": "

An Amazon Resource Name (ARN) that uniquely identifies a backup plan; for example,\n arn:aws:backup:us-east-1:123456789012:plan:8F81F553-3A74-4A3F-B93D-B3360DC80C50.

" } }, + "BackupPlanName": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The name of the backup plan that created this recovery point. This provides human-readable context about which backup plan was responsible for the backup job.

" + } + }, "BackupPlanVersion": { "target": "com.amazonaws.backup#string", "traits": { @@ -11352,6 +11447,24 @@ "traits": { "smithy.api#documentation": "

Uniquely identifies a rule used to schedule the backup of a selection of\n resources.

" } + }, + "BackupRuleName": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The name of the backup rule within the backup plan that created this recovery point. This helps identify which specific rule triggered the backup job.

" + } + }, + "BackupRuleCron": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The cron expression that defines the schedule for the backup rule. This shows the frequency and timing of when backups are automatically triggered.

" + } + }, + "BackupRuleTimezone": { + "target": "com.amazonaws.backup#string", + "traits": { + "smithy.api#documentation": "

The timezone used for the backup rule schedule. This provides context for when backups are scheduled to run in the specified timezone.

" + } } }, "traits": { @@ -12052,6 +12165,18 @@ "smithy.api#documentation": "

An ARN that uniquely identifies a recovery point; for example,\n arn:aws:backup:us-east-1:123456789012:recovery-point:1EB3B5E7-9EB0-435A-A80B-108B488B0D45.

" } }, + "SourceResourceArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the original resource that was backed up. This provides context about what resource is being restored.

" + } + }, + "BackupVaultArn": { + "target": "com.amazonaws.backup#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the backup vault containing the recovery point being restored. This helps identify vault access policies and permissions.

" + } + }, "CreationDate": { "target": "com.amazonaws.backup#timestamp", "traits": { diff --git a/codegen/sdk-codegen/aws-models/backupsearch.json b/codegen/sdk-codegen/aws-models/backupsearch.json index d56fa752f71..9c887986255 100644 --- a/codegen/sdk-codegen/aws-models/backupsearch.json +++ b/codegen/sdk-codegen/aws-models/backupsearch.json @@ -163,19 +163,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/batch.json b/codegen/sdk-codegen/aws-models/batch.json index 9fbb29b5e8b..1d21758a8ce 100644 --- a/codegen/sdk-codegen/aws-models/batch.json +++ b/codegen/sdk-codegen/aws-models/batch.json @@ -175,27 +175,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bcm-dashboards.json b/codegen/sdk-codegen/aws-models/bcm-dashboards.json index c892ddfe11f..d6eee269c07 100644 --- a/codegen/sdk-codegen/aws-models/bcm-dashboards.json +++ b/codegen/sdk-codegen/aws-models/bcm-dashboards.json @@ -57,19 +57,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bcm-data-exports.json b/codegen/sdk-codegen/aws-models/bcm-data-exports.json index 566693af40c..6cf5deaed37 100644 --- a/codegen/sdk-codegen/aws-models/bcm-data-exports.json +++ b/codegen/sdk-codegen/aws-models/bcm-data-exports.json @@ -62,20 +62,20 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bcm-pricing-calculator.json b/codegen/sdk-codegen/aws-models/bcm-pricing-calculator.json index 51c100fc1d4..cba24925eb7 100644 --- a/codegen/sdk-codegen/aws-models/bcm-pricing-calculator.json +++ b/codegen/sdk-codegen/aws-models/bcm-pricing-calculator.json @@ -99,19 +99,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bcm-recommended-actions.json b/codegen/sdk-codegen/aws-models/bcm-recommended-actions.json index 15dd2a80742..fbdcbff6426 100644 --- a/codegen/sdk-codegen/aws-models/bcm-recommended-actions.json +++ b/codegen/sdk-codegen/aws-models/bcm-recommended-actions.json @@ -34,19 +34,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bedrock-agent-runtime.json b/codegen/sdk-codegen/aws-models/bedrock-agent-runtime.json index bf3a1244720..60fce917fa6 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-agent-runtime.json +++ b/codegen/sdk-codegen/aws-models/bedrock-agent-runtime.json @@ -552,27 +552,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bedrock-agent.json b/codegen/sdk-codegen/aws-models/bedrock-agent.json index c17b47ff078..5fa61268220 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-agent.json +++ b/codegen/sdk-codegen/aws-models/bedrock-agent.json @@ -1582,27 +1582,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bedrock-agentcore-control.json b/codegen/sdk-codegen/aws-models/bedrock-agentcore-control.json index 38d6ce811f1..d7874587bb2 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-agentcore-control.json +++ b/codegen/sdk-codegen/aws-models/bedrock-agentcore-control.json @@ -470,8 +470,8 @@ ], "maxAge": 86400 }, - "smithy.api#documentation": "

is in preview release and is subject to change.

Welcome to the Amazon Bedrock AgentCore Control plane API reference. Control plane actions configure, create, modify, and monitor Amazon Web Services resources.

", - "smithy.api#title": "Amazon Bedrock Agent Core Control Plane Fronting Layer", + "smithy.api#documentation": "

Welcome to the Amazon Bedrock AgentCore Control plane API reference. Control plane actions configure, create, modify, and monitor Amazon Web Services resources.

", + "smithy.api#title": "Amazon Bedrock AgentCore Control", "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { @@ -1180,6 +1180,9 @@ "com.amazonaws.bedrockagentcorecontrol#ApiKeyCredentialProviderArnType": { "type": "string", "traits": { + "aws.api#arnReference": { + "type": "AWS::BedrockAgentCore::APIKeyCredentialProvider" + }, "smithy.api#pattern": "^arn:(aws|aws-us-gov):acps:[A-Za-z0-9-]{1,64}:[0-9]{12}:token-vault/[a-zA-Z0-9-.]+/apikeycredentialprovider/[a-zA-Z0-9-.]+$" } }, @@ -1258,6 +1261,48 @@ "smithy.api#pattern": "^arn:[a-z0-9-\\.]{1,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[a-z0-9-\\.]{0,63}:[^/].{0,1023}$" } }, + "com.amazonaws.bedrockagentcorecontrol#AtlassianOauth2ProviderConfigInput": { + "type": "structure", + "members": { + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the Atlassian OAuth2 provider. This identifier is assigned by Atlassian when you register your application.

", + "smithy.api#required": {} + } + }, + "clientSecret": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientSecretType", + "traits": { + "smithy.api#documentation": "

The client secret for the Atlassian OAuth2 provider. This secret is assigned by Atlassian and used along with the client ID to authenticate your application.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration settings for connecting to Atlassian services using OAuth2 authentication. This includes the client credentials required to authenticate with Atlassian's OAuth2 authorization server.

" + } + }, + "com.amazonaws.bedrockagentcorecontrol#AtlassianOauth2ProviderConfigOutput": { + "type": "structure", + "members": { + "oauthDiscovery": { + "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2Discovery", + "traits": { + "smithy.api#required": {} + } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the Atlassian OAuth2 provider.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details returned for an Atlassian OAuth2 provider, including the client ID and OAuth2 discovery information.

" + } + }, "com.amazonaws.bedrockagentcorecontrol#AuthorizationEndpointType": { "type": "string" }, @@ -1369,6 +1414,38 @@ "target": "com.amazonaws.bedrockagentcorecontrol#ListBrowsers" } }, + "com.amazonaws.bedrockagentcorecontrol#BrowserSigningConfigInput": { + "type": "structure", + "members": { + "enabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether browser signing is enabled. When enabled, the browser will cryptographically sign HTTP requests to identify itself as an AI agent to bot control vendors.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for enabling browser signing capabilities that allow agents to cryptographically identify themselves to websites using HTTP message signatures.

" + } + }, + "com.amazonaws.bedrockagentcorecontrol#BrowserSigningConfigOutput": { + "type": "structure", + "members": { + "enabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Indicates whether browser signing is currently enabled for cryptographic agent identification using HTTP message signatures.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The current browser signing configuration that shows whether cryptographic agent identification is enabled for web bot authentication.

" + } + }, "com.amazonaws.bedrockagentcorecontrol#BrowserStatus": { "type": "enum", "members": { @@ -1766,7 +1843,7 @@ "traits": { "smithy.api#documentation": "

Creates an Amazon Bedrock AgentCore Runtime.

", "smithy.api#http": { - "code": 201, + "code": 202, "method": "PUT", "uri": "/runtimes/" }, @@ -1807,7 +1884,7 @@ "traits": { "smithy.api#documentation": "

Creates an AgentCore Runtime endpoint.

", "smithy.api#http": { - "code": 200, + "code": 202, "method": "PUT", "uri": "/runtimes/{agentRuntimeId}/runtime-endpoints/" }, @@ -1886,6 +1963,18 @@ "smithy.api#required": {} } }, + "agentRuntimeId": { + "target": "com.amazonaws.bedrockagentcorecontrol#AgentRuntimeId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AgentCore Runtime.

" + } + }, + "endpointName": { + "target": "com.amazonaws.bedrockagentcorecontrol#EndpointName", + "traits": { + "smithy.api#documentation": "

The name of the AgentCore Runtime endpoint.

" + } + }, "status": { "target": "com.amazonaws.bedrockagentcorecontrol#AgentRuntimeEndpointStatus", "traits": { @@ -2083,6 +2172,7 @@ "aws.api#controlPlane": {}, "smithy.api#documentation": "

Creates a new API key credential provider.

", "smithy.api#http": { + "code": 201, "uri": "/identities/CreateApiKeyCredentialProvider", "method": "POST" }, @@ -2105,6 +2195,13 @@ "smithy.api#documentation": "

The API key to use for authentication. This value is encrypted and stored securely.

", "smithy.api#required": {} } + }, + "tags": { + "target": "com.amazonaws.bedrockagentcorecontrol#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of tag keys and values to assign to the API key credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.

", + "smithy.api#notProperty": {} + } } }, "traits": { @@ -2172,7 +2269,7 @@ "traits": { "smithy.api#documentation": "

Creates a custom browser.

", "smithy.api#http": { - "code": 201, + "code": 202, "method": "PUT", "uri": "/browsers" }, @@ -2214,6 +2311,12 @@ "smithy.api#documentation": "

The recording configuration for the browser. When enabled, browser sessions are recorded and stored in the specified Amazon S3 location.

" } }, + "browserSigning": { + "target": "com.amazonaws.bedrockagentcorecontrol#BrowserSigningConfigInput", + "traits": { + "smithy.api#documentation": "

The browser signing configuration that enables cryptographic agent identification using HTTP message signatures for web bot authentication.

" + } + }, "clientToken": { "target": "com.amazonaws.bedrockagentcorecontrol#ClientToken", "traits": { @@ -2299,7 +2402,7 @@ "traits": { "smithy.api#documentation": "

Creates a custom code interpreter.

", "smithy.api#http": { - "code": 201, + "code": 202, "method": "PUT", "uri": "/code-interpreters" }, @@ -2964,6 +3067,7 @@ "aws.api#controlPlane": {}, "smithy.api#documentation": "

Creates a new OAuth2 credential provider.

", "smithy.api#http": { + "code": 201, "uri": "/identities/CreateOauth2CredentialProvider", "method": "POST" }, @@ -2993,6 +3097,13 @@ "smithy.api#documentation": "

The configuration settings for the OAuth2 provider, including client ID, client secret, and other vendor-specific settings.

", "smithy.api#required": {} } + }, + "tags": { + "target": "com.amazonaws.bedrockagentcorecontrol#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of tag keys and values to assign to the OAuth2 credential provider. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.

", + "smithy.api#notProperty": {} + } } }, "traits": { @@ -3023,6 +3134,18 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the OAuth2 credential provider.

", "smithy.api#required": {} } + }, + "callbackUrl": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow.

" + } + }, + "oauth2ProviderConfigOutput": { + "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2ProviderConfigOutput", + "traits": { + "smithy.api#notProperty": {} + } } }, "traits": { @@ -3061,6 +3184,7 @@ "aws.api#controlPlane": {}, "smithy.api#documentation": "

Creates a new workload identity.

", "smithy.api#http": { + "code": 201, "uri": "/identities/CreateWorkloadIdentity", "method": "POST" }, @@ -3082,6 +3206,13 @@ "traits": { "smithy.api#documentation": "

The list of allowed OAuth2 return URLs for resources associated with this workload identity.

" } + }, + "tags": { + "target": "com.amazonaws.bedrockagentcorecontrol#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of tag keys and values to assign to the workload identity. Tags enable you to categorize your resources in different ways, for example, by purpose, owner, or environment.

", + "smithy.api#notProperty": {} + } } }, "traits": { @@ -3139,6 +3270,9 @@ "com.amazonaws.bedrockagentcorecontrol#CredentialProviderArnType": { "type": "string", "traits": { + "aws.api#arnReference": { + "type": "AWS::BedrockAgentCore::OAuth2CredentialProvider" + }, "smithy.api#pattern": "^arn:(aws|aws-us-gov):acps:[A-Za-z0-9-]{1,64}:[0-9]{12}:token-vault/[a-zA-Z0-9-.]+/oauth2credentialprovider/[a-zA-Z0-9-.]+$" } }, @@ -3246,6 +3380,120 @@ "traits": { "smithy.api#enumValue": "CustomOauth2" } + }, + "AtlassianOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AtlassianOauth2" + } + }, + "LinkedinOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LinkedinOauth2" + } + }, + "XOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "XOauth2" + } + }, + "OktaOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OktaOauth2" + } + }, + "OneLoginOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OneLoginOauth2" + } + }, + "PingOneOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PingOneOauth2" + } + }, + "FacebookOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FacebookOauth2" + } + }, + "YandexOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "YandexOauth2" + } + }, + "RedditOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RedditOauth2" + } + }, + "ZoomOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ZoomOauth2" + } + }, + "TwitchOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TwitchOauth2" + } + }, + "SpotifyOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SpotifyOauth2" + } + }, + "DropboxOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DropboxOauth2" + } + }, + "NotionOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NotionOauth2" + } + }, + "HubspotOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HubspotOauth2" + } + }, + "CyberArkOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CyberArkOauth2" + } + }, + "FusionAuthOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FusionAuthOauth2" + } + }, + "Auth0Oauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Auth0Oauth2" + } + }, + "CognitoOauth2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CognitoOauth2" + } } } }, @@ -3471,6 +3719,12 @@ "smithy.api#documentation": "

The OAuth2 discovery information for the custom provider.

", "smithy.api#required": {} } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the custom OAuth2 provider.

" + } } }, "traits": { @@ -3527,7 +3781,7 @@ "traits": { "smithy.api#documentation": "

Deletes an Amazon Bedrock AgentCore Runtime.

", "smithy.api#http": { - "code": 200, + "code": 202, "method": "DELETE", "uri": "/runtimes/{agentRuntimeId}/" }, @@ -3562,7 +3816,7 @@ "traits": { "smithy.api#documentation": "

Deletes an AAgentCore Runtime endpoint.

", "smithy.api#http": { - "code": 200, + "code": 202, "method": "DELETE", "uri": "/runtimes/{agentRuntimeId}/runtime-endpoints/{endpointName}/" }, @@ -3610,6 +3864,18 @@ "smithy.api#documentation": "

The current status of the AgentCore Runtime endpoint deletion.

", "smithy.api#required": {} } + }, + "agentRuntimeId": { + "target": "com.amazonaws.bedrockagentcorecontrol#AgentRuntimeId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AgentCore Runtime.

" + } + }, + "endpointName": { + "target": "com.amazonaws.bedrockagentcorecontrol#EndpointName", + "traits": { + "smithy.api#documentation": "

The name of the AgentCore Runtime endpoint.

" + } } }, "traits": { @@ -3641,6 +3907,12 @@ "smithy.api#documentation": "

The current status of the AgentCore Runtime deletion.

", "smithy.api#required": {} } + }, + "agentRuntimeId": { + "target": "com.amazonaws.bedrockagentcorecontrol#AgentRuntimeId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the AgentCore Runtime.

" + } } }, "traits": { @@ -3679,6 +3951,7 @@ "aws.api#controlPlane": {}, "smithy.api#documentation": "

Deletes an API key credential provider.

", "smithy.api#http": { + "code": 204, "uri": "/identities/DeleteApiKeyCredentialProvider", "method": "POST" }, @@ -3741,7 +4014,7 @@ "traits": { "smithy.api#documentation": "

Deletes a custom browser.

", "smithy.api#http": { - "code": 200, + "code": 202, "method": "DELETE", "uri": "/browsers/{browserId}" }, @@ -3835,7 +4108,7 @@ "traits": { "smithy.api#documentation": "

Deletes a custom code interpreter.

", "smithy.api#http": { - "code": 200, + "code": 202, "method": "DELETE", "uri": "/code-interpreters/{codeInterpreterId}" }, @@ -4210,6 +4483,7 @@ "aws.api#controlPlane": {}, "smithy.api#documentation": "

Deletes an OAuth2 credential provider.

", "smithy.api#http": { + "code": 204, "uri": "/identities/DeleteOauth2CredentialProvider", "method": "POST" }, @@ -4270,6 +4544,7 @@ "aws.api#controlPlane": {}, "smithy.api#documentation": "

Deletes a workload identity.

", "smithy.api#http": { + "code": 204, "uri": "/identities/DeleteWorkloadIdentity", "method": "POST" }, @@ -5277,6 +5552,12 @@ "recording": { "target": "com.amazonaws.bedrockagentcorecontrol#RecordingConfig" }, + "browserSigning": { + "target": "com.amazonaws.bedrockagentcorecontrol#BrowserSigningConfigOutput", + "traits": { + "smithy.api#documentation": "

The browser signing configuration that shows whether cryptographic agent identification is enabled for web bot authentication.

" + } + }, "status": { "target": "com.amazonaws.bedrockagentcorecontrol#BrowserStatus", "traits": { @@ -5929,6 +6210,12 @@ "smithy.api#required": {} } }, + "callbackUrl": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow.

" + } + }, "oauth2ProviderConfigOutput": { "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2ProviderConfigOutput", "traits": { @@ -6163,6 +6450,12 @@ "smithy.api#documentation": "

The OAuth2 discovery information for the GitHub provider.

", "smithy.api#required": {} } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the GitHub OAuth2 provider.

" + } } }, "traits": { @@ -6200,6 +6493,12 @@ "smithy.api#documentation": "

The OAuth2 discovery information for the Google provider.

", "smithy.api#required": {} } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the Google OAuth2 provider.

" + } } }, "traits": { @@ -6213,7 +6512,67 @@ "min": 1, "max": 256 }, - "smithy.api#pattern": "^(Authorization|X-Amzn-Bedrock-AgentCore-Runtime-Custom-[a-zA-Z0-9_-]+)$" + "smithy.api#pattern": "^(Authorization|X-Amzn-Bedrock-AgentCore-Runtime-Custom-[a-zA-Z0-9-]+)$" + } + }, + "com.amazonaws.bedrockagentcorecontrol#IncludedOauth2ProviderConfigInput": { + "type": "structure", + "members": { + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the supported OAuth2 provider. This identifier is assigned by the OAuth2 provider when you register your application.

", + "smithy.api#required": {} + } + }, + "clientSecret": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientSecretType", + "traits": { + "smithy.api#documentation": "

The client secret for the supported OAuth2 provider. This secret is assigned by the OAuth2 provider and used along with the client ID to authenticate your application.

", + "smithy.api#required": {} + } + }, + "issuer": { + "target": "com.amazonaws.bedrockagentcorecontrol#IssuerUrlType", + "traits": { + "smithy.api#documentation": "

Token issuer of your isolated OAuth2 application tenant. This URL identifies the authorization server that issues tokens for this provider.

" + } + }, + "authorizationEndpoint": { + "target": "com.amazonaws.bedrockagentcorecontrol#AuthorizationEndpointType", + "traits": { + "smithy.api#documentation": "

OAuth2 authorization endpoint for your isolated OAuth2 application tenant. This is where users are redirected to authenticate and authorize access to their resources.

" + } + }, + "tokenEndpoint": { + "target": "com.amazonaws.bedrockagentcorecontrol#TokenEndpointType", + "traits": { + "smithy.api#documentation": "

OAuth2 token endpoint for your isolated OAuth2 application tenant. This is where authorization codes are exchanged for access tokens.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration settings for connecting to a supported OAuth2 provider. This includes client credentials and OAuth2 discovery information for providers that have built-in support.

" + } + }, + "com.amazonaws.bedrockagentcorecontrol#IncludedOauth2ProviderConfigOutput": { + "type": "structure", + "members": { + "oauthDiscovery": { + "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2Discovery", + "traits": { + "smithy.api#required": {} + } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the supported OAuth2 provider.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details returned for a supported OAuth2 provider, including client credentials and OAuth2 discovery information.

" } }, "com.amazonaws.bedrockagentcorecontrol#InlinePayload": { @@ -6369,6 +6728,48 @@ "smithy.api#documentation": "

LifecycleConfiguration lets you manage the lifecycle of runtime sessions and resources in AgentCore Runtime. This configuration helps optimize resource utilization by automatically cleaning up idle sessions and preventing long-running instances from consuming resources indefinitely.

" } }, + "com.amazonaws.bedrockagentcorecontrol#LinkedinOauth2ProviderConfigInput": { + "type": "structure", + "members": { + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the LinkedIn OAuth2 provider. This identifier is assigned by LinkedIn when you register your application.

", + "smithy.api#required": {} + } + }, + "clientSecret": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientSecretType", + "traits": { + "smithy.api#documentation": "

The client secret for the LinkedIn OAuth2 provider. This secret is assigned by LinkedIn and used along with the client ID to authenticate your application.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration settings for connecting to LinkedIn services using OAuth2 authentication. This includes the client credentials required to authenticate with LinkedIn's OAuth2 authorization server.

" + } + }, + "com.amazonaws.bedrockagentcorecontrol#LinkedinOauth2ProviderConfigOutput": { + "type": "structure", + "members": { + "oauthDiscovery": { + "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2Discovery", + "traits": { + "smithy.api#required": {} + } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the LinkedIn OAuth2 provider.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration details returned for a LinkedIn OAuth2 provider, including the client ID and OAuth2 discovery information.

" + } + }, "com.amazonaws.bedrockagentcorecontrol#ListAgentRuntimeEndpoints": { "type": "operation", "input": { @@ -7953,6 +8354,12 @@ "smithy.api#documentation": "

The client secret for the Microsoft OAuth2 provider.

", "smithy.api#required": {} } + }, + "tenantId": { + "target": "com.amazonaws.bedrockagentcorecontrol#TenantIdType", + "traits": { + "smithy.api#documentation": "

The Microsoft Entra ID (formerly Azure AD) tenant ID for your organization. This identifies the specific tenant within Microsoft's identity platform where your application is registered.

" + } } }, "traits": { @@ -7968,6 +8375,12 @@ "smithy.api#documentation": "

The OAuth2 discovery information for the Microsoft provider.

", "smithy.api#required": {} } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the Microsoft OAuth2 provider.

" + } } }, "traits": { @@ -8108,8 +8521,8 @@ "traits": { "smithy.api#documentation": "

The updated number of historical messages to include in processing context.

", "smithy.api#range": { - "min": 3, - "max": 20 + "min": 0, + "max": 50 } } } @@ -8350,6 +8763,12 @@ "traits": { "smithy.api#documentation": "

The supported response types for the OAuth2 authorization server.

" } + }, + "tokenEndpointAuthMethods": { + "target": "com.amazonaws.bedrockagentcorecontrol#TokenEndpointAuthMethodsType", + "traits": { + "smithy.api#documentation": "

The authentication methods supported by the token endpoint. This specifies how clients can authenticate when requesting tokens from the authorization server.

" + } } }, "traits": { @@ -8373,6 +8792,9 @@ "oauth2ProviderConfigInput": { "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2ProviderConfigInput" }, + "callbackUrl": { + "target": "smithy.api#String" + }, "clientSecretArn": { "target": "com.amazonaws.bedrockagentcorecontrol#Secret" }, @@ -8508,6 +8930,24 @@ "traits": { "smithy.api#documentation": "

The configuration for a Microsoft OAuth2 provider.

" } + }, + "atlassianOauth2ProviderConfig": { + "target": "com.amazonaws.bedrockagentcorecontrol#AtlassianOauth2ProviderConfigInput", + "traits": { + "smithy.api#documentation": "

Configuration settings for Atlassian OAuth2 provider integration.

" + } + }, + "linkedinOauth2ProviderConfig": { + "target": "com.amazonaws.bedrockagentcorecontrol#LinkedinOauth2ProviderConfigInput", + "traits": { + "smithy.api#documentation": "

Configuration settings for LinkedIn OAuth2 provider integration.

" + } + }, + "includedOauth2ProviderConfig": { + "target": "com.amazonaws.bedrockagentcorecontrol#IncludedOauth2ProviderConfigInput", + "traits": { + "smithy.api#documentation": "

The configuration for a non-custom OAuth2 provider. This includes settings for supported OAuth2 providers that have built-in integration support.

" + } } }, "traits": { @@ -8552,6 +8992,24 @@ "traits": { "smithy.api#documentation": "

The output configuration for a Microsoft OAuth2 provider.

" } + }, + "atlassianOauth2ProviderConfig": { + "target": "com.amazonaws.bedrockagentcorecontrol#AtlassianOauth2ProviderConfigOutput", + "traits": { + "smithy.api#documentation": "

The configuration details for the Atlassian OAuth2 provider.

" + } + }, + "linkedinOauth2ProviderConfig": { + "target": "com.amazonaws.bedrockagentcorecontrol#LinkedinOauth2ProviderConfigOutput", + "traits": { + "smithy.api#documentation": "

The configuration details for the LinkedIn OAuth2 provider.

" + } + }, + "includedOauth2ProviderConfig": { + "target": "com.amazonaws.bedrockagentcorecontrol#IncludedOauth2ProviderConfigOutput", + "traits": { + "smithy.api#documentation": "

The configuration for a non-custom OAuth2 provider. This includes the configuration details for supported OAuth2 providers that have built-in integration support.

" + } } }, "traits": { @@ -8837,6 +9295,12 @@ "smithy.api#documentation": "

The OAuth2 discovery information for the Salesforce provider.

", "smithy.api#required": {} } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the Salesforce OAuth2 provider.

" + } } }, "traits": { @@ -9355,6 +9819,12 @@ "smithy.api#documentation": "

The OAuth2 discovery information for the Slack provider.

", "smithy.api#required": {} } + }, + "clientId": { + "target": "com.amazonaws.bedrockagentcorecontrol#ClientIdType", + "traits": { + "smithy.api#documentation": "

The client ID for the Slack OAuth2 provider.

" + } } }, "traits": { @@ -9893,6 +10363,15 @@ "smithy.api#documentation": "

Contains summary information about a gateway target. A target represents an endpoint that the gateway can connect to.

" } }, + "com.amazonaws.bedrockagentcorecontrol#TenantIdType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + } + } + }, "com.amazonaws.bedrockagentcorecontrol#ThrottledException": { "type": "structure", "members": { @@ -9953,6 +10432,12 @@ "smithy.api#documentation": "

Trigger configuration based on time.

" } }, + "com.amazonaws.bedrockagentcorecontrol#TokenAuthMethod": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(client_secret_post|client_secret_basic)$" + } + }, "com.amazonaws.bedrockagentcorecontrol#TokenBasedTrigger": { "type": "structure", "members": { @@ -9986,6 +10471,18 @@ "smithy.api#documentation": "

Trigger configuration based on tokens.

" } }, + "com.amazonaws.bedrockagentcorecontrol#TokenEndpointAuthMethodsType": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockagentcorecontrol#TokenAuthMethod" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } + } + }, "com.amazonaws.bedrockagentcorecontrol#TokenEndpointType": { "type": "string" }, @@ -10247,7 +10744,7 @@ "traits": { "smithy.api#documentation": "

Updates an existing Amazon Secure Agent.

", "smithy.api#http": { - "code": 201, + "code": 202, "method": "PUT", "uri": "/runtimes/{agentRuntimeId}/" }, @@ -10288,7 +10785,7 @@ "traits": { "smithy.api#documentation": "

Updates an existing Amazon Bedrock AgentCore Runtime endpoint.

", "smithy.api#http": { - "code": 200, + "code": 202, "method": "PUT", "uri": "/runtimes/{agentRuntimeId}/runtime-endpoints/{endpointName}/" }, @@ -11259,6 +11756,12 @@ "smithy.api#required": {} } }, + "callbackUrl": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Callback URL to register on the OAuth2 credential provider as an allowed callback URL. This URL is where the OAuth2 authorization server redirects users after they complete the authorization flow.

" + } + }, "oauth2ProviderConfigOutput": { "target": "com.amazonaws.bedrockagentcorecontrol#Oauth2ProviderConfigOutput", "traits": { @@ -11683,6 +12186,9 @@ "com.amazonaws.bedrockagentcorecontrol#WorkloadIdentityArnType": { "type": "string", "traits": { + "aws.api#arnReference": { + "type": "AWS::BedrockAgentCore::WorkloadIdentity" + }, "smithy.api#length": { "min": 1, "max": 1024 diff --git a/codegen/sdk-codegen/aws-models/bedrock-agentcore.json b/codegen/sdk-codegen/aws-models/bedrock-agentcore.json index d06c3c9646c..f1223876696 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-agentcore.json +++ b/codegen/sdk-codegen/aws-models/bedrock-agentcore.json @@ -76,6 +76,9 @@ "type": "service", "version": "2024-02-28", "operations": [ + { + "target": "com.amazonaws.bedrockagentcore#CompleteResourceTokenAuth" + }, { "target": "com.amazonaws.bedrockagentcore#GetResourceApiKey" }, @@ -127,7 +130,7 @@ ] }, "smithy.api#documentation": "

Amazon Bedrock AgentCore is in preview release and is subject to change.

Welcome to the Amazon Bedrock AgentCore Data Plane API reference. Data Plane actions process and handle data or workloads within Amazon Web Services services.

", - "smithy.api#title": "Amazon Bedrock AgentCore Data Plane Fronting Layer", + "smithy.api#title": "Amazon Bedrock AgentCore", "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { @@ -760,6 +763,15 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.bedrockagentcore#AuthorizationUrlType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagentcore#AutomationStream": { "type": "structure", "members": { @@ -1446,6 +1458,72 @@ "smithy.api#streaming": {} } }, + "com.amazonaws.bedrockagentcore#CompleteResourceTokenAuth": { + "type": "operation", + "input": { + "target": "com.amazonaws.bedrockagentcore#CompleteResourceTokenAuthRequest" + }, + "output": { + "target": "com.amazonaws.bedrockagentcore#CompleteResourceTokenAuthResponse" + }, + "errors": [ + { + "target": "com.amazonaws.bedrockagentcore#AccessDeniedException" + }, + { + "target": "com.amazonaws.bedrockagentcore#InternalServerException" + }, + { + "target": "com.amazonaws.bedrockagentcore#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.bedrockagentcore#ThrottlingException" + }, + { + "target": "com.amazonaws.bedrockagentcore#UnauthorizedException" + }, + { + "target": "com.amazonaws.bedrockagentcore#ValidationException" + } + ], + "traits": { + "aws.api#dataPlane": {}, + "smithy.api#documentation": "

Confirms the user authentication session for obtaining OAuth2.0 tokens for a resource.

", + "smithy.api#http": { + "uri": "/identities/CompleteResourceTokenAuth", + "method": "POST" + } + } + }, + "com.amazonaws.bedrockagentcore#CompleteResourceTokenAuthRequest": { + "type": "structure", + "members": { + "userIdentifier": { + "target": "com.amazonaws.bedrockagentcore#UserIdentifier", + "traits": { + "smithy.api#documentation": "

The OAuth2.0 token or user ID that was used to generate the workload access token used for initiating the user authorization flow to retrieve OAuth2.0 tokens.

", + "smithy.api#required": {} + } + }, + "sessionUri": { + "target": "com.amazonaws.bedrockagentcore#RequestUri", + "traits": { + "smithy.api#documentation": "

Unique identifier for the user's authentication session for retrieving OAuth2 tokens. This ID tracks the authorization flow state across multiple requests and responses during the OAuth2 authentication process.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.bedrockagentcore#CompleteResourceTokenAuthResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.bedrockagentcore#ConflictException": { "type": "structure", "members": { @@ -2721,6 +2799,12 @@ "smithy.api#required": {} } }, + "sessionUri": { + "target": "com.amazonaws.bedrockagentcore#RequestUri", + "traits": { + "smithy.api#documentation": "

Unique identifier for the user's authentication session for retrieving OAuth2 tokens. This ID tracks the authorization flow state across multiple requests and responses during the OAuth2 authentication process.

" + } + }, "resourceOauth2ReturnUrl": { "target": "com.amazonaws.bedrockagentcore#ResourceOauth2ReturnUrlType", "traits": { @@ -2738,6 +2822,12 @@ "traits": { "smithy.api#documentation": "

A map of custom parameters to include in the authorization request to the resource credential provider. These parameters are in addition to the standard OAuth 2.0 flow parameters, and will not override them.

" } + }, + "customState": { + "target": "com.amazonaws.bedrockagentcore#State", + "traits": { + "smithy.api#documentation": "

An opaque string that will be sent back to the callback URL provided in resourceOauth2ReturnUrl. This state should be used to protect the callback URL of your application against CSRF attacks by ensuring the response corresponds to the original request.

" + } } }, "traits": { @@ -2748,7 +2838,7 @@ "type": "structure", "members": { "authorizationUrl": { - "target": "smithy.api#String", + "target": "com.amazonaws.bedrockagentcore#AuthorizationUrlType", "traits": { "smithy.api#documentation": "

The URL to initiate the authorization process, provided when the access token requires user authorization.

" } @@ -2758,6 +2848,18 @@ "traits": { "smithy.api#documentation": "

The OAuth 2.0 access token to use.

" } + }, + "sessionUri": { + "target": "com.amazonaws.bedrockagentcore#RequestUri", + "traits": { + "smithy.api#documentation": "

Unique identifier for the user's authorization session for retrieving OAuth2 tokens. This matches the sessionId from the request and can be used to track the session state.

" + } + }, + "sessionStatus": { + "target": "com.amazonaws.bedrockagentcore#SessionStatus", + "traits": { + "smithy.api#documentation": "

Status indicating whether the user's authorization session is in progress or has failed. This helps determine the next steps in the OAuth2 authentication flow.

" + } } }, "traits": { @@ -3189,6 +3291,14 @@ "smithy.api#httpQuery": "qualifier" } }, + "accountId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Web Services account for the agent runtime resource.

", + "smithy.api#httpQuery": "accountId", + "smithy.api#pattern": "^[0-9]{12}$" + } + }, "payload": { "target": "com.amazonaws.bedrockagentcore#Body", "traits": { @@ -4650,6 +4760,16 @@ "smithy.api#pattern": "^[a-zA-Z0-9_-]+$" } }, + "com.amazonaws.bedrockagentcore#RequestUri": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^urn:ietf:params:oauth:request_uri:[a-zA-Z0-9-._~]+$" + } + }, "com.amazonaws.bedrockagentcore#ResourceContent": { "type": "structure", "members": { @@ -4997,6 +5117,23 @@ "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9-_]*$" } }, + "com.amazonaws.bedrockagentcore#SessionStatus": { + "type": "enum", + "members": { + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IN_PROGRESS" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + } + } + }, "com.amazonaws.bedrockagentcore#SessionSummary": { "type": "structure", "members": { @@ -5309,6 +5446,16 @@ "smithy.api#output": {} } }, + "com.amazonaws.bedrockagentcore#State": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 4096 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.bedrockagentcore#StopBrowserSession": { "type": "operation", "input": { @@ -6056,6 +6203,26 @@ } } }, + "com.amazonaws.bedrockagentcore#UserIdentifier": { + "type": "union", + "members": { + "userToken": { + "target": "com.amazonaws.bedrockagentcore#UserTokenType", + "traits": { + "smithy.api#documentation": "

The OAuth2.0 token issued by the user’s identity provider

" + } + }, + "userId": { + "target": "com.amazonaws.bedrockagentcore#UserIdType", + "traits": { + "smithy.api#documentation": "

The ID of the user for whom you have retrieved a workload access token for

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The OAuth2.0 token or user ID that was used to generate the workload access token used for initiating the user authorization flow to retrieve OAuth2.0 tokens.

" + } + }, "com.amazonaws.bedrockagentcore#UserTokenType": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/bedrock-data-automation-runtime.json b/codegen/sdk-codegen/aws-models/bedrock-data-automation-runtime.json index 92d0cd2e5fc..d6a4ad33083 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-data-automation-runtime.json +++ b/codegen/sdk-codegen/aws-models/bedrock-data-automation-runtime.json @@ -53,27 +53,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bedrock-data-automation.json b/codegen/sdk-codegen/aws-models/bedrock-data-automation.json index 0ae65195946..e77dd8782ad 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-data-automation.json +++ b/codegen/sdk-codegen/aws-models/bedrock-data-automation.json @@ -59,27 +59,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/bedrock-runtime.json b/codegen/sdk-codegen/aws-models/bedrock-runtime.json index 50361095a4d..6c2dba3a92b 100644 --- a/codegen/sdk-codegen/aws-models/bedrock-runtime.json +++ b/codegen/sdk-codegen/aws-models/bedrock-runtime.json @@ -87,27 +87,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -706,7 +706,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

The model must request at least one tool (no text is generated). For example, {\"any\" : {}}.

" + "smithy.api#documentation": "

The model must request at least one tool (no text is generated). For example, {\"any\" : {}}. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ApplyGuardrail": { @@ -1034,7 +1034,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

The Model automatically decides if a tool should be called or whether to generate text instead. For example, {\"auto\" : {}}.

" + "smithy.api#documentation": "

The Model automatically decides if a tool should be called or whether to generate text instead. For example, {\"auto\" : {}}. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide

" } }, "com.amazonaws.bedrockruntime#AutomatedReasoningRuleIdentifier": { @@ -1160,6 +1160,12 @@ "com.amazonaws.bedrockruntime#CitationLocation": { "type": "union", "members": { + "web": { + "target": "com.amazonaws.bedrockruntime#WebLocation", + "traits": { + "smithy.api#documentation": "

The web URL that was cited for this reference.

" + } + }, "documentChar": { "target": "com.amazonaws.bedrockruntime#DocumentCharLocation", "traits": { @@ -1235,7 +1241,7 @@ "enabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Specifies whether document citations should be included in the model's response. When set to true, the model can generate citations that reference the source documents used to inform the response.

", + "smithy.api#documentation": "

Specifies whether citations from the selected document should be used in the model's response. When set to true, the model can generate citations that reference the source documents used to inform the response.

", "smithy.api#required": {} } } @@ -1345,7 +1351,7 @@ "guardContent": { "target": "com.amazonaws.bedrockruntime#GuardrailConverseContentBlock", "traits": { - "smithy.api#documentation": "

Contains the content to assess with the guardrail. If you don't specify guardContent in a call to the Converse API, the guardrail (if passed in the Converse API) assesses the entire message.

For more information, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide.

" + "smithy.api#documentation": "

Contains the content to assess with the guardrail. If you don't specify guardContent in a call to the Converse API, the guardrail (if passed in the Converse API) assesses the entire message.

For more information, see Use a guardrail with the Converse API in the Amazon Bedrock User Guide.

" } }, "cachePoint": { @@ -1386,6 +1392,12 @@ "smithy.api#documentation": "

Information about a tool that the model is requesting to use.

" } }, + "toolResult": { + "target": "com.amazonaws.bedrockruntime#ToolResultBlocksDelta", + "traits": { + "smithy.api#documentation": "

An incremental update that contains the results from a tool call.

" + } + }, "reasoningContent": { "target": "com.amazonaws.bedrockruntime#ReasoningContentBlockDelta", "traits": { @@ -1433,6 +1445,12 @@ "traits": { "smithy.api#documentation": "

Information about a tool that the model is requesting to use.

" } + }, + "toolResult": { + "target": "com.amazonaws.bedrockruntime#ToolResultBlockStart", + "traits": { + "smithy.api#documentation": "

The

" + } } }, "traits": { @@ -1866,13 +1884,13 @@ "validationException": { "target": "com.amazonaws.bedrockruntime#ValidationException", "traits": { - "smithy.api#documentation": "

The input fails to satisfy the constraints specified by Amazon Bedrock. For troubleshooting this error, see ValidationError in the Amazon Bedrock User Guide

" + "smithy.api#documentation": "

The input fails to satisfy the constraints specified by Amazon Bedrock. For troubleshooting this error, see ValidationError in the Amazon Bedrock User Guide.

" } }, "throttlingException": { "target": "com.amazonaws.bedrockruntime#ThrottlingException", "traits": { - "smithy.api#documentation": "

Your request was denied due to exceeding the account quotas for Amazon Bedrock. For troubleshooting this error, see ThrottlingException in the Amazon Bedrock User Guide

" + "smithy.api#documentation": "

Your request was denied due to exceeding the account quotas for Amazon Bedrock. For troubleshooting this error, see ThrottlingException in the Amazon Bedrock User Guide.

" } }, "serviceUnavailableException": { @@ -1998,7 +2016,7 @@ } }, "traits": { - "smithy.api#documentation": "

The trace object in a response from ConverseStream. Currently, you can only trace guardrails.

" + "smithy.api#documentation": "

The trace object in a response from ConverseStream.

" } }, "com.amazonaws.bedrockruntime#ConverseTokensRequest": { @@ -2038,7 +2056,7 @@ } }, "traits": { - "smithy.api#documentation": "

The trace object in a response from Converse. Currently, you can only trace guardrails.

" + "smithy.api#documentation": "

The trace object in a response from Converse.

" } }, "com.amazonaws.bedrockruntime#CountTokens": { @@ -3607,7 +3625,7 @@ } }, "traits": { - "smithy.api#documentation": "

A text block that contains text that you want to assess with a guardrail. For more information, see GuardrailConverseContentBlock.

" + "smithy.api#documentation": "

A text block that contains text that you want to assess with a guardrail. For more information, see GuardrailConverseContentBlock.

" } }, "com.amazonaws.bedrockruntime#GuardrailCoverage": { @@ -4199,7 +4217,7 @@ } }, "traits": { - "smithy.api#documentation": "

The assessment for aPersonally Identifiable Information (PII) policy.

" + "smithy.api#documentation": "

The assessment for a Personally Identifiable Information (PII) policy.

" } }, "com.amazonaws.bedrockruntime#GuardrailSensitiveInformationPolicyFreeUnitsProcessed": { @@ -4241,7 +4259,7 @@ } }, "traits": { - "smithy.api#documentation": "

Configuration information for a guardrail that you use with the ConverseStream action.

" + "smithy.api#documentation": "

Configuration information for a guardrail that you use with the ConverseStream action.

" } }, "com.amazonaws.bedrockruntime#GuardrailStreamProcessingMode": { @@ -4441,7 +4459,7 @@ } }, "traits": { - "smithy.api#documentation": "

A Top level guardrail trace object. For more information, see ConverseTrace.

" + "smithy.api#documentation": "

A Top level guardrail trace object. For more information, see ConverseTrace.

" } }, "com.amazonaws.bedrockruntime#GuardrailUsage": { @@ -5900,7 +5918,7 @@ } }, "traits": { - "smithy.api#documentation": "

The model must request a specific tool. For example, {\"tool\" : {\"name\" : \"Your tool name\"}}.

This field is only supported by Anthropic Claude 3 models.

" + "smithy.api#documentation": "

The model must request a specific tool. For example, {\"tool\" : {\"name\" : \"Your tool name\"}}. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide

This field is only supported by Anthropic Claude 3 models.

" } }, "com.amazonaws.bedrockruntime#StartAsyncInvoke": { @@ -6083,7 +6101,7 @@ } }, "traits": { - "smithy.api#documentation": "

A system content block.

" + "smithy.api#documentation": "

Contains configurations for instructions to provide the model for how to handle input. To learn more, see Using the Converse API.

" } }, "com.amazonaws.bedrockruntime#SystemContentBlocks": { @@ -6092,6 +6110,21 @@ "target": "com.amazonaws.bedrockruntime#SystemContentBlock" } }, + "com.amazonaws.bedrockruntime#SystemTool": { + "type": "structure", + "members": { + "name": { + "target": "com.amazonaws.bedrockruntime#ToolName", + "traits": { + "smithy.api#documentation": "

The name of the system-defined tool that you want to call.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Specifies a system-defined tool for the model to use. System-defined tools are tools that are created and provided by the model provider.

" + } + }, "com.amazonaws.bedrockruntime#Tag": { "type": "structure", "members": { @@ -6241,7 +6274,13 @@ "toolSpec": { "target": "com.amazonaws.bedrockruntime#ToolSpecification", "traits": { - "smithy.api#documentation": "

The specfication for the tool.

" + "smithy.api#documentation": "

The specfication for the tool.

" + } + }, + "systemTool": { + "target": "com.amazonaws.bedrockruntime#SystemTool", + "traits": { + "smithy.api#documentation": "

Specifies the system-defined tool that you want use.

" } }, "cachePoint": { @@ -6252,7 +6291,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about a tool that you can use with the Converse API. For more information, see Tool use (function calling) in the Amazon Bedrock User Guide.

" + "smithy.api#documentation": "

Information about a tool that you can use with the Converse API. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolChoice": { @@ -6273,12 +6312,12 @@ "tool": { "target": "com.amazonaws.bedrockruntime#SpecificToolChoice", "traits": { - "smithy.api#documentation": "

The Model must request the specified tool. Only supported by Anthropic Claude 3 models.

" + "smithy.api#documentation": "

The Model must request the specified tool. Only supported by Anthropic Claude 3 and Amazon Nova models.

" } } }, "traits": { - "smithy.api#documentation": "

Determines which tools the model should request in a call to Converse or ConverseStream. ToolChoice is only supported by Anthropic Claude 3 models and by Mistral AI Mistral Large.

" + "smithy.api#documentation": "

Determines which tools the model should request in a call to Converse or ConverseStream. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolConfiguration": { @@ -6287,7 +6326,7 @@ "tools": { "target": "com.amazonaws.bedrockruntime#Tools", "traits": { - "smithy.api#documentation": "

An array of tools that you want to pass to a model.

", + "smithy.api#documentation": "

An array of tools that you want to pass to a model.

", "smithy.api#length": { "min": 1 }, @@ -6297,7 +6336,7 @@ "toolChoice": { "target": "com.amazonaws.bedrockruntime#ToolChoice", "traits": { - "smithy.api#documentation": "

If supported by model, forces the model to request a tool.

" + "smithy.api#documentation": "

If supported by model, forces the model to request a tool.

" } } }, @@ -6316,7 +6355,7 @@ } }, "traits": { - "smithy.api#documentation": "

The schema for the tool. The top level schema type must be object.

" + "smithy.api#documentation": "

The schema for the tool. The top level schema type must be object. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolName": { @@ -6335,7 +6374,7 @@ "toolUseId": { "target": "com.amazonaws.bedrockruntime#ToolUseId", "traits": { - "smithy.api#documentation": "

The ID of the tool request that this is the result for.

", + "smithy.api#documentation": "

The ID of the tool request that this is the result for.

", "smithy.api#required": {} } }, @@ -6349,12 +6388,65 @@ "status": { "target": "com.amazonaws.bedrockruntime#ToolResultStatus", "traits": { - "smithy.api#documentation": "

The status for the tool result content block.

This field is only supported Anthropic Claude 3 models.

" + "smithy.api#documentation": "

The status for the tool result content block.

This field is only supported by Amazon Nova and Anthropic Claude 3 and 4 models.

" + } + }, + "type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type for the tool result content block.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

A tool result block that contains the results for a tool request that the model previously made. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" + } + }, + "com.amazonaws.bedrockruntime#ToolResultBlockDelta": { + "type": "union", + "members": { + "text": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The reasoning the model used to return the output.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains incremental updates to tool results information during streaming responses. This allows clients to build up tool results data progressively as the response is generated.

" + } + }, + "com.amazonaws.bedrockruntime#ToolResultBlockStart": { + "type": "structure", + "members": { + "toolUseId": { + "target": "com.amazonaws.bedrockruntime#ToolUseId", + "traits": { + "smithy.api#documentation": "

The ID of the tool that was used to generate this tool result block.

", + "smithy.api#required": {} + } + }, + "type": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The type for the tool that was used to generate this tool result block.

" + } + }, + "status": { + "target": "com.amazonaws.bedrockruntime#ToolResultStatus", + "traits": { + "smithy.api#documentation": "

The status of the tool result block.

" } } }, "traits": { - "smithy.api#documentation": "

A tool result block that contains the results for a tool request that the model previously made.

" + "smithy.api#documentation": "

The start of a tool result block. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" + } + }, + "com.amazonaws.bedrockruntime#ToolResultBlocksDelta": { + "type": "list", + "member": { + "target": "com.amazonaws.bedrockruntime#ToolResultBlockDelta" } }, "com.amazonaws.bedrockruntime#ToolResultContentBlock": { @@ -6363,19 +6455,19 @@ "json": { "target": "smithy.api#Document", "traits": { - "smithy.api#documentation": "

A tool result that is JSON format data.

" + "smithy.api#documentation": "

A tool result that is JSON format data.

" } }, "text": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A tool result that is text.

" + "smithy.api#documentation": "

A tool result that is text.

" } }, "image": { "target": "com.amazonaws.bedrockruntime#ImageBlock", "traits": { - "smithy.api#documentation": "

A tool result that is an image.

This field is only supported by Anthropic Claude 3 models.

" + "smithy.api#documentation": "

A tool result that is an image.

This field is only supported by Amazon Nova and Anthropic Claude 3 and 4 models.

" } }, "document": { @@ -6392,7 +6484,7 @@ } }, "traits": { - "smithy.api#documentation": "

The tool result content block.

" + "smithy.api#documentation": "

The tool result content block. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolResultContentBlocks": { @@ -6443,7 +6535,7 @@ } }, "traits": { - "smithy.api#documentation": "

The specification for the tool.

" + "smithy.api#documentation": "

The specification for the tool. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolUseBlock": { @@ -6469,10 +6561,16 @@ "smithy.api#documentation": "

The input to pass to the tool.

", "smithy.api#required": {} } + }, + "type": { + "target": "com.amazonaws.bedrockruntime#ToolUseType", + "traits": { + "smithy.api#documentation": "

The type for the tool request.

" + } } }, "traits": { - "smithy.api#documentation": "

A tool use content block. Contains information about a tool that the model is requesting be run., The model uses the result from the tool to generate a response.

" + "smithy.api#documentation": "

A tool use content block. Contains information about a tool that the model is requesting be run., The model uses the result from the tool to generate a response. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolUseBlockDelta": { @@ -6506,10 +6604,16 @@ "smithy.api#documentation": "

The name of the tool that the model is requesting to use.

", "smithy.api#required": {} } + }, + "type": { + "target": "com.amazonaws.bedrockruntime#ToolUseType", + "traits": { + "smithy.api#documentation": "

The type for the tool request.

" + } } }, "traits": { - "smithy.api#documentation": "

The start of a tool use block.

" + "smithy.api#documentation": "

The start of a tool use block. For more information, see Call a tool with the Converse API in the Amazon Bedrock User Guide.

" } }, "com.amazonaws.bedrockruntime#ToolUseId": { @@ -6522,6 +6626,17 @@ "smithy.api#pattern": "^[a-zA-Z0-9_-]+$" } }, + "com.amazonaws.bedrockruntime#ToolUseType": { + "type": "enum", + "members": { + "SERVER_TOOL_USE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "server_tool_use" + } + } + } + }, "com.amazonaws.bedrockruntime#Tools": { "type": "list", "member": { @@ -6667,6 +6782,26 @@ "traits": { "smithy.api#documentation": "

A video source. You can upload a smaller video as a base64-encoded string as long as the encoded file is less than 25MB. You can also transfer videos up to 1GB in size from an S3 bucket.

" } + }, + "com.amazonaws.bedrockruntime#WebLocation": { + "type": "structure", + "members": { + "url": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The URL that was cited when performing a web search.

" + } + }, + "domain": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The domain that was cited when performing a web search.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides the URL and domain information for the website that was cited when performing a web search.

" + } } } } \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/bedrock.json b/codegen/sdk-codegen/aws-models/bedrock.json index 485fffced53..ce0de4f9618 100644 --- a/codegen/sdk-codegen/aws-models/bedrock.json +++ b/codegen/sdk-codegen/aws-models/bedrock.json @@ -199,27 +199,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -4213,6 +4213,12 @@ "smithy.api#documentation": "

The policy definition that contains the formal logic rules, variables, and custom variable types used to validate foundation model responses in your application.

" } }, + "kmsKeyId": { + "target": "com.amazonaws.bedrock#KmsKeyId", + "traits": { + "smithy.api#documentation": "

The identifier of the KMS key to use for encrypting the automated reasoning policy and its associated artifacts. If you don't specify a KMS key, Amazon Bedrock uses an KMS managed key for encryption. For enhanced security and control, you can specify a customer managed KMS key.

" + } + }, "tags": { "target": "com.amazonaws.bedrock#TagList", "traits": { @@ -6571,9 +6577,15 @@ { "target": "com.amazonaws.bedrock#AccessDeniedException" }, + { + "target": "com.amazonaws.bedrock#ConflictException" + }, { "target": "com.amazonaws.bedrock#InternalServerException" }, + { + "target": "com.amazonaws.bedrock#ResourceInUseException" + }, { "target": "com.amazonaws.bedrock#ResourceNotFoundException" }, @@ -6689,6 +6701,14 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + }, + "force": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether to force delete the automated reasoning policy even if it has active resources. When false, Amazon Bedrock validates if all artifacts have been deleted (e.g. policy version, test case, test result) for a policy before deletion. When true, Amazon Bedrock will delete the policy and all its artifacts without validation. Default is false.

", + "smithy.api#httpQuery": "force" + } } }, "traits": { @@ -9373,6 +9393,12 @@ "smithy.api#required": {} } }, + "kmsKeyArn": { + "target": "com.amazonaws.bedrock#KmsKeyArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the KMS key used to encrypt the automated reasoning policy and its associated artifacts. If a KMS key is not provided during the initial CreateAutomatedReasoningPolicyRequest, the kmsKeyArn won't be included in the GetAutomatedReasoningPolicyResponse.

" + } + }, "createdAt": { "target": "com.amazonaws.bedrock#Timestamp", "traits": { diff --git a/codegen/sdk-codegen/aws-models/billing.json b/codegen/sdk-codegen/aws-models/billing.json index 9deca37e7b0..75fef94ddee 100644 --- a/codegen/sdk-codegen/aws-models/billing.json +++ b/codegen/sdk-codegen/aws-models/billing.json @@ -80,26 +80,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/billingconductor.json b/codegen/sdk-codegen/aws-models/billingconductor.json index 2faab9e2137..07a56ee9695 100644 --- a/codegen/sdk-codegen/aws-models/billingconductor.json +++ b/codegen/sdk-codegen/aws-models/billingconductor.json @@ -69,7 +69,7 @@ "X-Api-Key" ] }, - "smithy.api#documentation": "

Amazon Web Services Billing Conductor is a fully managed service that you can use to\n customize a proforma version of your billing data each month, to accurately show or chargeback\n your end customers. Amazon Web Services Billing Conductor doesn't change the way you're billed\n by Amazon Web Services each month by design. Instead, it provides you with a mechanism to\n configure, generate, and display rates to certain customers over a given billing period. You\n can also analyze the difference between the rates you apply to your accounting groupings\n relative to your actual rates from Amazon Web Services. As a result of your Amazon Web Services\n Billing Conductor configuration, the payer account can also see the custom rate applied on the\n billing details page of the Amazon Web Services Billing\n console, or configure a cost and usage report per billing group.

\n

This documentation shows how you can configure Amazon Web Services Billing Conductor using its\n API. For more information about using the Amazon Web Services\n Billing Conductor user interface, see the Amazon Web Services Billing Conductor User Guide.

", + "smithy.api#documentation": "

Billing Conductor is a fully managed service that you can use to customize a pro forma version of your billing data each month, to accurately show or chargeback your end customers. Billing Conductor doesn't change the way you're billed by Amazon Web Services each month by design. Instead, it provides you with a mechanism to configure, generate, and display rates to certain customers over a given billing period. You can also analyze the difference between the rates you apply to your accounting groupings relative to your actual rates from Amazon Web Services. As a result of your Billing Conductor configuration, the payer account can also see the custom rate applied on the billing details page of the Billing console, or configure a cost and usage report per billing group.

This documentation shows how you can configure Billing Conductor by using its API. For more information about using the Billing Conductor user interface, see the Billing Conductor User Guide.

", "smithy.api#title": "AWSBillingConductor", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -78,27 +78,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -753,7 +753,7 @@ } }, "traits": { - "smithy.api#documentation": "

You do not have sufficient access to perform this action.\n

", + "smithy.api#documentation": "

You do not have sufficient access to perform this action.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -815,7 +815,7 @@ "AutoAssociate": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added\nAmazon Web Services accounts that join your consolidated billing family.

" + "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added Amazon Web Services accounts that join your consolidated billing family.

" } } }, @@ -901,7 +901,7 @@ } ], "traits": { - "smithy.api#documentation": "

Connects an array of account IDs in a consolidated billing family to a predefined\n billing group. The account IDs must be a part of the consolidated billing family during the\n current month, and not already associated with another billing group. The maximum number of\n accounts that can be associated in one call is 30.

", + "smithy.api#documentation": "

Connects an array of account IDs in a consolidated billing family to a predefined billing group. The account IDs must be a part of the consolidated billing family during the current month, and not already associated with another billing group. The maximum number of accounts that can be associated in one call is 30.

", "smithy.api#http": { "method": "POST", "uri": "/associate-accounts", @@ -916,14 +916,14 @@ "Arn": { "target": "com.amazonaws.billingconductor#BillingGroupArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that associates the array of\n account IDs.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that associates the array of account IDs.

", "smithy.api#required": {} } }, "AccountIds": { "target": "com.amazonaws.billingconductor#AccountIdList", "traits": { - "smithy.api#documentation": "

\n The associating array of account IDs.\n

", + "smithy.api#documentation": "

The associating array of account IDs.

", "smithy.api#required": {} } } @@ -935,7 +935,7 @@ "Arn": { "target": "com.amazonaws.billingconductor#BillingGroupArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that associates the array of\n account IDs.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that associates the array of account IDs.

" } } } @@ -972,7 +972,7 @@ } ], "traits": { - "smithy.api#documentation": "

Connects an array of PricingRuleArns to a defined PricingPlan.\n The maximum number PricingRuleArn that can be associated in one call is 30.

", + "smithy.api#documentation": "

Connects an array of PricingRuleArns to a defined PricingPlan. The maximum number PricingRuleArn that can be associated in one call is 30.

", "smithy.api#http": { "method": "PUT", "uri": "/associate-pricing-rules", @@ -987,14 +987,14 @@ "Arn": { "target": "com.amazonaws.billingconductor#PricingPlanArn", "traits": { - "smithy.api#documentation": "

\n The PricingPlanArn that the PricingRuleArns are associated with.\n

", + "smithy.api#documentation": "

The PricingPlanArn that the PricingRuleArns are associated with.

", "smithy.api#required": {} } }, "PricingRuleArns": { "target": "com.amazonaws.billingconductor#PricingRuleArnsNonEmptyInput", "traits": { - "smithy.api#documentation": "

\n The PricingRuleArns that are associated with the Pricing Plan.\n

", + "smithy.api#documentation": "

The PricingRuleArns that are associated with the Pricing Plan.

", "smithy.api#required": {} } } @@ -1006,7 +1006,7 @@ "Arn": { "target": "com.amazonaws.billingconductor#PricingPlanArn", "traits": { - "smithy.api#documentation": "

\n The PricingPlanArn that the PricingRuleArns are associated with.\n

" + "smithy.api#documentation": "

The PricingPlanArn that the PricingRuleArns are associated with.

" } } } @@ -1032,30 +1032,38 @@ } }, "com.amazonaws.billingconductor#AssociateResourceErrorReason": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "INVALID_ARN", - "name": "INVALID_ARN" - }, - { - "value": "SERVICE_LIMIT_EXCEEDED", - "name": "SERVICE_LIMIT_EXCEEDED" - }, - { - "value": "ILLEGAL_CUSTOMLINEITEM", - "name": "ILLEGAL_CUSTOMLINEITEM" - }, - { - "value": "INTERNAL_SERVER_EXCEPTION", - "name": "INTERNAL_SERVER_EXCEPTION" - }, - { - "value": "INVALID_BILLING_PERIOD_RANGE", - "name": "INVALID_BILLING_PERIOD_RANGE" + "type": "enum", + "members": { + "INVALID_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_ARN" } - ] + }, + "SERVICE_LIMIT_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE_LIMIT_EXCEEDED" + } + }, + "ILLEGAL_CUSTOMLINEITEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_CUSTOMLINEITEM" + } + }, + "INTERNAL_SERVER_EXCEPTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_SERVER_EXCEPTION" + } + }, + "INVALID_BILLING_PERIOD_RANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_BILLING_PERIOD_RANGE" + } + } } }, "com.amazonaws.billingconductor#AssociateResourceResponseElement": { @@ -1107,7 +1115,7 @@ } }, "traits": { - "smithy.api#documentation": "

The key-value pair that represents the attribute by which the\n BillingGroupCostReportResults are grouped. For example, if you want a\n service-level breakdown for Amazon Simple Storage Service (Amazon S3) of the billing group, the attribute will be a key-value pair\n of \"PRODUCT_NAME\" and \"S3\".

" + "smithy.api#documentation": "

The key-value pair that represents the attribute by which the BillingGroupCostReportResults are grouped. For example, if you want a service-level breakdown for Amazon Simple Storage Service (Amazon S3) of the billing group, the attribute will be a key-value pair of \"PRODUCT_NAME\" and \"S3\".

" } }, "com.amazonaws.billingconductor#AttributesList": { @@ -1148,7 +1156,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Associates a batch of resources to a percentage custom line item.\n

", + "smithy.api#documentation": "

Associates a batch of resources to a percentage custom line item.

", "smithy.api#http": { "method": "PUT", "uri": "/batch-associate-resources-to-custom-line-item", @@ -1163,7 +1171,7 @@ "TargetArn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n A percentage custom line item ARN to associate the resources to.\n

", + "smithy.api#documentation": "

A percentage custom line item ARN to associate the resources to.

", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -1171,7 +1179,7 @@ "ResourceArns": { "target": "com.amazonaws.billingconductor#CustomLineItemBatchAssociationsList", "traits": { - "smithy.api#documentation": "

\n A list containing the ARNs of the resources to be associated.\n

", + "smithy.api#documentation": "

A list containing the ARNs of the resources to be associated.

", "smithy.api#required": {} } }, @@ -1186,13 +1194,13 @@ "SuccessfullyAssociatedResources": { "target": "com.amazonaws.billingconductor#AssociateResourcesResponseList", "traits": { - "smithy.api#documentation": "

\n A list of AssociateResourceResponseElement for each resource that's been associated to a percentage custom line item successfully.\n

" + "smithy.api#documentation": "

A list of AssociateResourceResponseElement for each resource that's been associated to a percentage custom line item successfully.

" } }, "FailedAssociatedResources": { "target": "com.amazonaws.billingconductor#AssociateResourcesResponseList", "traits": { - "smithy.api#documentation": "

\n A list of AssociateResourceResponseElement for each resource that failed association to a percentage custom line item.\n

" + "smithy.api#documentation": "

A list of AssociateResourceResponseElement for each resource that failed association to a percentage custom line item.

" } } } @@ -1226,7 +1234,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Disassociates a batch of resources from a percentage custom line item.\n

", + "smithy.api#documentation": "

Disassociates a batch of resources from a percentage custom line item.

", "smithy.api#http": { "method": "PUT", "uri": "/batch-disassociate-resources-from-custom-line-item", @@ -1241,7 +1249,7 @@ "TargetArn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n A percentage custom line item ARN to disassociate the resources from.\n

", + "smithy.api#documentation": "

A percentage custom line item ARN to disassociate the resources from.

", "smithy.api#required": {}, "smithy.api#resourceIdentifier": "Arn" } @@ -1249,7 +1257,7 @@ "ResourceArns": { "target": "com.amazonaws.billingconductor#CustomLineItemBatchDisassociationsList", "traits": { - "smithy.api#documentation": "

\n A list containing the ARNs of resources to be disassociated.\n

", + "smithy.api#documentation": "

A list containing the ARNs of resources to be disassociated.

", "smithy.api#required": {} } }, @@ -1264,13 +1272,13 @@ "SuccessfullyDisassociatedResources": { "target": "com.amazonaws.billingconductor#DisassociateResourcesResponseList", "traits": { - "smithy.api#documentation": "

\n A list of DisassociateResourceResponseElement for each resource that's been disassociated from a percentage custom line item successfully.\n

" + "smithy.api#documentation": "

A list of DisassociateResourceResponseElement for each resource that's been disassociated from a percentage custom line item successfully.

" } }, "FailedDisassociatedResources": { "target": "com.amazonaws.billingconductor#DisassociateResourcesResponseList", "traits": { - "smithy.api#documentation": "

\n A list of DisassociateResourceResponseElement for each resource that failed disassociation from a percentage custom line item.\n

" + "smithy.api#documentation": "

A list of DisassociateResourceResponseElement for each resource that failed disassociation from a percentage custom line item.

" } } } @@ -1278,7 +1286,7 @@ "com.amazonaws.billingconductor#BillingEntity": { "type": "string", "traits": { - "smithy.api#pattern": "^[a-zA-Z0-9 ]+$" + "smithy.api#pattern": "^[a-zA-Z0-9() ]+$" } }, "com.amazonaws.billingconductor#BillingGroup": { @@ -1313,13 +1321,13 @@ "aws:ResourceTag/${TagKey}" ], "aws.iam#disableConditionKeyInference": {}, - "smithy.api#documentation": "A billing group is a set of linked account which belong to the same end customer.\nIt can be seen as a virtual consolidated billing family.\n" + "smithy.api#documentation": " A billing group is a set of linked account which belong to the same end customer.\n It can be seen as a virtual consolidated billing family.\n" } }, "com.amazonaws.billingconductor#BillingGroupArn": { "type": "string", "traits": { - "smithy.api#pattern": "^(arn:aws(-cn)?:billingconductor::[0-9]{12}:billinggroup/)?[0-9]{12}$" + "smithy.api#pattern": "^(arn:aws(-cn)?:billingconductor::[0-9]{12}:billinggroup/)?[a-zA-Z0-9]{10,12}$" } }, "com.amazonaws.billingconductor#BillingGroupArnList": { @@ -1426,12 +1434,12 @@ "Attributes": { "target": "com.amazonaws.billingconductor#AttributesList", "traits": { - "smithy.api#documentation": "

The list of key-value pairs that represent the attributes by which the\n BillingGroupCostReportResults are grouped. For example, if you want the\n Amazon S3 service-level breakdown of a billing group for November 2023, the\n attributes list will contain a key-value pair of \"PRODUCT_NAME\" and\n \"S3\" and a key-value pair of \"BILLING_PERIOD\" and\n \"Nov 2023\".

" + "smithy.api#documentation": "

The list of key-value pairs that represent the attributes by which the BillingGroupCostReportResults are grouped. For example, if you want the Amazon S3 service-level breakdown of a billing group for November 2023, the attributes list will contain a key-value pair of \"PRODUCT_NAME\" and \"S3\" and a key-value pair of \"BILLING_PERIOD\" and \"Nov 2023\".

" } } }, "traits": { - "smithy.api#documentation": "

A paginated call to retrieve a list of summary reports of actual Amazon Web Services charges and the\n calculated Amazon Web Services charges, broken down by attributes.

" + "smithy.api#documentation": "

A paginated call to retrieve a list of summary reports of actual Amazon Web Services charges and the calculated Amazon Web Services charges, broken down by attributes.

" } }, "com.amazonaws.billingconductor#BillingGroupCostReportResultsList": { @@ -1453,7 +1461,7 @@ "com.amazonaws.billingconductor#BillingGroupFullArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws(-cn)?:billingconductor::[0-9]{12}:billinggroup/[0-9]{12}$" + "smithy.api#pattern": "^arn:aws(-cn)?:billingconductor::[0-9]{12}:billinggroup/[a-zA-Z0-9]{10,12}$" } }, "com.amazonaws.billingconductor#BillingGroupList": { @@ -1528,7 +1536,7 @@ "AccountGrouping": { "target": "com.amazonaws.billingconductor#ListBillingGroupAccountGrouping", "traits": { - "smithy.api#documentation": "

Specifies if the billing group has automatic account\nassociation (AutoAssociate) enabled.

" + "smithy.api#documentation": "

Specifies if the billing group has automatic account association (AutoAssociate) enabled.

" } } }, @@ -1548,18 +1556,20 @@ } }, "com.amazonaws.billingconductor#BillingGroupStatus": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "ACTIVE", - "name": "ACTIVE" - }, - { - "value": "PRIMARY_ACCOUNT_MISSING", - "name": "PRIMARY_ACCOUNT_MISSING" + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" } - ] + }, + "PRIMARY_ACCOUNT_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARY_ACCOUNT_MISSING" + } + } } }, "com.amazonaws.billingconductor#BillingGroupStatusList": { @@ -1630,6 +1640,20 @@ "smithy.api#documentation": "

The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.

" } }, + "com.amazonaws.billingconductor#ComputationRuleEnum": { + "type": "enum", + "members": { + "CONSOLIDATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CONSOLIDATED" + } + } + }, + "traits": { + "smithy.api#documentation": "The display settings of the custom line item" + } + }, "com.amazonaws.billingconductor#ConflictException": { "type": "structure", "members": { @@ -1642,55 +1666,63 @@ "ResourceId": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

Identifier of the resource in use.\n

", + "smithy.api#documentation": "

Identifier of the resource in use.

", "smithy.api#required": {} } }, "ResourceType": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

Type of the resource in use.\n

", + "smithy.api#documentation": "

Type of the resource in use.

", "smithy.api#required": {} } }, "Reason": { "target": "com.amazonaws.billingconductor#ConflictExceptionReason", "traits": { - "smithy.api#documentation": "

Reason for the inconsistent state.\n

" + "smithy.api#documentation": "

Reason for the inconsistent state.

" } } }, "traits": { - "smithy.api#documentation": "

You can cause an inconsistent state by updating or deleting a resource.\n

", + "smithy.api#documentation": "

You can cause an inconsistent state by updating or deleting a resource.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } }, "com.amazonaws.billingconductor#ConflictExceptionReason": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "RESOURCE_NAME_CONFLICT", - "name": "RESOURCE_NAME_CONFLICT" - }, - { - "value": "PRICING_RULE_IN_PRICING_PLAN_CONFLICT", - "name": "PRICING_RULE_IN_PRICING_PLAN_CONFLICT" - }, - { - "value": "PRICING_PLAN_ATTACHED_TO_BILLING_GROUP_DELETE_CONFLICT", - "name": "PRICING_PLAN_ATTACHED_TO_BILLING_GROUP_DELETE_CONFLICT" - }, - { - "value": "PRICING_RULE_ATTACHED_TO_PRICING_PLAN_DELETE_CONFLICT", - "name": "PRICING_RULE_ATTACHED_TO_PRICING_PLAN_DELETE_CONFLICT" - }, - { - "value": "WRITE_CONFLICT_RETRY", - "name": "WRITE_CONFLICT_RETRY" + "type": "enum", + "members": { + "RESOURCE_NAME_CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESOURCE_NAME_CONFLICT" } - ] + }, + "PRICING_RULE_IN_PRICING_PLAN_CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRICING_RULE_IN_PRICING_PLAN_CONFLICT" + } + }, + "PRICING_PLAN_ATTACHED_TO_BILLING_GROUP_DELETE_CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRICING_PLAN_ATTACHED_TO_BILLING_GROUP_DELETE_CONFLICT" + } + }, + "PRICING_RULE_ATTACHED_TO_PRICING_PLAN_DELETE_CONFLICT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRICING_RULE_ATTACHED_TO_PRICING_PLAN_DELETE_CONFLICT" + } + }, + "WRITE_CONFLICT_RETRY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "WRITE_CONFLICT_RETRY" + } + } } }, "com.amazonaws.billingconductor#CreateBillingGroup": { @@ -1726,7 +1758,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

\n Creates a billing group that resembles a consolidated billing family that Amazon Web Services charges, based off of the predefined pricing plan computation.\n

", + "smithy.api#documentation": "

Creates a billing group that resembles a consolidated billing family that Amazon Web Services charges, based off of the predefined pricing plan computation.

", "smithy.api#http": { "method": "POST", "uri": "/create-billing-group", @@ -1741,7 +1773,7 @@ "ClientToken": { "target": "com.amazonaws.billingconductor#ClientToken", "traits": { - "smithy.api#documentation": "

\n The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. \n

", + "smithy.api#documentation": "

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

", "smithy.api#httpHeader": "X-Amzn-Client-Token", "smithy.api#idempotencyToken": {} } @@ -1749,21 +1781,21 @@ "Name": { "target": "com.amazonaws.billingconductor#BillingGroupName", "traits": { - "smithy.api#documentation": "

\n The billing group name. The names must be unique.\n

", + "smithy.api#documentation": "

The billing group name. The names must be unique.

", "smithy.api#required": {} } }, "AccountGrouping": { "target": "com.amazonaws.billingconductor#AccountGrouping", "traits": { - "smithy.api#documentation": "

\n The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family.\n

", + "smithy.api#documentation": "

The set of accounts that will be under the billing group. The set of accounts resemble the linked accounts in a consolidated billing family.

", "smithy.api#required": {} } }, "ComputationPreference": { "target": "com.amazonaws.billingconductor#ComputationPreference", "traits": { - "smithy.api#documentation": "

\n The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.\n

", + "smithy.api#documentation": "

The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.

", "smithy.api#required": {} } }, @@ -1782,7 +1814,7 @@ "Tags": { "target": "com.amazonaws.billingconductor#TagMap", "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to a billing group. This\n feature isn't available during the beta.

" + "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to a billing group. This feature isn't available during the beta.

" } } } @@ -1831,7 +1863,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

Creates a custom line item that can be used to create a one-time fixed charge that can be\n applied to a single billing group for the current or previous billing period. The one-time\n fixed charge is either a fee or discount.

", + "smithy.api#documentation": "

Creates a custom line item that can be used to create a one-time fixed charge that can be applied to a single billing group for the current or previous billing period. The one-time fixed charge is either a fee or discount.

", "smithy.api#http": { "method": "POST", "uri": "/create-custom-line-item", @@ -1845,7 +1877,7 @@ "ClientToken": { "target": "com.amazonaws.billingconductor#ClientToken", "traits": { - "smithy.api#documentation": "

\n The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. \n

", + "smithy.api#documentation": "

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

", "smithy.api#httpHeader": "X-Amzn-Client-Token", "smithy.api#idempotencyToken": {} } @@ -1853,21 +1885,21 @@ "Name": { "target": "com.amazonaws.billingconductor#CustomLineItemName", "traits": { - "smithy.api#documentation": "

\n The name of the custom line item.\n

", + "smithy.api#documentation": "

The name of the custom line item.

", "smithy.api#required": {} } }, "Description": { "target": "com.amazonaws.billingconductor#CustomLineItemDescription", "traits": { - "smithy.api#documentation": "

\n The description of the custom line item. This is shown on the Bills page in association with the charge value.\n

", + "smithy.api#documentation": "

The description of the custom line item. This is shown on the Bills page in association with the charge value.

", "smithy.api#required": {} } }, "BillingGroupArn": { "target": "com.amazonaws.billingconductor#BillingGroupArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that references the billing group where the custom line\n item applies to.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that references the billing group where the custom line item applies to.

", "smithy.api#required": {} } }, @@ -1886,7 +1918,7 @@ "ChargeDetails": { "target": "com.amazonaws.billingconductor#CustomLineItemChargeDetails", "traits": { - "smithy.api#documentation": "

\n A CustomLineItemChargeDetails that describes the charge details for a custom line item.\n

", + "smithy.api#documentation": "

A CustomLineItemChargeDetails that describes the charge details for a custom line item.

", "smithy.api#required": {} } }, @@ -1895,6 +1927,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Web Services account in which this custom line item will be applied to.

" } + }, + "ComputationRule": { + "target": "com.amazonaws.billingconductor#ComputationRuleEnum" + }, + "PresentationDetails": { + "target": "com.amazonaws.billingconductor#PresentationObject" } }, "traits": { @@ -1925,13 +1963,13 @@ "Activated": { "target": "com.amazonaws.billingconductor#TieringActivated", "traits": { - "smithy.api#documentation": "

\n Activate or deactivate Amazon Web Services Free Tier.\n

", + "smithy.api#documentation": "

Activate or deactivate Amazon Web Services Free Tier.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The possible Amazon Web Services Free Tier configurations.\n

" + "smithy.api#documentation": "

The possible Amazon Web Services Free Tier configurations.

" } }, "com.amazonaws.billingconductor#CreatePricingPlan": { @@ -1970,7 +2008,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

Creates a pricing plan that is used for computing Amazon Web Services charges for billing groups.\n

", + "smithy.api#documentation": "

Creates a pricing plan that is used for computing Amazon Web Services charges for billing groups.

", "smithy.api#http": { "method": "POST", "uri": "/create-pricing-plan", @@ -1986,7 +2024,7 @@ "target": "com.amazonaws.billingconductor#ClientToken", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

\n The token that is needed to support idempotency. Idempotency isn't currently supported, but will be implemented in a future update. \n

", + "smithy.api#documentation": "

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

", "smithy.api#httpHeader": "X-Amzn-Client-Token", "smithy.api#idempotencyToken": {} } @@ -2013,7 +2051,7 @@ "Tags": { "target": "com.amazonaws.billingconductor#TagMap", "traits": { - "smithy.api#documentation": "

\n A map that contains tag keys and tag values that are attached to a pricing plan.\n

" + "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to a pricing plan.

" } } } @@ -2062,7 +2100,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

\n Creates a pricing rule can be associated to a pricing plan, or a set of pricing plans.\n

", + "smithy.api#documentation": "

Creates a pricing rule can be associated to a pricing plan, or a set of pricing plans.

", "smithy.api#http": { "method": "POST", "uri": "/create-pricing-rule", @@ -2078,7 +2116,7 @@ "target": "com.amazonaws.billingconductor#ClientToken", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The token that's needed to support idempotency. Idempotency isn't currently supported,\n but will be implemented in a future update.

", + "smithy.api#documentation": "

A unique, case-sensitive identifier that you specify to ensure idempotency of the request. Idempotency ensures that an API request completes no more than one time. With an idempotent request, if the original request completes successfully, any subsequent retries complete successfully without performing any further actions.

", "smithy.api#httpHeader": "X-Amzn-Client-Token", "smithy.api#idempotencyToken": {} } @@ -2086,70 +2124,70 @@ "Name": { "target": "com.amazonaws.billingconductor#PricingRuleName", "traits": { - "smithy.api#documentation": "

\n The pricing rule name. The names must be unique to each pricing rule.\n

", + "smithy.api#documentation": "

The pricing rule name. The names must be unique to each pricing rule.

", "smithy.api#required": {} } }, "Description": { "target": "com.amazonaws.billingconductor#PricingRuleDescription", "traits": { - "smithy.api#documentation": "

\n The pricing rule description.\n

" + "smithy.api#documentation": "

The pricing rule description.

" } }, "Scope": { "target": "com.amazonaws.billingconductor#PricingRuleScope", "traits": { - "smithy.api#documentation": "

The scope of pricing rule that indicates if it's globally applicable, or it's\n service-specific.

", + "smithy.api#documentation": "

The scope of pricing rule that indicates if it's globally applicable, or it's service-specific.

", "smithy.api#required": {} } }, "Type": { "target": "com.amazonaws.billingconductor#PricingRuleType", "traits": { - "smithy.api#documentation": "

\n The type of pricing rule.\n

", + "smithy.api#documentation": "

The type of pricing rule.

", "smithy.api#required": {} } }, "ModifierPercentage": { "target": "com.amazonaws.billingconductor#ModifierPercentage", "traits": { - "smithy.api#documentation": "

A percentage modifier that's applied on the public pricing rates.

" + "smithy.api#documentation": "

A percentage modifier that's applied on the public pricing rates. Your entry will be rounded to the nearest 2 decimal places.

" } }, "Service": { "target": "com.amazonaws.billingconductor#Service", "traits": { - "smithy.api#documentation": "

\n If the Scope attribute is set to SERVICE or SKU, the attribute indicates which service the PricingRule is applicable for.\n

" + "smithy.api#documentation": "

If the Scope attribute is set to SERVICE or SKU, the attribute indicates which service the PricingRule is applicable for.

" } }, "Tags": { "target": "com.amazonaws.billingconductor#TagMap", "traits": { - "smithy.api#documentation": "

\n A map that contains tag keys and tag values that are attached to a pricing rule.\n

" + "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to a pricing rule.

" } }, "BillingEntity": { "target": "com.amazonaws.billingconductor#BillingEntity", "traits": { - "smithy.api#documentation": "

\n The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.\n

" + "smithy.api#documentation": "

The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.

" } }, "Tiering": { "target": "com.amazonaws.billingconductor#CreateTieringInput", "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } }, "UsageType": { "target": "com.amazonaws.billingconductor#UsageType", "traits": { - "smithy.api#documentation": "

\n Usage type is the unit that each service uses to measure the usage of a specific type of resource.

\n

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region. \n \n

" + "smithy.api#documentation": "

Usage type is the unit that each service uses to measure the usage of a specific type of resource.

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region.

" } }, "Operation": { "target": "com.amazonaws.billingconductor#Operation", "traits": { - "smithy.api#documentation": "

\n Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item.

\n

\n If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

" + "smithy.api#documentation": "

Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item.

If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

" } } } @@ -2171,31 +2209,33 @@ "FreeTier": { "target": "com.amazonaws.billingconductor#CreateFreeTierConfig", "traits": { - "smithy.api#documentation": "

\n The possible Amazon Web Services Free Tier configurations.\n

", + "smithy.api#documentation": "

The possible Amazon Web Services Free Tier configurations.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } }, "com.amazonaws.billingconductor#Currency": { "type": "string" }, "com.amazonaws.billingconductor#CurrencyCode": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "USD", - "name": "USD" - }, - { - "value": "CNY", - "name": "CNY" + "type": "enum", + "members": { + "USD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "USD" } - ] + }, + "CNY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CNY" + } + } } }, "com.amazonaws.billingconductor#CustomLineItem": { @@ -2236,7 +2276,7 @@ "aws:ResourceTag/${TagKey}" ], "aws.iam#disableConditionKeyInference": {}, - "smithy.api#documentation": "Represents the custom line item\n" + "smithy.api#documentation": " Represents the custom line item\n" } }, "com.amazonaws.billingconductor#CustomLineItemArn": { @@ -2325,7 +2365,7 @@ "Flat": { "target": "com.amazonaws.billingconductor#CustomLineItemFlatChargeDetails", "traits": { - "smithy.api#documentation": "

A CustomLineItemFlatChargeDetails that describes the charge details of a flat\n custom line item.

" + "smithy.api#documentation": "

A CustomLineItemFlatChargeDetails that describes the charge details of a flat custom line item.

" } }, "Percentage": { @@ -2463,6 +2503,18 @@ "traits": { "smithy.api#documentation": "

The Amazon Web Services account in which this custom line item will be applied to.

" } + }, + "ComputationRule": { + "target": "com.amazonaws.billingconductor#ComputationRuleEnum", + "traits": { + "smithy.api#documentation": "The display settings of the custom line item" + } + }, + "PresentationDetails": { + "target": "com.amazonaws.billingconductor#PresentationObject", + "traits": { + "smithy.api#documentation": "The presentation configuration of the custom line item" + } } }, "traits": { @@ -2498,7 +2550,7 @@ "PercentageValue": { "target": "com.amazonaws.billingconductor#CustomLineItemPercentageChargeValue", "traits": { - "smithy.api#documentation": "

The custom line item's percentage value. This will be multiplied against the combined\n value of its associated resources to determine its charge value.

", + "smithy.api#documentation": "

The custom line item's percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value.

", "smithy.api#required": {} } }, @@ -2532,33 +2584,37 @@ } }, "com.amazonaws.billingconductor#CustomLineItemRelationship": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PARENT", - "name": "PARENT" - }, - { - "value": "CHILD", - "name": "CHILD" + "type": "enum", + "members": { + "PARENT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PARENT" } - ] + }, + "CHILD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CHILD" + } + } } }, "com.amazonaws.billingconductor#CustomLineItemType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "CREDIT", - "name": "CREDIT" - }, - { - "value": "FEE", - "name": "FEE" + "type": "enum", + "members": { + "CREDIT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREDIT" } - ] + }, + "FEE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FEE" + } + } } }, "com.amazonaws.billingconductor#CustomLineItemVersionList": { @@ -2639,14 +2695,14 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n A list of custom line item Amazon Resource Names (ARNs) to retrieve information.\n

" + "smithy.api#documentation": "

A list of custom line item Amazon Resource Names (ARNs) to retrieve information.

" } }, "StartTime": { "target": "com.amazonaws.billingconductor#Instant", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The inclusive start time.\n

" + "smithy.api#documentation": "

The inclusive start time.

" } }, "AccountId": { @@ -2654,6 +2710,18 @@ "traits": { "smithy.api#documentation": "

The Amazon Web Services account in which this custom line item will be applied to.

" } + }, + "ComputationRule": { + "target": "com.amazonaws.billingconductor#ComputationRuleEnum", + "traits": { + "smithy.api#documentation": "The display settings of the custom line item" + } + }, + "PresentationDetails": { + "target": "com.amazonaws.billingconductor#PresentationObject", + "traits": { + "smithy.api#documentation": "The presentation configuration of the custom line item" + } } }, "traits": { @@ -2683,7 +2751,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes a billing group.\n

", + "smithy.api#documentation": "

Deletes a billing group.

", "smithy.api#http": { "method": "POST", "uri": "/delete-billing-group", @@ -2741,7 +2809,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes the custom line item identified by the given ARN in the current, or previous billing period.\n

", + "smithy.api#documentation": "

Deletes the custom line item identified by the given ARN in the current, or previous billing period.

", "smithy.api#http": { "method": "POST", "uri": "/delete-custom-line-item", @@ -2756,7 +2824,7 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n The ARN of the custom line item to be deleted.\n

", + "smithy.api#documentation": "

The ARN of the custom line item to be deleted.

", "smithy.api#required": {} } }, @@ -2802,7 +2870,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a pricing plan. The pricing plan must not be associated with any billing groups to\n delete successfully.

", + "smithy.api#documentation": "

Deletes a pricing plan. The pricing plan must not be associated with any billing groups to delete successfully.

", "smithy.api#http": { "method": "POST", "uri": "/delete-pricing-plan", @@ -2936,14 +3004,14 @@ "Arn": { "target": "com.amazonaws.billingconductor#BillingGroupArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that the array of account IDs will\n disassociate from.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that the array of account IDs will disassociate from.

", "smithy.api#required": {} } }, "AccountIds": { "target": "com.amazonaws.billingconductor#AccountIdList", "traits": { - "smithy.api#documentation": "

The array of account IDs to disassociate.\n

", + "smithy.api#documentation": "

The array of account IDs to disassociate.

", "smithy.api#required": {} } } @@ -2955,7 +3023,7 @@ "Arn": { "target": "com.amazonaws.billingconductor#BillingGroupArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that the array of account IDs is\n disassociated from.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the billing group that the array of account IDs is disassociated from.

" } } } @@ -2989,7 +3057,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Disassociates a list of pricing rules from a pricing plan.\n

", + "smithy.api#documentation": "

Disassociates a list of pricing rules from a pricing plan.

", "smithy.api#http": { "method": "PUT", "uri": "/disassociate-pricing-rules", @@ -3011,7 +3079,7 @@ "PricingRuleArns": { "target": "com.amazonaws.billingconductor#PricingRuleArnsNonEmptyInput", "traits": { - "smithy.api#documentation": "

A list containing the Amazon Resource Name (ARN) of the pricing rules that will be\n disassociated.

", + "smithy.api#documentation": "

A list containing the Amazon Resource Name (ARN) of the pricing rules that will be disassociated.

", "smithy.api#required": {} } } @@ -3023,7 +3091,7 @@ "Arn": { "target": "com.amazonaws.billingconductor#PricingPlanArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan that the pricing rules successfully\n disassociated from.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan that the pricing rules successfully disassociated from.

" } } } @@ -3034,7 +3102,7 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemAssociationElement", "traits": { - "smithy.api#documentation": "

The resource ARN that was disassociated from the custom line item.\n

" + "smithy.api#documentation": "

The resource ARN that was disassociated from the custom line item.

" } }, "Error": { @@ -3060,13 +3128,13 @@ "Activated": { "target": "com.amazonaws.billingconductor#TieringActivated", "traits": { - "smithy.api#documentation": "

\n Activate or deactivate Amazon Web Services Free Tier application.\n

", + "smithy.api#documentation": "

Activate or deactivate Amazon Web Services Free Tier application.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The possible Amazon Web Services Free Tier configurations.\n

" + "smithy.api#documentation": "

The possible Amazon Web Services Free Tier configurations.

" } }, "com.amazonaws.billingconductor#GetBillingGroupCostReport": { @@ -3095,7 +3163,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the margin summary report, which includes the Amazon Web Services cost and charged \n amount (pro forma cost) by Amazon Web Service for a specific billing group.

", + "smithy.api#documentation": "

Retrieves the margin summary report, which includes the Amazon Web Services cost and charged amount (pro forma cost) by Amazon Web Services service for a specific billing group.

", "smithy.api#http": { "method": "POST", "uri": "/get-billing-group-cost-report", @@ -3129,7 +3197,7 @@ "GroupBy": { "target": "com.amazonaws.billingconductor#GroupByAttributesList", "traits": { - "smithy.api#documentation": "

A list of strings that specify the attributes that are used to break down costs in the\n margin summary reports for the billing group. For example, you can view your costs by the\n Amazon Web Service name or the billing period.

" + "smithy.api#documentation": "

A list of strings that specify the attributes that are used to break down costs in the margin summary reports for the billing group. For example, you can view your costs by the Amazon Web Services service name or the billing period.

" } }, "MaxResults": { @@ -3170,18 +3238,20 @@ } }, "com.amazonaws.billingconductor#GroupByAttributeName": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "PRODUCT_NAME", - "name": "PRODUCT_NAME" - }, - { - "value": "BILLING_PERIOD", - "name": "BILLING_PERIOD" + "type": "enum", + "members": { + "PRODUCT_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRODUCT_NAME" } - ] + }, + "BILLING_PERIOD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BILLING_PERIOD" + } + } } }, "com.amazonaws.billingconductor#GroupByAttributesList": { @@ -3209,13 +3279,13 @@ "target": "com.amazonaws.billingconductor#RetryAfterSeconds", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Number of seconds you can retry after the call.\n

", + "smithy.api#documentation": "

Number of seconds you can retry after the call.

", "smithy.api#httpHeader": "Retry-After" } } }, "traits": { - "smithy.api#documentation": "

An unexpected error occurred while processing a request.\n

", + "smithy.api#documentation": "

An unexpected error occurred while processing a request.

", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -3226,7 +3296,7 @@ "Attribute": { "target": "com.amazonaws.billingconductor#LineItemFilterAttributeName", "traits": { - "smithy.api#documentation": "

The attribute of the line item filter. This specifies what attribute that you can filter\n on.

", + "smithy.api#documentation": "

The attribute of the line item filter. This specifies what attribute that you can filter on.

", "smithy.api#required": {} } }, @@ -3246,29 +3316,29 @@ } }, "traits": { - "smithy.api#documentation": "

A representation of the line item filter for your custom line item. You can use line item filters to include or exclude specific resource values from the billing group's total cost. \n For example, if you create a custom line item and you want to filter out a value, such as\n Savings Plan discounts, you can update LineItemFilter to exclude it.

" + "smithy.api#documentation": "

A representation of the line item filter for your custom line item. You can use line item filters to include or exclude specific resource values from the billing group's total cost. For example, if you create a custom line item and you want to filter out a value, such as Savings Plan discounts, you can update LineItemFilter to exclude it.

" } }, "com.amazonaws.billingconductor#LineItemFilterAttributeName": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "LINE_ITEM_TYPE", - "name": "LINE_ITEM_TYPE" + "type": "enum", + "members": { + "LINE_ITEM_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LINE_ITEM_TYPE" } - ] + } } }, "com.amazonaws.billingconductor#LineItemFilterValue": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "SAVINGS_PLAN_NEGATION", - "name": "SAVINGS_PLAN_NEGATION" + "type": "enum", + "members": { + "SAVINGS_PLAN_NEGATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SAVINGS_PLAN_NEGATION" } - ] + } } }, "com.amazonaws.billingconductor#LineItemFilterValuesList": { @@ -3321,7 +3391,7 @@ } ], "traits": { - "smithy.api#documentation": "

This is a paginated call to list linked accounts that are linked to the payer account for\n the specified time period. If no information is provided, the current billing period is used.\n The response will optionally include the billing group that's associated with the linked\n account.

", + "smithy.api#documentation": "

This is a paginated call to list linked accounts that are linked to the payer account for the specified time period. If no information is provided, the current billing period is used. The response will optionally include the billing group that's associated with the linked account.

", "smithy.api#http": { "method": "POST", "uri": "/list-account-associations", @@ -3341,7 +3411,7 @@ "Association": { "target": "com.amazonaws.billingconductor#Association", "traits": { - "smithy.api#documentation": "

\n MONITORED: linked accounts that are associated to billing groups.

\n

\n UNMONITORED: linked accounts that are not associated to billing groups.

\n

\n Billing Group Arn: linked accounts that are associated to the provided Billing Group Arn.

" + "smithy.api#documentation": "

MONITORED: linked accounts that are associated to billing groups.

UNMONITORED: linked accounts that are not associated to billing groups.

Billing Group Arn: linked accounts that are associated to the provided Billing Group Arn.

" } }, "AccountId": { @@ -3353,12 +3423,12 @@ "AccountIds": { "target": "com.amazonaws.billingconductor#AccountIdFilterList", "traits": { - "smithy.api#documentation": "

\n The list of Amazon Web Services IDs to retrieve their associated billing group for a given time range.\n

" + "smithy.api#documentation": "

The list of Amazon Web Services IDs to retrieve their associated billing group for a given time range.

" } } }, "traits": { - "smithy.api#documentation": "

The filter on the account ID of the linked account, or any of the following:

\n

\n MONITORED: linked accounts that are associated to billing groups.

\n

\n UNMONITORED: linked accounts that are not associated to billing groups.

\n

\n Billing Group Arn: linked accounts that are associated to the provided Billing Group Arn.

" + "smithy.api#documentation": "

The filter on the account ID of the linked account, or any of the following:

MONITORED: linked accounts that are associated to billing groups.

UNMONITORED: linked accounts that are not associated to billing groups.

Billing Group Arn: linked accounts that are associated to the provided Billing Group Arn.

" } }, "com.amazonaws.billingconductor#ListAccountAssociationsInput": { @@ -3367,19 +3437,19 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The preferred billing period to get account associations.\n

" + "smithy.api#documentation": "

The preferred billing period to get account associations.

" } }, "Filters": { "target": "com.amazonaws.billingconductor#ListAccountAssociationsFilter", "traits": { - "smithy.api#documentation": "

The filter on the account ID of the linked account, or any of the following:

\n

\n MONITORED: linked accounts that are associated to billing groups.

\n

\n UNMONITORED: linked accounts that aren't associated to billing groups.

\n

\n Billing Group Arn: linked accounts that are associated to the provided\n billing group Arn.

" + "smithy.api#documentation": "

The filter on the account ID of the linked account, or any of the following:

MONITORED: linked accounts that are associated to billing groups.

UNMONITORED: linked accounts that aren't associated to billing groups.

Billing Group Arn: linked accounts that are associated to the provided billing group Arn.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token that's used on subsequent calls to retrieve accounts.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to retrieve accounts.

" } } } @@ -3396,7 +3466,7 @@ "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token that's used on subsequent calls to get accounts.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get accounts.

" } } } @@ -3407,12 +3477,12 @@ "AutoAssociate": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added\nAmazon Web Services accounts that join your consolidated billing family.

" + "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added Amazon Web Services accounts that join your consolidated billing family.

" } } }, "traits": { - "smithy.api#documentation": "

Specifies if the billing group has the following\nfeatures enabled.

" + "smithy.api#documentation": "

Specifies if the billing group has the following features enabled.

" } }, "com.amazonaws.billingconductor#ListBillingGroupCostReports": { @@ -3441,7 +3511,7 @@ } ], "traits": { - "smithy.api#documentation": "

A paginated call to retrieve a summary report of actual Amazon Web Services charges and the calculated\n Amazon Web Services charges based on the associated pricing plan of a billing group.

", + "smithy.api#documentation": "

A paginated call to retrieve a summary report of actual Amazon Web Services charges and the calculated Amazon Web Services charges based on the associated pricing plan of a billing group.

", "smithy.api#http": { "method": "POST", "uri": "/list-billing-group-cost-reports", @@ -3476,25 +3546,25 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

The preferred billing period for your report.\n

" + "smithy.api#documentation": "

The preferred billing period for your report.

" } }, "MaxResults": { "target": "com.amazonaws.billingconductor#MaxBillingGroupResults", "traits": { - "smithy.api#documentation": "

The maximum number of reports to retrieve.\n

" + "smithy.api#documentation": "

The maximum number of reports to retrieve.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get reports.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get reports.

" } }, "Filters": { "target": "com.amazonaws.billingconductor#ListBillingGroupCostReportsFilter", "traits": { - "smithy.api#documentation": "

A ListBillingGroupCostReportsFilter to specify billing groups to retrieve reports from.\n

" + "smithy.api#documentation": "

A ListBillingGroupCostReportsFilter to specify billing groups to retrieve reports from.

" } } } @@ -3505,13 +3575,13 @@ "BillingGroupCostReports": { "target": "com.amazonaws.billingconductor#BillingGroupCostReportList", "traits": { - "smithy.api#documentation": "

A list of BillingGroupCostReportElement retrieved.\n

" + "smithy.api#documentation": "

A list of BillingGroupCostReportElement retrieved.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get reports.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get reports.

" } } } @@ -3575,13 +3645,13 @@ "Statuses": { "target": "com.amazonaws.billingconductor#BillingGroupStatusList", "traits": { - "smithy.api#documentation": "

\n A list of billing groups to retrieve their current status for a specific time range\n

" + "smithy.api#documentation": "

A list of billing groups to retrieve their current status for a specific time range

" } }, "AutoAssociate": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added\nAmazon Web Services accounts that join your consolidated billing family.

" + "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added Amazon Web Services accounts that join your consolidated billing family.

" } } }, @@ -3595,25 +3665,25 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

The preferred billing period to get billing groups.\n

" + "smithy.api#documentation": "

The preferred billing period to get billing groups.

" } }, "MaxResults": { "target": "com.amazonaws.billingconductor#MaxBillingGroupResults", "traits": { - "smithy.api#documentation": "

The maximum number of billing groups to retrieve.\n

" + "smithy.api#documentation": "

The maximum number of billing groups to retrieve.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get billing groups.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get billing groups.

" } }, "Filters": { "target": "com.amazonaws.billingconductor#ListBillingGroupsFilter", "traits": { - "smithy.api#documentation": "

A ListBillingGroupsFilter that specifies the billing group and pricing plan to retrieve billing group information.\n

" + "smithy.api#documentation": "

A ListBillingGroupsFilter that specifies the billing group and pricing plan to retrieve billing group information.

" } } } @@ -3624,13 +3694,13 @@ "BillingGroups": { "target": "com.amazonaws.billingconductor#BillingGroupList", "traits": { - "smithy.api#documentation": "

A list of BillingGroupListElement retrieved.\n

" + "smithy.api#documentation": "

A list of BillingGroupListElement retrieved.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get billing groups.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get billing groups.

" } } } @@ -3641,19 +3711,19 @@ "Flat": { "target": "com.amazonaws.billingconductor#ListCustomLineItemFlatChargeDetails", "traits": { - "smithy.api#documentation": "

\n A ListCustomLineItemFlatChargeDetails that describes the charge details of a flat custom line item.\n

" + "smithy.api#documentation": "

A ListCustomLineItemFlatChargeDetails that describes the charge details of a flat custom line item.

" } }, "Percentage": { "target": "com.amazonaws.billingconductor#ListCustomLineItemPercentageChargeDetails", "traits": { - "smithy.api#documentation": "

\n A ListCustomLineItemPercentageChargeDetails that describes the charge details of a percentage custom line item.\n

" + "smithy.api#documentation": "

A ListCustomLineItemPercentageChargeDetails that describes the charge details of a percentage custom line item.

" } }, "Type": { "target": "com.amazonaws.billingconductor#CustomLineItemType", "traits": { - "smithy.api#documentation": "

\n The type of the custom line item that indicates whether the charge is a fee or credit.\n

", + "smithy.api#documentation": "

The type of the custom line item that indicates whether the charge is a fee or credit.

", "smithy.api#required": {} } }, @@ -3665,7 +3735,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n A representation of the charge details of a custom line item.\n

" + "smithy.api#documentation": "

A representation of the charge details of a custom line item.

" } }, "com.amazonaws.billingconductor#ListCustomLineItemFlatChargeDetails": { @@ -3674,13 +3744,13 @@ "ChargeValue": { "target": "com.amazonaws.billingconductor#CustomLineItemChargeValue", "traits": { - "smithy.api#documentation": "

\n The custom line item's fixed charge value in USD.\n

", + "smithy.api#documentation": "

The custom line item's fixed charge value in USD.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n A representation of the charge details that are associated with a flat custom line item.\n

" + "smithy.api#documentation": "

A representation of the charge details that are associated with a flat custom line item.

" } }, "com.amazonaws.billingconductor#ListCustomLineItemPercentageChargeDetails": { @@ -3689,13 +3759,13 @@ "PercentageValue": { "target": "com.amazonaws.billingconductor#CustomLineItemPercentageChargeValue", "traits": { - "smithy.api#documentation": "

\n The custom line item's percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value.\n

", + "smithy.api#documentation": "

The custom line item's percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n A representation of the charge details that are associated with a percentage custom line item.\n

" + "smithy.api#documentation": "

A representation of the charge details that are associated with a percentage custom line item.

" } }, "com.amazonaws.billingconductor#ListCustomLineItemVersions": { @@ -3742,13 +3812,13 @@ "StartBillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

The inclusive start billing period that defines a billing period range where a custom line item version is applied.

" + "smithy.api#documentation": "

The inclusive start billing period that defines a billing period range where a custom line item version is applied.

" } }, "EndBillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

The exclusive end billing period that defines a billing period range where a custom line item version is applied.

" + "smithy.api#documentation": "

The exclusive end billing period that defines a billing period range where a custom line item version is applied.

" } } }, @@ -3843,7 +3913,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n A paginated call to get a list of all custom line items (FFLIs) for the given billing period. If you don't provide a billing period, the current billing period is used.\n

", + "smithy.api#documentation": "

A paginated call to get a list of all custom line items (FFLIs) for the given billing period. If you don't provide a billing period, the current billing period is used.

", "smithy.api#http": { "method": "POST", "uri": "/list-custom-line-items", @@ -3896,25 +3966,25 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The preferred billing period to get custom line items (FFLIs).\n

" + "smithy.api#documentation": "

The preferred billing period to get custom line items (FFLIs).

" } }, "MaxResults": { "target": "com.amazonaws.billingconductor#MaxCustomLineItemResults", "traits": { - "smithy.api#documentation": "

\n The maximum number of billing groups to retrieve.\n

" + "smithy.api#documentation": "

The maximum number of billing groups to retrieve.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token that's used on subsequent calls to get custom line items (FFLIs).\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get custom line items (FFLIs).

" } }, "Filters": { "target": "com.amazonaws.billingconductor#ListCustomLineItemsFilter", "traits": { - "smithy.api#documentation": "

A ListCustomLineItemsFilter that specifies the custom line item names\n and/or billing group Amazon Resource Names (ARNs) to retrieve FFLI information.

" + "smithy.api#documentation": "

A ListCustomLineItemsFilter that specifies the custom line item names and/or billing group Amazon Resource Names (ARNs) to retrieve FFLI information.

" } } } @@ -3925,13 +3995,13 @@ "CustomLineItems": { "target": "com.amazonaws.billingconductor#CustomLineItemList", "traits": { - "smithy.api#documentation": "

\n A list of FreeFormLineItemListElements received.\n

" + "smithy.api#documentation": "

A list of FreeFormLineItemListElements received.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token that's used on subsequent calls to get custom line items (FFLIs).\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get custom line items (FFLIs).

" } } } @@ -3959,7 +4029,7 @@ } ], "traits": { - "smithy.api#documentation": "

A paginated call to get pricing plans for the given billing period. If you don't provide a billing period, the current billing period is used.\n

", + "smithy.api#documentation": "

A paginated call to get pricing plans for the given billing period. If you don't provide a billing period, the current billing period is used.

", "smithy.api#http": { "method": "POST", "uri": "/list-pricing-plans", @@ -4000,7 +4070,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n A list of the pricing plans that are associated with a pricing rule.\n

", + "smithy.api#documentation": "

A list of the pricing plans that are associated with a pricing rule.

", "smithy.api#http": { "method": "POST", "uri": "/list-pricing-plans-associated-with-pricing-rule", @@ -4021,7 +4091,7 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The pricing plan billing period for which associations will be listed.\n

" + "smithy.api#documentation": "

The pricing plan billing period for which associations will be listed.

" } }, "PricingRuleArn": { @@ -4034,13 +4104,13 @@ "MaxResults": { "target": "com.amazonaws.billingconductor#MaxPricingRuleResults", "traits": { - "smithy.api#documentation": "

\n The optional maximum number of pricing rule associations to retrieve. \n

" + "smithy.api#documentation": "

The optional maximum number of pricing rule associations to retrieve.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The optional pagination token returned by a previous call.\n

" + "smithy.api#documentation": "

The optional pagination token returned by a previous call.

" } } } @@ -4051,7 +4121,7 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The pricing plan billing period for which associations will be listed.\n

" + "smithy.api#documentation": "

The pricing plan billing period for which associations will be listed.

" } }, "PricingRuleArn": { @@ -4063,13 +4133,13 @@ "PricingPlanArns": { "target": "com.amazonaws.billingconductor#PricingPlanArns", "traits": { - "smithy.api#documentation": "

\n The list containing pricing plans that are associated with the requested pricing rule.\n

" + "smithy.api#documentation": "

The list containing pricing plans that are associated with the requested pricing rule.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token to be used on subsequent calls.\n

" + "smithy.api#documentation": "

The pagination token to be used on subsequent calls.

" } } } @@ -4085,7 +4155,7 @@ } }, "traits": { - "smithy.api#documentation": "

The filter that specifies the Amazon Resource Names (ARNs) of pricing plans, to retrieve\n pricing plan information.

" + "smithy.api#documentation": "

The filter that specifies the Amazon Resource Names (ARNs) of pricing plans, to retrieve pricing plan information.

" } }, "com.amazonaws.billingconductor#ListPricingPlansInput": { @@ -4094,13 +4164,13 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

The preferred billing period to get pricing plan.\n

" + "smithy.api#documentation": "

The preferred billing period to get pricing plan.

" } }, "Filters": { "target": "com.amazonaws.billingconductor#ListPricingPlansFilter", "traits": { - "smithy.api#documentation": "

A ListPricingPlansFilter that specifies the Amazon Resource Name (ARNs)\n of pricing plans to retrieve pricing plans information.

" + "smithy.api#documentation": "

A ListPricingPlansFilter that specifies the Amazon Resource Name (ARNs) of pricing plans to retrieve pricing plans information.

" } }, "MaxResults": { @@ -4112,7 +4182,7 @@ "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

The pagination token that's used on subsequent call to get pricing plans.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent call to get pricing plans.

" } } } @@ -4123,19 +4193,19 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The billing period for which the described pricing plans are applicable.\n

" + "smithy.api#documentation": "

The billing period for which the described pricing plans are applicable.

" } }, "PricingPlans": { "target": "com.amazonaws.billingconductor#PricingPlanList", "traits": { - "smithy.api#documentation": "

A list of PricingPlanListElement retrieved.\n

" + "smithy.api#documentation": "

A list of PricingPlanListElement retrieved.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get pricing plans.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get pricing plans.

" } } } @@ -4163,7 +4233,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Describes a pricing rule that can be associated to a pricing plan, or set of pricing plans.\n

", + "smithy.api#documentation": "

Describes a pricing rule that can be associated to a pricing plan, or set of pricing plans.

", "smithy.api#http": { "method": "POST", "uri": "/list-pricing-rules", @@ -4204,7 +4274,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Lists the pricing rules that are associated with a pricing plan.\n

", + "smithy.api#documentation": "

Lists the pricing rules that are associated with a pricing plan.

", "smithy.api#http": { "method": "POST", "uri": "/list-pricing-rules-associated-to-pricing-plan", @@ -4225,13 +4295,13 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The billing period for which the pricing rule associations are to be listed.\n

" + "smithy.api#documentation": "

The billing period for which the pricing rule associations are to be listed.

" } }, "PricingPlanArn": { "target": "com.amazonaws.billingconductor#PricingPlanArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan for which associations are to be\n listed.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan for which associations are to be listed.

", "smithy.api#required": {} } }, @@ -4244,7 +4314,7 @@ "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The optional pagination token returned by a previous call.\n

" + "smithy.api#documentation": "

The optional pagination token returned by a previous call.

" } } } @@ -4255,25 +4325,25 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The billing period for which the pricing rule associations are listed.\n

" + "smithy.api#documentation": "

The billing period for which the pricing rule associations are listed.

" } }, "PricingPlanArn": { "target": "com.amazonaws.billingconductor#PricingPlanArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan for which associations are\n listed.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan for which associations are listed.

" } }, "PricingRuleArns": { "target": "com.amazonaws.billingconductor#PricingRuleArns", "traits": { - "smithy.api#documentation": "

\n A list containing pricing rules that are associated with the requested pricing plan.\n

" + "smithy.api#documentation": "

A list containing pricing rules that are associated with the requested pricing plan.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token to be used on subsequent calls.\n

" + "smithy.api#documentation": "

The pagination token to be used on subsequent calls.

" } } } @@ -4298,25 +4368,25 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The preferred billing period to get the pricing plan.\n

" + "smithy.api#documentation": "

The preferred billing period to get the pricing plan.

" } }, "Filters": { "target": "com.amazonaws.billingconductor#ListPricingRulesFilter", "traits": { - "smithy.api#documentation": "

A DescribePricingRuleFilter that specifies the Amazon Resource Name (ARNs)\n of pricing rules to retrieve pricing rules information.

" + "smithy.api#documentation": "

A DescribePricingRuleFilter that specifies the Amazon Resource Name (ARNs) of pricing rules to retrieve pricing rules information.

" } }, "MaxResults": { "target": "com.amazonaws.billingconductor#MaxPricingRuleResults", "traits": { - "smithy.api#documentation": "

\n The maximum number of pricing rules to retrieve.\n

" + "smithy.api#documentation": "

The maximum number of pricing rules to retrieve.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token that's used on subsequent call to get pricing rules.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent call to get pricing rules.

" } } } @@ -4327,19 +4397,19 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The billing period for which the described pricing rules are applicable.\n

" + "smithy.api#documentation": "

The billing period for which the described pricing rules are applicable.

" } }, "PricingRules": { "target": "com.amazonaws.billingconductor#PricingRuleList", "traits": { - "smithy.api#documentation": "

\n A list containing the described pricing rules.\n

" + "smithy.api#documentation": "

A list containing the described pricing rules.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token that's used on subsequent calls to get pricing rules.\n

" + "smithy.api#documentation": "

The pagination token that's used on subsequent calls to get pricing rules.

" } } } @@ -4370,7 +4440,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n List the resources that are associated to a custom line item.\n

", + "smithy.api#documentation": "

List the resources that are associated to a custom line item.

", "smithy.api#http": { "method": "POST", "uri": "/list-resources-associated-to-custom-line-item", @@ -4391,12 +4461,12 @@ "Relationship": { "target": "com.amazonaws.billingconductor#CustomLineItemRelationship", "traits": { - "smithy.api#documentation": "

\n The type of relationship between the custom line item and the associated resource.\n

" + "smithy.api#documentation": "

The type of relationship between the custom line item and the associated resource.

" } } }, "traits": { - "smithy.api#documentation": "

\n A filter that specifies the type of resource associations that should be retrieved for a custom line item.\n

" + "smithy.api#documentation": "

A filter that specifies the type of resource associations that should be retrieved for a custom line item.

" } }, "com.amazonaws.billingconductor#ListResourcesAssociatedToCustomLineItemInput": { @@ -4405,20 +4475,20 @@ "BillingPeriod": { "target": "com.amazonaws.billingconductor#BillingPeriod", "traits": { - "smithy.api#documentation": "

\n The billing period for which the resource associations will be listed.\n

" + "smithy.api#documentation": "

The billing period for which the resource associations will be listed.

" } }, "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n The ARN of the custom line item for which the resource associations will be listed.\n

", + "smithy.api#documentation": "

The ARN of the custom line item for which the resource associations will be listed.

", "smithy.api#required": {} } }, "MaxResults": { "target": "com.amazonaws.billingconductor#MaxCustomLineItemResults", "traits": { - "smithy.api#documentation": "

\n (Optional) The maximum number of resource associations to be retrieved.\n

" + "smithy.api#documentation": "

(Optional) The maximum number of resource associations to be retrieved.

" } }, "NextToken": { @@ -4430,7 +4500,7 @@ "Filters": { "target": "com.amazonaws.billingconductor#ListResourcesAssociatedToCustomLineItemFilter", "traits": { - "smithy.api#documentation": "

\n (Optional) A ListResourcesAssociatedToCustomLineItemFilter that can specify the types of resources that should be retrieved. \n

" + "smithy.api#documentation": "

(Optional) A ListResourcesAssociatedToCustomLineItemFilter that can specify the types of resources that should be retrieved.

" } } } @@ -4441,19 +4511,19 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n The custom line item ARN for which the resource associations are listed.\n

" + "smithy.api#documentation": "

The custom line item ARN for which the resource associations are listed.

" } }, "AssociatedResources": { "target": "com.amazonaws.billingconductor#ListResourcesAssociatedToCustomLineItemResponseList", "traits": { - "smithy.api#documentation": "

\n A list of ListResourcesAssociatedToCustomLineItemResponseElement for each resource association retrieved.\n

" + "smithy.api#documentation": "

A list of ListResourcesAssociatedToCustomLineItemResponseElement for each resource association retrieved.

" } }, "NextToken": { "target": "com.amazonaws.billingconductor#Token", "traits": { - "smithy.api#documentation": "

\n The pagination token to be used in subsequent requests to retrieve additional results.\n

" + "smithy.api#documentation": "

The pagination token to be used in subsequent requests to retrieve additional results.

" } } } @@ -4464,13 +4534,13 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemAssociationElement", "traits": { - "smithy.api#documentation": "

\n The ARN of the associated resource.\n

" + "smithy.api#documentation": "

The ARN of the associated resource.

" } }, "Relationship": { "target": "com.amazonaws.billingconductor#CustomLineItemRelationship", "traits": { - "smithy.api#documentation": "

\n The type of relationship between the custom line item and the associated resource.\n

" + "smithy.api#documentation": "

The type of relationship between the custom line item and the associated resource.

" } }, "EndBillingPeriod": { @@ -4481,7 +4551,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n A representation of a resource association for a custom line item.\n

" + "smithy.api#documentation": "

A representation of a resource association for a custom line item.

" } }, "com.amazonaws.billingconductor#ListResourcesAssociatedToCustomLineItemResponseList": { @@ -4520,7 +4590,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

\n A list the tags for a resource.\n

", + "smithy.api#documentation": "

A list the tags for a resource.

", "smithy.api#http": { "method": "GET", "uri": "/tags/{ResourceArn}", @@ -4534,7 +4604,7 @@ "ResourceArn": { "target": "com.amazonaws.billingconductor#Arn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) that identifies the resource to list the tags.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4575,7 +4645,7 @@ "Tags": { "target": "com.amazonaws.billingconductor#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags for the resource.\n

" + "smithy.api#documentation": "

The tags for the resource.

" } } } @@ -4587,14 +4657,14 @@ "type": "string" }, "com.amazonaws.billingconductor#MatchOption": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "NOT_EQUAL", - "name": "NOT_EQUAL" + "type": "enum", + "members": { + "NOT_EQUAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NOT_EQUAL" } - ] + } } }, "com.amazonaws.billingconductor#MaxBillingGroupCostReportResults": { @@ -4696,6 +4766,21 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.billingconductor#PresentationObject": { + "type": "structure", + "members": { + "Service": { + "target": "com.amazonaws.billingconductor#Service", + "traits": { + "smithy.api#documentation": "This defines the service of where the custom line item is presented", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "The presentation configuration of the custom line item" + } + }, "com.amazonaws.billingconductor#PricingPlan": { "type": "resource", "identifiers": { @@ -4734,13 +4819,13 @@ "aws:ResourceTag/${TagKey}" ], "aws.iam#disableConditionKeyInference": {}, - "smithy.api#documentation": "Pricing Plan enables you to customize your billing\ndetails consistent with the usage that accrues\nin each of your billing groups.\n" + "smithy.api#documentation": " Pricing Plan enables you to customize your billing\n details consistent with the usage that accrues\n in each of your billing groups.\n" } }, "com.amazonaws.billingconductor#PricingPlanArn": { "type": "string", "traits": { - "smithy.api#pattern": "^(arn:aws(-cn)?:billingconductor::[0-9]{12}:pricingplan/)?[a-zA-Z0-9]{10}$" + "smithy.api#pattern": "^(arn:aws(-cn)?:billingconductor::(aws|[0-9]{12}):pricingplan/)?(BasicPricingPlan|[a-zA-Z0-9]{10})$" } }, "com.amazonaws.billingconductor#PricingPlanArns": { @@ -4768,7 +4853,7 @@ "com.amazonaws.billingconductor#PricingPlanFullArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws(-cn)?:billingconductor::[0-9]{12}:pricingplan/[a-zA-Z0-9]{10}$" + "smithy.api#pattern": "^arn:aws(-cn)?:billingconductor::(aws|[0-9]{12}):pricingplan/(BasicPricingPlan|[a-zA-Z0-9]{10})$" } }, "com.amazonaws.billingconductor#PricingPlanList": { @@ -4864,7 +4949,7 @@ "aws:ResourceTag/${TagKey}" ], "aws.iam#disableConditionKeyInference": {}, - "smithy.api#documentation": "A markup/discount that is defined for a specific set\nof services that can later be associated with a pricing plan.\n" + "smithy.api#documentation": " A markup/discount that is defined for a specific set\n of services that can later be associated with a pricing plan.\n" } }, "com.amazonaws.billingconductor#PricingRuleArn": { @@ -4994,25 +5079,25 @@ "BillingEntity": { "target": "com.amazonaws.billingconductor#BillingEntity", "traits": { - "smithy.api#documentation": "

\n The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.\n

" + "smithy.api#documentation": "

The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.

" } }, "Tiering": { "target": "com.amazonaws.billingconductor#Tiering", "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } }, "UsageType": { "target": "com.amazonaws.billingconductor#UsageType", "traits": { - "smithy.api#documentation": "

\n Usage type is the unit that each service uses to measure the usage of a specific type of resource.

\n

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region. \n \n

" + "smithy.api#documentation": "

Usage type is the unit that each service uses to measure the usage of a specific type of resource.

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region.

" } }, "Operation": { "target": "com.amazonaws.billingconductor#Operation", "traits": { - "smithy.api#documentation": "

\n Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item.

\n

\n If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

" + "smithy.api#documentation": "

Operation is the specific Amazon Web Services action covered by this line item. This describes the specific usage of the line item.

If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

" } } }, @@ -5032,45 +5117,55 @@ } }, "com.amazonaws.billingconductor#PricingRuleScope": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "GLOBAL", - "name": "GLOBAL" - }, - { - "value": "SERVICE", - "name": "SERVICE" - }, - { - "value": "BILLING_ENTITY", - "name": "BILLING_ENTITY" - }, - { - "value": "SKU", - "name": "SKU" + "type": "enum", + "members": { + "GLOBAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "GLOBAL" } - ] + }, + "SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE" + } + }, + "BILLING_ENTITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BILLING_ENTITY" + } + }, + "SKU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SKU" + } + } } }, "com.amazonaws.billingconductor#PricingRuleType": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "MARKUP", - "name": "MARKUP" - }, - { - "value": "DISCOUNT", - "name": "DISCOUNT" - }, - { - "value": "TIERING", - "name": "TIERING" + "type": "enum", + "members": { + "MARKUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MARKUP" } - ] + }, + "DISCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCOUNT" + } + }, + "TIERING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIERING" + } + } } }, "com.amazonaws.billingconductor#ProformaCost": { @@ -5088,20 +5183,20 @@ "ResourceId": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

Resource identifier that was not found.\n

", + "smithy.api#documentation": "

Resource identifier that was not found.

", "smithy.api#required": {} } }, "ResourceType": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

Resource type that was not found.\n

", + "smithy.api#documentation": "

Resource type that was not found.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The request references a resource that doesn't exist.\n

", + "smithy.api#documentation": "

The request references a resource that doesn't exist.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -5134,32 +5229,32 @@ "ResourceId": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

Identifier of the resource affected.\n

" + "smithy.api#documentation": "

Identifier of the resource affected.

" } }, "ResourceType": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

Type of the resource affected.\n

" + "smithy.api#documentation": "

Type of the resource affected.

" } }, "LimitCode": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

The unique code identifier of the service limit that is being exceeded.\n

", + "smithy.api#documentation": "

The unique code identifier of the service limit that is being exceeded.

", "smithy.api#required": {} } }, "ServiceCode": { "target": "com.amazonaws.billingconductor#String", "traits": { - "smithy.api#documentation": "

The unique code for the service of the limit that is being exceeded.\n

", + "smithy.api#documentation": "

The unique code for the service of the limit that is being exceeded.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The request would cause a service limit to exceed.\n

", + "smithy.api#documentation": "

The request would cause a service limit to exceed.

", "smithy.api#error": "client", "smithy.api#httpError": 402 } @@ -5233,7 +5328,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

Associates the specified tags to a resource with the specified resourceArn.\n If existing tags on a resource are not specified in the request parameters, they are not\n changed.

", + "smithy.api#documentation": "

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.

", "smithy.api#http": { "method": "POST", "uri": "/tags/{ResourceArn}", @@ -5247,7 +5342,7 @@ "ResourceArn": { "target": "com.amazonaws.billingconductor#Arn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the resource to which to add tags.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which to add tags.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5255,7 +5350,7 @@ "Tags": { "target": "com.amazonaws.billingconductor#TagMap", "traits": { - "smithy.api#documentation": "

\n The tags to add to the resource as a list of key-value pairs.\n

", + "smithy.api#documentation": "

The tags to add to the resource as a list of key-value pairs.

", "smithy.api#required": {} } } @@ -5316,13 +5411,13 @@ "target": "com.amazonaws.billingconductor#RetryAfterSeconds", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

Number of seconds you can safely retry after the call.\n

", + "smithy.api#documentation": "

Number of seconds you can safely retry after the call.

", "smithy.api#httpHeader": "Retry-After" } } }, "traits": { - "smithy.api#documentation": "

The request was denied due to request throttling.\n

", + "smithy.api#documentation": "

The request was denied due to request throttling.

", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -5333,13 +5428,13 @@ "FreeTier": { "target": "com.amazonaws.billingconductor#FreeTierConfig", "traits": { - "smithy.api#documentation": "

\n The possible Amazon Web Services Free Tier configurations.\n

", + "smithy.api#documentation": "

The possible Amazon Web Services Free Tier configurations.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } }, "com.amazonaws.billingconductor#TieringActivated": { @@ -5378,7 +5473,7 @@ "aws:TagKeys", "aws:RequestTag/${TagKey}" ], - "smithy.api#documentation": "

\n Deletes specified tags from a resource.\n

", + "smithy.api#documentation": "

Deletes specified tags from a resource.

", "smithy.api#http": { "method": "DELETE", "uri": "/tags/{ResourceArn}", @@ -5392,7 +5487,7 @@ "ResourceArn": { "target": "com.amazonaws.billingconductor#Arn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the resource to which to delete tags.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which to delete tags.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -5400,7 +5495,7 @@ "TagKeys": { "target": "com.amazonaws.billingconductor#TagKeyList", "traits": { - "smithy.api#documentation": "

\n The tags to delete from the resource as a list of key-value pairs.\n

", + "smithy.api#documentation": "

The tags to delete from the resource as a list of key-value pairs.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -5469,7 +5564,7 @@ } ], "traits": { - "smithy.api#documentation": "

This updates an existing billing group.\n

", + "smithy.api#documentation": "

This updates an existing billing group.

", "smithy.api#http": { "method": "POST", "uri": "/update-billing-group", @@ -5484,12 +5579,12 @@ "AutoAssociate": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added\nAmazon Web Services accounts that join your consolidated billing family.

" + "smithy.api#documentation": "

Specifies if this billing group will automatically associate newly added Amazon Web Services accounts that join your consolidated billing family.

" } } }, "traits": { - "smithy.api#documentation": "

Specifies if the billing group has the following\nfeatures enabled.

" + "smithy.api#documentation": "

Specifies if the billing group has the following features enabled.

" } }, "com.amazonaws.billingconductor#UpdateBillingGroupInput": { @@ -5505,31 +5600,31 @@ "Name": { "target": "com.amazonaws.billingconductor#BillingGroupName", "traits": { - "smithy.api#documentation": "

The name of the billing group. The names must be unique to each billing group.\n

" + "smithy.api#documentation": "

The name of the billing group. The names must be unique to each billing group.

" } }, "Status": { "target": "com.amazonaws.billingconductor#BillingGroupStatus", "traits": { - "smithy.api#documentation": "

The status of the billing group. Only one of the valid values can be used.\n

" + "smithy.api#documentation": "

The status of the billing group. Only one of the valid values can be used.

" } }, "ComputationPreference": { "target": "com.amazonaws.billingconductor#ComputationPreference", "traits": { - "smithy.api#documentation": "

\n The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.\n

" + "smithy.api#documentation": "

The preferences and settings that will be used to compute the Amazon Web Services charges for a billing group.

" } }, "Description": { "target": "com.amazonaws.billingconductor#BillingGroupDescription", "traits": { - "smithy.api#documentation": "

A description of the billing group. \n

" + "smithy.api#documentation": "

A description of the billing group.

" } }, "AccountGrouping": { "target": "com.amazonaws.billingconductor#UpdateBillingGroupAccountGrouping", "traits": { - "smithy.api#documentation": "

Specifies if the billing group has automatic account\nassociation (AutoAssociate) enabled.

" + "smithy.api#documentation": "

Specifies if the billing group has automatic account association (AutoAssociate) enabled.

" } } } @@ -5546,32 +5641,32 @@ "Name": { "target": "com.amazonaws.billingconductor#BillingGroupName", "traits": { - "smithy.api#documentation": "

\n The name of the billing group. The names must be unique to each billing group.\n

" + "smithy.api#documentation": "

The name of the billing group. The names must be unique to each billing group.

" } }, "Description": { "target": "com.amazonaws.billingconductor#BillingGroupDescription", "traits": { - "smithy.api#documentation": "

\n A description of the billing group.\n

" + "smithy.api#documentation": "

A description of the billing group.

" } }, "PrimaryAccountId": { "target": "com.amazonaws.billingconductor#AccountId", "traits": { - "smithy.api#documentation": "

\n The account ID that serves as the main account in a billing group.\n

" + "smithy.api#documentation": "

The account ID that serves as the main account in a billing group.

" } }, "PricingPlanArn": { "target": "com.amazonaws.billingconductor#PricingPlanArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the pricing plan to compute Amazon Web Services charges for the\n billing group.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the pricing plan to compute Amazon Web Services charges for the billing group.

" } }, "Size": { "target": "com.amazonaws.billingconductor#NumberOfAccounts", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The number of accounts in the particular billing group.\n

" + "smithy.api#documentation": "

The number of accounts in the particular billing group.

" } }, "LastModifiedTime": { @@ -5584,19 +5679,19 @@ "Status": { "target": "com.amazonaws.billingconductor#BillingGroupStatus", "traits": { - "smithy.api#documentation": "

\n The status of the billing group. Only one of the valid values can be used.\n

" + "smithy.api#documentation": "

The status of the billing group. Only one of the valid values can be used.

" } }, "StatusReason": { "target": "com.amazonaws.billingconductor#BillingGroupStatusReason", "traits": { - "smithy.api#documentation": "

\n The reason why the billing group is in its current status.\n

" + "smithy.api#documentation": "

The reason why the billing group is in its current status.

" } }, "AccountGrouping": { "target": "com.amazonaws.billingconductor#UpdateBillingGroupAccountGrouping", "traits": { - "smithy.api#documentation": "

Specifies if the billing group has automatic account\nassociation (AutoAssociate) enabled.

" + "smithy.api#documentation": "

Specifies if the billing group has automatic account association (AutoAssociate) enabled.

" } } } @@ -5627,7 +5722,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Update an existing custom line item in the current or previous billing period.\n

", + "smithy.api#documentation": "

Update an existing custom line item in the current or previous billing period.

", "smithy.api#http": { "method": "POST", "uri": "/update-custom-line-item", @@ -5642,13 +5737,13 @@ "Flat": { "target": "com.amazonaws.billingconductor#UpdateCustomLineItemFlatChargeDetails", "traits": { - "smithy.api#documentation": "

\n An UpdateCustomLineItemFlatChargeDetails that describes the new charge details of a flat custom line item.\n

" + "smithy.api#documentation": "

An UpdateCustomLineItemFlatChargeDetails that describes the new charge details of a flat custom line item.

" } }, "Percentage": { "target": "com.amazonaws.billingconductor#UpdateCustomLineItemPercentageChargeDetails", "traits": { - "smithy.api#documentation": "

\n An UpdateCustomLineItemPercentageChargeDetails that describes the new charge details of a percentage custom line item.\n

" + "smithy.api#documentation": "

An UpdateCustomLineItemPercentageChargeDetails that describes the new charge details of a percentage custom line item.

" } }, "LineItemFilters": { @@ -5659,7 +5754,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n A representation of the new charge details of a custom line item. This should contain only one of Flat or Percentage.\n

" + "smithy.api#documentation": "

A representation of the new charge details of a custom line item. This should contain only one of Flat or Percentage.

" } }, "com.amazonaws.billingconductor#UpdateCustomLineItemFlatChargeDetails": { @@ -5668,13 +5763,13 @@ "ChargeValue": { "target": "com.amazonaws.billingconductor#CustomLineItemChargeValue", "traits": { - "smithy.api#documentation": "

\n The custom line item's new fixed charge value in USD.\n

", + "smithy.api#documentation": "

The custom line item's new fixed charge value in USD.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n A representation of the new charge details that are associated with a flat custom line item.\n

" + "smithy.api#documentation": "

A representation of the new charge details that are associated with a flat custom line item.

" } }, "com.amazonaws.billingconductor#UpdateCustomLineItemInput": { @@ -5683,26 +5778,26 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n The ARN of the custom line item to be updated.\n

", + "smithy.api#documentation": "

The ARN of the custom line item to be updated.

", "smithy.api#required": {} } }, "Name": { "target": "com.amazonaws.billingconductor#CustomLineItemName", "traits": { - "smithy.api#documentation": "

\n The new name for the custom line item.\n

" + "smithy.api#documentation": "

The new name for the custom line item.

" } }, "Description": { "target": "com.amazonaws.billingconductor#CustomLineItemDescription", "traits": { - "smithy.api#documentation": "

\n The new line item description of the custom line item.\n

" + "smithy.api#documentation": "

The new line item description of the custom line item.

" } }, "ChargeDetails": { "target": "com.amazonaws.billingconductor#UpdateCustomLineItemChargeDetails", "traits": { - "smithy.api#documentation": "

\n A ListCustomLineItemChargeDetails containing the new charge details for the custom line item.\n

" + "smithy.api#documentation": "

A ListCustomLineItemChargeDetails containing the new charge details for the custom line item.

" } }, "BillingPeriodRange": { @@ -5716,31 +5811,31 @@ "Arn": { "target": "com.amazonaws.billingconductor#CustomLineItemArn", "traits": { - "smithy.api#documentation": "

\n The ARN of the successfully updated custom line item.\n

" + "smithy.api#documentation": "

The ARN of the successfully updated custom line item.

" } }, "BillingGroupArn": { "target": "com.amazonaws.billingconductor#BillingGroupFullArn", "traits": { - "smithy.api#documentation": "

\n The ARN of the billing group that the custom line item is applied to.\n

" + "smithy.api#documentation": "

The ARN of the billing group that the custom line item is applied to.

" } }, "Name": { "target": "com.amazonaws.billingconductor#CustomLineItemName", "traits": { - "smithy.api#documentation": "

\n The name of the successfully updated custom line item.\n

" + "smithy.api#documentation": "

The name of the successfully updated custom line item.

" } }, "Description": { "target": "com.amazonaws.billingconductor#CustomLineItemDescription", "traits": { - "smithy.api#documentation": "

\n The description of the successfully updated custom line item.\n

" + "smithy.api#documentation": "

The description of the successfully updated custom line item.

" } }, "ChargeDetails": { "target": "com.amazonaws.billingconductor#ListCustomLineItemChargeDetails", "traits": { - "smithy.api#documentation": "

\n A ListCustomLineItemChargeDetails containing the charge details of the successfully updated custom line item.\n

" + "smithy.api#documentation": "

A ListCustomLineItemChargeDetails containing the charge details of the successfully updated custom line item.

" } }, "LastModifiedTime": { @@ -5754,7 +5849,7 @@ "target": "com.amazonaws.billingconductor#NumberOfAssociations", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The number of resources that are associated to the custom line item.\n

" + "smithy.api#documentation": "

The number of resources that are associated to the custom line item.

" } } } @@ -5765,13 +5860,13 @@ "PercentageValue": { "target": "com.amazonaws.billingconductor#CustomLineItemPercentageChargeValue", "traits": { - "smithy.api#documentation": "

\n The custom line item's new percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value.\n

", + "smithy.api#documentation": "

The custom line item's new percentage value. This will be multiplied against the combined value of its associated resources to determine its charge value.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n A representation of the new charge details that are associated with a percentage custom line item.\n

" + "smithy.api#documentation": "

A representation of the new charge details that are associated with a percentage custom line item.

" } }, "com.amazonaws.billingconductor#UpdateFreeTierConfig": { @@ -5780,13 +5875,13 @@ "Activated": { "target": "com.amazonaws.billingconductor#TieringActivated", "traits": { - "smithy.api#documentation": "

\n Activate or deactivate application of Amazon Web Services Free Tier.\n

", + "smithy.api#documentation": "

Activate or deactivate application of Amazon Web Services Free Tier.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The possible Amazon Web Services Free Tier configurations.\n

" + "smithy.api#documentation": "

The possible Amazon Web Services Free Tier configurations.

" } }, "com.amazonaws.billingconductor#UpdatePricingPlan": { @@ -5818,7 +5913,7 @@ } ], "traits": { - "smithy.api#documentation": "

This updates an existing pricing plan.\n

", + "smithy.api#documentation": "

This updates an existing pricing plan.

", "smithy.api#http": { "method": "PUT", "uri": "/update-pricing-plan", @@ -5840,7 +5935,7 @@ "Name": { "target": "com.amazonaws.billingconductor#PricingPlanName", "traits": { - "smithy.api#documentation": "

The name of the pricing plan. The name must be unique to each pricing plan.\n

" + "smithy.api#documentation": "

The name of the pricing plan. The name must be unique to each pricing plan.

" } }, "Description": { @@ -5863,20 +5958,20 @@ "Name": { "target": "com.amazonaws.billingconductor#PricingPlanName", "traits": { - "smithy.api#documentation": "

\n The name of the pricing plan. The name must be unique to each pricing plan.\n

" + "smithy.api#documentation": "

The name of the pricing plan. The name must be unique to each pricing plan.

" } }, "Description": { "target": "com.amazonaws.billingconductor#PricingPlanDescription", "traits": { - "smithy.api#documentation": "

\n The new description for the pricing rule.\n

" + "smithy.api#documentation": "

The new description for the pricing rule.

" } }, "Size": { "target": "com.amazonaws.billingconductor#NumberOfAssociatedPricingRules", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The pricing rules count that's currently associated with this pricing plan list.\n

" + "smithy.api#documentation": "

The pricing rules count that's currently associated with this pricing plan list.

" } }, "LastModifiedTime": { @@ -5917,7 +6012,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates an existing pricing rule.\n

", + "smithy.api#documentation": "

Updates an existing pricing rule.

", "smithy.api#http": { "method": "PUT", "uri": "/update-pricing-rule", @@ -5939,31 +6034,31 @@ "Name": { "target": "com.amazonaws.billingconductor#PricingRuleName", "traits": { - "smithy.api#documentation": "

\n The new name of the pricing rule. The name must be unique to each pricing rule.\n

" + "smithy.api#documentation": "

The new name of the pricing rule. The name must be unique to each pricing rule.

" } }, "Description": { "target": "com.amazonaws.billingconductor#PricingRuleDescription", "traits": { - "smithy.api#documentation": "

\n The new description for the pricing rule.\n

" + "smithy.api#documentation": "

The new description for the pricing rule.

" } }, "Type": { "target": "com.amazonaws.billingconductor#PricingRuleType", "traits": { - "smithy.api#documentation": "

\n The new pricing rule type.\n

" + "smithy.api#documentation": "

The new pricing rule type.

" } }, "ModifierPercentage": { "target": "com.amazonaws.billingconductor#ModifierPercentage", "traits": { - "smithy.api#documentation": "

\n The new modifier to show pricing plan rates as a percentage.\n

" + "smithy.api#documentation": "

The new modifier to show pricing plan rates as a percentage. Your entry will be rounded to the nearest 2 decimal places.

" } }, "Tiering": { "target": "com.amazonaws.billingconductor#UpdateTieringInput", "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } } } @@ -5980,75 +6075,75 @@ "Name": { "target": "com.amazonaws.billingconductor#PricingRuleName", "traits": { - "smithy.api#documentation": "

\n The new name of the pricing rule. The name must be unique to each pricing rule.\n

" + "smithy.api#documentation": "

The new name of the pricing rule. The name must be unique to each pricing rule.

" } }, "Description": { "target": "com.amazonaws.billingconductor#PricingRuleDescription", "traits": { - "smithy.api#documentation": "

\n The new description for the pricing rule.\n

" + "smithy.api#documentation": "

The new description for the pricing rule.

" } }, "Scope": { "target": "com.amazonaws.billingconductor#PricingRuleScope", "traits": { - "smithy.api#documentation": "

The scope of pricing rule that indicates if it's globally applicable, or it's\n service-specific.

" + "smithy.api#documentation": "

The scope of pricing rule that indicates if it's globally applicable, or it's service-specific.

" } }, "Type": { "target": "com.amazonaws.billingconductor#PricingRuleType", "traits": { - "smithy.api#documentation": "

\n The new pricing rule type.\n

" + "smithy.api#documentation": "

The new pricing rule type.

" } }, "ModifierPercentage": { "target": "com.amazonaws.billingconductor#ModifierPercentage", "traits": { - "smithy.api#documentation": "

\n The new modifier to show pricing plan rates as a percentage.\n

" + "smithy.api#documentation": "

The new modifier to show pricing plan rates as a percentage.

" } }, "Service": { "target": "com.amazonaws.billingconductor#Service", "traits": { - "smithy.api#documentation": "

\n If the Scope attribute is set to SERVICE, the attribute indicates which service the PricingRule is applicable for.\n

" + "smithy.api#documentation": "

If the Scope attribute is set to SERVICE, the attribute indicates which service the PricingRule is applicable for.

" } }, "AssociatedPricingPlanCount": { "target": "com.amazonaws.billingconductor#NumberOfPricingPlansAssociatedWith", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The pricing plans count that this pricing rule is associated with.\n

" + "smithy.api#documentation": "

The pricing plans count that this pricing rule is associated with.

" } }, "LastModifiedTime": { "target": "com.amazonaws.billingconductor#Instant", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

\n The most recent time the pricing rule was modified.\n

" + "smithy.api#documentation": "

The most recent time the pricing rule was modified.

" } }, "BillingEntity": { "target": "com.amazonaws.billingconductor#BillingEntity", "traits": { - "smithy.api#documentation": "

\n The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.\n

" + "smithy.api#documentation": "

The seller of services provided by Amazon Web Services, their affiliates, or third-party providers selling services via Amazon Web Services Marketplace.

" } }, "Tiering": { "target": "com.amazonaws.billingconductor#UpdateTieringInput", "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } }, "UsageType": { "target": "com.amazonaws.billingconductor#UsageType", "traits": { - "smithy.api#documentation": "

Usage type is the unit that each service uses to measure the usage of a specific type of resource.

\n

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region. \n

" + "smithy.api#documentation": "

Usage type is the unit that each service uses to measure the usage of a specific type of resource.

If the Scope attribute is set to SKU, this attribute indicates which usage type the PricingRule is modifying. For example, USW2-BoxUsage:m2.2xlarge describes an M2 High Memory Double Extra Large instance in the US West (Oregon) Region.

" } }, "Operation": { "target": "com.amazonaws.billingconductor#Operation", "traits": { - "smithy.api#documentation": "

Operation refers to the specific Amazon Web Services covered by this line item. This describes the specific usage of the line item.

\n

\n If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

" + "smithy.api#documentation": "

Operation refers to the specific Amazon Web Services covered by this line item. This describes the specific usage of the line item.

If the Scope attribute is set to SKU, this attribute indicates which operation the PricingRule is modifying. For example, a value of RunInstances:0202 indicates the operation of running an Amazon EC2 instance.

" } } } @@ -6059,13 +6154,13 @@ "FreeTier": { "target": "com.amazonaws.billingconductor#UpdateFreeTierConfig", "traits": { - "smithy.api#documentation": "

\n The possible Amazon Web Services Free Tier configurations.\n

", + "smithy.api#documentation": "

The possible Amazon Web Services Free Tier configurations.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

\n The set of tiering configurations for the pricing rule.\n

" + "smithy.api#documentation": "

The set of tiering configurations for the pricing rule.

" } }, "com.amazonaws.billingconductor#UsageType": { @@ -6090,18 +6185,18 @@ "Reason": { "target": "com.amazonaws.billingconductor#ValidationExceptionReason", "traits": { - "smithy.api#documentation": "

The reason the request's validation failed.\n

" + "smithy.api#documentation": "

The reason the request's validation failed.

" } }, "Fields": { "target": "com.amazonaws.billingconductor#ValidationExceptionFieldList", "traits": { - "smithy.api#documentation": "

The fields that caused the error, if applicable.\n

" + "smithy.api#documentation": "

The fields that caused the error, if applicable.

" } } }, "traits": { - "smithy.api#documentation": "

The input doesn't match with the constraints specified by Amazon Web Services.

", + "smithy.api#documentation": "

The input doesn't match with the constraints specified by Amazon Web Services services.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6135,250 +6230,392 @@ } }, "com.amazonaws.billingconductor#ValidationExceptionReason": { - "type": "string", - "traits": { - "smithy.api#enum": [ - { - "value": "UNKNOWN_OPERATION", - "name": "UNKNOWN_OPERATION" - }, - { - "value": "CANNOT_PARSE", - "name": "CANNOT_PARSE" - }, - { - "value": "FIELD_VALIDATION_FAILED", - "name": "FIELD_VALIDATION_FAILED" - }, - { - "value": "OTHER", - "name": "OTHER" - }, - { - "value": "PRIMARY_NOT_ASSOCIATED", - "name": "PRIMARY_NOT_ASSOCIATED" - }, - { - "value": "PRIMARY_CANNOT_DISASSOCIATE", - "name": "PRIMARY_CANNOT_DISASSOCIATE" - }, - { - "value": "ACCOUNTS_NOT_ASSOCIATED", - "name": "ACCOUNTS_NOT_ASSOCIATED" - }, - { - "value": "ACCOUNTS_ALREADY_ASSOCIATED", - "name": "ACCOUNTS_ALREADY_ASSOCIATED" - }, - { - "value": "ILLEGAL_PRIMARY_ACCOUNT", - "name": "ILLEGAL_PRIMARY_ACCOUNT" - }, - { - "value": "ILLEGAL_ACCOUNTS", - "name": "ILLEGAL_ACCOUNTS" - }, - { - "value": "MISMATCHED_BILLINGGROUP_ARN", - "name": "MISMATCHED_BILLINGGROUP_ARN" - }, - { - "value": "MISSING_BILLINGGROUP", - "name": "MISSING_BILLINGGROUP" - }, - { - "value": "MISMATCHED_CUSTOMLINEITEM_ARN", - "name": "MISMATCHED_CUSTOMLINEITEM_ARN" - }, - { - "value": "ILLEGAL_BILLING_PERIOD", - "name": "ILLEGAL_BILLING_PERIOD" - }, - { - "value": "ILLEGAL_BILLING_PERIOD_RANGE", - "name": "ILLEGAL_BILLING_PERIOD_RANGE" - }, - { - "value": "TOO_MANY_ACCOUNTS_IN_REQUEST", - "name": "TOO_MANY_ACCOUNTS_IN_REQUEST" - }, - { - "value": "DUPLICATE_ACCOUNT", - "name": "DUPLICATE_ACCOUNT" - }, - { - "value": "INVALID_BILLING_GROUP_STATUS", - "name": "INVALID_BILLING_GROUP_STATUS" - }, - { - "value": "MISMATCHED_PRICINGPLAN_ARN", - "name": "MISMATCHED_PRICINGPLAN_ARN" - }, - { - "value": "MISSING_PRICINGPLAN", - "name": "MISSING_PRICINGPLAN" - }, - { - "value": "MISMATCHED_PRICINGRULE_ARN", - "name": "MISMATCHED_PRICINGRULE_ARN" - }, - { - "value": "DUPLICATE_PRICINGRULE_ARNS", - "name": "DUPLICATE_PRICINGRULE_ARNS" - }, - { - "value": "ILLEGAL_EXPRESSION", - "name": "ILLEGAL_EXPRESSION" - }, - { - "value": "ILLEGAL_SCOPE", - "name": "ILLEGAL_SCOPE" - }, - { - "value": "ILLEGAL_SERVICE", - "name": "ILLEGAL_SERVICE" - }, - { - "value": "PRICINGRULES_NOT_EXIST", - "name": "PRICINGRULES_NOT_EXIST" - }, - { - "value": "PRICINGRULES_ALREADY_ASSOCIATED", - "name": "PRICINGRULES_ALREADY_ASSOCIATED" - }, - { - "value": "PRICINGRULES_NOT_ASSOCIATED", - "name": "PRICINGRULES_NOT_ASSOCIATED" - }, - { - "value": "INVALID_TIME_RANGE", - "name": "INVALID_TIME_RANGE" - }, - { - "value": "INVALID_BILLINGVIEW_ARN", - "name": "INVALID_BILLINGVIEW_ARN" - }, - { - "value": "MISMATCHED_BILLINGVIEW_ARN", - "name": "MISMATCHED_BILLINGVIEW_ARN" - }, - { - "value": "ILLEGAL_CUSTOMLINEITEM", - "name": "ILLEGAL_CUSTOMLINEITEM" - }, - { - "value": "MISSING_CUSTOMLINEITEM", - "name": "MISSING_CUSTOMLINEITEM" - }, - { - "value": "ILLEGAL_CUSTOMLINEITEM_UPDATE", - "name": "ILLEGAL_CUSTOMLINEITEM_UPDATE" - }, - { - "value": "TOO_MANY_CUSTOMLINEITEMS_IN_REQUEST", - "name": "TOO_MANY_CUSTOMLINEITEMS_IN_REQUEST" - }, - { - "value": "ILLEGAL_CHARGE_DETAILS", - "name": "ILLEGAL_CHARGE_DETAILS" - }, - { - "value": "ILLEGAL_UPDATE_CHARGE_DETAILS", - "name": "ILLEGAL_UPDATE_CHARGE_DETAILS" - }, - { - "value": "INVALID_ARN", - "name": "INVALID_ARN" - }, - { - "value": "ILLEGAL_RESOURCE_ARNS", - "name": "ILLEGAL_RESOURCE_ARNS" - }, - { - "value": "ILLEGAL_CUSTOMLINEITEM_MODIFICATION", - "name": "ILLEGAL_CUSTOMLINEITEM_MODIFICATION" - }, - { - "value": "MISSING_LINKED_ACCOUNT_IDS", - "name": "MISSING_LINKED_ACCOUNT_IDS" - }, - { - "value": "MULTIPLE_LINKED_ACCOUNT_IDS", - "name": "MULTIPLE_LINKED_ACCOUNT_IDS" - }, - { - "value": "MISSING_PRICING_PLAN_ARN", - "name": "MISSING_PRICING_PLAN_ARN" - }, - { - "value": "MULTIPLE_PRICING_PLAN_ARN", - "name": "MULTIPLE_PRICING_PLAN_ARN" - }, - { - "value": "ILLEGAL_CHILD_ASSOCIATE_RESOURCE", - "name": "ILLEGAL_CHILD_ASSOCIATE_RESOURCE" - }, - { - "value": "CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS", - "name": "CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS" - }, - { - "value": "INVALID_BILLING_GROUP", - "name": "INVALID_BILLING_GROUP" - }, - { - "value": "INVALID_BILLING_PERIOD_FOR_OPERATION", - "name": "INVALID_BILLING_PERIOD_FOR_OPERATION" - }, - { - "value": "ILLEGAL_BILLING_ENTITY", - "name": "ILLEGAL_BILLING_ENTITY" - }, - { - "value": "ILLEGAL_MODIFIER_PERCENTAGE", - "name": "ILLEGAL_MODIFIER_PERCENTAGE" - }, - { - "value": "ILLEGAL_TYPE", - "name": "ILLEGAL_TYPE" - }, - { - "value": "ILLEGAL_ENDED_BILLINGGROUP", - "name": "ILLEGAL_ENDED_BILLINGGROUP" - }, - { - "value": "ILLEGAL_TIERING_INPUT", - "name": "ILLEGAL_TIERING_INPUT" - }, - { - "value": "ILLEGAL_OPERATION", - "name": "ILLEGAL_OPERATION" - }, - { - "value": "ILLEGAL_USAGE_TYPE", - "name": "ILLEGAL_USAGE_TYPE" - }, - { - "value": "INVALID_SKU_COMBO", - "name": "INVALID_SKU_COMBO" - }, - { - "value": "INVALID_FILTER", - "name": "INVALID_FILTER" - }, - { - "value": "TOO_MANY_AUTO_ASSOCIATE_BILLING_GROUPS", - "name": "TOO_MANY_AUTO_ASSOCIATE_BILLING_GROUPS" - }, - { - "value": "CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP", - "name": "CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP" - }, - { - "value": "ILLEGAL_ACCOUNT_ID", - "name": "ILLEGAL_ACCOUNT_ID" + "type": "enum", + "members": { + "UNKNOWN_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "UNKNOWN_OPERATION" } - ] + }, + "CANNOT_PARSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANNOT_PARSE" + } + }, + "FIELD_VALIDATION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FIELD_VALIDATION_FAILED" + } + }, + "OTHER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OTHER" + } + }, + "PRIMARY_NOT_ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARY_NOT_ASSOCIATED" + } + }, + "PRIMARY_CANNOT_DISASSOCIATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARY_CANNOT_DISASSOCIATE" + } + }, + "ACCOUNTS_NOT_ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCOUNTS_NOT_ASSOCIATED" + } + }, + "ACCOUNTS_ALREADY_ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCOUNTS_ALREADY_ASSOCIATED" + } + }, + "ILLEGAL_PRIMARY_ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_PRIMARY_ACCOUNT" + } + }, + "ILLEGAL_ACCOUNTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_ACCOUNTS" + } + }, + "MISMATCHED_BILLINGGROUP_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISMATCHED_BILLINGGROUP_ARN" + } + }, + "MISSING_BILLINGGROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_BILLINGGROUP" + } + }, + "MISMATCHED_CUSTOMLINEITEM_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISMATCHED_CUSTOMLINEITEM_ARN" + } + }, + "ILLEGAL_BILLING_PERIOD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_BILLING_PERIOD" + } + }, + "ILLEGAL_BILLING_PERIOD_RANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_BILLING_PERIOD_RANGE" + } + }, + "TOO_MANY_ACCOUNTS_IN_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TOO_MANY_ACCOUNTS_IN_REQUEST" + } + }, + "DUPLICATE_ACCOUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DUPLICATE_ACCOUNT" + } + }, + "INVALID_BILLING_GROUP_STATUS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_BILLING_GROUP_STATUS" + } + }, + "MISMATCHED_PRICINGPLAN_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISMATCHED_PRICINGPLAN_ARN" + } + }, + "MISSING_PRICINGPLAN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_PRICINGPLAN" + } + }, + "MISMATCHED_PRICINGRULE_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISMATCHED_PRICINGRULE_ARN" + } + }, + "DUPLICATE_PRICINGRULE_ARNS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DUPLICATE_PRICINGRULE_ARNS" + } + }, + "MISSING_COSTCATEGORY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_COSTCATEGORY" + } + }, + "ILLEGAL_EXPRESSION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_EXPRESSION" + } + }, + "ILLEGAL_SCOPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_SCOPE" + } + }, + "ILLEGAL_SERVICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_SERVICE" + } + }, + "PRICINGRULES_NOT_EXIST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRICINGRULES_NOT_EXIST" + } + }, + "PRICINGRULES_ALREADY_ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRICINGRULES_ALREADY_ASSOCIATED" + } + }, + "PRICINGRULES_NOT_ASSOCIATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRICINGRULES_NOT_ASSOCIATED" + } + }, + "INVALID_TIME_RANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_TIME_RANGE" + } + }, + "INVALID_BILLINGVIEW_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_BILLINGVIEW_ARN" + } + }, + "MISMATCHED_BILLINGVIEW_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISMATCHED_BILLINGVIEW_ARN" + } + }, + "ILLEGAL_CUSTOMLINEITEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_CUSTOMLINEITEM" + } + }, + "MISSING_CUSTOMLINEITEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_CUSTOMLINEITEM" + } + }, + "ILLEGAL_CUSTOMLINEITEM_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_CUSTOMLINEITEM_UPDATE" + } + }, + "TOO_MANY_CUSTOMLINEITEMS_IN_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TOO_MANY_CUSTOMLINEITEMS_IN_REQUEST" + } + }, + "ILLEGAL_CHARGE_DETAILS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_CHARGE_DETAILS" + } + }, + "ILLEGAL_UPDATE_CHARGE_DETAILS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_UPDATE_CHARGE_DETAILS" + } + }, + "INVALID_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_ARN" + } + }, + "ILLEGAL_RESOURCE_ARNS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_RESOURCE_ARNS" + } + }, + "ILLEGAL_CUSTOMLINEITEM_MODIFICATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_CUSTOMLINEITEM_MODIFICATION" + } + }, + "MISSING_LINKED_ACCOUNT_IDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_LINKED_ACCOUNT_IDS" + } + }, + "MULTIPLE_LINKED_ACCOUNT_IDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MULTIPLE_LINKED_ACCOUNT_IDS" + } + }, + "MISSING_PRICING_PLAN_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISSING_PRICING_PLAN_ARN" + } + }, + "MULTIPLE_PRICING_PLAN_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MULTIPLE_PRICING_PLAN_ARN" + } + }, + "ILLEGAL_CHILD_ASSOCIATE_RESOURCE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_CHILD_ASSOCIATE_RESOURCE" + } + }, + "CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CUSTOM_LINE_ITEM_ASSOCIATION_EXISTS" + } + }, + "INVALID_BILLING_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_BILLING_GROUP" + } + }, + "INVALID_BILLING_PERIOD_FOR_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_BILLING_PERIOD_FOR_OPERATION" + } + }, + "ILLEGAL_BILLING_ENTITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_BILLING_ENTITY" + } + }, + "ILLEGAL_MODIFIER_PERCENTAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_MODIFIER_PERCENTAGE" + } + }, + "ILLEGAL_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_TYPE" + } + }, + "ILLEGAL_ENDED_BILLINGGROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_ENDED_BILLINGGROUP" + } + }, + "ILLEGAL_TIERING_INPUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_TIERING_INPUT" + } + }, + "ILLEGAL_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_OPERATION" + } + }, + "ILLEGAL_USAGE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_USAGE_TYPE" + } + }, + "INVALID_SKU_COMBO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_SKU_COMBO" + } + }, + "INVALID_FILTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_FILTER" + } + }, + "TOO_MANY_AUTO_ASSOCIATE_BILLING_GROUPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TOO_MANY_AUTO_ASSOCIATE_BILLING_GROUPS" + } + }, + "CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANNOT_DELETE_AUTO_ASSOCIATE_BILLING_GROUP" + } + }, + "ILLEGAL_ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_ACCOUNT_ID" + } + }, + "BILLING_GROUP_ALREADY_EXIST_IN_CURRENT_BILLING_PERIOD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "BILLING_GROUP_ALREADY_EXIST_IN_CURRENT_BILLING_PERIOD" + } + }, + "ILLEGAL_COMPUTATION_RULE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_COMPUTATION_RULE" + } + }, + "ILLEGAL_LINE_ITEM_FILTER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ILLEGAL_LINE_ITEM_FILTER" + } + } } } } diff --git a/codegen/sdk-codegen/aws-models/braket.json b/codegen/sdk-codegen/aws-models/braket.json index 29878ddd5ed..5589101a9b3 100644 --- a/codegen/sdk-codegen/aws-models/braket.json +++ b/codegen/sdk-codegen/aws-models/braket.json @@ -162,27 +162,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/budgets.json b/codegen/sdk-codegen/aws-models/budgets.json index e24b4c12394..dbd6ea325a4 100644 --- a/codegen/sdk-codegen/aws-models/budgets.json +++ b/codegen/sdk-codegen/aws-models/budgets.json @@ -134,26 +134,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -902,85 +902,43 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://budgets-fips.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://budgets-fips.amazonaws.com" + "url": "https://budgets-fips.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://budgets.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://budgets.amazonaws.com" + "url": "https://budgets.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -1154,43 +1112,85 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://budgets-fips.amazonaws.eu" + "url": "https://budgets-fips.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://budgets-fips.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://budgets.amazonaws.eu" + "url": "https://budgets.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://budgets.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/chatbot.json b/codegen/sdk-codegen/aws-models/chatbot.json index c88c0df4729..9ebaca887eb 100644 --- a/codegen/sdk-codegen/aws-models/chatbot.json +++ b/codegen/sdk-codegen/aws-models/chatbot.json @@ -4530,27 +4530,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-identity.json b/codegen/sdk-codegen/aws-models/chime-sdk-identity.json index f533f48356a..e4ccfa1119b 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-identity.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-identity.json @@ -625,27 +625,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-media-pipelines.json b/codegen/sdk-codegen/aws-models/chime-sdk-media-pipelines.json index 574aaefa98f..482ea1f212b 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-media-pipelines.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-media-pipelines.json @@ -876,27 +876,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-meetings.json b/codegen/sdk-codegen/aws-models/chime-sdk-meetings.json index 6945e63abcb..db8677a9dba 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-meetings.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-meetings.json @@ -451,27 +451,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json b/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json index 9b0a2a92ad1..cbd080abddb 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-messaging.json @@ -1545,27 +1545,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/chime-sdk-voice.json b/codegen/sdk-codegen/aws-models/chime-sdk-voice.json index 2d4f1a4efb0..d558d136517 100644 --- a/codegen/sdk-codegen/aws-models/chime-sdk-voice.json +++ b/codegen/sdk-codegen/aws-models/chime-sdk-voice.json @@ -989,27 +989,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/chime.json b/codegen/sdk-codegen/aws-models/chime.json index f80b518bc03..f3a50da2b67 100644 --- a/codegen/sdk-codegen/aws-models/chime.json +++ b/codegen/sdk-codegen/aws-models/chime.json @@ -6059,27 +6059,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cleanrooms.json b/codegen/sdk-codegen/aws-models/cleanrooms.json index 7f532b2b03f..6cec3835ef3 100644 --- a/codegen/sdk-codegen/aws-models/cleanrooms.json +++ b/codegen/sdk-codegen/aws-models/cleanrooms.json @@ -1194,7 +1194,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 10 + "max": 50 } } }, @@ -4692,7 +4692,7 @@ "allowedColumns": { "target": "com.amazonaws.cleanrooms#AllowedColumnList", "traits": { - "smithy.api#documentation": "

The columns within the underlying Glue table that can be utilized within collaborations.

", + "smithy.api#documentation": "

The columns within the underlying Glue table that can be used within collaborations.

", "smithy.api#required": {} } }, @@ -7797,7 +7797,7 @@ "type": "structure", "members": { "name": { - "target": "smithy.api#String", + "target": "com.amazonaws.cleanrooms#ColumnName", "traits": { "smithy.api#documentation": "

The name of the column, such as user_id, that contains the unique identifier of your users, whose privacy you want to protect. If you want to turn on differential privacy for two or more tables in a collaboration, you must configure the same column as the user identifier column in both analysis rules.

", "smithy.api#required": {} @@ -15399,6 +15399,10 @@ "target": "smithy.api#String", "traits": { "smithy.api#documentation": "

The object key.

", + "smithy.api#length": { + "min": 1, + "max": 1024 + }, "smithy.api#pattern": "^[a-zA-Z0-9!_.*'()-/]+$", "smithy.api#required": {} } @@ -16199,6 +16203,39 @@ "smithy.api#documentation": "

The Snowflake table schema.

" } }, + "com.amazonaws.cleanrooms#SparkProperties": { + "type": "map", + "key": { + "target": "com.amazonaws.cleanrooms#SparkPropertyKey" + }, + "value": { + "target": "com.amazonaws.cleanrooms#SparkPropertyValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.cleanrooms#SparkPropertyKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.cleanrooms#SparkPropertyValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 500 + } + } + }, "com.amazonaws.cleanrooms#StartProtectedJob": { "type": "operation", "input": { @@ -18084,12 +18121,32 @@ "max": 400 } } + }, + "properties": { + "target": "com.amazonaws.cleanrooms#WorkerComputeConfigurationProperties", + "traits": { + "smithy.api#documentation": "

The configuration properties for the worker compute environment. These properties allow you to customize the compute settings for your Clean Rooms workloads.

" + } } }, "traits": { "smithy.api#documentation": "

The configuration of the compute resources for workers running an analysis with the Clean Rooms SQL analytics engine.

" } }, + "com.amazonaws.cleanrooms#WorkerComputeConfigurationProperties": { + "type": "union", + "members": { + "spark": { + "target": "com.amazonaws.cleanrooms#SparkProperties", + "traits": { + "smithy.api#documentation": "

The Spark configuration properties for SQL workloads. This map contains key-value pairs that configure Apache Spark settings to optimize performance for your data processing jobs. You can specify up to 50 Spark properties, with each key being 1-200 characters and each value being 0-500 characters. These properties allow you to adjust compute capacity for large datasets and complex workloads.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The configuration properties that define the compute environment settings for workers in Clean Rooms. These properties enable customization of the underlying compute environment to optimize performance for your specific workloads.

" + } + }, "com.amazonaws.cleanrooms#WorkerComputeType": { "type": "enum", "members": { diff --git a/codegen/sdk-codegen/aws-models/cleanroomsml.json b/codegen/sdk-codegen/aws-models/cleanroomsml.json index 822bd343e45..2bc4fda4d91 100644 --- a/codegen/sdk-codegen/aws-models/cleanroomsml.json +++ b/codegen/sdk-codegen/aws-models/cleanroomsml.json @@ -106,27 +106,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloud9.json b/codegen/sdk-codegen/aws-models/cloud9.json index e7a2abd9fd5..85fcabaa415 100644 --- a/codegen/sdk-codegen/aws-models/cloud9.json +++ b/codegen/sdk-codegen/aws-models/cloud9.json @@ -94,27 +94,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudcontrol.json b/codegen/sdk-codegen/aws-models/cloudcontrol.json index 87e8aa26f4a..3b86d00e9a0 100644 --- a/codegen/sdk-codegen/aws-models/cloudcontrol.json +++ b/codegen/sdk-codegen/aws-models/cloudcontrol.json @@ -134,27 +134,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/clouddirectory.json b/codegen/sdk-codegen/aws-models/clouddirectory.json index 09ee0810bb1..e20003e0ed7 100644 --- a/codegen/sdk-codegen/aws-models/clouddirectory.json +++ b/codegen/sdk-codegen/aws-models/clouddirectory.json @@ -373,27 +373,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudformation.json b/codegen/sdk-codegen/aws-models/cloudformation.json index 680b8e85ac9..dca0988e01c 100644 --- a/codegen/sdk-codegen/aws-models/cloudformation.json +++ b/codegen/sdk-codegen/aws-models/cloudformation.json @@ -1390,27 +1390,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudfront-keyvaluestore.json b/codegen/sdk-codegen/aws-models/cloudfront-keyvaluestore.json index d21ec63448f..c50a9a56d08 100644 --- a/codegen/sdk-codegen/aws-models/cloudfront-keyvaluestore.json +++ b/codegen/sdk-codegen/aws-models/cloudfront-keyvaluestore.json @@ -55,26 +55,26 @@ "KvsARN": { "required": false, "documentation": "The ARN of the Key Value Store", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudfront.json b/codegen/sdk-codegen/aws-models/cloudfront.json index bb1369adf69..42a97e61be4 100644 --- a/codegen/sdk-codegen/aws-models/cloudfront.json +++ b/codegen/sdk-codegen/aws-models/cloudfront.json @@ -1903,26 +1903,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudhsm-v2.json b/codegen/sdk-codegen/aws-models/cloudhsm-v2.json index 6c26dde9e98..a294518886b 100644 --- a/codegen/sdk-codegen/aws-models/cloudhsm-v2.json +++ b/codegen/sdk-codegen/aws-models/cloudhsm-v2.json @@ -311,27 +311,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudhsm.json b/codegen/sdk-codegen/aws-models/cloudhsm.json index 91d27efce94..8343410b19d 100644 --- a/codegen/sdk-codegen/aws-models/cloudhsm.json +++ b/codegen/sdk-codegen/aws-models/cloudhsm.json @@ -253,27 +253,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudsearch-domain.json b/codegen/sdk-codegen/aws-models/cloudsearch-domain.json index f322ea3502a..dce1ad881bd 100644 --- a/codegen/sdk-codegen/aws-models/cloudsearch-domain.json +++ b/codegen/sdk-codegen/aws-models/cloudsearch-domain.json @@ -74,27 +74,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudsearch.json b/codegen/sdk-codegen/aws-models/cloudsearch.json index ca039627d7e..85b2af02c83 100644 --- a/codegen/sdk-codegen/aws-models/cloudsearch.json +++ b/codegen/sdk-codegen/aws-models/cloudsearch.json @@ -136,27 +136,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudtrail-data.json b/codegen/sdk-codegen/aws-models/cloudtrail-data.json index 86e5c773c68..f40e325a8fe 100644 --- a/codegen/sdk-codegen/aws-models/cloudtrail-data.json +++ b/codegen/sdk-codegen/aws-models/cloudtrail-data.json @@ -145,27 +145,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudtrail.json b/codegen/sdk-codegen/aws-models/cloudtrail.json index 7bfe895857e..f063fbf4f6e 100644 --- a/codegen/sdk-codegen/aws-models/cloudtrail.json +++ b/codegen/sdk-codegen/aws-models/cloudtrail.json @@ -880,27 +880,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudwatch-events.json b/codegen/sdk-codegen/aws-models/cloudwatch-events.json index 4f5acb017ce..2c374fb97e3 100644 --- a/codegen/sdk-codegen/aws-models/cloudwatch-events.json +++ b/codegen/sdk-codegen/aws-models/cloudwatch-events.json @@ -212,27 +212,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudwatch-logs.json b/codegen/sdk-codegen/aws-models/cloudwatch-logs.json index 85ff8b6add0..00e5aff436e 100644 --- a/codegen/sdk-codegen/aws-models/cloudwatch-logs.json +++ b/codegen/sdk-codegen/aws-models/cloudwatch-logs.json @@ -7527,27 +7527,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cloudwatch.json b/codegen/sdk-codegen/aws-models/cloudwatch.json index c4548edc594..b448a21d3d7 100644 --- a/codegen/sdk-codegen/aws-models/cloudwatch.json +++ b/codegen/sdk-codegen/aws-models/cloudwatch.json @@ -2918,26 +2918,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -3480,53 +3480,27 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://monitoring.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://monitoring.us-gov-west-1.amazonaws.com" + "url": "https://monitoring-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://monitoring.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://monitoring.us-gov-west-1.amazonaws.com" + "url": "https://monitoring.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -3636,27 +3610,53 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://monitoring-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://monitoring.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://monitoring.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://monitoring.eusc-de-east-1.amazonaws.eu" + "url": "https://monitoring.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://monitoring.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/codeartifact.json b/codegen/sdk-codegen/aws-models/codeartifact.json index 8a3c87f490b..63bea3bca56 100644 --- a/codegen/sdk-codegen/aws-models/codeartifact.json +++ b/codegen/sdk-codegen/aws-models/codeartifact.json @@ -470,27 +470,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codebuild.json b/codegen/sdk-codegen/aws-models/codebuild.json index 81a9d3227bd..cdf5d3fcdd1 100644 --- a/codegen/sdk-codegen/aws-models/codebuild.json +++ b/codegen/sdk-codegen/aws-models/codebuild.json @@ -1870,27 +1870,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codecatalyst.json b/codegen/sdk-codegen/aws-models/codecatalyst.json index f77d655d5a1..e2a2ed41a1f 100644 --- a/codegen/sdk-codegen/aws-models/codecatalyst.json +++ b/codegen/sdk-codegen/aws-models/codecatalyst.json @@ -163,19 +163,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codecommit.json b/codegen/sdk-codegen/aws-models/codecommit.json index b0af9515586..16bc607fae3 100644 --- a/codegen/sdk-codegen/aws-models/codecommit.json +++ b/codegen/sdk-codegen/aws-models/codecommit.json @@ -1859,27 +1859,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codeconnections.json b/codegen/sdk-codegen/aws-models/codeconnections.json index 5d99ed62a7c..4db9fb400f6 100644 --- a/codegen/sdk-codegen/aws-models/codeconnections.json +++ b/codegen/sdk-codegen/aws-models/codeconnections.json @@ -207,27 +207,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codedeploy.json b/codegen/sdk-codegen/aws-models/codedeploy.json index ff6c251a58e..3f2ab09fc73 100644 --- a/codegen/sdk-codegen/aws-models/codedeploy.json +++ b/codegen/sdk-codegen/aws-models/codedeploy.json @@ -1278,27 +1278,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codeguru-reviewer.json b/codegen/sdk-codegen/aws-models/codeguru-reviewer.json index dd1d203a1b6..9527a49c7f8 100644 --- a/codegen/sdk-codegen/aws-models/codeguru-reviewer.json +++ b/codegen/sdk-codegen/aws-models/codeguru-reviewer.json @@ -97,27 +97,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codeguru-security.json b/codegen/sdk-codegen/aws-models/codeguru-security.json index a633ba105fc..723d5bc1bd8 100644 --- a/codegen/sdk-codegen/aws-models/codeguru-security.json +++ b/codegen/sdk-codegen/aws-models/codeguru-security.json @@ -176,27 +176,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codeguruprofiler.json b/codegen/sdk-codegen/aws-models/codeguruprofiler.json index ee0d80e1cb1..669ad46819f 100644 --- a/codegen/sdk-codegen/aws-models/codeguruprofiler.json +++ b/codegen/sdk-codegen/aws-models/codeguruprofiler.json @@ -546,27 +546,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codepipeline.json b/codegen/sdk-codegen/aws-models/codepipeline.json index 3d25f09b211..f7699468cdd 100644 --- a/codegen/sdk-codegen/aws-models/codepipeline.json +++ b/codegen/sdk-codegen/aws-models/codepipeline.json @@ -1979,27 +1979,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codestar-connections.json b/codegen/sdk-codegen/aws-models/codestar-connections.json index ef11686e136..510d562f4dc 100644 --- a/codegen/sdk-codegen/aws-models/codestar-connections.json +++ b/codegen/sdk-codegen/aws-models/codestar-connections.json @@ -207,27 +207,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/codestar-notifications.json b/codegen/sdk-codegen/aws-models/codestar-notifications.json index a1975a995f4..fb64d215abc 100644 --- a/codegen/sdk-codegen/aws-models/codestar-notifications.json +++ b/codegen/sdk-codegen/aws-models/codestar-notifications.json @@ -117,27 +117,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cognito-identity-provider.json b/codegen/sdk-codegen/aws-models/cognito-identity-provider.json index d05ece5c2ca..ee9114f8323 100644 --- a/codegen/sdk-codegen/aws-models/cognito-identity-provider.json +++ b/codegen/sdk-codegen/aws-models/cognito-identity-provider.json @@ -426,27 +426,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cognito-identity.json b/codegen/sdk-codegen/aws-models/cognito-identity.json index b5a931d3f41..1e64ccfb70e 100644 --- a/codegen/sdk-codegen/aws-models/cognito-identity.json +++ b/codegen/sdk-codegen/aws-models/cognito-identity.json @@ -136,27 +136,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cognito-sync.json b/codegen/sdk-codegen/aws-models/cognito-sync.json index c9e85eaa2d4..081e727f1aa 100644 --- a/codegen/sdk-codegen/aws-models/cognito-sync.json +++ b/codegen/sdk-codegen/aws-models/cognito-sync.json @@ -109,27 +109,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/comprehend.json b/codegen/sdk-codegen/aws-models/comprehend.json index 19eab509c2f..ae1141055c4 100644 --- a/codegen/sdk-codegen/aws-models/comprehend.json +++ b/codegen/sdk-codegen/aws-models/comprehend.json @@ -1421,27 +1421,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/comprehendmedical.json b/codegen/sdk-codegen/aws-models/comprehendmedical.json index da9ac4e3718..e2d79fc40be 100644 --- a/codegen/sdk-codegen/aws-models/comprehendmedical.json +++ b/codegen/sdk-codegen/aws-models/comprehendmedical.json @@ -432,27 +432,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/compute-optimizer.json b/codegen/sdk-codegen/aws-models/compute-optimizer.json index 0a5937fbf10..7182231aa9f 100644 --- a/codegen/sdk-codegen/aws-models/compute-optimizer.json +++ b/codegen/sdk-codegen/aws-models/compute-optimizer.json @@ -529,27 +529,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/config-service.json b/codegen/sdk-codegen/aws-models/config-service.json index 21573ec4f5d..7bbc0ab68a8 100644 --- a/codegen/sdk-codegen/aws-models/config-service.json +++ b/codegen/sdk-codegen/aws-models/config-service.json @@ -15845,27 +15845,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/connect-contact-lens.json b/codegen/sdk-codegen/aws-models/connect-contact-lens.json index 702f84d96d8..85ceb9a215e 100644 --- a/codegen/sdk-codegen/aws-models/connect-contact-lens.json +++ b/codegen/sdk-codegen/aws-models/connect-contact-lens.json @@ -75,27 +75,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index c1655f1b056..225653e00a1 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -351,6 +351,20 @@ "target": "com.amazonaws.connect#AgentContactReference" } }, + "com.amazonaws.connect#AgentFirst": { + "type": "structure", + "members": { + "Preview": { + "target": "com.amazonaws.connect#Preview", + "traits": { + "smithy.api#documentation": "

Information about preview configuration of agent first outbound strategy

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about agent-first outbound strategy configuration.

" + } + }, "com.amazonaws.connect#AgentFirstName": { "type": "string", "traits": { @@ -437,6 +451,18 @@ "smithy.api#documentation": "

The identifier of the agent who accepted the contact.

" } }, + "AcceptedByAgentTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the contact was accepted by the agent.

" + } + }, + "PreviewEndTimestamp": { + "target": "com.amazonaws.connect#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp when the agent finished previewing the contact.

" + } + }, "ConnectedToAgentTimestamp": { "target": "com.amazonaws.connect#Timestamp", "traits": { @@ -900,6 +926,33 @@ } } }, + "com.amazonaws.connect#AliasConfiguration": { + "type": "structure", + "members": { + "EmailAddressId": { + "target": "com.amazonaws.connect#EmailAddressId", + "traits": { + "smithy.api#documentation": "

The email address ID.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration information of an email alias.

" + } + }, + "com.amazonaws.connect#AliasConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#AliasConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1 + } + } + }, "com.amazonaws.connect#AllowedAccessControlTags": { "type": "map", "key": { @@ -947,6 +1000,29 @@ } } }, + "com.amazonaws.connect#AllowedUserAction": { + "type": "enum", + "members": { + "CALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CALL" + } + }, + "DISCARD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISCARD" + } + } + } + }, + "com.amazonaws.connect#AllowedUserActions": { + "type": "list", + "member": { + "target": "com.amazonaws.connect#AllowedUserAction" + } + }, "com.amazonaws.connect#AmazonConnectService": { "type": "service", "version": "2017-08-08", @@ -969,6 +1045,9 @@ { "target": "com.amazonaws.connect#AssociateDefaultVocabulary" }, + { + "target": "com.amazonaws.connect#AssociateEmailAddressAlias" + }, { "target": "com.amazonaws.connect#AssociateFlow" }, @@ -1281,6 +1360,9 @@ { "target": "com.amazonaws.connect#DisassociateBot" }, + { + "target": "com.amazonaws.connect#DisassociateEmailAddressAlias" + }, { "target": "com.amazonaws.connect#DisassociateFlow" }, @@ -1828,27 +1910,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -3129,7 +3211,7 @@ } ], "traits": { - "smithy.api#documentation": "

Associates a queued contact with an agent.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    Custom contact routing. You can build custom contact routing mechanisms beyond the default\n system routing in Amazon Connect. You can create tailored contact distribution logic that\n offers queued contacts directly to specific agents.

    \n
  • \n
  • \n

    Manual contact assignment. You can programmatically assign queued contacts to available users. This \n provides flexibility to contact centers that require manual oversight or specialized routing\n workflows outside of standard queue management.

    \n

    For information about how manual contact assignment works in the agent workspace, see the Access the Worklist app in the Amazon Connect agent workspace in the Amazon Connect Administrator\n Guide.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    Use this API chat/SMS, email, and task contacts. It does not support voice\n contacts.

    \n
  • \n
  • \n

    Use it to associate contacts with users regardless of their current state, including\n custom states. Ensure your application logic accounts for user availability before making\n associations.

    \n
  • \n
  • \n

    It honors the IAM context key connect:PreferredUserArn to prevent\n unauthorized contact associations.

    \n
  • \n
  • \n

    It respects the IAM context key connect:PreferredUserArn to enforce\n authorization controls and prevent unauthorized contact associations. Verify that your IAM\n policies are properly configured to support your intended use cases.

    \n
  • \n
\n

\n Endpoints: See Amazon Connect endpoints and\n quotas.

", + "smithy.api#documentation": "

Associates a queued contact with an agent.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    Programmatically assign queued contacts to available users.

    \n
  • \n
  • \n

    Leverage the IAM context key connect:PreferredUserArn to restrict contact\n association to specific preferred user.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    Use this API with chat, email, and task contacts. It does not support voice\n contacts.

    \n
  • \n
  • \n

    Use it to associate contacts with users regardless of their current state, including\n custom states. Ensure your application logic accounts for user availability before making\n associations.

    \n
  • \n
  • \n

    It honors the IAM context key connect:PreferredUserArn to prevent\n unauthorized contact associations.

    \n
  • \n
  • \n

    It respects the IAM context key connect:PreferredUserArn to enforce\n authorization controls and prevent unauthorized contact associations. Verify that your IAM\n policies are properly configured to support your intended use cases.

    \n
  • \n
  • \n

    The service quota Queues per routing profile per instance applies to\n manually assigned queues, too. For more information about this quota, see Amazon Connect quotas in the Amazon Connect Administrator\n Guide.

    \n
  • \n
\n

\n Endpoints: See Amazon Connect endpoints and\n quotas.

", "smithy.api#http": { "method": "POST", "uri": "/contacts/{InstanceId}/{ContactId}/associate-user", @@ -3246,6 +3328,94 @@ "smithy.api#output": {} } }, + "com.amazonaws.connect#AssociateEmailAddressAlias": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#AssociateEmailAddressAliasRequest" + }, + "output": { + "target": "com.amazonaws.connect#AssociateEmailAddressAliasResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#AccessDeniedException" + }, + { + "target": "com.amazonaws.connect#IdempotencyException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceConflictException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Associates an email address alias with an existing email address in an Amazon Connect\n instance. This creates a forwarding relationship where emails sent to the alias email address are\n automatically forwarded to the primary email address.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    \n Unified customer support: Create multiple entry points (for example, support@example.com,\n help@example.com, customercare@example.com) that all forward to a single agent queue for\n streamlined management.

    \n
  • \n
  • \n

    \n Department consolidation: Forward emails from legacy department addresses (for example,\n sales@example.com, info@example.com) to a centralized customer service email during\n organizational restructuring.

    \n
  • \n
  • \n

    \n Brand management: Enable you to use familiar brand-specific email addresses that forward\n to the appropriate Amazon Connect instance email address.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    Each email address can have a maximum of one alias. You cannot create multiple aliases for\n the same email address.

    \n
  • \n
  • \n

    If the alias email address already receives direct emails, it continues to receive direct\n emails plus forwarded emails.

    \n
  • \n
  • \n

    You cannot chain email aliases together (that is, create an alias of an alias).

    \n
  • \n
\n

\n AssociateEmailAddressAlias does not return the following information:

\n
    \n
  • \n

    A confirmation of the alias relationship details (you must call DescribeEmailAddress to verify).

    \n
  • \n
  • \n

    The timestamp of when the association occurred.

    \n
  • \n
  • \n

    The status of the forwarding configuration.

    \n
  • \n
\n

\n Endpoints: See \n Amazon Connect endpoints and quotas.

\n

\n Related operations\n

\n
    \n
  • \n

    \n DisassociateEmailAddressAlias: Removes the alias association between two email\n addresses in an Amazon Connect instance.

    \n
  • \n
  • \n

    \n DescribeEmailAddress:\n View current alias configurations for an email address.

    \n
  • \n
  • \n

    \n SearchEmailAddresses:\n Find email addresses and their alias relationships across an instance.

    \n
  • \n
  • \n

    \n CreateEmailAddress: Create new email addresses that can participate in alias\n relationships.

    \n
  • \n
  • \n

    \n DeleteEmailAddress: Remove email addresses (automatically removes any alias\n relationships).

    \n
  • \n
  • \n

    \n UpdateEmailAddressMetadata: Modify email address properties (does not affect alias\n relationships).

    \n
  • \n
", + "smithy.api#http": { + "method": "POST", + "uri": "/email-addresses/{InstanceId}/{EmailAddressId}/associate-alias", + "code": 200 + } + } + }, + "com.amazonaws.connect#AssociateEmailAddressAliasRequest": { + "type": "structure", + "members": { + "EmailAddressId": { + "target": "com.amazonaws.connect#EmailAddressId", + "traits": { + "smithy.api#documentation": "

The identifier of the email address.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AliasConfiguration": { + "target": "com.amazonaws.connect#AliasConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration object that specifies which email address will serve as the alias. The\n specified email address must already exist in the Amazon Connect instance and cannot already\n be configured as an alias or have an alias of its own.

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.connect#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the Amazon Web Services\n SDK populates this field. For more information about idempotency, see\n Making retries safe with idempotent APIs.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#AssociateEmailAddressAliasResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#AssociateFlow": { "type": "operation", "input": { @@ -4541,7 +4711,7 @@ } }, "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Information about an authentication profile. An authentication profile is a resource that\n stores the authentication settings for users in your contact center. You use authentication\n profiles to set up IP address range restrictions and session timeouts. For more information, see\n Set IP\n address restrictions or session timeouts.

" + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Information about an authentication profile. An authentication profile is a resource that\n stores the authentication settings for users in your contact center. You use authentication\n profiles to set up IP address range restrictions and session timeouts. For more information, see\n Set IP\n address restrictions or session timeouts.

" } }, "com.amazonaws.connect#AuthenticationProfileDescription": { @@ -4613,7 +4783,7 @@ } }, "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

A summary of a given authentication profile.

" + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

A summary of a given authentication profile.

" } }, "com.amazonaws.connect#AuthenticationProfileSummaryList": { @@ -6136,7 +6306,7 @@ "DisconnectReason": { "target": "com.amazonaws.connect#String", "traits": { - "smithy.api#documentation": "

The disconnect reason for the contact.

" + "smithy.api#documentation": "

The disconnect reason for the contact. For a list and description of all the possible\n disconnect reasons by channel, see DisconnectReason under ContactTraceRecord in the Amazon Connect Administrator Guide.

" } }, "ContactEvaluations": { @@ -6145,12 +6315,24 @@ "smithy.api#documentation": "

Information about the contact evaluations where the key is the FormId, which is a unique\n identifier for the form.

" } }, + "TaskTemplateInfo": { + "target": "com.amazonaws.connect#TaskTemplateInfoV2", + "traits": { + "smithy.api#documentation": "

If this contact was created using a task template, this contains information about the task template.

" + } + }, "ContactDetails": { "target": "com.amazonaws.connect#ContactDetails", "traits": { "smithy.api#documentation": "

A map of string key/value pairs that contain user-defined attributes which are lightly typed\n within the contact. This object is used only for task contacts.

" } }, + "OutboundStrategy": { + "target": "com.amazonaws.connect#OutboundStrategy", + "traits": { + "smithy.api#documentation": "

Information about the outbound strategy.

" + } + }, "Attributes": { "target": "com.amazonaws.connect#Attributes", "traits": { @@ -6242,6 +6424,12 @@ "traits": { "smithy.api#documentation": "

Structure to store information associated with a campaign.

" } + }, + "OutboundStrategy": { + "target": "com.amazonaws.connect#OutboundStrategy", + "traits": { + "smithy.api#documentation": "

Information about the outbound strategy.

" + } } }, "traits": { @@ -7160,7 +7348,7 @@ "code": "ContactNotFoundException", "httpResponseCode": 410 }, - "smithy.api#documentation": "

The contact with the specified ID is not active or does not exist.

", + "smithy.api#documentation": "

The contact with the specified ID does not exist.

", "smithy.api#error": "client", "smithy.api#httpError": 410 } @@ -13298,7 +13486,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Describes the target authentication profile.

", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Describes the target authentication profile.

", "smithy.api#http": { "method": "GET", "uri": "/authentication-profiles/{InstanceId}/{AuthenticationProfileId}", @@ -13370,7 +13558,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change.

\n

Describes the specified contact.

\n \n
    \n
  • \n

    \n SystemEndpoint is not populated for contacts with initiation method of\n MONITOR, QUEUE_TRANSFER, or CALLBACK

    \n
  • \n
  • \n

    Contact information remains available in Amazon Connect for 24 months from the\n InitiationTimestamp, and then it is deleted. Only contact information that is\n available in Amazon Connect is returned by this API.

    \n
  • \n
\n
", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change.

\n

Describes the specified contact.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    Retrieve contact information such as the caller's phone number and the specific number the\n caller dialed to integrate into custom monitoring or custom agent experience solutions.

    \n
  • \n
  • \n

    Detect when a customer chat session disconnects due to a network issue on the agent's end.\n Use the DisconnectReason field in the ContactTraceRecord to detect this event and then re-queue the chat for\n followup.

    \n
  • \n
  • \n

    Identify after contact work (ACW) duration and call recordings information when a\n COMPLETED event is received by using the contact event stream.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    \n SystemEndpoint is not populated for contacts with initiation method of\n MONITOR, QUEUE_TRANSFER, or CALLBACK

    \n
  • \n
  • \n

    Contact information remains available in Amazon Connect for 24 months from the\n InitiationTimestamp, and then it is deleted. Only contact information that is\n available in Amazon Connect is returned by this API.

    \n
  • \n
\n

\n Endpoints: See Amazon Connect endpoints and\n quotas.

", "smithy.api#http": { "method": "GET", "uri": "/contacts/{InstanceId}/{ContactId}", @@ -13749,6 +13937,12 @@ "smithy.api#documentation": "

The email address last modification timestamp in ISO 8601 Datetime.

" } }, + "AliasConfigurations": { + "target": "com.amazonaws.connect#AliasConfigurationList", + "traits": { + "smithy.api#documentation": "

A list of alias configurations associated with this email address. Contains details about\n email addresses that forward to this primary email address. The list can contain at most one\n alias configuration per email address.

" + } + }, "Tags": { "target": "com.amazonaws.connect#TagMap", "traits": { @@ -15591,6 +15785,91 @@ "smithy.api#input": {} } }, + "com.amazonaws.connect#DisassociateEmailAddressAlias": { + "type": "operation", + "input": { + "target": "com.amazonaws.connect#DisassociateEmailAddressAliasRequest" + }, + "output": { + "target": "com.amazonaws.connect#DisassociateEmailAddressAliasResponse" + }, + "errors": [ + { + "target": "com.amazonaws.connect#AccessDeniedException" + }, + { + "target": "com.amazonaws.connect#InternalServiceException" + }, + { + "target": "com.amazonaws.connect#InvalidParameterException" + }, + { + "target": "com.amazonaws.connect#InvalidRequestException" + }, + { + "target": "com.amazonaws.connect#ResourceConflictException" + }, + { + "target": "com.amazonaws.connect#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.connect#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes the alias association between two email addresses in an Amazon Connect instance.\n After disassociation, emails sent to the former alias email address are no longer forwarded to\n the primary email address. Both email addresses continue to exist independently and can receive\n emails directly.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    \n Department separation: Remove alias relationships when splitting a consolidated support\n queue back into separate department-specific queues.

    \n
  • \n
  • \n

    \n Email address retirement: Cleanly remove forwarding relationships before decommissioning\n old email addresses.

    \n
  • \n
  • \n

    \n Organizational restructuring: Reconfigure email routing when business processes change and\n aliases are no longer needed.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    Concurrent operations: This API uses distributed locking, so concurrent operations on the\n same email addresses may be temporarily blocked.

    \n
  • \n
  • \n

    Emails sent to the former alias address are still delivered directly to that address if it\n exists.

    \n
  • \n
  • \n

    You do not need to delete the email addresses after disassociation. Both addresses remain\n active independently.

    \n
  • \n
  • \n

    After a successful disassociation, you can immediately create a new alias relationship\n with the same addresses.

    \n
  • \n
  • \n

    200 status means alias was successfully disassociated.

    \n
  • \n
\n

\n DisassociateEmailAddressAlias does not return the following information:

\n
    \n
  • \n

    Details in the response about the email that was disassociated. The response returns an empty body.

    \n
  • \n
  • \n

    The timestamp of when the disassociation occurred.

    \n
  • \n
\n

\n Endpoints: See \n Amazon Connect endpoints and quotas.

\n

\n Related operations\n

\n
    \n
  • \n

    \n AssociateEmailAddressAlias: Associates an email address alias with an existing email\n address in an Amazon Connect instance.

    \n
  • \n
  • \n

    \n DescribeEmailAddress:\n View current alias configurations for an email address.

    \n
  • \n
  • \n

    \n SearchEmailAddresses:\n Find email addresses and their alias relationships across an instance.

    \n
  • \n
  • \n

    \n CreateEmailAddress: Create new email addresses that can participate in alias\n relationships.

    \n
  • \n
  • \n

    \n DeleteEmailAddress: Remove email addresses (automatically removes any alias\n relationships).

    \n
  • \n
  • \n

    \n UpdateEmailAddressMetadata: Modify email address properties (does not affect alias\n relationships).

    \n
  • \n
", + "smithy.api#http": { + "method": "POST", + "uri": "/email-addresses/{InstanceId}/{EmailAddressId}/disassociate-alias", + "code": 200 + } + } + }, + "com.amazonaws.connect#DisassociateEmailAddressAliasRequest": { + "type": "structure", + "members": { + "EmailAddressId": { + "target": "com.amazonaws.connect#EmailAddressId", + "traits": { + "smithy.api#documentation": "

The identifier of the email address.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "InstanceId": { + "target": "com.amazonaws.connect#InstanceId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "AliasConfiguration": { + "target": "com.amazonaws.connect#AliasConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration object that specifies which alias relationship to remove. The alias\n association must currently exist between the primary email address and the specified alias email\n address.

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.connect#ClientToken", + "traits": { + "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. If not provided, the Amazon Web Services\n SDK populates this field. For more information about idempotency, see\n Making retries safe with idempotent APIs.

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.connect#DisassociateEmailAddressAliasResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.connect#DisassociateFlow": { "type": "operation", "input": { @@ -16611,6 +16890,12 @@ "traits": { "smithy.api#documentation": "

The display name of email address.

" } + }, + "AliasConfigurations": { + "target": "com.amazonaws.connect#AliasConfigurationList", + "traits": { + "smithy.api#documentation": "

A list of alias configurations for this email address, showing which email addresses forward\n to this primary address. Each configuration contains the email address ID of an alias that\n forwards emails to this address.

" + } } }, "traits": { @@ -18546,6 +18831,12 @@ "smithy.api#enumValue": "INVALID_QUEUE" } }, + "INVALID_OUTBOUND_STRATEGY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_OUTBOUND_STRATEGY" + } + }, "MISSING_CAMPAIGN": { "target": "smithy.api#Unit", "traits": { @@ -21575,7 +21866,7 @@ } ], "traits": { - "smithy.api#documentation": "

Imports a claimed phone number from an external service, such as Amazon Web Services End User\n Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

\n \n

Call the DescribePhoneNumber API\n to verify the status of a previous ImportPhoneNumber operation.

\n
\n

If you plan to claim or import numbers and then release numbers frequently, contact us for a\n service quota exception. Otherwise, it is possible you will be blocked from claiming and\n releasing any more numbers until up to 180 days past the oldest number released has expired.

\n

By default you can claim or import and then release up to 200% of your maximum number of\n active phone numbers. If you claim or import and then release phone numbers using the UI or API\n during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you\n will be blocked from claiming or importing any more numbers until 180 days past the oldest number\n released has expired.

\n

For example, if you already have 99 claimed or imported numbers and a service level quota of\n 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you\n will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers\n until you open an Amazon Web Services Support ticket.

", + "smithy.api#documentation": "

Imports a claimed phone number from an external service, such as Amazon Web Services End User\n Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

\n \n

Call the DescribePhoneNumber API\n to verify the status of a previous ImportPhoneNumber operation.

\n
\n

If you plan to claim or import numbers and then release numbers frequently, contact us for a\n service quota exception. Otherwise, it is possible you will be blocked from claiming and\n releasing any more numbers until up to 180 days past the oldest number released has expired.

\n

By default you can claim or import and then release up to 200% of your maximum number of\n active phone numbers. If you claim or import and then release phone numbers using the UI or API\n during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you\n will be blocked from claiming or importing any more numbers until 180 days past the oldest number\n released has expired.

\n

For example, if you already have 99 claimed or imported numbers and a service level quota of\n 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you\n will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers\n until you open an Amazon Web ServicesSupport ticket.

", "smithy.api#http": { "method": "POST", "uri": "/phone-number/import", @@ -23334,7 +23625,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Provides summary information about the authentication profiles in a specified Amazon Connect instance.

", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Provides summary information about the authentication profiles in a specified Amazon Connect instance.

", "smithy.api#http": { "method": "GET", "uri": "/authentication-profiles-summary/{InstanceId}", @@ -25865,7 +26156,7 @@ "InstanceId": { "target": "com.amazonaws.connect#InstanceId", "traits": { - "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance.

", + "smithy.api#documentation": "

The identifier of the Amazon Connect instance. You can find the instance ID in the Amazon Resource Name (ARN) of the instance. Both Instance ID and Instance ARN are supported input formats.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -26069,7 +26360,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the manual assignment queues associated with a routing profile.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    This API returns list of queues where contacts can be manually assigned or picked. The\n user can additionally filter on queues, if they have access to those queues (otherwise a\n invalid request exception will be thrown).

    \n

    For information about how manual contact assignment works in the agent workspace, see the Access the Worklist app in the Amazon Connect agent workspace in the Amazon Connect Administrator\n Guide.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    This API only returns the manual assignment queues associated with a routing profile. Use\n the ListRoutingProfileQueues API to list the auto assignment queues for the routing\n profile.

    \n
  • \n
\n

\n Endpoints: See Amazon Connect endpoints and\n quotas.

", + "smithy.api#documentation": "

Lists the manual assignment queues associated with a routing profile.

\n

\n Use cases\n

\n

Following are common uses cases for this API:

\n
    \n
  • \n

    This API returns list of queues where contacts can be manually assigned or picked by an\n agent who has access to the Worklist app. The user can additionally filter on queues, if they\n have access to those queues (otherwise a invalid request exception will be thrown).

    \n

    For information about how manual contact assignment works in the agent workspace, see the\n Access the\n Worklist app in the Amazon Connect agent workspace in the Amazon Connect Administrator Guide.

    \n
  • \n
\n

\n Important things to know\n

\n
    \n
  • \n

    This API only returns the manual assignment queues associated with a routing profile. Use\n the ListRoutingProfileQueues API to list the auto assignment queues for the routing\n profile.

    \n
  • \n
\n

\n Endpoints: See Amazon Connect endpoints and\n quotas.

", "smithy.api#http": { "method": "GET", "uri": "/routing-profiles/{InstanceId}/{RoutingProfileId}/manual-assignment-queues", @@ -28924,6 +29215,52 @@ } } }, + "com.amazonaws.connect#OutboundStrategy": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.connect#OutboundStrategyType", + "traits": { + "smithy.api#documentation": "

Type of the outbound strategy.

", + "smithy.api#required": {} + } + }, + "Config": { + "target": "com.amazonaws.connect#OutboundStrategyConfig", + "traits": { + "smithy.api#documentation": "

Config of the outbound strategy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the outbound strategy.

" + } + }, + "com.amazonaws.connect#OutboundStrategyConfig": { + "type": "structure", + "members": { + "AgentFirst": { + "target": "com.amazonaws.connect#AgentFirst", + "traits": { + "smithy.api#documentation": "

The config of agent first outbound strategy.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The config of the outbound strategy.

" + } + }, + "com.amazonaws.connect#OutboundStrategyType": { + "type": "enum", + "members": { + "AGENT_FIRST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AGENT_FIRST" + } + } + } + }, "com.amazonaws.connect#OutboundSubject": { "type": "string", "traits": { @@ -31194,6 +31531,29 @@ } } }, + "com.amazonaws.connect#PostAcceptPreviewTimeoutDurationInSeconds": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.connect#PostAcceptTimeoutConfig": { + "type": "structure", + "members": { + "DurationInSeconds": { + "target": "com.amazonaws.connect#PostAcceptPreviewTimeoutDurationInSeconds", + "traits": { + "smithy.api#documentation": "

Duration in seconds for the countdown timer after the agent accepted the contact.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Countdown timer configuration after the agent accepted the contact.

" + } + }, "com.amazonaws.connect#PotentialAudioQualityIssue": { "type": "string", "traits": { @@ -31440,6 +31800,28 @@ } } }, + "com.amazonaws.connect#Preview": { + "type": "structure", + "members": { + "PostAcceptTimeoutConfig": { + "target": "com.amazonaws.connect#PostAcceptTimeoutConfig", + "traits": { + "smithy.api#documentation": "

Countdown timer configuration after the agent accepted the preview outbound contact.

", + "smithy.api#required": {} + } + }, + "AllowedUserActions": { + "target": "com.amazonaws.connect#AllowedUserActions", + "traits": { + "smithy.api#documentation": "

The actions the agent can perform after accepting the preview outbound contact.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about agent-first preview mode outbound strategy configuration.

" + } + }, "com.amazonaws.connect#Priority": { "type": "integer", "traits": { @@ -33722,7 +34104,7 @@ } ], "traits": { - "smithy.api#documentation": "

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You\n can call this API only in the Amazon Web Services Region where the number was claimed.

\n \n

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the\n Amazon Connect admin website.

\n

After releasing a phone number, the phone number enters into a cooldown period for up to\n 180 days. It cannot be searched for or claimed again until the period has ended. If you\n accidentally release a phone number, contact Amazon Web Services Support.

\n
\n

If you plan to claim and release numbers frequently,\n contact us for a service quota exception. Otherwise, it is possible you will be blocked from\n claiming and releasing any more numbers until up to 180 days past the oldest number\n released has expired.

\n

By default you can claim and release up to 200% of your maximum number of active\n phone numbers. If you claim and release phone numbers using\n the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number\n service level quota, you will be blocked from claiming any more numbers until 180\n days past the oldest number released has expired.

\n

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180\n day period you release 99, claim 99, and then release 99, you will have exceeded the\n 200% limit. At that point you are blocked from claiming any more numbers until you\n open an Amazon Web Services support ticket.

", + "smithy.api#documentation": "

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You\n can call this API only in the Amazon Web Services Region where the number was claimed.

\n \n

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the\n Amazon Connect admin website.

\n

After releasing a phone number, the phone number enters into a cooldown period for up to\n 180 days. It cannot be searched for or claimed again until the period has ended. If you\n accidentally release a phone number, contact Amazon Web ServicesSupport.

\n
\n

If you plan to claim and release numbers frequently,\n contact us for a service quota exception. Otherwise, it is possible you will be blocked from\n claiming and releasing any more numbers until up to 180 days past the oldest number\n released has expired.

\n

By default you can claim and release up to 200% of your maximum number of active\n phone numbers. If you claim and release phone numbers using\n the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number\n service level quota, you will be blocked from claiming any more numbers until 180\n days past the oldest number released has expired.

\n

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180\n day period you release 99, claim 99, and then release 99, you will have exceeded the\n 200% limit. At that point you are blocked from claiming any more numbers until you\n open an Amazon Web Services support ticket.

", "smithy.api#http": { "method": "DELETE", "uri": "/phone-number/{PhoneNumberId}", @@ -34579,7 +34961,7 @@ "Channel": { "target": "com.amazonaws.connect#Channel", "traits": { - "smithy.api#documentation": "

The channels this queue supports. Valid Values: CHAT | TASK | EMAIL

", + "smithy.api#documentation": "

The channels this queue supports. Valid Values: CHAT | TASK | EMAIL

\n \n

VOICE is not supported. The information shown below is incorrect. We're working to correct\n it.

\n
", "smithy.api#required": {} } } @@ -35670,7 +36052,7 @@ } }, "traits": { - "smithy.api#documentation": "

Time range that you additionally want to filter on.

" + "smithy.api#documentation": "

Time range that you additionally want to filter on.

\n \n

This is different from the SearchContactsTimeRange data type.

\n
" } }, "com.amazonaws.connect#SearchContactsAdditionalTimeRangeCriteria": { @@ -35892,7 +36274,7 @@ } }, "traits": { - "smithy.api#documentation": "

The timestamp condition indicating which timestamp should be used and how it should be\n filtered.

" + "smithy.api#documentation": "

The timestamp condition indicating which contact timestamp should be used and how it should\n be filtered. It is not an actual timestamp value.

" } }, "com.amazonaws.connect#SearchCriteria": { @@ -38720,7 +39102,7 @@ } ], "traits": { - "smithy.api#documentation": "

Initiates a flow to start a new chat for the customer. Response of this API provides a token\n required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

\n

When a new chat contact is successfully created, clients must subscribe to the participant’s\n connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

\n

A 429 error occurs in the following situations:

\n
    \n
  • \n

    API rate limit is exceeded. API TPS throttling returns a TooManyRequests\n exception.

    \n
  • \n
  • \n

    The quota for concurrent active\n chats is exceeded. Active chat throttling returns a\n LimitExceededException.

    \n
  • \n
\n

If you use the ChatDurationInMinutes parameter and receive a 400 error, your\n account may not support the ability to configure custom chat durations. For more information,\n contact Amazon Web Services Support.

\n

For more information about chat, see the following topics in the Amazon Connect\n Administrator Guide:

\n ", + "smithy.api#documentation": "

Initiates a flow to start a new chat for the customer. Response of this API provides a token\n required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

\n

When a new chat contact is successfully created, clients must subscribe to the participant’s\n connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

\n

A 429 error occurs in the following situations:

\n
    \n
  • \n

    API rate limit is exceeded. API TPS throttling returns a TooManyRequests\n exception.

    \n
  • \n
  • \n

    The quota for concurrent active\n chats is exceeded. Active chat throttling returns a\n LimitExceededException.

    \n
  • \n
\n

If you use the ChatDurationInMinutes parameter and receive a 400 error, your\n account may not support the ability to configure custom chat durations. For more information,\n contact Amazon Web ServicesSupport.

\n

For more information about chat, see the following topics in the Amazon Connect\n Administrator Guide:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/contact/chat", @@ -39623,6 +40005,12 @@ "traits": { "smithy.api#documentation": "

Denotes the class of traffic. Calls with different traffic types are handled differently by\n Amazon Connect. The default value is GENERAL. Use CAMPAIGN if\n EnableAnswerMachineDetection is set to true. For all other cases, use\n GENERAL.

" } + }, + "OutboundStrategy": { + "target": "com.amazonaws.connect#OutboundStrategy", + "traits": { + "smithy.api#documentation": "

Information about the outbound strategy.

" + } } }, "traits": { @@ -40221,7 +40609,7 @@ "DisconnectReason": { "target": "com.amazonaws.connect#DisconnectReason", "traits": { - "smithy.api#documentation": "

The reason a contact can be disconnected. Only Amazon Connect outbound campaigns can\n provide this field.

" + "smithy.api#documentation": "

The reason a contact can be disconnected. Only Amazon Connect outbound campaigns can\n provide this field. For a list and description of all the possible\n disconnect reasons by channel (including outbound campaign voice contacts) see DisconnectReason under ContactTraceRecord in the Amazon Connect Administrator Guide.

" } } }, @@ -41286,6 +41674,26 @@ } } }, + "com.amazonaws.connect#TaskTemplateInfoV2": { + "type": "structure", + "members": { + "Arn": { + "target": "com.amazonaws.connect#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task template used to create this contact.

" + } + }, + "Name": { + "target": "com.amazonaws.connect#TaskTemplateName", + "traits": { + "smithy.api#documentation": "

The name of the task template used to create this contact.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the task template used to create this contact.

" + } + }, "com.amazonaws.connect#TaskTemplateList": { "type": "list", "member": { @@ -42267,7 +42675,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Updates the selected authentication profile.

", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Updates the selected authentication profile.

", "smithy.api#http": { "method": "POST", "uri": "/authentication-profiles/{InstanceId}/{AuthenticationProfileId}", @@ -43672,7 +44080,7 @@ "AttributeType": { "target": "com.amazonaws.connect#InstanceAttributeType", "traits": { - "smithy.api#documentation": "

The type of attribute.

\n \n

Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature,\n contact Amazon Web Services Support for allowlisting.

\n
", + "smithy.api#documentation": "

The type of attribute.

\n \n

Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature,\n contact Amazon Web ServicesSupport for allowlisting.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -46975,7 +47383,7 @@ "StringCondition": { "target": "com.amazonaws.connect#StringCondition", "traits": { - "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n

The currently supported values for FieldName are Username,\n FirstName, LastName, RoutingProfileId,\n SecurityProfileId, ResourceId.

" + "smithy.api#documentation": "

A leaf node condition which can be used to specify a string condition.

\n

The currently supported values for FieldName are Username,\n FirstName, LastName, RoutingProfileId,\n SecurityProfileId, resourceId.

" } }, "ListCondition": { diff --git a/codegen/sdk-codegen/aws-models/connectcampaigns.json b/codegen/sdk-codegen/aws-models/connectcampaigns.json index 98747c2984d..d7627873537 100644 --- a/codegen/sdk-codegen/aws-models/connectcampaigns.json +++ b/codegen/sdk-codegen/aws-models/connectcampaigns.json @@ -149,27 +149,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/connectcampaignsv2.json b/codegen/sdk-codegen/aws-models/connectcampaignsv2.json index 8a9e67070dd..135a69717b4 100644 --- a/codegen/sdk-codegen/aws-models/connectcampaignsv2.json +++ b/codegen/sdk-codegen/aws-models/connectcampaignsv2.json @@ -23,6 +23,28 @@ "smithy.api#httpError": 403 } }, + "com.amazonaws.connectcampaignsv2#AgentAction": { + "type": "string", + "traits": { + "smithy.api#documentation": "Actions that can performed on a contact by an agent", + "smithy.api#enum": [ + { + "value": "DISCARD", + "name": "DISCARD" + } + ] + } + }, + "com.amazonaws.connectcampaignsv2#AgentActions": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcampaignsv2#AgentAction" + }, + "traits": { + "smithy.api#documentation": "Actions that can be performed by agent during preview phase.", + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.connectcampaignsv2#AgentlessConfig": { "type": "structure", "members": {}, @@ -184,27 +206,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -975,10 +997,10 @@ "traits": { "smithy.api#documentation": "Identifier representing a Campaign", "smithy.api#length": { - "min": 0, + "min": 1, "max": 256 }, - "smithy.api#pattern": "^[a-zA-Z0-9\\-:/]*$" + "smithy.api#pattern": "^[-:/a-zA-Z0-9]+$" } }, "com.amazonaws.connectcampaignsv2#CampaignIdList": { @@ -2015,10 +2037,10 @@ "traits": { "smithy.api#documentation": "Identifier representing a Dial request", "smithy.api#length": { - "min": 0, + "min": 1, "max": 256 }, - "smithy.api#pattern": "^[a-zA-Z0-9_\\-.]*$" + "smithy.api#pattern": "^[-_.a-zA-Z0-9]+$" } }, "com.amazonaws.connectcampaignsv2#EmailAddress": { @@ -2688,10 +2710,10 @@ "traits": { "smithy.api#documentation": "Amazon Connect Instance Id", "smithy.api#length": { - "min": 0, + "min": 1, "max": 256 }, - "smithy.api#pattern": "^[a-zA-Z0-9_\\-.]*$" + "smithy.api#pattern": "^[-_.a-zA-Z0-9]+$" } }, "com.amazonaws.connectcampaignsv2#InstanceIdFilter": { @@ -3378,6 +3400,29 @@ "smithy.api#documentation": "Predictive config" } }, + "com.amazonaws.connectcampaignsv2#PreviewConfig": { + "type": "structure", + "members": { + "bandwidthAllocation": { + "target": "com.amazonaws.connectcampaignsv2#BandwidthAllocation", + "traits": { + "smithy.api#required": {} + } + }, + "timeoutConfig": { + "target": "com.amazonaws.connectcampaignsv2#TimeoutConfig", + "traits": { + "smithy.api#required": {} + } + }, + "agentActions": { + "target": "com.amazonaws.connectcampaignsv2#AgentActions" + } + }, + "traits": { + "smithy.api#documentation": "Preview config" + } + }, "com.amazonaws.connectcampaignsv2#ProfileId": { "type": "string", "traits": { @@ -4533,6 +4578,9 @@ }, "agentless": { "target": "com.amazonaws.connectcampaignsv2#AgentlessConfig" + }, + "preview": { + "target": "com.amazonaws.connectcampaignsv2#PreviewConfig" } }, "traits": { @@ -4626,6 +4674,30 @@ "smithy.api#pattern": "^[a-zA-Z0-9_\\-/]*$" } }, + "com.amazonaws.connectcampaignsv2#TimeoutConfig": { + "type": "structure", + "members": { + "durationInSeconds": { + "target": "com.amazonaws.connectcampaignsv2#TimeoutDuration", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "Timeout Config for preview contacts." + } + }, + "com.amazonaws.connectcampaignsv2#TimeoutDuration": { + "type": "integer", + "traits": { + "smithy.api#documentation": "Timeout duration for a preview contact in seconds.", + "smithy.api#range": { + "min": 1, + "max": 300 + } + } + }, "com.amazonaws.connectcampaignsv2#UntagResource": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/connectcases.json b/codegen/sdk-codegen/aws-models/connectcases.json index 1b9d8132ef4..104fad9c90f 100644 --- a/codegen/sdk-codegen/aws-models/connectcases.json +++ b/codegen/sdk-codegen/aws-models/connectcases.json @@ -86,27 +86,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -989,7 +989,7 @@ "caseRules": { "target": "com.amazonaws.connectcases#CaseRuleIdentifierList", "traits": { - "smithy.api#documentation": "

List of case rule identifiers.

", + "smithy.api#documentation": "

A list of case rule identifiers.

", "smithy.api#required": {} } } @@ -1004,7 +1004,7 @@ "caseRules": { "target": "com.amazonaws.connectcases#BatchGetCaseRuleList", "traits": { - "smithy.api#documentation": "

List of detailed case rule information.

", + "smithy.api#documentation": "

A list of detailed case rule information.

", "smithy.api#length": { "max": 50 }, @@ -1014,18 +1014,33 @@ "errors": { "target": "com.amazonaws.connectcases#BatchGetCaseRuleErrorList", "traits": { - "smithy.api#documentation": "

List of case rule errors.

", + "smithy.api#documentation": "

A list of case rule errors.

", "smithy.api#length": { "max": 50 }, "smithy.api#required": {} } + }, + "unprocessedCaseRules": { + "target": "com.amazonaws.connectcases#BatchGetCaseRuleUnprocessedList", + "traits": { + "smithy.api#documentation": "

A list of unprocessed case rule identifiers.

", + "smithy.api#length": { + "max": 50 + } + } } }, "traits": { "smithy.api#output": {} } }, + "com.amazonaws.connectcases#BatchGetCaseRuleUnprocessedList": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcases#CaseRuleId" + } + }, "com.amazonaws.connectcases#BatchGetField": { "type": "operation", "input": { @@ -1452,6 +1467,18 @@ "traits": { "smithy.api#documentation": "

Required rule type, used to indicate whether a field is required.

" } + }, + "fieldOptions": { + "target": "com.amazonaws.connectcases#FieldOptionsCaseRule", + "traits": { + "smithy.api#documentation": "

Which options are available in a child field based on the selected value in a parent field.

" + } + }, + "hidden": { + "target": "com.amazonaws.connectcases#HiddenCaseRule", + "traits": { + "smithy.api#documentation": "

Whether a field is visible, based on values in other fields.

" + } } }, "traits": { @@ -2292,7 +2319,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a related item (comments, tasks, and contacts) and associates it with a case.

  • A Related Item is a resource that is associated with a case. It may or may not have an external identifier linking it to an external resource (for example, a contactArn). All Related Items have their own internal identifier, the relatedItemArn. Examples of related items include comments and contacts.

  • If you provide a value for performedBy.userArn you must also have DescribeUser permission on the ARN of the user that you provide.

  • The type field is reserved for internal use only.

", + "smithy.api#documentation": "

Creates a related item (comments, tasks, and contacts) and associates it with a case.

There's a quota for the number of fields allowed in a Custom type related item. See Amazon Connect Cases quotas.

Use cases

Following are examples of related items that you may want to associate with a case:

  • Related contacts, such as calls, chats, emails tasks

  • Comments, for agent notes

  • SLAs, to capture target resolution goals

  • Cases, to capture related Amazon Connect Cases

  • Files, such as policy documentation or customer-provided attachments

  • Custom related items, which provide flexibility for you to define related items that such as bookings, orders, products, notices, and more

Important things to know

  • If you are associating a contact to a case by passing in Contact for a type, you must have DescribeContact permission on the ARN of the contact that you provide in content.contact.contactArn.

  • A Related Item is a resource that is associated with a case. It may or may not have an external identifier linking it to an external resource (for example, a contactArn). All Related Items have their own internal identifier, the relatedItemArn. Examples of related items include comments and contacts.

  • If you provide a value for performedBy.userArn you must also have DescribeUser permission on the ARN of the user that you provide.

  • The type field is reserved for internal use only.

Endpoints: See Amazon Connect endpoints and quotas.

", "smithy.api#http": { "uri": "/domains/{domainId}/cases/{caseId}/related-items/", "method": "POST" @@ -2791,7 +2818,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a field from a cases template. You can delete up to 100 fields per domain.

After a field is deleted:

  • You can still retrieve the field by calling BatchGetField.

  • You cannot update a deleted field by calling UpdateField; it throws a ValidationException.

  • Deleted fields are not included in the ListFields response.

  • Calling CreateCase with a deleted field throws a ValidationException denoting which field IDs in the request have been deleted.

  • Calling GetCase with a deleted field ID returns the deleted field's value if one exists.

  • Calling UpdateCase with a deleted field ID throws a ValidationException if the case does not already contain a value for the deleted field. Otherwise it succeeds, allowing you to update or remove (using emptyValue: {}) the field's value from the case.

  • GetTemplate does not return field IDs for deleted fields.

  • GetLayout does not return field IDs for deleted fields.

  • Calling SearchCases with the deleted field ID as a filter returns any cases that have a value for the deleted field that matches the filter criteria.

  • Calling SearchCases with a searchTerm value that matches a deleted field's value on a case returns the case in the response.

  • Calling BatchPutFieldOptions with a deleted field ID throw a ValidationException.

  • Calling GetCaseEventConfiguration does not return field IDs for deleted fields.

", + "smithy.api#documentation": "

Deletes a field from a cases template. You can delete up to 100 fields per domain.

After a field is deleted:

  • You can still retrieve the field by calling BatchGetField.

  • You cannot update a deleted field by calling UpdateField; it throws a ValidationException.

  • Deleted fields are not included in the ListFields response.

  • Calling CreateCase with a deleted field throws a ValidationException denoting which field identifiers in the request have been deleted.

  • Calling GetCase with a deleted field identifier returns the deleted field's value if one exists.

  • Calling UpdateCase with a deleted field ID throws a ValidationException if the case does not already contain a value for the deleted field. Otherwise it succeeds, allowing you to update or remove (using emptyValue: {}) the field's value from the case.

  • GetTemplate does not return field IDs for deleted fields.

  • GetLayout does not return field IDs for deleted fields.

  • Calling SearchCases with the deleted field ID as a filter returns any cases that have a value for the deleted field that matches the filter criteria.

  • Calling SearchCases with a searchTerm value that matches a deleted field's value on a case returns the case in the response.

  • Calling BatchPutFieldOptions with a deleted field ID throw a ValidationException.

  • Calling GetCaseEventConfiguration does not return field IDs for deleted fields.

", "smithy.api#http": { "uri": "/domains/{domainId}/fields/{fieldId}", "method": "DELETE" @@ -3535,6 +3562,33 @@ "smithy.api#pattern": "^.*[\\S]$" } }, + "com.amazonaws.connectcases#FieldOptionsCaseRule": { + "type": "structure", + "members": { + "parentFieldId": { + "target": "com.amazonaws.connectcases#FieldId", + "traits": { + "smithy.api#documentation": "

The identifier of the parent field that controls options.

" + } + }, + "childFieldId": { + "target": "com.amazonaws.connectcases#FieldId", + "traits": { + "smithy.api#documentation": "

The identifier of the child field whose options are controlled.

" + } + }, + "parentChildFieldOptionsMappings": { + "target": "com.amazonaws.connectcases#ParentChildFieldOptionsMappingList", + "traits": { + "smithy.api#documentation": "

A mapping between a parent field option value and child field option values.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Rules that control which options are available in a child field based on the selected value in a parent field.

" + } + }, "com.amazonaws.connectcases#FieldOptionsList": { "type": "list", "member": { @@ -4489,6 +4543,28 @@ } } }, + "com.amazonaws.connectcases#HiddenCaseRule": { + "type": "structure", + "members": { + "defaultValue": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Whether the field is hidden when no conditions match.

", + "smithy.api#required": {} + } + }, + "conditions": { + "target": "com.amazonaws.connectcases#BooleanConditionList", + "traits": { + "smithy.api#documentation": "

A list of conditions that determine field visibility.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A rule that controls field visibility based on conditions. Fields can be shown or hidden dynamically based on values in other fields.

" + } + }, "com.amazonaws.connectcases#IamPrincipalArn": { "type": "string", "traits": { @@ -5434,6 +5510,59 @@ ] } }, + "com.amazonaws.connectcases#ParentChildFieldOptionValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + }, + "smithy.api#pattern": "^$|^.*[\\S]$" + } + }, + "com.amazonaws.connectcases#ParentChildFieldOptionValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcases#ParentChildFieldOptionValue" + } + }, + "com.amazonaws.connectcases#ParentChildFieldOptionsMapping": { + "type": "structure", + "members": { + "parentFieldOptionValue": { + "target": "com.amazonaws.connectcases#ParentChildFieldOptionValue", + "traits": { + "smithy.api#documentation": "

The value in the parent field.

", + "smithy.api#required": {} + } + }, + "childFieldOptionValues": { + "target": "com.amazonaws.connectcases#ParentChildFieldOptionValueList", + "traits": { + "smithy.api#documentation": "

A list of allowed values in the child field.

", + "smithy.api#length": { + "max": 1500 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A mapping between a parent field option value and child field option values.

" + } + }, + "com.amazonaws.connectcases#ParentChildFieldOptionsMappingList": { + "type": "list", + "member": { + "target": "com.amazonaws.connectcases#ParentChildFieldOptionsMapping" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, "com.amazonaws.connectcases#PutCaseEventConfiguration": { "type": "operation", "input": { @@ -5809,6 +5938,14 @@ { "name": "REQUIRED", "value": "Required" + }, + { + "name": "HIDDEN", + "value": "Hidden" + }, + { + "name": "FIELD_OPTIONS", + "value": "FieldOptions" } ] } @@ -5839,7 +5976,7 @@ } ], "traits": { - "smithy.api#documentation": "

Searches for related items across all cases within a domain. This is a global search operation that returns related items from multiple cases, unlike the case-specific SearchRelatedItems API.

Use cases

Following are common uses cases for this API:

  • Find cases with similar issues across the domain. For example, search for all cases containing comments about \"product defect\" to identify patterns and existing solutions.

  • Locate all cases associated with specific contacts or orders. For example, find all cases linked to a contactArn to understand the complete customer journey.

  • Monitor SLA compliance across cases. For example, search for all cases with \"Active\" SLA status to prioritize remediation efforts.

Important things to know

  • This API returns case IDs, not complete case objects. To retrieve full case details, you must make additional calls to the GetCase API for each returned case ID.

  • This API searches across related items content, not case fields. Use the SearchCases API to search within case field values.

Endpoints: See Amazon Connect endpoints and quotas.

", + "smithy.api#documentation": "

Searches for related items across all cases within a domain. This is a global search operation that returns related items from multiple cases, unlike the case-specific SearchRelatedItems API.

Use cases

Following are common uses cases for this API:

  • Find cases with similar issues across the domain. For example, search for all cases containing comments about \"product defect\" to identify patterns and existing solutions.

  • Locate all cases associated with specific contacts or orders. For example, find all cases linked to a contactArn to understand the complete customer journey.

  • Monitor SLA compliance across cases. For example, search for all cases with \"Active\" SLA status to prioritize remediation efforts.

Important things to know

  • This API returns case identifiers, not complete case objects. To retrieve full case details, you must make additional calls to the GetCase API for each returned case ID.

  • This API searches across related items content, not case fields. Use the SearchCases API to search within case field values.

Endpoints: See Amazon Connect endpoints and quotas.

", "smithy.api#http": { "uri": "/domains/{domainId}/related-items-search", "method": "POST" @@ -6850,8 +6987,9 @@ "fieldId": { "target": "com.amazonaws.connectcases#FieldId", "traits": { - "smithy.api#documentation": "

Unique identifier of a field.

", - "smithy.api#required": {} + "smithy.api#addedDefault": {}, + "smithy.api#default": "NULL", + "smithy.api#documentation": "

Unique identifier of a field.

" } } }, @@ -6864,12 +7002,12 @@ "traits": { "smithy.api#enum": [ { - "value": "Active", - "name": "ACTIVE" + "name": "ACTIVE", + "value": "Active" }, { - "value": "Inactive", - "name": "INACTIVE" + "name": "INACTIVE", + "value": "Inactive" } ] } @@ -7093,6 +7231,9 @@ { "target": "com.amazonaws.connectcases#ResourceNotFoundException" }, + { + "target": "com.amazonaws.connectcases#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.connectcases#ThrottlingException" }, @@ -7330,6 +7471,9 @@ { "target": "com.amazonaws.connectcases#ResourceNotFoundException" }, + { + "target": "com.amazonaws.connectcases#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.connectcases#ThrottlingException" }, diff --git a/codegen/sdk-codegen/aws-models/connectparticipant.json b/codegen/sdk-codegen/aws-models/connectparticipant.json index fcd38ab7b18..e5534b77e36 100644 --- a/codegen/sdk-codegen/aws-models/connectparticipant.json +++ b/codegen/sdk-codegen/aws-models/connectparticipant.json @@ -107,27 +107,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/controlcatalog.json b/codegen/sdk-codegen/aws-models/controlcatalog.json index b92470ea8e4..6a3f6b038c1 100644 --- a/codegen/sdk-codegen/aws-models/controlcatalog.json +++ b/codegen/sdk-codegen/aws-models/controlcatalog.json @@ -314,27 +314,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/controltower.json b/codegen/sdk-codegen/aws-models/controltower.json index 0602692e407..0c4ec18a011 100644 --- a/codegen/sdk-codegen/aws-models/controltower.json +++ b/codegen/sdk-codegen/aws-models/controltower.json @@ -76,27 +76,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json b/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json index e7e47afe6b4..e7d215e23f8 100644 --- a/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json +++ b/codegen/sdk-codegen/aws-models/cost-and-usage-report-service.json @@ -77,27 +77,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/cost-explorer.json b/codegen/sdk-codegen/aws-models/cost-explorer.json index 2ee534dcff6..1fdb1a4877d 100644 --- a/codegen/sdk-codegen/aws-models/cost-explorer.json +++ b/codegen/sdk-codegen/aws-models/cost-explorer.json @@ -195,26 +195,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -658,6 +658,56 @@ }, "type": "endpoint" }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws-eusc" + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://ce.eusc-de-east-1.api.amazonwebservices.eu", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "eusc-de-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, { "conditions": [ { @@ -1113,85 +1163,43 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://ce-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://ce-fips.us-gov-west-1.amazonaws.com" + "url": "https://ce-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://ce.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://ce.us-gov-west-1.amazonaws.com" + "url": "https://ce.eusc-de-east-1.api.amazonwebservices.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -1365,43 +1373,85 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://ce-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://ce-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://ce.eusc-de-east-1.amazonaws.eu" + "url": "https://ce.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://ce.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/cost-optimization-hub.json b/codegen/sdk-codegen/aws-models/cost-optimization-hub.json index c3518e9ad16..f4196cbe22a 100644 --- a/codegen/sdk-codegen/aws-models/cost-optimization-hub.json +++ b/codegen/sdk-codegen/aws-models/cost-optimization-hub.json @@ -340,27 +340,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/customer-profiles.json b/codegen/sdk-codegen/aws-models/customer-profiles.json index 0bd8979d329..80a049b85b4 100644 --- a/codegen/sdk-codegen/aws-models/customer-profiles.json +++ b/codegen/sdk-codegen/aws-models/customer-profiles.json @@ -3332,27 +3332,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/data-pipeline.json b/codegen/sdk-codegen/aws-models/data-pipeline.json index ae406e83a5d..abfba06130d 100644 --- a/codegen/sdk-codegen/aws-models/data-pipeline.json +++ b/codegen/sdk-codegen/aws-models/data-pipeline.json @@ -306,27 +306,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/database-migration-service.json b/codegen/sdk-codegen/aws-models/database-migration-service.json index b9cd13b080c..eaf19c3f319 100644 --- a/codegen/sdk-codegen/aws-models/database-migration-service.json +++ b/codegen/sdk-codegen/aws-models/database-migration-service.json @@ -514,27 +514,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/databrew.json b/codegen/sdk-codegen/aws-models/databrew.json index efbd6a87603..a0f1c765189 100644 --- a/codegen/sdk-codegen/aws-models/databrew.json +++ b/codegen/sdk-codegen/aws-models/databrew.json @@ -187,27 +187,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/dataexchange.json b/codegen/sdk-codegen/aws-models/dataexchange.json index 6c5deec1f97..d7c2227e63e 100644 --- a/codegen/sdk-codegen/aws-models/dataexchange.json +++ b/codegen/sdk-codegen/aws-models/dataexchange.json @@ -1521,27 +1521,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/datasync.json b/codegen/sdk-codegen/aws-models/datasync.json index 7f82b2a25f5..a29fdf203eb 100644 --- a/codegen/sdk-codegen/aws-models/datasync.json +++ b/codegen/sdk-codegen/aws-models/datasync.json @@ -3543,27 +3543,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/datazone.json b/codegen/sdk-codegen/aws-models/datazone.json index 696df1cbec5..2874470c0b2 100644 --- a/codegen/sdk-codegen/aws-models/datazone.json +++ b/codegen/sdk-codegen/aws-models/datazone.json @@ -933,6 +933,108 @@ "smithy.api#documentation": "

The all users grant filter.

" } }, + "com.amazonaws.datazone#AmazonQPropertiesInput": { + "type": "structure", + "members": { + "isEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether Amazon Q is enabled for the connection.

", + "smithy.api#required": {} + } + }, + "profileArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The profile ARN of the connection's Amazon Q properties.

", + "smithy.api#length": { + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:[a-z0-9\\-]+:[a-z0-9\\-]*:[0-9]*:.*" + } + }, + "authMode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The authentication mode of the connection's Amazon Q properties.

", + "smithy.api#length": { + "max": 128 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Q properties of the connection.

" + } + }, + "com.amazonaws.datazone#AmazonQPropertiesOutput": { + "type": "structure", + "members": { + "isEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether Amazon Q is enabled for the connection.

", + "smithy.api#required": {} + } + }, + "profileArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The profile ARN of the connection's Amazon Q properties.

", + "smithy.api#length": { + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:[a-z0-9\\-]+:[a-z0-9\\-]*:[0-9]*:.*" + } + }, + "authMode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The authentication mode of the connection's Amazon Q properties.

", + "smithy.api#length": { + "max": 128 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Q properties of the connection.

" + } + }, + "com.amazonaws.datazone#AmazonQPropertiesPatch": { + "type": "structure", + "members": { + "isEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether Amazon Q is enabled for the connection.

", + "smithy.api#required": {} + } + }, + "profileArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The profile ARN of the connection's Amazon Q properties.

", + "smithy.api#length": { + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws[a-z\\-]*:[a-z0-9\\-]+:[a-z0-9\\-]*:[0-9]*:.*" + } + }, + "authMode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The authentication mode of the connection's Amazon Q properties.

", + "smithy.api#length": { + "max": 128 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

The Amazon Q properties of the connection.

" + } + }, "com.amazonaws.datazone#ApplicableAssetTypes": { "type": "list", "member": { @@ -2885,6 +2987,18 @@ "traits": { "smithy.api#documentation": "

The Amazon S3 properties of a connection.

" } + }, + "amazonQProperties": { + "target": "com.amazonaws.datazone#AmazonQPropertiesInput", + "traits": { + "smithy.api#documentation": "

The Amazon Q properties of the connection.

" + } + }, + "mlflowProperties": { + "target": "com.amazonaws.datazone#MlflowPropertiesInput", + "traits": { + "smithy.api#documentation": "

The MLflow properties of a connection.

" + } } }, "traits": { @@ -2941,6 +3055,18 @@ "traits": { "smithy.api#documentation": "

The Amazon S3 properties of a connection.

" } + }, + "amazonQProperties": { + "target": "com.amazonaws.datazone#AmazonQPropertiesOutput", + "traits": { + "smithy.api#documentation": "

The Amazon Q properties of the connection.

" + } + }, + "mlflowProperties": { + "target": "com.amazonaws.datazone#MlflowPropertiesOutput", + "traits": { + "smithy.api#documentation": "

The MLflow properties of a connection.

" + } } }, "traits": { @@ -2985,12 +3111,41 @@ "traits": { "smithy.api#documentation": "

The Amazon S3 properties of a connection properties patch.

" } + }, + "amazonQProperties": { + "target": "com.amazonaws.datazone#AmazonQPropertiesPatch", + "traits": { + "smithy.api#documentation": "

The Amazon Q properties of the connection.

" + } + }, + "mlflowProperties": { + "target": "com.amazonaws.datazone#MlflowPropertiesPatch", + "traits": { + "smithy.api#documentation": "

The MLflow properties of a connection.

" + } } }, "traits": { "smithy.api#documentation": "

The connection properties patch.

" } }, + "com.amazonaws.datazone#ConnectionScope": { + "type": "enum", + "members": { + "DOMAIN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DOMAIN" + } + }, + "PROJECT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROJECT" + } + } + } + }, "com.amazonaws.datazone#ConnectionStatus": { "type": "enum", "members": { @@ -3112,6 +3267,12 @@ "smithy.api#documentation": "

The connection type.

", "smithy.api#required": {} } + }, + "scope": { + "target": "com.amazonaws.datazone#ConnectionScope", + "traits": { + "smithy.api#documentation": "

The scope of the connection.

" + } } }, "traits": { @@ -3240,6 +3401,18 @@ "traits": { "smithy.api#enumValue": "WORKFLOWS_MWAA" } + }, + "AMAZON_Q": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AMAZON_Q" + } + }, + "MLFLOW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MLFLOW" + } } } }, @@ -4344,8 +4517,7 @@ "environmentIdentifier": { "target": "com.amazonaws.datazone#EnvironmentId", "traits": { - "smithy.api#documentation": "

The ID of the environment where the connection is created.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The ID of the environment where the connection is created.

" } }, "name": { @@ -4360,6 +4532,18 @@ "traits": { "smithy.api#documentation": "

The connection props.

" } + }, + "enableTrustedIdentityPropagation": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether the trusted identity propagation is enabled.

" + } + }, + "scope": { + "target": "com.amazonaws.datazone#ConnectionScope", + "traits": { + "smithy.api#documentation": "

The scope of the connection.

" + } } }, "traits": { @@ -4434,6 +4618,12 @@ "smithy.api#documentation": "

The connection type.

", "smithy.api#required": {} } + }, + "scope": { + "target": "com.amazonaws.datazone#ConnectionScope", + "traits": { + "smithy.api#documentation": "

The scope of the connection.

" + } } }, "traits": { @@ -10107,20 +10297,20 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -15771,6 +15961,12 @@ "smithy.api#documentation": "

The type of the connection.

", "smithy.api#required": {} } + }, + "scope": { + "target": "com.amazonaws.datazone#ConnectionScope", + "traits": { + "smithy.api#documentation": "

The scope of the connection.

" + } } }, "traits": { @@ -22794,8 +22990,7 @@ "target": "com.amazonaws.datazone#ProjectId", "traits": { "smithy.api#documentation": "

The ID of the project where you want to list connections.

", - "smithy.api#httpQuery": "projectIdentifier", - "smithy.api#required": {} + "smithy.api#httpQuery": "projectIdentifier" } }, "type": { @@ -22804,6 +22999,13 @@ "smithy.api#documentation": "

The type of connection.

", "smithy.api#httpQuery": "type" } + }, + "scope": { + "target": "com.amazonaws.datazone#ConnectionScope", + "traits": { + "smithy.api#documentation": "

The scope of the connection.

", + "smithy.api#httpQuery": "scope" + } } }, "traits": { @@ -26841,6 +27043,66 @@ "target": "smithy.api#String" } }, + "com.amazonaws.datazone#MlflowPropertiesInput": { + "type": "structure", + "members": { + "trackingServerName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the tracking server as part of the MLflow properties of a connection.

" + } + }, + "trackingServerArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The tracking server ARN as part of the MLflow properties of a connection.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The MLflow properties of a connection.

" + } + }, + "com.amazonaws.datazone#MlflowPropertiesOutput": { + "type": "structure", + "members": { + "trackingServerName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the tracking server as part of the MLflow properties of a connection.

" + } + }, + "trackingServerArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The tracking server ARN as part of the MLflow properties of a connection.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The MLflow properties of a connection.

" + } + }, + "com.amazonaws.datazone#MlflowPropertiesPatch": { + "type": "structure", + "members": { + "trackingServerName": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the tracking server as part of the MLflow properties of a connection.

" + } + }, + "trackingServerArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The tracking server ARN as part of the MLflow properties of a connection.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The MLflow properties of a connection.

" + } + }, "com.amazonaws.datazone#Model": { "type": "union", "members": { @@ -27567,6 +27829,12 @@ "smithy.api#documentation": "

The Amazon Web Services Glue connection.

" } }, + "enableTrustedIdentityPropagation": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Specified whether trusted identity propagation for the connection is enabled.

" + } + }, "host": { "target": "smithy.api#String", "traits": { @@ -34944,6 +35212,12 @@ "smithy.api#documentation": "

The connection type.

", "smithy.api#required": {} } + }, + "scope": { + "target": "com.amazonaws.datazone#ConnectionScope", + "traits": { + "smithy.api#documentation": "

The scope of the connection.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/dax.json b/codegen/sdk-codegen/aws-models/dax.json index 3c35b149814..223f1092052 100644 --- a/codegen/sdk-codegen/aws-models/dax.json +++ b/codegen/sdk-codegen/aws-models/dax.json @@ -121,27 +121,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/deadline.json b/codegen/sdk-codegen/aws-models/deadline.json index c03eb771d67..1116829eb0e 100644 --- a/codegen/sdk-codegen/aws-models/deadline.json +++ b/codegen/sdk-codegen/aws-models/deadline.json @@ -4153,27 +4153,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/detective.json b/codegen/sdk-codegen/aws-models/detective.json index 70c572b9699..4a80bf57887 100644 --- a/codegen/sdk-codegen/aws-models/detective.json +++ b/codegen/sdk-codegen/aws-models/detective.json @@ -353,26 +353,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -1001,53 +1001,27 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://detective-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.detective-fips.us-gov-west-1.amazonaws.com" + "url": "https://api.detective-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://detective.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://api.detective.us-gov-west-1.amazonaws.com" + "url": "https://api.detective.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -1157,27 +1131,53 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.detective-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://detective-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.detective-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://api.detective.eusc-de-east-1.amazonaws.eu" + "url": "https://detective.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://api.detective.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/device-farm.json b/codegen/sdk-codegen/aws-models/device-farm.json index c990a6c6277..284cacf15bf 100644 --- a/codegen/sdk-codegen/aws-models/device-farm.json +++ b/codegen/sdk-codegen/aws-models/device-farm.json @@ -377,6 +377,18 @@ "target": "com.amazonaws.devicefarm#Artifact" } }, + "com.amazonaws.devicefarm#AuxiliaryAppArnList": { + "type": "list", + "member": { + "target": "com.amazonaws.devicefarm#AmazonResourceName" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 3 + } + } + }, "com.amazonaws.devicefarm#BillingMethod": { "type": "enum", "members": { @@ -923,6 +935,12 @@ "com.amazonaws.devicefarm#CreateRemoteAccessSessionConfiguration": { "type": "structure", "members": { + "auxiliaryApps": { + "target": "com.amazonaws.devicefarm#AuxiliaryAppArnList", + "traits": { + "smithy.api#documentation": "

A list of upload ARNs for app packages to be installed onto your device. (Maximum 3)

" + } + }, "billingMethod": { "target": "com.amazonaws.devicefarm#BillingMethod", "traits": { @@ -963,6 +981,12 @@ "smithy.api#required": {} } }, + "appArn": { + "target": "com.amazonaws.devicefarm#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the app to create the remote access session.

" + } + }, "instanceArn": { "target": "com.amazonaws.devicefarm#AmazonResourceName", "traits": { @@ -2371,27 +2395,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -8007,6 +8031,12 @@ "traits": { "smithy.api#documentation": "

The device proxy configured for the remote access session.

" } + }, + "appUpload": { + "target": "com.amazonaws.devicefarm#AmazonResourceName", + "traits": { + "smithy.api#documentation": "

The ARN for the app to be installed onto your device.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/devops-guru.json b/codegen/sdk-codegen/aws-models/devops-guru.json index bc6e00e58e9..bf106da7db4 100644 --- a/codegen/sdk-codegen/aws-models/devops-guru.json +++ b/codegen/sdk-codegen/aws-models/devops-guru.json @@ -575,27 +575,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/direct-connect.json b/codegen/sdk-codegen/aws-models/direct-connect.json index 037228e03e5..4019af085d4 100644 --- a/codegen/sdk-codegen/aws-models/direct-connect.json +++ b/codegen/sdk-codegen/aws-models/direct-connect.json @@ -5489,27 +5489,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/directory-service-data.json b/codegen/sdk-codegen/aws-models/directory-service-data.json index fb50b036ae8..af9663192a6 100644 --- a/codegen/sdk-codegen/aws-models/directory-service-data.json +++ b/codegen/sdk-codegen/aws-models/directory-service-data.json @@ -1150,27 +1150,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/directory-service.json b/codegen/sdk-codegen/aws-models/directory-service.json index db3bdab922f..3649a286009 100644 --- a/codegen/sdk-codegen/aws-models/directory-service.json +++ b/codegen/sdk-codegen/aws-models/directory-service.json @@ -5426,27 +5426,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/dlm.json b/codegen/sdk-codegen/aws-models/dlm.json index b4cd4a61043..3cb89e64690 100644 --- a/codegen/sdk-codegen/aws-models/dlm.json +++ b/codegen/sdk-codegen/aws-models/dlm.json @@ -2557,27 +2557,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/docdb-elastic.json b/codegen/sdk-codegen/aws-models/docdb-elastic.json index 9a2a720fe81..f0d0e2b4e9f 100644 --- a/codegen/sdk-codegen/aws-models/docdb-elastic.json +++ b/codegen/sdk-codegen/aws-models/docdb-elastic.json @@ -227,27 +227,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/docdb.json b/codegen/sdk-codegen/aws-models/docdb.json index 470a168f9e6..86dc1de339a 100644 --- a/codegen/sdk-codegen/aws-models/docdb.json +++ b/codegen/sdk-codegen/aws-models/docdb.json @@ -327,27 +327,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -1730,7 +1730,7 @@ "target": "com.amazonaws.docdb#String", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The identifier of the cluster snapshot to copy. This parameter is\n not case sensitive.

\n

Constraints:

\n
    \n
  • \n

    Must specify a valid system snapshot in the\n available state.

    \n
  • \n
  • \n

    If the source snapshot is in the same Amazon Web Services Region as the copy, specify a valid snapshot identifier.

    \n
  • \n
  • \n

    If the source snapshot is in a different Amazon Web Services Region than the copy, specify a valid cluster snapshot ARN.

    \n
  • \n
\n

Example: my-cluster-snapshot1\n

", + "smithy.api#documentation": "

The identifier of the cluster snapshot to copy. This parameter is\n not case sensitive.

\n

Constraints:

\n
    \n
  • \n

    Must specify a valid cluster snapshot in the\n available state.

    \n
  • \n
  • \n

    If the source cluster snapshot is in the same Amazon Web Services Region as the copy, specify a valid snapshot identifier.

    \n
  • \n
  • \n

    If the source cluster snapshot is in a different Amazon Web Services Region or owned by another Amazon Web Services account, specify the snapshot ARN.

    \n
  • \n
\n

Example: my-cluster-snapshot1\n

", "smithy.api#required": {} } }, @@ -1840,6 +1840,9 @@ { "target": "com.amazonaws.docdb#KMSKeyNotAccessibleFault" }, + { + "target": "com.amazonaws.docdb#NetworkTypeNotSupported" + }, { "target": "com.amazonaws.docdb#StorageQuotaExceededFault" } @@ -1978,7 +1981,7 @@ "StorageType": { "target": "com.amazonaws.docdb#String", "traits": { - "smithy.api#documentation": "

The storage type to associate with the DB cluster.

\n

For information on storage types for Amazon DocumentDB clusters, see \n Cluster storage configurations in the Amazon DocumentDB Developer Guide.

\n

Valid values for storage type - standard | iopt1\n

\n

Default value is standard \n

\n \n

When you create a DocumentDB DB cluster with the storage type set to iopt1, the storage type is returned\n in the response. The storage type isn't returned when you set it to standard.

\n
" + "smithy.api#documentation": "

The storage type to associate with the DB cluster.

\n

For information on storage types for Amazon DocumentDB clusters, see \n Cluster storage configurations in the Amazon DocumentDB Developer Guide.

\n

Valid values for storage type - standard | iopt1\n

\n

Default value is standard \n

\n \n

When you create an Amazon DocumentDB cluster with the storage type set to iopt1, the storage type is returned\n in the response. The storage type isn't returned when you set it to standard.

\n
" } }, "ServerlessV2ScalingConfiguration": { @@ -1998,6 +2001,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Web Services KMS key identifier to encrypt a secret that is automatically generated and managed in Amazon Web Services Secrets Manager.\n This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the DB cluster.

\n

The Amazon Web Services KMS key identifier is the key ARN, key ID, alias ARN, or alias name for the KMS key. \n To use a KMS key in a different Amazon Web Services account, specify the key ARN or alias ARN.

\n

If you don't specify MasterUserSecretKmsKeyId, then the aws/secretsmanager KMS key is used to encrypt the secret. \n If the secret is in a different Amazon Web Services account, then you can't use the aws/secretsmanager KMS key to encrypt the secret, and you must use a customer managed KMS key.

\n

There is a default KMS key for your Amazon Web Services account. \n Your Amazon Web Services account has a different default KMS key for each Amazon Web Services Region.

" } + }, + "NetworkType": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The network type of the cluster.

\n

The network type is determined by the DBSubnetGroup specified for the cluster. \n A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

\n

For more information, see DocumentDB clusters in a VPC in the Amazon DocumentDB Developer Guide.

\n

Valid Values: IPV4 | DUAL\n

" + } } }, "traits": { @@ -2525,7 +2534,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Amazon DocumentDB global cluster that can span multiple multiple Amazon Web Services Regions. The global cluster contains one primary cluster with read-write capability, and up-to give read-only secondary clusters. Global clusters uses storage-based fast replication across regions with latencies less than one second, using dedicated infrastructure with no impact to your workload’s performance.

\n

\n

You can create a global cluster that is initially empty, and then add a primary and a secondary to it. Or you can specify an existing cluster during the create operation, and this cluster becomes the primary of the global cluster.

\n \n

This action only applies to Amazon DocumentDB clusters.

\n
" + "smithy.api#documentation": "

Creates an Amazon DocumentDB global cluster that can span multiple multiple Amazon Web Services Regions. \n The global cluster contains one primary cluster with read-write capability, and up-to 10 read-only secondary clusters. Global clusters uses storage-based fast replication across regions with latencies less than one second, using dedicated infrastructure with no impact to your workload’s performance.

\n

\n

You can create a global cluster that is initially empty, and then add a primary and a secondary to it. \n Or you can specify an existing cluster during the create operation, and this cluster becomes the primary of the global cluster.

\n \n

This action only applies to Amazon DocumentDB clusters.

\n
" } }, "com.amazonaws.docdb#CreateGlobalClusterMessage": { @@ -2787,6 +2796,12 @@ "smithy.api#documentation": "

Specifies whether this cluster can be deleted. If DeletionProtection is\n enabled, the cluster cannot be deleted unless it is modified and\n DeletionProtection is disabled. DeletionProtection\n protects clusters from being accidentally deleted.

" } }, + "IOOptimizedNextAllowedModificationTime": { + "target": "com.amazonaws.docdb#TStamp", + "traits": { + "smithy.api#documentation": "

The next time you can modify the Amazon DocumentDB cluster to use the iopt1 storage type.

" + } + }, "StorageType": { "target": "com.amazonaws.docdb#String", "traits": { @@ -2804,6 +2819,12 @@ "traits": { "smithy.api#documentation": "

The secret managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the master user password.

" } + }, + "NetworkType": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The network type of the cluster.

\n

The network type is determined by the DBSubnetGroup specified for the cluster. \n A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

\n

For more information, see DocumentDB clusters in a VPC in the Amazon DocumentDB Developer Guide.

\n

Valid Values: IPV4 | DUAL\n

" + } } }, "traits": { @@ -3850,6 +3871,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the DB subnet group.

" } + }, + "SupportedNetworkTypes": { + "target": "com.amazonaws.docdb#NetworkTypeList", + "traits": { + "smithy.api#documentation": "

The network type of the DB subnet group.

\n

Valid Values: IPV4 | DUAL\n

\n

A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

" + } } }, "traits": { @@ -4809,21 +4836,6 @@ "smithy.api#suppress": [ "WaitableTraitInvalidErrorType" ], - "smithy.test#smokeTests": [ - { - "id": "DescribeDBInstancesFailure", - "params": { - "DBInstanceIdentifier": "fake-id" - }, - "vendorParams": { - "region": "us-west-2" - }, - "vendorParamsShape": "aws.test#AwsVendorParams", - "expect": { - "failure": {} - } - } - ], "smithy.waiters#waitable": { "DBInstanceAvailable": { "acceptors": [ @@ -5887,6 +5899,61 @@ "smithy.api#output": {} } }, + "com.amazonaws.docdb#FailoverState": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.docdb#FailoverStatus", + "traits": { + "smithy.api#documentation": "

The current status of the global cluster. Possible values are as follows:

\n
    \n
  • \n

    \n pending – The service received a request to switch over or fail over the global cluster. \n The global cluster's primary cluster and the specified secondary cluster are being verified before the operation starts.

    \n
  • \n
  • \n

    \n failing-over – The chosen secondary cluster is being promoted to become the new primary cluster to fail over the global cluster.

    \n
  • \n
  • \n

    \n cancelling – The request to switch over or fail over the global cluster was cancelled and the primary cluster and the selected secondary cluster are returning to their previous states.

    \n
  • \n
" + } + }, + "FromDbClusterArn": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon DocumentDB cluster that is currently being demoted, and which is associated with this state.

" + } + }, + "ToDbClusterArn": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon DocumentDB cluster that is currently being promoted, and which is associated with this state.

" + } + }, + "IsDataLossAllowed": { + "target": "com.amazonaws.docdb#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the operation is a global switchover or a global failover. \n If data loss is allowed, then the operation is a global failover. Otherwise, it's a switchover.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the state of scheduled or in-process operations on an Amazon DocumentDB global cluster. \n This data type is empty unless a switchover or failover operation is scheduled or is in progress on the global cluster.

" + } + }, + "com.amazonaws.docdb#FailoverStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "FAILING_OVER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failing-over" + } + }, + "CANCELLING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelling" + } + } + } + }, "com.amazonaws.docdb#Filter": { "type": "structure", "members": { @@ -5991,6 +6058,18 @@ "traits": { "smithy.api#documentation": "

The list of cluster IDs for secondary clusters within the global cluster. Currently limited to one item.

" } + }, + "FailoverState": { + "target": "com.amazonaws.docdb#FailoverState", + "traits": { + "smithy.api#documentation": "

A data object containing all properties for the current state of an in-process or pending switchover or failover process for this global cluster. \n This object is empty unless the SwitchoverGlobalCluster or FailoverGlobalCluster operation was called on this global cluster.

" + } + }, + "TagList": { + "target": "com.amazonaws.docdb#TagList", + "traits": { + "smithy.api#documentation": "

A list of global cluster tags.

" + } } }, "traits": { @@ -6053,6 +6132,12 @@ "traits": { "smithy.api#documentation": "

Specifies whether the Amazon DocumentDB cluster is the primary cluster (that is, has read-write capability) for the Amazon DocumentDB global cluster with which it is associated.

" } + }, + "SynchronizationStatus": { + "target": "com.amazonaws.docdb#GlobalClusterMemberSynchronizationStatus", + "traits": { + "smithy.api#documentation": "

The status of synchronization of each Amazon DocumentDB cluster in the global cluster.

" + } } }, "traits": { @@ -6068,6 +6153,23 @@ } } }, + "com.amazonaws.docdb#GlobalClusterMemberSynchronizationStatus": { + "type": "enum", + "members": { + "CONNECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "connected" + } + }, + "PENDING_RESYNC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending-resync" + } + } + } + }, "com.amazonaws.docdb#GlobalClusterNotFoundFault": { "type": "structure", "members": { @@ -6531,6 +6633,9 @@ { "target": "com.amazonaws.docdb#InvalidVPCNetworkStateFault" }, + { + "target": "com.amazonaws.docdb#NetworkTypeNotSupported" + }, { "target": "com.amazonaws.docdb#StorageQuotaExceededFault" } @@ -6619,7 +6724,7 @@ "AllowMajorVersionUpgrade": { "target": "com.amazonaws.docdb#Boolean", "traits": { - "smithy.api#documentation": "

A value that indicates whether major version upgrades are allowed.

\n

Constraints: You must allow major version upgrades when specifying a value for the\n EngineVersion parameter that is a different major version than the DB\n cluster's current version.

" + "smithy.api#documentation": "

A value that indicates whether major version upgrades are allowed.

\n

Constraints:

\n
    \n
  • \n

    You must allow major version upgrades when specifying a value for the EngineVersion parameter that is a different major version than the cluster's current version.

    \n
  • \n
  • \n

    Since some parameters are version specific, changing them requires executing a new ModifyDBCluster API call after the in-place MVU completes.

    \n
  • \n
\n \n

Performing an MVU directly impacts the following parameters:

\n
    \n
  • \n

    \n MasterUserPassword\n

    \n
  • \n
  • \n

    \n NewDBClusterIdentifier\n

    \n
  • \n
  • \n

    \n VpcSecurityGroupIds\n

    \n
  • \n
  • \n

    \n Port\n

    \n
  • \n
\n
" } }, "DeletionProtection": { @@ -6657,6 +6762,12 @@ "traits": { "smithy.api#documentation": "

Specifies whether to rotate the secret managed by Amazon Web Services Secrets Manager for the master user password.

\n

This setting is valid only if the master user password is managed by Amazon DocumentDB in Amazon Web Services Secrets Manager for the cluster. \n The secret value contains the updated password.

\n

Constraint: You must apply the change immediately when rotating the master user password.

" } + }, + "NetworkType": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The network type of the cluster.

\n

The network type is determined by the DBSubnetGroup specified for the cluster. \n A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

\n

For more information, see DocumentDB clusters in a VPC in the Amazon DocumentDB Developer Guide.

\n

Valid Values: IPV4 | DUAL\n

" + } } }, "traits": { @@ -7153,6 +7264,29 @@ "smithy.api#output": {} } }, + "com.amazonaws.docdb#NetworkTypeList": { + "type": "list", + "member": { + "target": "com.amazonaws.docdb#String" + } + }, + "com.amazonaws.docdb#NetworkTypeNotSupported": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.docdb#ExceptionMessage" + } + }, + "traits": { + "aws.protocols#awsQueryError": { + "code": "NetworkTypeNotSupported", + "httpResponseCode": 400 + }, + "smithy.api#documentation": "

The network type is not supported by either DBSubnetGroup or the DB engine version.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, "com.amazonaws.docdb#OrderableDBInstanceOption": { "type": "structure", "members": { @@ -7245,7 +7379,7 @@ "ParameterValue": { "target": "com.amazonaws.docdb#String", "traits": { - "smithy.api#documentation": "

Specifies the value of the parameter.

" + "smithy.api#documentation": "

Specifies the value of the parameter.\n Must be one or more of the cluster parameter's AllowedValues in CSV format:

\n

Valid values are:

\n
    \n
  • \n

    \n enabled: The cluster accepts secure connections using TLS version 1.0 through 1.3.

    \n
  • \n
  • \n

    \n disabled: The cluster does not accept secure connections using TLS.

    \n
  • \n
  • \n

    \n fips-140-3: The cluster only accepts secure connections per the requirements of the Federal Information Processing Standards (FIPS) publication 140-3.\n Only supported starting with Amazon DocumentDB 5.0 (engine version 3.0.3727) clusters in these regions: ca-central-1, us-west-2, us-east-1, us-east-2, us-gov-east-1, us-gov-west-1.

    \n
  • \n
  • \n

    \n tls1.2+: The cluster accepts secure connections using TLS version 1.2 and above.\n Only supported starting with Amazon DocumentDB 4.0 (engine version 2.0.10980) and Amazon DocumentDB 5.0 (engine version 3.0.11051).

    \n
  • \n
  • \n

    \n tls1.3+: The cluster accepts secure connections using TLS version 1.3 and above.\n Only supported starting with Amazon DocumentDB 4.0 (engine version 2.0.10980) and Amazon DocumentDB 5.0 (engine version 3.0.11051).

    \n
  • \n
" } }, "Description": { @@ -7871,6 +8005,9 @@ { "target": "com.amazonaws.docdb#KMSKeyNotAccessibleFault" }, + { + "target": "com.amazonaws.docdb#NetworkTypeNotSupported" + }, { "target": "com.amazonaws.docdb#StorageQuotaExceededFault" } @@ -7977,6 +8114,12 @@ "traits": { "smithy.api#documentation": "

The storage type to associate with the DB cluster.

\n

For information on storage types for Amazon DocumentDB clusters, see \n Cluster storage configurations in the Amazon DocumentDB Developer Guide.

\n

Valid values for storage type - standard | iopt1\n

\n

Default value is standard \n

" } + }, + "NetworkType": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The network type of the cluster.

\n

The network type is determined by the DBSubnetGroup specified for the cluster. \n A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

\n

For more information, see DocumentDB clusters in a VPC in the Amazon DocumentDB Developer Guide.

\n

Valid Values: IPV4 | DUAL\n

" + } } }, "traits": { @@ -8046,6 +8189,9 @@ { "target": "com.amazonaws.docdb#KMSKeyNotAccessibleFault" }, + { + "target": "com.amazonaws.docdb#NetworkTypeNotSupported" + }, { "target": "com.amazonaws.docdb#StorageQuotaExceededFault" } @@ -8144,6 +8290,12 @@ "traits": { "smithy.api#documentation": "

The storage type to associate with the DB cluster.

\n

For information on storage types for Amazon DocumentDB clusters, see \n Cluster storage configurations in the Amazon DocumentDB Developer Guide.

\n

Valid values for storage type - standard | iopt1\n

\n

Default value is standard \n

" } + }, + "NetworkType": { + "target": "com.amazonaws.docdb#String", + "traits": { + "smithy.api#documentation": "

The network type of the cluster.

\n

The network type is determined by the DBSubnetGroup specified for the cluster. \n A DBSubnetGroup can support only the IPv4 protocol or the IPv4 and the IPv6 protocols (DUAL).

\n

For more information, see DocumentDB clusters in a VPC in the Amazon DocumentDB Developer Guide.

\n

Valid Values: IPV4 | DUAL\n

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/drs.json b/codegen/sdk-codegen/aws-models/drs.json index a879a3baa66..104f80807dc 100644 --- a/codegen/sdk-codegen/aws-models/drs.json +++ b/codegen/sdk-codegen/aws-models/drs.json @@ -2611,27 +2611,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/dsql.json b/codegen/sdk-codegen/aws-models/dsql.json index 75e0bc54f15..5a3dea91053 100644 --- a/codegen/sdk-codegen/aws-models/dsql.json +++ b/codegen/sdk-codegen/aws-models/dsql.json @@ -28,6 +28,9 @@ "smithy.api#pattern": "^arn:.+$" } }, + "com.amazonaws.dsql#BypassPolicyLockoutSafetyCheck": { + "type": "boolean" + }, "com.amazonaws.dsql#ClientToken": { "type": "string", "traits": { @@ -79,8 +82,17 @@ "target": "com.amazonaws.dsql#ListClusters" }, "operations": [ + { + "target": "com.amazonaws.dsql#DeleteClusterPolicy" + }, + { + "target": "com.amazonaws.dsql#GetClusterPolicy" + }, { "target": "com.amazonaws.dsql#GetVpcEndpointServiceName" + }, + { + "target": "com.amazonaws.dsql#PutClusterPolicy" } ], "traits": { @@ -274,7 +286,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to create new clusters." }, - "smithy.api#documentation": "

The CreateCluster API allows you to create both single-region clusters and multi-Region\n clusters. With the addition of the multiRegionProperties parameter,\n you can create a cluster with witness Region support and establish peer relationships with\n clusters in other Regions during creation.

\n \n

Creating multi-Region clusters requires additional IAM permissions beyond those\n needed for single-Region clusters, as detailed in the Required permissions section\n below.

\n
\n

\n Required permissions\n

\n
\n
dsql:CreateCluster
\n
\n

Required to create a cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n
\n
dsql:TagResource
\n
\n

Permission to add tags to a resource.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n
\n
dsql:PutMultiRegionProperties
\n
\n

Permission to configure multi-region properties for a cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n
\n
dsql:AddPeerCluster
\n
\n

When specifying multiRegionProperties.clusters, permission to\n add peer clusters.

\n

Resources:

\n
    \n
  • \n

    Local cluster: arn:aws:dsql:region:account-id:cluster/*\n

    \n
  • \n
  • \n

    Each peer cluster: exact ARN of each specified peer cluster

    \n
  • \n
\n
\n
dsql:PutWitnessRegion
\n
\n

When specifying multiRegionProperties.witnessRegion, permission\n to set a witness Region. This permission is checked both in the cluster Region and\n in the witness Region.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n

Condition Keys: dsql:WitnessRegion (matching the specified witness region)

\n
\n
\n \n
    \n
  • \n

    The witness Region specified in\n multiRegionProperties.witnessRegion cannot be the same as the\n cluster's Region.

    \n
  • \n
\n
", + "smithy.api#documentation": "

The CreateCluster API allows you to create both single-Region clusters and multi-Region\n clusters. With the addition of the multiRegionProperties parameter,\n you can create a cluster with witness Region support and establish peer relationships with\n clusters in other Regions during creation.

\n \n

Creating multi-Region clusters requires additional IAM permissions beyond those\n needed for single-Region clusters, as detailed in the Required permissions section\n below.

\n
\n

\n Required permissions\n

\n
\n
dsql:CreateCluster
\n
\n

Required to create a cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n
\n
dsql:TagResource
\n
\n

Permission to add tags to a resource.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n
\n
dsql:PutMultiRegionProperties
\n
\n

Permission to configure multi-Region properties for a cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n
\n
dsql:AddPeerCluster
\n
\n

When specifying multiRegionProperties.clusters, permission to\n add peer clusters.

\n

Resources:

\n
    \n
  • \n

    Local cluster: arn:aws:dsql:region:account-id:cluster/*\n

    \n
  • \n
  • \n

    Each peer cluster: exact ARN of each specified peer cluster

    \n
  • \n
\n
\n
dsql:PutWitnessRegion
\n
\n

When specifying multiRegionProperties.witnessRegion, permission\n to set a witness Region. This permission is checked both in the cluster Region and\n in the witness Region.

\n

Resources: arn:aws:dsql:region:account-id:cluster/*\n

\n

Condition Keys: dsql:WitnessRegion (matching the specified witness region)

\n
\n
\n \n
    \n
  • \n

    The witness Region specified in\n multiRegionProperties.witnessRegion cannot be the same as the\n cluster's Region.

    \n
  • \n
\n
", "smithy.api#examples": [ { "title": "Create Cluster", @@ -330,6 +342,21 @@ "smithy.api#documentation": "

The configuration settings when creating a multi-Region cluster, including the witness region and linked cluster properties.

", "smithy.api#notProperty": {} } + }, + "policy": { + "target": "com.amazonaws.dsql#PolicyDocument", + "traits": { + "smithy.api#documentation": "

An optional resource-based policy document in JSON format that defines access permissions for the cluster.

", + "smithy.api#notProperty": {} + } + }, + "bypassPolicyLockoutSafetyCheck": { + "target": "com.amazonaws.dsql#BypassPolicyLockoutSafetyCheck", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

An optional field that controls whether to bypass the lockout prevention check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.

", + "smithy.api#notProperty": {} + } } }, "traits": { @@ -451,19 +478,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -785,6 +812,81 @@ "smithy.api#output": {} } }, + "com.amazonaws.dsql#DeleteClusterPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.dsql#DeleteClusterPolicyInput" + }, + "output": { + "target": "com.amazonaws.dsql#DeleteClusterPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dsql#ConflictException" + }, + { + "target": "com.amazonaws.dsql#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dsql#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the resource-based policy attached to a cluster. This removes all access permissions defined by the policy, reverting to default access controls.

", + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/cluster/{identifier}/policy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.dsql#DeleteClusterPolicyInput": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.dsql#ClusterId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "expectedPolicyVersion": { + "target": "com.amazonaws.dsql#PolicyVersion", + "traits": { + "smithy.api#documentation": "

The expected version of the policy to delete. This parameter ensures that you're deleting the correct version of the policy and helps prevent accidental deletions.

", + "smithy.api#httpQuery": "expected-policy-version", + "smithy.api#notProperty": {} + } + }, + "clientToken": { + "target": "com.amazonaws.dsql#ClientToken", + "traits": { + "smithy.api#httpQuery": "client-token", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dsql#DeleteClusterPolicyOutput": { + "type": "structure", + "members": { + "policyVersion": { + "target": "com.amazonaws.dsql#PolicyVersion", + "traits": { + "smithy.api#documentation": "

The version of the policy that was deleted.

", + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dsql#DeletionProtectionEnabled": { "type": "boolean", "traits": { @@ -1024,6 +1126,72 @@ "smithy.api#output": {} } }, + "com.amazonaws.dsql#GetClusterPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.dsql#GetClusterPolicyInput" + }, + "output": { + "target": "com.amazonaws.dsql#GetClusterPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dsql#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dsql#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the resource-based policy document attached to a cluster. This policy defines the access permissions and conditions for the cluster.

", + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/cluster/{identifier}/policy" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.dsql#GetClusterPolicyInput": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.dsql#ClusterId", + "traits": { + "smithy.api#documentation": "

The ID of the cluster to retrieve the policy from.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dsql#GetClusterPolicyOutput": { + "type": "structure", + "members": { + "policy": { + "target": "com.amazonaws.dsql#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The resource-based policy document attached to the cluster, returned as a JSON string.

", + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + }, + "policyVersion": { + "target": "com.amazonaws.dsql#PolicyVersion", + "traits": { + "smithy.api#documentation": "

The version of the policy document. This version number is incremented each time the policy is updated.

", + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dsql#GetVpcEndpointServiceName": { "type": "operation", "input": { @@ -1334,13 +1502,13 @@ "witnessRegion": { "target": "com.amazonaws.dsql#Region", "traits": { - "smithy.api#documentation": "

The that serves as the witness region for a multi-Region cluster. The witness region helps maintain cluster consistency and quorum.

" + "smithy.api#documentation": "

The Region that serves as the witness region for a multi-Region cluster. The witness Region helps maintain cluster consistency and quorum.

" } }, "clusters": { "target": "com.amazonaws.dsql#ClusterArnList", "traits": { - "smithy.api#documentation": "

The set of linked clusters that form the multi-Region cluster configuration. Each linked cluster represents a database instance in a different Region.

" + "smithy.api#documentation": "

The set of peered clusters that form the multi-Region cluster configuration. Each peered cluster represents a database instance in a different Region.

" } } }, @@ -1354,6 +1522,108 @@ "smithy.api#documentation": "

Token used to retrieve next page.

" } }, + "com.amazonaws.dsql#PolicyDocument": { + "type": "string", + "traits": { + "smithy.api#documentation": "

A resource-based policy document in JSON format. Length constraints: Minimum length of 1. Maximum length of 20480 characters (approximately 20KB).

", + "smithy.api#length": { + "min": 1, + "max": 20480 + } + } + }, + "com.amazonaws.dsql#PolicyVersion": { + "type": "string" + }, + "com.amazonaws.dsql#PutClusterPolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.dsql#PutClusterPolicyInput" + }, + "output": { + "target": "com.amazonaws.dsql#PutClusterPolicyOutput" + }, + "errors": [ + { + "target": "com.amazonaws.dsql#ConflictException" + }, + { + "target": "com.amazonaws.dsql#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.dsql#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Attaches a resource-based policy to a cluster. This policy defines access permissions and conditions for the cluster, allowing you to control which principals can perform actions on the cluster.

", + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/cluster/{identifier}/policy" + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.dsql#PutClusterPolicyInput": { + "type": "structure", + "members": { + "identifier": { + "target": "com.amazonaws.dsql#ClusterId", + "traits": { + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "policy": { + "target": "com.amazonaws.dsql#PolicyDocument", + "traits": { + "smithy.api#documentation": "

The resource-based policy document to attach to the cluster. This should be a valid JSON policy document that defines permissions and conditions.

", + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + }, + "bypassPolicyLockoutSafetyCheck": { + "target": "com.amazonaws.dsql#BypassPolicyLockoutSafetyCheck", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

A flag that allows you to bypass the policy lockout safety check. When set to true, this parameter allows you to apply a policy that might lock you out of the cluster. Use with caution.

", + "smithy.api#notProperty": {} + } + }, + "expectedPolicyVersion": { + "target": "com.amazonaws.dsql#PolicyVersion", + "traits": { + "smithy.api#documentation": "

The expected version of the current policy. This parameter ensures that you're updating the correct version of the policy and helps prevent concurrent modification conflicts.

", + "smithy.api#notProperty": {} + } + }, + "clientToken": { + "target": "com.amazonaws.dsql#ClientToken", + "traits": { + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.dsql#PutClusterPolicyOutput": { + "type": "structure", + "members": { + "policyVersion": { + "target": "com.amazonaws.dsql#PolicyVersion", + "traits": { + "smithy.api#documentation": "

The version of the policy after it has been updated or created.

", + "smithy.api#notProperty": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.dsql#Region": { "type": "string", "traits": { @@ -1685,7 +1955,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to modify the deletion protection status of a given cluster." }, - "smithy.api#documentation": "

The UpdateCluster API allows you to modify both single-Region and multi-Region cluster configurations. With the multiRegionProperties parameter, you can add or modify witness Region support and manage peer relationships with clusters in other Regions.

\n \n

Note that updating multi-region clusters requires additional IAM permissions beyond those needed for standard cluster updates, as detailed in the Permissions section.

\n
\n

\n Required permissions\n

\n
\n
dsql:UpdateCluster
\n
\n

Permission to update a DSQL cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n
\n
\n
\n
dsql:PutMultiRegionProperties
\n
\n

Permission to configure multi-Region properties for a cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n
\n
\n
\n
dsql:GetCluster
\n
\n

Permission to retrieve cluster information.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n
\n
dsql:AddPeerCluster
\n
\n

Permission to add peer clusters.

\n

Resources:

\n
    \n
  • \n

    Local cluster: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

    \n
  • \n
  • \n

    Each peer cluster: exact ARN of each specified peer cluster

    \n
  • \n
\n
\n
dsql:RemovePeerCluster
\n
\n

Permission to remove peer clusters. The dsql:RemovePeerCluster permission\n uses a wildcard ARN pattern to simplify permission management during updates.

\n

Resources:\n arn:aws:dsql:*:account-id:cluster/*\n

\n
\n
\n
\n
dsql:PutWitnessRegion
\n
\n

Permission to set a witness Region.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n

Condition Keys: dsql:WitnessRegion (matching the specified witness\n Region)

\n

\n This permission is checked both in the cluster Region and in the witness\n Region.\n

\n
\n
\n \n
    \n
  • \n

    The witness region specified in\n multiRegionProperties.witnessRegion cannot be the same as the\n cluster's Region.

    \n
  • \n
  • \n

    When updating clusters with peer relationships, permissions are checked for both adding and removing peers.

    \n
  • \n
  • \n

    The dsql:RemovePeerCluster permission uses a wildcard ARN pattern to simplify permission management during updates.

    \n
  • \n
\n
", + "smithy.api#documentation": "

The UpdateCluster API allows you to modify both single-Region and multi-Region cluster configurations. With the multiRegionProperties parameter, you can add or modify witness Region support and manage peer relationships with clusters in other Regions.

\n \n

Note that updating multi-Region clusters requires additional IAM permissions\n beyond those needed for standard cluster updates, as detailed in the Permissions\n section.

\n
\n

\n Required permissions\n

\n
\n
dsql:UpdateCluster
\n
\n

Permission to update a DSQL cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n
\n
\n
\n
dsql:PutMultiRegionProperties
\n
\n

Permission to configure multi-Region properties for a cluster.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n
\n
\n
\n
dsql:GetCluster
\n
\n

Permission to retrieve cluster information.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n
\n
dsql:AddPeerCluster
\n
\n

Permission to add peer clusters.

\n

Resources:

\n
    \n
  • \n

    Local cluster: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

    \n
  • \n
  • \n

    Each peer cluster: exact ARN of each specified peer cluster

    \n
  • \n
\n
\n
dsql:RemovePeerCluster
\n
\n

Permission to remove peer clusters. The dsql:RemovePeerCluster permission\n uses a wildcard ARN pattern to simplify permission management during updates.

\n

Resources:\n arn:aws:dsql:*:account-id:cluster/*\n

\n
\n
\n
\n
dsql:PutWitnessRegion
\n
\n

Permission to set a witness Region.

\n

Resources: arn:aws:dsql:region:account-id:cluster/cluster-id\n \n

\n

Condition Keys: dsql:WitnessRegion (matching the specified witness\n Region)

\n

\n This permission is checked both in the cluster Region and in the witness\n Region.\n

\n
\n
\n \n
    \n
  • \n

    The witness region specified in\n multiRegionProperties.witnessRegion cannot be the same as the\n cluster's Region.

    \n
  • \n
  • \n

    When updating clusters with peer relationships, permissions are checked for both adding and removing peers.

    \n
  • \n
  • \n

    The dsql:RemovePeerCluster permission uses a wildcard ARN pattern to simplify permission management during updates.

    \n
  • \n
\n
", "smithy.api#examples": [ { "title": "Update Cluster", diff --git a/codegen/sdk-codegen/aws-models/dynamodb-streams.json b/codegen/sdk-codegen/aws-models/dynamodb-streams.json index a0c888349c9..eb96974c804 100644 --- a/codegen/sdk-codegen/aws-models/dynamodb-streams.json +++ b/codegen/sdk-codegen/aws-models/dynamodb-streams.json @@ -242,26 +242,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -1019,53 +1019,27 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://streams-dynamodb-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://streams.dynamodb.us-gov-west-1.amazonaws.com" + "url": "https://streams.dynamodb-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://streams-dynamodb.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://streams.dynamodb.us-gov-west-1.amazonaws.com" + "url": "https://streams.dynamodb.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -1175,27 +1149,53 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://streams.dynamodb-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://streams-dynamodb-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://streams.dynamodb.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://streams.dynamodb.eusc-de-east-1.amazonaws.eu" + "url": "https://streams-dynamodb.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://streams.dynamodb.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/dynamodb.json b/codegen/sdk-codegen/aws-models/dynamodb.json index b5f36845506..71c8d0a4caa 100644 --- a/codegen/sdk-codegen/aws-models/dynamodb.json +++ b/codegen/sdk-codegen/aws-models/dynamodb.json @@ -4280,9 +4280,9 @@ "properties": { "authSchemes": [ { - "signingRegion": "us-east-1", "name": "sigv4", - "signingName": "dynamodb" + "signingName": "dynamodb", + "signingRegion": "us-east-1" } ] }, @@ -4704,7 +4704,11 @@ ], "endpoint": { "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -4852,7 +4856,11 @@ ], "endpoint": { "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -4937,7 +4945,11 @@ "conditions": [], "endpoint": { "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -5188,7 +5200,11 @@ ], "endpoint": { "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -5336,7 +5352,11 @@ ], "endpoint": { "url": "https://{ParsedArn#accountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -5421,7 +5441,11 @@ "conditions": [], "endpoint": { "url": "https://{AccountId}.ddb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, + "properties": { + "metricValues": [ + "O" + ] + }, "headers": {} }, "type": "endpoint" @@ -10180,6 +10204,11 @@ "documentation": "{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.api.aws" } }, @@ -10207,6 +10236,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10234,6 +10268,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10277,6 +10316,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10296,6 +10340,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10315,6 +10364,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10334,6 +10388,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10353,6 +10412,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10455,6 +10519,11 @@ "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.api.aws" } }, @@ -10484,6 +10553,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10668,6 +10742,11 @@ "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.api.aws" } }, @@ -10709,6 +10788,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10750,6 +10834,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=preferred, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10832,6 +10921,11 @@ "documentation": "{UseFIPS=false, UseDualStack=true, AccountId=111111111111, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.api.aws" } }, @@ -10859,6 +10953,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -10886,6 +10985,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10929,6 +11033,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -10948,6 +11057,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10967,6 +11081,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -10986,6 +11105,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:dynamodb:us-west-2:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-west-2:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -11005,6 +11129,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, AccountId=111111111111, ResourceArn=arn:aws:s3:us-west-2:222222222222:stream/testStream, ResourceArnList=[arn:aws:s3:us-east-1:333333333333:stream/testStream], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://111111111111.ddb.us-east-1.amazonaws.com" } }, @@ -11103,6 +11232,11 @@ "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.api.aws" } }, @@ -11132,6 +11266,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -11306,6 +11445,11 @@ "documentation": "{UseFIPS=false, UseDualStack=true, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.api.aws" } }, @@ -11347,6 +11491,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://333333333333.ddb.us-east-1.amazonaws.com" } }, @@ -11388,6 +11537,11 @@ "documentation": "{UseFIPS=false, UseDualStack=false, ResourceArn=arn:aws:dynamodb:us-east-1:222222222222:table/table_name, ResourceArnList=[arn:aws:dynamodb:us-east-1:333333333333:table/table_name], AccountIdEndpointMode=required, Region=us-east-1}", "expect": { "endpoint": { + "properties": { + "metricValues": [ + "O" + ] + }, "url": "https://222222222222.ddb.us-east-1.amazonaws.com" } }, @@ -14056,6 +14210,16 @@ "Region": "us-gov-east-1" } }, + { + "documentation": "{Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1}", + "expect": { + "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" + }, + "params": { + "Endpoint": "https://dynamodb.eu-west-1.api.aws", + "Region": "eu-west-1" + } + }, { "documentation": "{Endpoint=https://dynamodb.us-west-2.api.aws, Region=us-west-2}", "expect": { @@ -14119,16 +14283,6 @@ "Endpoint": "https://vpce-1a2b3c4d-5e6f.dynamodb.us-east-1.vpce.api.aws", "Region": "us-east-1" } - }, - { - "documentation": "{Endpoint=https://dynamodb.eu-west-1.api.aws, Region=eu-west-1}", - "expect": { - "error": "Endpoint override is not supported for dual-stack endpoints. Please enable dual-stack functionality by enabling the configuration. For more details, see: https://docs.aws.amazon.com/sdkref/latest/guide/feature-endpoints.html" - }, - "params": { - "Endpoint": "https://dynamodb.eu-west-1.api.aws", - "Region": "eu-west-1" - } } ], "version": "1.0" @@ -19053,7 +19207,7 @@ } }, "traits": { - "smithy.api#documentation": "

Throughput exceeds the current throughput quota for your account. For detailed\n information about why the request was throttled and the ARN of the impacted resource,\n find the ThrottlingReason field in the returned exception. Contact Amazon Web Services Support to request a quota\n increase.

", + "smithy.api#documentation": "

Throughput exceeds the current throughput quota for your account. For detailed\n information about why the request was throttled and the ARN of the impacted resource,\n find the ThrottlingReason field in the returned exception. Contact Amazon Web ServicesSupport to request a quota\n increase.

", "smithy.api#error": "client" } }, diff --git a/codegen/sdk-codegen/aws-models/ebs.json b/codegen/sdk-codegen/aws-models/ebs.json index f9dc9296c05..6405295726d 100644 --- a/codegen/sdk-codegen/aws-models/ebs.json +++ b/codegen/sdk-codegen/aws-models/ebs.json @@ -392,27 +392,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ec2-instance-connect.json b/codegen/sdk-codegen/aws-models/ec2-instance-connect.json index 8ae6858010c..289462ed1a3 100644 --- a/codegen/sdk-codegen/aws-models/ec2-instance-connect.json +++ b/codegen/sdk-codegen/aws-models/ec2-instance-connect.json @@ -61,27 +61,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ec2.json b/codegen/sdk-codegen/aws-models/ec2.json index b51d3c0e6e2..185870a52fe 100644 --- a/codegen/sdk-codegen/aws-models/ec2.json +++ b/codegen/sdk-codegen/aws-models/ec2.json @@ -1720,7 +1720,7 @@ "target": "com.amazonaws.ec2#AllocateAddressResult" }, "traits": { - "smithy.api#documentation": "

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate \n it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address \n pool and can be allocated to a different Amazon Web Services account.

\n

You can allocate an Elastic IP address from an address pool owned by Amazon Web Services or from an address pool created \n from a public IPv4 address range that you have brought to Amazon Web Services for use with your Amazon Web Services resources using bring your own \n IP addresses (BYOIP). For more information, see Bring Your Own IP Addresses (BYOIP) in the Amazon EC2 User Guide.

\n

If you release an Elastic IP address, you might be able to recover it. You cannot recover\n an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify\n it in this operation.

\n

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

\n

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, \n to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

", + "smithy.api#documentation": "

Allocates an Elastic IP address to your Amazon Web Services account. After you allocate the Elastic IP address you can associate \n it with an instance or network interface. After you release an Elastic IP address, it is released to the IP address \n pool and can be allocated to a different Amazon Web Services account.

\n

You can allocate an Elastic IP address from one of the following address pools:

\n
    \n
  • \n

    Amazon's pool of IPv4 addresses

    \n
  • \n
  • \n

    Public IPv4 address range that you own and bring to your Amazon Web Services account using \n Bring Your Own IP Addresses (BYOIP)\n

    \n
  • \n
  • \n

    An IPv4 IPAM pool with an Amazon-provided or BYOIP public IPv4 address range

    \n
  • \n
  • \n

    IPv4 addresses from your on-premises network made available for use with an Outpost\n using a customer-owned IP address\n pool (CoIP pool)

    \n
  • \n
\n

For more information, see Elastic IP Addresses in the Amazon EC2 User Guide.

\n

If you release an Elastic IP address, you might be able to recover it. You cannot recover\n an Elastic IP address that you released after it is allocated to another Amazon Web Services account. To attempt to recover an Elastic IP address that you released, specify\n it in this operation.

\n

You can allocate a carrier IP address which is a public IP address from a telecommunication carrier, \n to a network interface which resides in a subnet in a Wavelength Zone (for example an EC2 instance).

", "smithy.api#examples": [ { "title": "To allocate an Elastic IP address", @@ -1810,7 +1810,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "PublicIpv4Pool", - "smithy.api#documentation": "

The ID of an address pool.

", + "smithy.api#documentation": "

The ID of an address pool that you own.

", "smithy.api#xmlName": "publicIpv4Pool" } }, @@ -1850,7 +1850,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "CarrierIp", - "smithy.api#documentation": "

The carrier IP address. This option is only available for network interfaces that reside\n in a subnet in a Wavelength Zone.

", + "smithy.api#documentation": "

The carrier IP address. Available only for network interfaces that reside\n in a subnet in a Wavelength Zone.

", "smithy.api#xmlName": "carrierIp" } }, @@ -1858,7 +1858,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "PublicIp", - "smithy.api#documentation": "

The Elastic IP address.

", + "smithy.api#documentation": "

The Amazon-owned IP address. Not available when using an address pool that you own.

", "smithy.api#xmlName": "publicIp" } } @@ -2541,6 +2541,12 @@ { "target": "com.amazonaws.ec2#CopySnapshot" }, + { + "target": "com.amazonaws.ec2#CopyVolumes" + }, + { + "target": "com.amazonaws.ec2#CreateCapacityManagerDataExport" + }, { "target": "com.amazonaws.ec2#CreateCapacityReservation" }, @@ -2619,6 +2625,12 @@ { "target": "com.amazonaws.ec2#CreateIpamPool" }, + { + "target": "com.amazonaws.ec2#CreateIpamPrefixListResolver" + }, + { + "target": "com.amazonaws.ec2#CreateIpamPrefixListResolverTarget" + }, { "target": "com.amazonaws.ec2#CreateIpamResourceDiscovery" }, @@ -2820,6 +2832,9 @@ { "target": "com.amazonaws.ec2#CreateVpnGateway" }, + { + "target": "com.amazonaws.ec2#DeleteCapacityManagerDataExport" + }, { "target": "com.amazonaws.ec2#DeleteCarrierGateway" }, @@ -2874,6 +2889,12 @@ { "target": "com.amazonaws.ec2#DeleteIpamPool" }, + { + "target": "com.amazonaws.ec2#DeleteIpamPrefixListResolver" + }, + { + "target": "com.amazonaws.ec2#DeleteIpamPrefixListResolverTarget" + }, { "target": "com.amazonaws.ec2#DeleteIpamResourceDiscovery" }, @@ -3132,6 +3153,9 @@ { "target": "com.amazonaws.ec2#DescribeCapacityBlockStatus" }, + { + "target": "com.amazonaws.ec2#DescribeCapacityManagerDataExports" + }, { "target": "com.amazonaws.ec2#DescribeCapacityReservationBillingRequests" }, @@ -3141,6 +3165,9 @@ { "target": "com.amazonaws.ec2#DescribeCapacityReservations" }, + { + "target": "com.amazonaws.ec2#DescribeCapacityReservationTopology" + }, { "target": "com.amazonaws.ec2#DescribeCarrierGateways" }, @@ -3297,6 +3324,12 @@ { "target": "com.amazonaws.ec2#DescribeIpamPools" }, + { + "target": "com.amazonaws.ec2#DescribeIpamPrefixListResolvers" + }, + { + "target": "com.amazonaws.ec2#DescribeIpamPrefixListResolverTargets" + }, { "target": "com.amazonaws.ec2#DescribeIpamResourceDiscoveries" }, @@ -3633,6 +3666,9 @@ { "target": "com.amazonaws.ec2#DisableAwsNetworkPerformanceMetricSubscription" }, + { + "target": "com.amazonaws.ec2#DisableCapacityManager" + }, { "target": "com.amazonaws.ec2#DisableEbsEncryptionByDefault" }, @@ -3741,6 +3777,9 @@ { "target": "com.amazonaws.ec2#EnableAwsNetworkPerformanceMetricSubscription" }, + { + "target": "com.amazonaws.ec2#EnableCapacityManager" + }, { "target": "com.amazonaws.ec2#EnableEbsEncryptionByDefault" }, @@ -3822,6 +3861,15 @@ { "target": "com.amazonaws.ec2#GetAwsNetworkPerformanceData" }, + { + "target": "com.amazonaws.ec2#GetCapacityManagerAttributes" + }, + { + "target": "com.amazonaws.ec2#GetCapacityManagerMetricData" + }, + { + "target": "com.amazonaws.ec2#GetCapacityManagerMetricDimensions" + }, { "target": "com.amazonaws.ec2#GetCapacityReservationUsage" }, @@ -3888,6 +3936,15 @@ { "target": "com.amazonaws.ec2#GetIpamPoolCidrs" }, + { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverRules" + }, + { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverVersionEntries" + }, + { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverVersions" + }, { "target": "com.amazonaws.ec2#GetIpamResourceCidrs" }, @@ -4083,6 +4140,12 @@ { "target": "com.amazonaws.ec2#ModifyIpamPool" }, + { + "target": "com.amazonaws.ec2#ModifyIpamPrefixListResolver" + }, + { + "target": "com.amazonaws.ec2#ModifyIpamPrefixListResolverTarget" + }, { "target": "com.amazonaws.ec2#ModifyIpamResourceCidr" }, @@ -4434,6 +4497,9 @@ { "target": "com.amazonaws.ec2#UnmonitorInstances" }, + { + "target": "com.amazonaws.ec2#UpdateCapacityManagerOrganizationsAccess" + }, { "target": "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgress" }, @@ -4468,27 +4534,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -10054,6 +10120,9 @@ } } }, + "com.amazonaws.ec2#BoxedBoolean": { + "type": "boolean" + }, "com.amazonaws.ec2#BoxedDouble": { "type": "double" }, @@ -11024,7 +11093,7 @@ "target": "com.amazonaws.ec2#CancelSpotFleetRequestsResponse" }, "traits": { - "smithy.api#documentation": "

Cancels the specified Spot Fleet requests.

\n

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

\n

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you\n choose to terminate the instances, the Spot Fleet request enters the\n cancelled_terminating state. Otherwise, the Spot Fleet request enters\n the cancelled_running state and the instances continue to run until they\n are interrupted or you terminate them manually.

\n

\n Restrictions\n

\n
    \n
  • \n

    You can delete up to 100 fleets in a single request. If you exceed the specified\n number, no fleets are deleted.

    \n
  • \n
", + "smithy.api#documentation": "

Cancels the specified Spot Fleet requests.

\n

After you cancel a Spot Fleet request, the Spot Fleet launches no new instances.

\n

You must also specify whether a canceled Spot Fleet request should terminate its instances. If you\n choose to terminate the instances, the Spot Fleet request enters the\n cancelled_terminating state. Otherwise, the Spot Fleet request enters\n the cancelled_running state and the instances continue to run until they\n are interrupted or you terminate them manually.

\n \n

\n Terminating an instance is permanent and irreversible.\n

\n

After you terminate an instance, you can no longer connect to it, and it can't be recovered. \n All attached Amazon EBS volumes that are configured to be deleted on termination are also permanently \n deleted and can't be recovered. All data stored on instance store volumes is permanently lost. \n For more information, see \n How instance termination works.

\n

Before you terminate an instance, ensure that you have backed up all data that you need to \n retain after the termination to persistent storage.

\n
\n

\n Restrictions\n

\n
    \n
  • \n

    You can delete up to 100 fleets in a single request. If you exceed the specified\n number, no fleets are deleted.

    \n
  • \n
", "smithy.api#examples": [ { "title": "To cancel a Spot fleet request", @@ -12030,6 +12099,342 @@ } } }, + "com.amazonaws.ec2#CapacityManagerCondition": { + "type": "structure", + "members": { + "DimensionCondition": { + "target": "com.amazonaws.ec2#DimensionCondition", + "traits": { + "smithy.api#documentation": "

\nThe dimension-based condition that specifies how to filter the data based on dimension values.\n

" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nRepresents a filter condition for Capacity Manager queries. Contains dimension-based filtering criteria used to narrow down metric data and dimension results.\n

" + } + }, + "com.amazonaws.ec2#CapacityManagerConditionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityManagerCondition", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, + "com.amazonaws.ec2#CapacityManagerDataExportId": { + "type": "string" + }, + "com.amazonaws.ec2#CapacityManagerDataExportIdSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportId", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityManagerDataExportResponse": { + "type": "structure", + "members": { + "CapacityManagerDataExportId": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportId", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerDataExportId", + "smithy.api#documentation": "

\nThe unique identifier for the data export configuration.\n

", + "smithy.api#xmlName": "capacityManagerDataExportId" + } + }, + "S3BucketName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3BucketName", + "smithy.api#documentation": "

\nThe name of the S3 bucket where export files are delivered.\n

", + "smithy.api#xmlName": "s3BucketName" + } + }, + "S3BucketPrefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "S3BucketPrefix", + "smithy.api#documentation": "

\nThe S3 key prefix used for organizing export files within the bucket.\n

", + "smithy.api#xmlName": "s3BucketPrefix" + } + }, + "Schedule": { + "target": "com.amazonaws.ec2#Schedule", + "traits": { + "aws.protocols#ec2QueryName": "Schedule", + "smithy.api#documentation": "

\nThe frequency at which data exports are generated.\n

", + "smithy.api#xmlName": "schedule" + } + }, + "OutputFormat": { + "target": "com.amazonaws.ec2#OutputFormat", + "traits": { + "aws.protocols#ec2QueryName": "OutputFormat", + "smithy.api#documentation": "

\nThe file format of the exported data.\n

", + "smithy.api#xmlName": "outputFormat" + } + }, + "CreateTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "CreateTime", + "smithy.api#documentation": "

\nThe timestamp when the data export configuration was created.\n

", + "smithy.api#xmlName": "createTime" + } + }, + "LatestDeliveryStatus": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportStatus", + "traits": { + "aws.protocols#ec2QueryName": "LatestDeliveryStatus", + "smithy.api#documentation": "

\nThe status of the most recent export delivery.\n

", + "smithy.api#xmlName": "latestDeliveryStatus" + } + }, + "LatestDeliveryStatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LatestDeliveryStatusMessage", + "smithy.api#documentation": "

\nA message describing the status of the most recent export delivery, including any error details if the delivery failed.\n

", + "smithy.api#xmlName": "latestDeliveryStatusMessage" + } + }, + "LatestDeliveryS3LocationUri": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LatestDeliveryS3LocationUri", + "smithy.api#documentation": "

\nThe S3 URI of the most recently delivered export file.\n

", + "smithy.api#xmlName": "latestDeliveryS3LocationUri" + } + }, + "LatestDeliveryTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "LatestDeliveryTime", + "smithy.api#documentation": "

\nThe timestamp when the most recent export was delivered to S3.\n

", + "smithy.api#xmlName": "latestDeliveryTime" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

\nThe tags associated with the data export configuration.\n

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nContains information about a Capacity Manager data export configuration, including export settings, delivery status, and recent export activity.\n

" + } + }, + "com.amazonaws.ec2#CapacityManagerDataExportResponseSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportResponse", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#CapacityManagerDataExportStatus": { + "type": "enum", + "members": { + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "in-progress" + } + }, + "DELIVERED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delivered" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + } + } + }, + "com.amazonaws.ec2#CapacityManagerDimension": { + "type": "structure", + "members": { + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

\n The Amazon Web Services Region where the capacity resource is located.\n

", + "smithy.api#xmlName": "resourceRegion" + } + }, + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

\nThe unique identifier of the Availability Zone where the capacity resource is located.\n

", + "smithy.api#xmlName": "availabilityZoneId" + } + }, + "AccountId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AccountId", + "smithy.api#documentation": "

\n The Amazon Web Services account ID that owns the capacity resource.\n

", + "smithy.api#xmlName": "accountId" + } + }, + "InstanceFamily": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceFamily", + "smithy.api#documentation": "

\nThe EC2 instance family of the capacity resource.\n

", + "smithy.api#xmlName": "instanceFamily" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

\nThe specific EC2 instance type of the capacity resource.\n

", + "smithy.api#xmlName": "instanceType" + } + }, + "InstancePlatform": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstancePlatform", + "smithy.api#documentation": "

\nThe platform or operating system of the instance.\n

", + "smithy.api#xmlName": "instancePlatform" + } + }, + "ReservationArn": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservationArn", + "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the capacity reservation. This provides a unique identifier that can be used across Amazon Web Services services to reference the specific reservation.\n

", + "smithy.api#xmlName": "reservationArn" + } + }, + "ReservationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservationId", + "smithy.api#documentation": "

\nThe unique identifier of the capacity reservation.\n

", + "smithy.api#xmlName": "reservationId" + } + }, + "ReservationType": { + "target": "com.amazonaws.ec2#ReservationType", + "traits": { + "aws.protocols#ec2QueryName": "ReservationType", + "smithy.api#documentation": "

\nThe type of capacity reservation.\n

", + "smithy.api#xmlName": "reservationType" + } + }, + "ReservationCreateTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "ReservationCreateTimestamp", + "smithy.api#documentation": "

\nThe timestamp when the capacity reservation was originally created, in milliseconds since epoch. This differs from the start timestamp as \nreservations can be created before they become active.\n

", + "smithy.api#xmlName": "reservationCreateTimestamp" + } + }, + "ReservationStartTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "ReservationStartTimestamp", + "smithy.api#documentation": "

\nThe timestamp when the capacity reservation becomes active and available for use, in milliseconds since epoch. This is when the reservation begins providing capacity.\n

", + "smithy.api#xmlName": "reservationStartTimestamp" + } + }, + "ReservationEndTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "ReservationEndTimestamp", + "smithy.api#documentation": "

\nThe timestamp when the capacity reservation expires and is no longer available, in milliseconds since epoch. After this time, the reservation will not provide any capacity.\n

", + "smithy.api#xmlName": "reservationEndTimestamp" + } + }, + "ReservationEndDateType": { + "target": "com.amazonaws.ec2#ReservationEndDateType", + "traits": { + "aws.protocols#ec2QueryName": "ReservationEndDateType", + "smithy.api#documentation": "

\nThe type of end date for the capacity reservation. This indicates whether the reservation has a fixed end date, is open-ended, or follows a specific termination pattern.\n

", + "smithy.api#xmlName": "reservationEndDateType" + } + }, + "Tenancy": { + "target": "com.amazonaws.ec2#CapacityTenancy", + "traits": { + "aws.protocols#ec2QueryName": "Tenancy", + "smithy.api#documentation": "

\nThe tenancy of the EC2 instances associated with this capacity dimension. Valid values are 'default' for shared tenancy, 'dedicated' for dedicated instances, or 'host' for dedicated hosts.\n

", + "smithy.api#xmlName": "tenancy" + } + }, + "ReservationState": { + "target": "com.amazonaws.ec2#ReservationState", + "traits": { + "aws.protocols#ec2QueryName": "ReservationState", + "smithy.api#documentation": "

\nThe current state of the capacity reservation.\n

", + "smithy.api#xmlName": "reservationState" + } + }, + "ReservationInstanceMatchCriteria": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservationInstanceMatchCriteria", + "smithy.api#documentation": "

\nThe instance matching criteria for the capacity reservation, determining how instances are matched to the reservation.\n

", + "smithy.api#xmlName": "reservationInstanceMatchCriteria" + } + }, + "ReservationUnusedFinancialOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ReservationUnusedFinancialOwner", + "smithy.api#documentation": "

\n The Amazon Web Services account ID that is financially responsible for unused capacity reservation costs. \n

", + "smithy.api#xmlName": "reservationUnusedFinancialOwner" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nRepresents dimension values for capacity metrics, including resource identifiers, geographic information, and reservation details used for grouping and filtering capacity data.\n

" + } + }, + "com.amazonaws.ec2#CapacityManagerStatus": { + "type": "enum", + "members": { + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "enabled" + } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } + } + } + }, "com.amazonaws.ec2#CapacityReservation": { "type": "structure", "members": { @@ -12061,7 +12466,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "AvailabilityZoneId", - "smithy.api#documentation": "

The Availability Zone ID of the Capacity Reservation.

", + "smithy.api#documentation": "

The ID of the Availability Zone in which the capacity is reserved.

", "smithy.api#xmlName": "availabilityZoneId" } }, @@ -12141,7 +12546,7 @@ "target": "com.amazonaws.ec2#MillisecondDateTime", "traits": { "aws.protocols#ec2QueryName": "StartDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation was started.

", + "smithy.api#documentation": "

The date and time the Capacity Reservation was started.

", "smithy.api#xmlName": "startDate" } }, @@ -12149,7 +12554,7 @@ "target": "com.amazonaws.ec2#DateTime", "traits": { "aws.protocols#ec2QueryName": "EndDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation expires. When a Capacity\n\t\t\tReservation expires, the reserved capacity is released and you can no longer launch\n\t\t\tinstances into it. The Capacity Reservation's state changes to expired when\n\t\t\tit reaches its end date and time.

", + "smithy.api#documentation": "

The date and time the Capacity Reservation expires. When a Capacity\n\t\t\tReservation expires, the reserved capacity is released and you can no longer launch\n\t\t\tinstances into it. The Capacity Reservation's state changes to expired when\n\t\t\tit reaches its end date and time.

", "smithy.api#xmlName": "endDate" } }, @@ -12173,7 +12578,7 @@ "target": "com.amazonaws.ec2#DateTime", "traits": { "aws.protocols#ec2QueryName": "CreateDate", - "smithy.api#documentation": "

The date and time at which the Capacity Reservation was created.

", + "smithy.api#documentation": "

The date and time the Capacity Reservation was created.

", "smithy.api#xmlName": "createDate" } }, @@ -13142,6 +13547,87 @@ } } }, + "com.amazonaws.ec2#CapacityReservationTopology": { + "type": "structure", + "members": { + "CapacityReservationId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationId", + "smithy.api#documentation": "

The ID of the Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationId" + } + }, + "CapacityBlockId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "CapacityBlockId", + "smithy.api#documentation": "

The ID of the Capacity Block. This parameter is only supported for UltraServer\n instances and identifies instances within the UltraServer domain.

", + "smithy.api#xmlName": "capacityBlockId" + } + }, + "State": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the Capacity Reservation. For the list of possible states, see\n DescribeCapacityReservations.

", + "smithy.api#xmlName": "state" + } + }, + "InstanceType": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "InstanceType", + "smithy.api#documentation": "

The instance type.

", + "smithy.api#xmlName": "instanceType" + } + }, + "GroupName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "GroupName", + "smithy.api#documentation": "

The name of the placement group that the Capacity Reservation is in.

", + "smithy.api#xmlName": "groupName" + } + }, + "NetworkNodes": { + "target": "com.amazonaws.ec2#NetworkNodeSet", + "traits": { + "aws.protocols#ec2QueryName": "NetworkNodeSet", + "smithy.api#documentation": "

The network nodes. The nodes are hashed based on your account. Capacity Reservations\n from different accounts running under the same server will return a different hashed\n list of strings.

\n

The value is null or empty if:

\n
    \n
  • \n

    The instance type is not supported.

    \n
  • \n
  • \n

    The Capacity Reservation is in a state other than active or\n pending.

    \n
  • \n
", + "smithy.api#xmlName": "networkNodeSet" + } + }, + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The ID of the Availability Zone or Local Zone that the Capacity Reservation is\n in.

", + "smithy.api#xmlName": "availabilityZoneId" + } + }, + "AvailabilityZone": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZone", + "smithy.api#documentation": "

The name of the Availability Zone or Local Zone that the Capacity Reservation is\n in.

", + "smithy.api#xmlName": "availabilityZone" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about the Capacity Reservation topology.

" + } + }, + "com.amazonaws.ec2#CapacityReservationTopologySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityReservationTopology", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#CapacityReservationType": { "type": "enum", "members": { @@ -13159,6 +13645,23 @@ } } }, + "com.amazonaws.ec2#CapacityTenancy": { + "type": "enum", + "members": { + "DEFAULT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "default" + } + }, + "DEDICATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "dedicated" + } + } + } + }, "com.amazonaws.ec2#CarrierGateway": { "type": "structure", "members": { @@ -14723,6 +15226,23 @@ } } }, + "com.amazonaws.ec2#Comparison": { + "type": "enum", + "members": { + "EQUALS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "equals" + } + }, + "IN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "in" + } + } + } + }, "com.amazonaws.ec2#ComponentAccount": { "type": "string", "traits": { @@ -14735,6 +15255,21 @@ "smithy.api#pattern": "^[a-z]{2}-[a-z]+-[1-9]+$" } }, + "com.amazonaws.ec2#ConditionValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 10 + } + } + }, "com.amazonaws.ec2#ConfirmProductInstance": { "type": "operation", "input": { @@ -15646,6 +16181,100 @@ } } }, + "com.amazonaws.ec2#CopyVolumes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CopyVolumesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CopyVolumesResult" + }, + "traits": { + "smithy.api#documentation": "

Creates a crash-consistent, point-in-time copy of an existing Amazon EBS volume within the same \n Availability Zone. The volume copy can be attached to an Amazon EC2 instance once it reaches the \n available state. For more information, see Copy an Amazon EBS volume.

" + } + }, + "com.amazonaws.ec2#CopyVolumesRequest": { + "type": "structure", + "members": { + "SourceVolumeId": { + "target": "com.amazonaws.ec2#VolumeId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the source EBS volume to copy.

", + "smithy.api#required": {} + } + }, + "Iops": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The number of I/O operations per second (IOPS) to provision for the volume copy. \n Required for io1 and io2 volumes. Optional for gp3 \n volumes. Omit for all other volume types. Full provisioned IOPS performance can be \n achieved only once the volume copy is fully initialized.

\n

Valid ranges:

\n
    \n
  • \n

    gp3: 3,000 (default) - 80,000 IOPS

    \n
  • \n
  • \n

    io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    io2: 100 - 256,000 IOPS

    \n
  • \n
\n \n

\n \nInstances built on the Nitro System can support up to 256,000 IOPS. Other instances can support up to 32,000 \nIOPS.

\n
" + } + }, + "Size": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The size of the volume copy, in GiBs. The size must be equal to or greater than the \n size of the source volume. If not specified, the size defaults to the size of the source \n volume.

\n

Maximum supported sizes:

\n
    \n
  • \n

    gp2: 16,384 GiB

    \n
  • \n
  • \n

    gp3: 65,536 GiB

    \n
  • \n
  • \n

    io1: 16,384 GiB

    \n
  • \n
  • \n

    io2: 65,536 GiB

    \n
  • \n
  • \n

    st1 and sc1: 16,384 GiB

    \n
  • \n
  • \n

    standard: 1024 GiB

    \n
  • \n
" + } + }, + "VolumeType": { + "target": "com.amazonaws.ec2#VolumeType", + "traits": { + "smithy.api#documentation": "

The volume type for the volume copy. If not specified, the volume type defaults to \n gp2.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the volume copy during creation.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "MultiAttachEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether to enable Amazon EBS Multi-Attach for the volume copy. If you enable \n Multi-Attach, you can attach the volume to up to 16 Nitro instances in the same \n Availability Zone simultaneously. Supported with io1 and io2 volumes only. For more \n information, see \n Amazon EBS Multi-Attach.

" + } + }, + "Throughput": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The throughput to provision for the volume copy, in MiB/s. Supported for gp3 \n volumes only. Omit for all other volume types. Full provisioned throughput performance can be \n achieved only once the volume copy is fully initialized.

\n

Valid Range: 125 - 2000 MiB/s

\n

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CopyVolumesResult": { + "type": "structure", + "members": { + "Volumes": { + "target": "com.amazonaws.ec2#VolumeList", + "traits": { + "aws.protocols#ec2QueryName": "VolumeSet", + "smithy.api#documentation": "

Information about the volume copy.

", + "smithy.api#xmlName": "volumeSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CoreCount": { "type": "integer" }, @@ -15791,6 +16420,92 @@ "smithy.api#documentation": "

The CPU performance to consider, using an instance family as the baseline reference.

" } }, + "com.amazonaws.ec2#CreateCapacityManagerDataExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateCapacityManagerDataExportRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateCapacityManagerDataExportResult" + }, + "traits": { + "smithy.api#documentation": "

\nCreates a new data export configuration for EC2 Capacity Manager. This allows you to automatically export capacity usage data to an S3 bucket on a scheduled basis. \nThe exported data includes metrics for On-Demand, Spot, and Capacity Reservations usage across your organization.\n

" + } + }, + "com.amazonaws.ec2#CreateCapacityManagerDataExportRequest": { + "type": "structure", + "members": { + "S3BucketName": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe name of the S3 bucket where the capacity data export files will be delivered. The bucket must exist and you must have write permissions to it.\n

", + "smithy.api#required": {} + } + }, + "S3BucketPrefix": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\nThe S3 key prefix for the exported data files. This allows you to organize exports in a specific folder structure within your bucket. If not specified, files are placed at the bucket root.\n

" + } + }, + "Schedule": { + "target": "com.amazonaws.ec2#Schedule", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe frequency at which data exports are generated. \n

", + "smithy.api#required": {} + } + }, + "OutputFormat": { + "target": "com.amazonaws.ec2#OutputFormat", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe file format for the exported data. Parquet format is recommended for large datasets and better compression.\n

", + "smithy.api#required": {} + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\nUnique, case-sensitive identifier that you provide to ensure the idempotency of the request. For more information, see Ensure Idempotency.\n

", + "smithy.api#idempotencyToken": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. \nIf you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

\nThe tags to apply to the data export configuration. You can tag the export for organization and cost tracking purposes.\n

", + "smithy.api#xmlName": "TagSpecification" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateCapacityManagerDataExportResult": { + "type": "structure", + "members": { + "CapacityManagerDataExportId": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportId", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerDataExportId", + "smithy.api#documentation": "

\nThe unique identifier for the created data export configuration. Use this ID to reference the export in other API calls.\n

", + "smithy.api#xmlName": "capacityManagerDataExportId" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CreateCapacityReservation": { "type": "operation", "input": { @@ -18107,7 +18822,7 @@ "target": "com.amazonaws.ec2#CreateIpamExternalResourceVerificationTokenResult" }, "traits": { - "smithy.api#documentation": "

Create a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" + "smithy.api#documentation": "

Create a verification token.

\n

A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" } }, "com.amazonaws.ec2#CreateIpamExternalResourceVerificationTokenRequest": { @@ -18307,6 +19022,185 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#CreateIpamPrefixListResolver": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamPrefixListResolverRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamPrefixListResolverResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an IPAM prefix list resolver.

\n

An IPAM prefix list resolver is a component that manages the synchronization between IPAM's CIDR selection rules and customer-managed prefix lists. It automates connectivity configurations by selecting CIDRs from IPAM's database based on your business logic and synchronizing them with prefix lists used in resources such as VPC route tables and security groups.

\n

For more information about IPAM prefix list resolver, see Automate prefix list updates with IPAM in the Amazon VPC IPAM User Guide.

" + } + }, + "com.amazonaws.ec2#CreateIpamPrefixListResolverRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamId": { + "target": "com.amazonaws.ec2#IpamId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM that will serve as the source of the IP address database for CIDR selection. The IPAM must be in the Advanced tier to use this feature.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A description for the IPAM prefix list resolver to help you identify its purpose and configuration.

" + } + }, + "AddressFamily": { + "target": "com.amazonaws.ec2#AddressFamily", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The address family for the IPAM prefix list resolver. Valid values are ipv4 and ipv6. You must create separate resolvers for IPv4 and IPv6 CIDRs as they cannot be mixed in the same resolver.

", + "smithy.api#required": {} + } + }, + "Rules": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleRequestSet", + "traits": { + "smithy.api#documentation": "

The CIDR selection rules for the resolver.

\n

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

", + "smithy.api#xmlName": "Rule" + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the IPAM prefix list resolver during creation. Tags help you organize and manage your Amazon Web Services resources.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateIpamPrefixListResolverResult": { + "type": "structure", + "members": { + "IpamPrefixListResolver": { + "target": "com.amazonaws.ec2#IpamPrefixListResolver", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolver", + "smithy.api#documentation": "

Information about the IPAM prefix list resolver that was created.

", + "smithy.api#xmlName": "ipamPrefixListResolver" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#CreateIpamPrefixListResolverTarget": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#CreateIpamPrefixListResolverTargetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#CreateIpamPrefixListResolverTargetResult" + }, + "traits": { + "smithy.api#documentation": "

Creates an IPAM prefix list resolver target.

\n

An IPAM prefix list resolver target is an association between a specific customer-managed prefix list and an IPAM prefix list resolver. The target enables the resolver to synchronize CIDRs selected by its rules into the specified prefix list, which can then be referenced in Amazon Web Services resources.

\n

For more information about IPAM prefix list resolver, see Automate prefix list updates with IPAM in the Amazon VPC IPAM User Guide.

" + } + }, + "com.amazonaws.ec2#CreateIpamPrefixListResolverTargetRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver that will manage the synchronization of CIDRs to the target prefix list.

", + "smithy.api#required": {} + } + }, + "PrefixListId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the managed prefix list that will be synchronized with CIDRs selected by the IPAM prefix list resolver. This prefix list becomes an IPAM managed prefix list.

\n

An IPAM-managed prefix list is a customer-managed prefix list that has been associated with an IPAM prefix list resolver target. When a prefix list becomes IPAM managed, its CIDRs are automatically synchronized based on the IPAM prefix list resolver's CIDR selection rules, and direct CIDR modifications are restricted.

", + "smithy.api#required": {} + } + }, + "PrefixListRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The Amazon Web Services Region where the prefix list is located. This is required when referencing a prefix list in a different Region.

", + "smithy.api#required": {} + } + }, + "DesiredVersion": { + "target": "com.amazonaws.ec2#BoxedLong", + "traits": { + "smithy.api#documentation": "

The specific version of the prefix list to target. If not specified, the resolver will target the latest version.

" + } + }, + "TrackLatestVersion": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Indicates whether the resolver target should automatically track the latest version of the prefix list. When enabled, the target will always synchronize with the most current version of the prefix list.

\n

Choose this for automatic updates when you want your prefix lists to stay current with infrastructure changes without manual intervention.

", + "smithy.api#required": {} + } + }, + "TagSpecifications": { + "target": "com.amazonaws.ec2#TagSpecificationList", + "traits": { + "smithy.api#documentation": "

The tags to apply to the IPAM prefix list resolver target during creation. Tags help you organize and manage your Amazon Web Services resources.

", + "smithy.api#xmlName": "TagSpecification" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#CreateIpamPrefixListResolverTargetResult": { + "type": "structure", + "members": { + "IpamPrefixListResolverTarget": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTarget", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTarget", + "smithy.api#documentation": "

Information about the IPAM prefix list resolver target that was created.

", + "smithy.api#xmlName": "ipamPrefixListResolverTarget" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#CreateIpamRequest": { "type": "structure", "members": { @@ -23979,7 +24873,7 @@ "Iops": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, this represents \n the number of IOPS that are provisioned for the volume. For gp2 volumes, this represents the baseline \n performance of the volume and the rate at which the volume accumulates I/O credits for bursting.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000 - 80,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n

For io2 volumes, you can achieve up to 256,000 IOPS on \ninstances \nbuilt on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

\n

This parameter is required for io1 and io2 volumes. The default for gp3 volumes is 3,000 IOPS.\n This parameter is not supported for gp2, st1, sc1, or standard volumes.

" + "smithy.api#documentation": "

The number of I/O operations per second (IOPS) to provision for the volume. \n Required for io1 and io2 volumes. Optional for gp3 \n volumes. Omit for all other volume types.

\n

Valid ranges:

\n
    \n
  • \n

    gp3: 3,000 (default) - 80,000 IOPS

    \n
  • \n
  • \n

    io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    io2: 100 - 256,000 IOPS

    \n
  • \n
\n \n

\n \nInstances built on the Nitro System can support up to 256,000 IOPS. Other instances can support up to 32,000 \nIOPS.

\n
" } }, "KmsKeyId": { @@ -23997,7 +24891,7 @@ "Size": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.\n If you specify a snapshot, the default is the snapshot size. You can specify a volume \n size that is equal to or larger than the snapshot size.

\n

The following are the supported volumes sizes for each volume type:

\n
    \n
  • \n

    \n gp2: 1 - 16,384 GiB

    \n
  • \n
  • \n

    \n gp3: 1 - 65,536 GiB

    \n
  • \n
  • \n

    \n io1: 4 - 16,384 GiB

    \n
  • \n
  • \n

    \n io2: 4 - 65,536 GiB

    \n
  • \n
  • \n

    \n st1 and sc1: 125 - 16,384 GiB

    \n
  • \n
  • \n

    \n standard: 1 - 1024 GiB

    \n
  • \n
" + "smithy.api#documentation": "

The size of the volume, in GiBs. You must specify either a snapshot ID or a volume size.\n If you specify a snapshot, the default is the snapshot size, and you can specify a volume size \n that is equal to or larger than the snapshot size.

\n

Valid sizes:

\n
    \n
  • \n

    gp2: 1 - 16,384 GiB

    \n
  • \n
  • \n

    gp3: 1 - 65,536 GiB

    \n
  • \n
  • \n

    io1: 4 - 16,384 GiB

    \n
  • \n
  • \n

    io2: 4 - 65,536 GiB

    \n
  • \n
  • \n

    st1 and sc1: 125 - 16,384 GiB

    \n
  • \n
  • \n

    standard: 1 - 1024 GiB

    \n
  • \n
" } }, "SnapshotId": { @@ -24028,7 +24922,7 @@ "Throughput": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The throughput to provision for a volume, with a maximum of 2,000 MiB/s.

\n

This parameter is valid only for gp3 volumes.

\n

Valid Range: Minimum value of 125. Maximum value of 2,000.

" + "smithy.api#documentation": "

The throughput to provision for the volume, in MiB/s. Supported for gp3 \n volumes only. Omit for all other volume types.

\n

Valid Range: 125 - 2000 MiB/s

" } }, "ClientToken": { @@ -24072,7 +24966,7 @@ "target": "com.amazonaws.ec2#CreateVpcResult" }, "traits": { - "smithy.api#documentation": "

Creates a VPC with the specified CIDR blocks. For more information, see IP addressing for your VPCs and subnets in the \n Amazon VPC User Guide.

\n

You can optionally request an IPv6 CIDR block for the VPC. You can request an\n Amazon-provided IPv6 CIDR block from Amazon's pool of IPv6 addresses or an IPv6 CIDR\n block from an IPv6 address pool that you provisioned through bring your own IP addresses\n (BYOIP).

\n

By default, each instance that you launch in the VPC has the default DHCP options, which\n\t\t\tinclude only a default DNS server that we provide (AmazonProvidedDNS). For more\n\t\t\tinformation, see DHCP option sets in the Amazon VPC User Guide.

\n

You can specify the instance tenancy value for the VPC when you create it. You can't change\n this value for the VPC after you create it. For more information, see Dedicated Instances in the\n Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Creates a VPC with the specified CIDR blocks.

\n

A VPC must have an associated IPv4 CIDR block. You can choose an IPv4 CIDR block or an\n IPAM-allocated IPv4 CIDR block. You can optionally associate an IPv6 CIDR block with a\n VPC. You can choose an IPv6 CIDR block, an Amazon-provided IPv6 CIDR block, an\n IPAM-allocated IPv6 CIDR block, or an IPv6 CIDR block that you brought to Amazon Web Services. For\n more information, see IP addressing for your VPCs and\n subnets in the Amazon VPC User Guide.

\n

By default, each instance that you launch in the VPC has the default DHCP options, which\n\t\t\tinclude only a default DNS server that we provide (AmazonProvidedDNS). For more\n\t\t\tinformation, see DHCP option sets in the Amazon VPC User Guide.

\n

You can specify DNS options and tenancy for a VPC when you create it. You can't change\n the tenancy of a VPC after you create it. For more information, see VPC configuration options in the\n Amazon VPC User Guide.

", "smithy.api#examples": [ { "title": "To create a VPC", @@ -25451,6 +26345,56 @@ "com.amazonaws.ec2#DefaultingDhcpOptionsId": { "type": "string" }, + "com.amazonaws.ec2#DeleteCapacityManagerDataExport": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteCapacityManagerDataExportRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteCapacityManagerDataExportResult" + }, + "traits": { + "smithy.api#documentation": "

\nDeletes an existing Capacity Manager data export configuration. This stops future scheduled exports but does not delete previously exported files from S3.\n

" + } + }, + "com.amazonaws.ec2#DeleteCapacityManagerDataExportRequest": { + "type": "structure", + "members": { + "CapacityManagerDataExportId": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe unique identifier of the data export configuration to delete.\n

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. \nIf you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteCapacityManagerDataExportResult": { + "type": "structure", + "members": { + "CapacityManagerDataExportId": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportId", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerDataExportId", + "smithy.api#documentation": "

\nThe unique identifier of the deleted data export configuration.\n

", + "smithy.api#xmlName": "capacityManagerDataExportId" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DeleteCarrierGateway": { "type": "operation", "input": { @@ -26000,7 +26944,7 @@ "target": "com.amazonaws.ec2#DeleteFleetsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified EC2 Fleet request.

\n

After you delete an EC2 Fleet request, it launches no new instances.

\n

You must also specify whether a deleted EC2 Fleet request should terminate its instances. If\n you choose to terminate the instances, the EC2 Fleet request enters the\n deleted_terminating state. Otherwise, it enters the\n deleted_running state, and the instances continue to run until they are\n interrupted or you terminate them manually.

\n

A deleted instant fleet with running instances is not supported. When you\n delete an instant fleet, Amazon EC2 automatically terminates all its instances. For\n fleets with more than 1000 instances, the deletion request might fail. If your fleet has\n more than 1000 instances, first terminate most of the instances manually, leaving 1000 or\n fewer. Then delete the fleet, and the remaining instances will be terminated automatically.

\n

\n Restrictions\n

\n
    \n
  • \n

    You can delete up to 25 fleets of type instant in a single\n request.

    \n
  • \n
  • \n

    You can delete up to 100 fleets of type maintain or\n request in a single request.

    \n
  • \n
  • \n

    You can delete up to 125 fleets in a single request, provided you do not exceed\n the quota for each fleet type, as specified above.

    \n
  • \n
  • \n

    If you exceed the specified number of fleets to delete, no fleets are\n deleted.

    \n
  • \n
\n

For more information, see Delete an EC2 Fleet request and the instances\n in the fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Deletes the specified EC2 Fleet request.

\n

After you delete an EC2 Fleet request, it launches no new instances.

\n

You must also specify whether a deleted EC2 Fleet request should terminate its instances. If\n you choose to terminate the instances, the EC2 Fleet request enters the\n deleted_terminating state. Otherwise, it enters the\n deleted_running state, and the instances continue to run until they are\n interrupted or you terminate them manually.

\n

A deleted instant fleet with running instances is not supported. When you\n delete an instant fleet, Amazon EC2 automatically terminates all its instances. For\n fleets with more than 1000 instances, the deletion request might fail. If your fleet has\n more than 1000 instances, first terminate most of the instances manually, leaving 1000 or\n fewer. Then delete the fleet, and the remaining instances will be terminated automatically.

\n \n

\n Terminating an instance is permanent and irreversible.\n

\n

After you terminate an instance, you can no longer connect to it, and it can't be recovered. \n All attached Amazon EBS volumes that are configured to be deleted on termination are also permanently \n deleted and can't be recovered. All data stored on instance store volumes is permanently lost. \n For more information, see \n How instance termination works.

\n

Before you terminate an instance, ensure that you have backed up all data that you need to \n retain after the termination to persistent storage.

\n
\n

\n Restrictions\n

\n
    \n
  • \n

    You can delete up to 25 fleets of type instant in a single\n request.

    \n
  • \n
  • \n

    You can delete up to 100 fleets of type maintain or\n request in a single request.

    \n
  • \n
  • \n

    You can delete up to 125 fleets in a single request, provided you do not exceed\n the quota for each fleet type, as specified above.

    \n
  • \n
  • \n

    If you exceed the specified number of fleets to delete, no fleets are\n deleted.

    \n
  • \n
\n

For more information, see Delete an EC2 Fleet request and the instances\n in the fleet in the Amazon EC2 User Guide.

" } }, "com.amazonaws.ec2#DeleteFleetsRequest": { @@ -26384,7 +27328,7 @@ "target": "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationTokenResult" }, "traits": { - "smithy.api#documentation": "

Delete a verification token. A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" + "smithy.api#documentation": "

Delete a verification token.

\n

A verification token is an Amazon Web Services-generated random value that you can use to prove ownership of an external resource. For example, you can use a verification token to validate that you control a public IP address range when you bring an IP address range to Amazon Web Services (BYOIP).\n

" } }, "com.amazonaws.ec2#DeleteIpamExternalResourceVerificationTokenRequest": { @@ -26481,6 +27425,106 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DeleteIpamPrefixListResolver": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamPrefixListResolverRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamPrefixListResolverResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes an IPAM prefix list resolver. Before deleting a resolver, you must first delete all resolver targets associated with it.

" + } + }, + "com.amazonaws.ec2#DeleteIpamPrefixListResolverRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteIpamPrefixListResolverResult": { + "type": "structure", + "members": { + "IpamPrefixListResolver": { + "target": "com.amazonaws.ec2#IpamPrefixListResolver", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolver", + "smithy.api#documentation": "

Information about the IPAM prefix list resolver that was deleted.

", + "smithy.api#xmlName": "ipamPrefixListResolver" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#DeleteIpamPrefixListResolverTarget": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DeleteIpamPrefixListResolverTargetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DeleteIpamPrefixListResolverTargetResult" + }, + "traits": { + "smithy.api#documentation": "

Deletes an IPAM prefix list resolver target. This removes the association between the resolver and the managed prefix list, stopping automatic CIDR synchronization.

\n

For more information about IPAM prefix list resolver, see Automate prefix list updates with IPAM in the Amazon VPC IPAM User Guide.

" + } + }, + "com.amazonaws.ec2#DeleteIpamPrefixListResolverTargetRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverTargetId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTargetId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver target to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DeleteIpamPrefixListResolverTargetResult": { + "type": "structure", + "members": { + "IpamPrefixListResolverTarget": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTarget", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTarget", + "smithy.api#documentation": "

Information about the IPAM prefix list resolver target that was deleted.

", + "smithy.api#xmlName": "ipamPrefixListResolverTarget" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DeleteIpamRequest": { "type": "structure", "members": { @@ -27764,7 +28808,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Return", - "smithy.api#documentation": "

Returns true if the request succeeds, otherwise returns an error.

", + "smithy.api#documentation": "

Is true if the request succeeds and an error otherwise.

", "smithy.api#xmlName": "return" } } @@ -31883,6 +32927,97 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeCapacityManagerDataExports": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeCapacityManagerDataExportsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeCapacityManagerDataExportsResult" + }, + "traits": { + "smithy.api#documentation": "

\nDescribes one or more Capacity Manager data export configurations. Returns information about export settings, delivery status, and recent export activity.\n

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "CapacityManagerDataExports", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeCapacityManagerDataExportsRequest": { + "type": "structure", + "members": { + "CapacityManagerDataExportIds": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportIdSet", + "traits": { + "smithy.api#documentation": "

\nThe IDs of the data export configurations to describe. If not specified, all export configurations are returned.\n

", + "smithy.api#xmlName": "CapacityManagerDataExportId" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeCapacityManagerDataExportsRequestMaxResults", + "traits": { + "smithy.api#documentation": "

\nThe maximum number of results to return in a single call. If not specified, up to 1000 results are returned.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\nThe token for the next page of results. Use this value in a subsequent call to retrieve additional results.\n

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. \nIf you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

\nOne or more filters to narrow the results. Supported filters include export status, creation date, and S3 bucket name.\n

", + "smithy.api#xmlName": "Filter" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeCapacityManagerDataExportsRequestMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#DescribeCapacityManagerDataExportsResult": { + "type": "structure", + "members": { + "CapacityManagerDataExports": { + "target": "com.amazonaws.ec2#CapacityManagerDataExportResponseSet", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerDataExportSet", + "smithy.api#documentation": "

\nInformation about the data export configurations, including export settings, delivery status, and recent activity.\n

", + "smithy.api#xmlName": "capacityManagerDataExportSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

\nThe token to use to retrieve the next page of results. This value is null when there are no more results to return.\n

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeCapacityReservationBillingRequests": { "type": "operation", "input": { @@ -32073,6 +33208,91 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeCapacityReservationTopology": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeCapacityReservationTopologyRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeCapacityReservationTopologyResult" + }, + "traits": { + "smithy.api#documentation": "

Describes a tree-based hierarchy that represents the physical host placement of your\n pending or active Capacity Reservations within an Availability Zone or Local Zone. You\n can use this information to determine the relative proximity of your capacity within the\n Amazon Web Services network before it is launched and use this information to allocate capacity\n together to support your tightly coupled workloads.

\n

Capacity Reservation topology is supported for specific instance types only. For more\n information, see Prerequisites\n for Amazon EC2 instance topology in the\n Amazon EC2 User Guide.

\n \n

The Amazon EC2 API follows an eventual consistency model due to the\n distributed nature of the system supporting it. As a result, when you call the\n DescribeCapacityReservationTopology API command immediately after launching\n instances, the response might return a null value for\n capacityBlockId because the data might not have fully propagated\n across all subsystems. For more information, see Eventual consistency in the\n Amazon EC2 API in the Amazon EC2 Developer\n Guide.

\n
\n

For more information, see Amazon EC2 topology in\n the Amazon EC2 User Guide.

\n

" + } + }, + "com.amazonaws.ec2#DescribeCapacityReservationTopologyMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "com.amazonaws.ec2#DescribeCapacityReservationTopologyRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the operation, without actually making the \n request, and provides an error response. If you have the required permissions, the error response is \n DryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token returned from a previous paginated request. Pagination continues from the end of the items returned by the previous request.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#DescribeCapacityReservationTopologyMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request.\n To get the next page of items, make another request with the token returned in the output.\n\t For more information, see Pagination.

\n

You can't specify this parameter and the Capacity Reservation IDs parameter in the\n same request.

\n

Default: 10\n

" + } + }, + "CapacityReservationIds": { + "target": "com.amazonaws.ec2#CapacityReservationIdSet", + "traits": { + "smithy.api#documentation": "

The Capacity Reservation IDs.

\n

Default: Describes all your Capacity Reservations.

\n

Constraints: Maximum 100 explicitly specified Capacity Reservation IDs.

", + "smithy.api#xmlName": "CapacityReservationId" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n availability-zone - The name of the Availability Zone (for\n example, us-west-2a) or Local Zone (for example,\n us-west-2-lax-1b) that the Capacity Reservation is in.

    \n
  • \n
  • \n

    \n instance-type - The instance type (for example,\n p4d.24xlarge) or instance family (for example,\n p4d*). You can use the * wildcard to match zero or\n more characters, or the ? wildcard to match zero or one\n character.

    \n
  • \n
", + "smithy.api#xmlName": "Filter" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeCapacityReservationTopologyResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to include in another request to get the next page of items. This value is null when there\n are no more items to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "CapacityReservations": { + "target": "com.amazonaws.ec2#CapacityReservationTopologySet", + "traits": { + "aws.protocols#ec2QueryName": "CapacityReservationSet", + "smithy.api#documentation": "

Information about the topology of each Capacity Reservation.

", + "smithy.api#xmlName": "capacityReservationSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeCapacityReservations": { "type": "operation", "input": { @@ -35501,7 +36721,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n creation-time - The time when the report was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2025-11-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2025-11-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n state - The state of the report (available |\n pending | error).

    \n
  • \n
", + "smithy.api#documentation": "

The filters.

\n
    \n
  • \n

    \n creation-time - The time when the report was created, in the ISO 8601\n format in the UTC time zone (YYYY-MM-DDThh:mm:ss.sssZ), for example,\n 2025-11-29T11:04:43.305Z. You can use a wildcard (*), for\n example, 2025-11-29T*, which matches an entire day.

    \n
  • \n
  • \n

    \n state - The state of the report (available |\n pending | error).

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, @@ -36607,7 +37827,7 @@ "target": "com.amazonaws.ec2#DescribeInstanceTopologyResult" }, "traits": { - "smithy.api#documentation": "

Describes a tree-based hierarchy that represents the physical host placement of your\n EC2 instances within an Availability Zone or Local Zone. You can use this information to\n determine the relative proximity of your EC2 instances within the Amazon Web Services network to\n support your tightly coupled workloads.

\n

Instance topology is supported for specific instance types only. For more information, \n see \n Prerequisites for Amazon EC2 instance topology in the Amazon EC2 User Guide.

\n \n

The Amazon EC2 API follows an eventual consistency model due to the\n distributed nature of the system supporting it. As a result, when you call the\n DescribeInstanceTopology API command immediately after launching instances, the\n response might return a null value for capacityBlockId\n because the data might not have fully propagated across all subsystems. For more\n information, see Eventual consistency in the\n Amazon EC2 API in the Amazon EC2 Developer\n Guide.

\n
\n

For more information, see Amazon EC2 instance\n topology in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Describes a tree-based hierarchy that represents the physical host placement of your\n EC2 instances within an Availability Zone or Local Zone. You can use this information to\n determine the relative proximity of your EC2 instances within the Amazon Web Services network to\n support your tightly coupled workloads.

\n

Instance topology is supported for specific instance types only. For more information,\n see Prerequisites\n for Amazon EC2 instance topology in the\n Amazon EC2 User Guide.

\n \n

The Amazon EC2 API follows an eventual consistency model due to the\n distributed nature of the system supporting it. As a result, when you call the\n DescribeInstanceTopology API command immediately after launching instances, the\n response might return a null value for capacityBlockId\n because the data might not have fully propagated across all subsystems. For more\n information, see Eventual consistency in the\n Amazon EC2 API in the Amazon EC2 Developer\n Guide.

\n
\n

For more information, see Amazon EC2 topology in\n the Amazon EC2 User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -36655,7 +37875,7 @@ "MaxResults": { "target": "com.amazonaws.ec2#DescribeInstanceTopologyMaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of items to return for this request.\n To get the next page of items, make another request with the token returned in the output.\n\t For more information, see Pagination.

\n

You can't specify this parameter and the instance IDs parameter in the same request.

\n

Default: 20\n

" + "smithy.api#documentation": "

The maximum number of items to return for this request.\n To get the next page of items, make another request with the token returned in the output.\n\t For more information, see Pagination.

\n

You can't specify this parameter and the instance IDs parameter in the same\n request.

\n

Default: 20\n

" } }, "InstanceIds": { @@ -37544,6 +38764,176 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DescribeIpamPrefixListResolverTargets": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamPrefixListResolverTargetsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamPrefixListResolverTargetsResult" + }, + "traits": { + "smithy.api#documentation": "

Describes one or more IPAM prefix list resolver Targets. Use this operation to view the configuration and status of resolver targets.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPrefixListResolverTargets", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeIpamPrefixListResolverTargetsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters to limit the results.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "IpamPrefixListResolverTargetIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the IPAM prefix list resolver Targets to describe. If not specified, all targets in your account are described.

", + "smithy.api#xmlName": "IpamPrefixListResolverTargetId" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver to filter targets by. Only targets associated with this resolver will be returned.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeIpamPrefixListResolverTargetsResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamPrefixListResolverTargets": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTargetSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTargetSet", + "smithy.api#documentation": "

Information about the IPAM prefix list resolver Targets.

", + "smithy.api#xmlName": "ipamPrefixListResolverTargetSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#DescribeIpamPrefixListResolvers": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DescribeIpamPrefixListResolversRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DescribeIpamPrefixListResolversResult" + }, + "traits": { + "smithy.api#documentation": "

Describes one or more IPAM prefix list resolvers. Use this operation to view the configuration, status, and properties of your resolvers.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPrefixListResolvers", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#DescribeIpamPrefixListResolversRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters to limit the results.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "IpamPrefixListResolverIds": { + "target": "com.amazonaws.ec2#ValueStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the IPAM prefix list resolvers to describe. If not specified, all resolvers in your account are described.

", + "smithy.api#xmlName": "IpamPrefixListResolverId" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DescribeIpamPrefixListResolversResult": { + "type": "structure", + "members": { + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + }, + "IpamPrefixListResolvers": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverSet", + "smithy.api#documentation": "

Information about the IPAM prefix list resolvers.

", + "smithy.api#xmlName": "ipamPrefixListResolverSet" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DescribeIpamResourceDiscoveries": { "type": "operation", "input": { @@ -40423,7 +41813,7 @@ "target": "com.amazonaws.ec2#FilterList", "traits": { "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n association.allocation-id - The allocation ID returned when you\n allocated the Elastic IP address (IPv4) for your network interface.

    \n
  • \n
  • \n

    \n association.association-id - The association ID returned when the\n network interface was associated with an IPv4 address.

    \n
  • \n
  • \n

    \n addresses.association.owner-id - The owner ID of the addresses\n associated with the network interface.

    \n
  • \n
  • \n

    \n addresses.association.public-ip - The association ID returned\n when the network interface was associated with the Elastic IP address\n (IPv4).

    \n
  • \n
  • \n

    \n addresses.primary - Whether the private IPv4 address is the\n primary IP address associated with the network interface.

    \n
  • \n
  • \n

    \n addresses.private-ip-address - The private IPv4 addresses\n associated with the network interface.

    \n
  • \n
  • \n

    \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

    \n
  • \n
  • \n

    \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

    \n
  • \n
  • \n

    \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

    \n
  • \n
  • \n

    \n attachment.attach-time - The time that the network interface was\n attached to an instance.

    \n
  • \n
  • \n

    \n attachment.attachment-id - The ID of the interface\n attachment.

    \n
  • \n
  • \n

    \n attachment.delete-on-termination - Indicates whether the\n attachment is deleted when an instance is terminated.

    \n
  • \n
  • \n

    \n attachment.device-index - The device index to which the network\n interface is attached.

    \n
  • \n
  • \n

    \n attachment.instance-id - The ID of the instance to which the\n network interface is attached.

    \n
  • \n
  • \n

    \n attachment.instance-owner-id - The owner ID of the instance to\n which the network interface is attached.

    \n
  • \n
  • \n

    \n attachment.status - The status of the attachment\n (attaching | attached | detaching |\n detached).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the network\n interface.

    \n
  • \n
  • \n

    \n description - The description of the network interface.

    \n
  • \n
  • \n

    \n group-id - The ID of a security group associated with the network\n interface.

    \n
  • \n
  • \n

    \n ipv6-addresses.ipv6-address - An IPv6 address associated with the\n network interface.

    \n
  • \n
  • \n

    \n interface-type - The type of network interface\n (api_gateway_managed |\n aws_codestar_connections_managed | branch |\n ec2_instance_connect_endpoint | efa |\n efa-only | efs |\n evs |\n gateway_load_balancer |\n gateway_load_balancer_endpoint |\n global_accelerator_managed | interface |\n iot_rules_managed | lambda |\n load_balancer | nat_gateway |\n network_load_balancer | quicksight |\n transit_gateway | trunk |\n vpc_endpoint).

    \n
  • \n
  • \n

    \n mac-address - The MAC address of the network interface.

    \n
  • \n
  • \n

    \n network-interface-id - The ID of the network interface.

    \n
  • \n
  • \n

    \n operator.managed - A Boolean that indicates whether this is a\n managed network interface.

    \n
  • \n
  • \n

    \n operator.principal - The principal that manages the network\n interface. Only valid for managed network interfaces, where managed\n is true.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the network\n interface owner.

    \n
  • \n
  • \n

    \n private-dns-name - The private DNS name of the network interface\n (IPv4).

    \n
  • \n
  • \n

    \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

    \n
  • \n
  • \n

    \n requester-id - The alias or Amazon Web Services account ID of the\n principal or service that created the network interface.

    \n
  • \n
  • \n

    \n requester-managed - Indicates whether the network interface is\n being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

    \n
  • \n
  • \n

    \n source-dest-check - Indicates whether the network interface\n performs source/destination checking. A value of true means\n checking is enabled, and false means checking is disabled. The\n value must be false for the network interface to perform network\n address translation (NAT) in your VPC.

    \n
  • \n
  • \n

    \n status - The status of the network interface. If the network\n interface is not attached to an instance, the status is available;\n if a network interface is attached to an instance the status is\n in-use.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet for the network\n interface.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the network interface.

    \n
  • \n
", + "smithy.api#documentation": "

One or more filters.

\n
    \n
  • \n

    \n association.allocation-id - The allocation ID returned when you\n allocated the Elastic IP address (IPv4) for your network interface.

    \n
  • \n
  • \n

    \n association.association-id - The association ID returned when the\n network interface was associated with an IPv4 address.

    \n
  • \n
  • \n

    \n addresses.association.owner-id - The owner ID of the addresses\n associated with the network interface.

    \n
  • \n
  • \n

    \n addresses.association.public-ip - The association ID returned\n when the network interface was associated with the Elastic IP address\n (IPv4).

    \n
  • \n
  • \n

    \n addresses.primary - Whether the private IPv4 address is the\n primary IP address associated with the network interface.

    \n
  • \n
  • \n

    \n addresses.private-ip-address - The private IPv4 addresses\n associated with the network interface.

    \n
  • \n
  • \n

    \n association.ip-owner-id - The owner of the Elastic IP address\n (IPv4) associated with the network interface.

    \n
  • \n
  • \n

    \n association.public-ip - The address of the Elastic IP address\n (IPv4) bound to the network interface.

    \n
  • \n
  • \n

    \n association.public-dns-name - The public DNS name for the network\n interface (IPv4).

    \n
  • \n
  • \n

    \n attachment.attach-time - The time that the network interface was\n attached to an instance.

    \n
  • \n
  • \n

    \n attachment.attachment-id - The ID of the interface\n attachment.

    \n
  • \n
  • \n

    \n attachment.delete-on-termination - Indicates whether the\n attachment is deleted when an instance is terminated.

    \n
  • \n
  • \n

    \n attachment.device-index - The device index to which the network\n interface is attached.

    \n
  • \n
  • \n

    \n attachment.instance-id - The ID of the instance to which the\n network interface is attached.

    \n
  • \n
  • \n

    \n attachment.instance-owner-id - The owner ID of the instance to\n which the network interface is attached.

    \n
  • \n
  • \n

    \n attachment.status - The status of the attachment\n (attaching | attached | detaching |\n detached).

    \n
  • \n
  • \n

    \n availability-zone - The Availability Zone of the network\n interface.

    \n
  • \n
  • \n

    \n availability-zone-id - The ID of the Availability Zone of the\n network interface.

    \n
  • \n
  • \n

    \n description - The description of the network interface.

    \n
  • \n
  • \n

    \n group-id - The ID of a security group associated with the network\n interface.

    \n
  • \n
  • \n

    \n ipv6-addresses.ipv6-address - An IPv6 address associated with the\n network interface.

    \n
  • \n
  • \n

    \n interface-type - The type of network interface\n (api_gateway_managed |\n aws_codestar_connections_managed | branch |\n ec2_instance_connect_endpoint | efa |\n efa-only | efs |\n evs |\n gateway_load_balancer |\n gateway_load_balancer_endpoint |\n global_accelerator_managed | interface |\n iot_rules_managed | lambda |\n load_balancer | nat_gateway |\n network_load_balancer | quicksight |\n transit_gateway | trunk |\n vpc_endpoint).

    \n
  • \n
  • \n

    \n mac-address - The MAC address of the network interface.

    \n
  • \n
  • \n

    \n network-interface-id - The ID of the network interface.

    \n
  • \n
  • \n

    \n operator.managed - A Boolean that indicates whether this is a\n managed network interface.

    \n
  • \n
  • \n

    \n operator.principal - The principal that manages the network\n interface. Only valid for managed network interfaces, where managed\n is true.

    \n
  • \n
  • \n

    \n owner-id - The Amazon Web Services account ID of the network\n interface owner.

    \n
  • \n
  • \n

    \n private-dns-name - The private DNS name of the network interface\n (IPv4).

    \n
  • \n
  • \n

    \n private-ip-address - The private IPv4 address or addresses of the\n network interface.

    \n
  • \n
  • \n

    \n requester-id - The alias or Amazon Web Services account ID of the\n principal or service that created the network interface.

    \n
  • \n
  • \n

    \n requester-managed - Indicates whether the network interface is\n being managed by an Amazon Web Services service (for example, Amazon Web Services Management Console, Auto Scaling, and so on).

    \n
  • \n
  • \n

    \n source-dest-check - Indicates whether the network interface\n performs source/destination checking. A value of true means\n checking is enabled, and false means checking is disabled. The\n value must be false for the network interface to perform network\n address translation (NAT) in your VPC.

    \n
  • \n
  • \n

    \n status - The status of the network interface. If the network\n interface is not attached to an instance, the status is available;\n if a network interface is attached to an instance the status is\n in-use.

    \n
  • \n
  • \n

    \n subnet-id - The ID of the subnet for the network\n interface.

    \n
  • \n
  • \n

    \n tag: - The key/value combination of a tag assigned to the resource. Use the tag key in the filter name and the tag value as the filter value.\n For example, to find all resources that have a tag with the key Owner and the value TeamA, specify tag:Owner for the filter name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key - The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
  • \n

    \n vpc-id - The ID of the VPC for the network interface.

    \n
  • \n
", "smithy.api#xmlName": "filter" } } @@ -42286,7 +43676,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

Security group VPC association filters.

\n
    \n
  • \n

    \n group-id: The security group ID.

    \n
  • \n
  • \n

    \n group-owner-id: The group owner ID.

    \n
  • \n
  • \n

    \n vpc-id: The ID of the associated VPC.

    \n
  • \n
  • \n

    \n vpc-owner-id: The account ID of the VPC owner.

    \n
  • \n
  • \n

    \n state: The state of the association.

    \n
  • \n
  • \n

    \n tag:: The key/value combination of a tag assigned to the resource. Use\n the tag key in the filter name and the tag value as the filter value. For\n example, to find all resources that have a tag with the key Owner\n and the value TeamA, specify tag:Owner for the filter\n name and TeamA for the filter value.

    \n
  • \n
  • \n

    \n tag-key: The key of a tag assigned to the resource. Use this filter to find all resources assigned a tag with a specific key, regardless of the tag value.

    \n
  • \n
", + "smithy.api#documentation": "

Security group VPC association filters.

\n
    \n
  • \n

    \n group-id: The security group ID.

    \n
  • \n
  • \n

    \n group-owner-id: The group owner ID.

    \n
  • \n
  • \n

    \n state: The state of the association.

    \n
  • \n
  • \n

    \n vpc-id: The ID of the associated VPC.

    \n
  • \n
  • \n

    \n vpc-owner-id: The account ID of the VPC owner.

    \n
  • \n
", "smithy.api#xmlName": "Filter" } }, @@ -48561,6 +49951,33 @@ } } }, + "com.amazonaws.ec2#DimensionCondition": { + "type": "structure", + "members": { + "Dimension": { + "target": "com.amazonaws.ec2#FilterByDimension", + "traits": { + "smithy.api#documentation": "

\nThe name of the dimension to filter by.\n

" + } + }, + "Comparison": { + "target": "com.amazonaws.ec2#Comparison", + "traits": { + "smithy.api#documentation": "

\nThe comparison operator to use for the filter.\n

" + } + }, + "Values": { + "target": "com.amazonaws.ec2#ConditionValueList", + "traits": { + "smithy.api#documentation": "

\nThe list of values to match against the specified dimension. For 'equals' comparison, only the first value is used. For 'in' comparison, any matching value will satisfy the condition.\n

", + "smithy.api#xmlName": "Value" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nSpecifies a condition for filtering capacity data based on dimension values. Used to create precise filters for metric queries and dimension lookups.\n

" + } + }, "com.amazonaws.ec2#DirectoryServiceAuthentication": { "type": "structure", "members": { @@ -48749,6 +50166,63 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#DisableCapacityManager": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#DisableCapacityManagerRequest" + }, + "output": { + "target": "com.amazonaws.ec2#DisableCapacityManagerResult" + }, + "traits": { + "smithy.api#documentation": "

\nDisables EC2 Capacity Manager for your account. This stops data ingestion and removes access to capacity analytics and optimization recommendations. \nPreviously collected data is retained but no new data will be processed.\n

" + } + }, + "com.amazonaws.ec2#DisableCapacityManagerRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. \nIf you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\nUnique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#DisableCapacityManagerResult": { + "type": "structure", + "members": { + "CapacityManagerStatus": { + "target": "com.amazonaws.ec2#CapacityManagerStatus", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerStatus", + "smithy.api#documentation": "

\nThe current status of Capacity Manager after the disable operation. \n

", + "smithy.api#xmlName": "capacityManagerStatus" + } + }, + "OrganizationsAccess": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationsAccess", + "smithy.api#documentation": "

\n Indicates whether Organizations access is enabled. This will be false after disabling Capacity Manager.\n

", + "smithy.api#xmlName": "organizationsAccess" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#DisableEbsEncryptionByDefault": { "type": "operation", "input": { @@ -50754,7 +52228,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Return", - "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#documentation": "

Is true if the request succeeds and an error otherwise.

", "smithy.api#xmlName": "return" } }, @@ -51361,7 +52835,7 @@ "VolumeInitializationRate": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download \n the snapshot blocks from Amazon S3 to the volume. This is also known as \n volume initialization. Specifying a volume initialization rate ensures that \n the volume is initialized at a predictable and consistent rate after creation.

\n

This parameter is supported only for volumes created from snapshots. Omit this parameter \n if:

\n
    \n
  • \n

    You want to create the volume using fast snapshot restore. You must specify a snapshot \n that is enabled for fast snapshot restore. In this case, the volume is fully initialized at \n creation.

    \n \n

    If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, \n the volume will be initialized at the specified rate instead of fast snapshot restore.

    \n
    \n
  • \n
  • \n

    You want to create a volume that is initialized at the default rate.

    \n
  • \n
\n

For more information, see \n Initialize Amazon EBS volumes in the Amazon EC2 User Guide.

\n

This parameter is not supported when using CreateImage.

\n

Valid range: 100 - 300 MiB/s

" + "smithy.api#documentation": "

Specifies the Amazon EBS Provisioned Rate for Volume Initialization (volume initialization rate), in MiB/s, at which to download the snapshot \n blocks from Amazon S3 to the volume. This is also known as volume \n initialization. Specifying a volume initialization rate ensures that the volume is initialized \n at a predictable and consistent rate after creation. For more information, see \n Initialize \n Amazon EBS volumes in the Amazon EC2 User Guide.

\n

This parameter is supported only for volumes created from snapshots. Omit this parameter \n if:

\n
    \n
  • \n

    You want to create the volume using fast snapshot restore. You must specify a snapshot \n that is enabled for fast snapshot restore. In this case, the volume is fully initialized at \n creation.

    \n \n

    If you specify a snapshot that is enabled for fast snapshot restore and a volume initialization rate, \n the volume will be initialized at the specified rate instead of fast snapshot restore.

    \n
    \n
  • \n
  • \n

    You want to create a volume that is initialized at the default rate.

    \n
  • \n
\n

This parameter is not supported when using CreateImage \n and DescribeImages.

\n

Valid range: 100 - 300 MiB/s

" } }, "AvailabilityZoneId": { @@ -51878,7 +53352,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "PreserveClientIp", - "smithy.api#documentation": "

Indicates whether your client's IP address is preserved as the source. The value is true or false.

\n
    \n
  • \n

    If true, your client's IP address is used when you connect to a resource.

    \n
  • \n
  • \n

    If false, the elastic network interface IP address is used when you connect to a resource.

    \n
  • \n
\n

Default: true\n

", + "smithy.api#documentation": "

Indicates whether your client's IP address is preserved as the source when you connect to a resource.\n The following are the possible values.

\n
    \n
  • \n

    \n true - Use the IP address of the client. Your instance must have an IPv4 address.

    \n
  • \n
  • \n

    \n false - Use the IP address of the network interface.

    \n
  • \n
\n

Default: false\n

", "smithy.api#xmlName": "preserveClientIp" } }, @@ -51916,7 +53390,7 @@ } }, "traits": { - "smithy.api#documentation": "

The EC2 Instance Connect Endpoint.

" + "smithy.api#documentation": "

Describes an EC2 Instance Connect Endpoint.

" } }, "com.amazonaws.ec2#Ec2InstanceConnectEndpointState": { @@ -52698,6 +54172,69 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#EnableCapacityManager": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#EnableCapacityManagerRequest" + }, + "output": { + "target": "com.amazonaws.ec2#EnableCapacityManagerResult" + }, + "traits": { + "smithy.api#documentation": "

\nEnables EC2 Capacity Manager for your account. This starts data ingestion for your EC2 capacity usage across On-Demand, Spot, and Capacity Reservations. \nInitial data processing may take several hours to complete.\n

" + } + }, + "com.amazonaws.ec2#EnableCapacityManagerRequest": { + "type": "structure", + "members": { + "OrganizationsAccess": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nSpecifies whether to enable cross-account access for Amazon Web Services Organizations. When enabled, Capacity Manager can aggregate data from all accounts in your organization. Default is false.\n

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. \nIf you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\nUnique, case-sensitive identifier that you provide to ensure the idempotency of the request. \n

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#EnableCapacityManagerResult": { + "type": "structure", + "members": { + "CapacityManagerStatus": { + "target": "com.amazonaws.ec2#CapacityManagerStatus", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerStatus", + "smithy.api#documentation": "

\nThe current status of Capacity Manager after the enable operation.\n

", + "smithy.api#xmlName": "capacityManagerStatus" + } + }, + "OrganizationsAccess": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationsAccess", + "smithy.api#documentation": "

\nIndicates whether Organizations access is enabled for cross-account data aggregation.\n

", + "smithy.api#xmlName": "organizationsAccess" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#EnableEbsEncryptionByDefault": { "type": "operation", "input": { @@ -55669,6 +57206,113 @@ "smithy.api#documentation": "

A filter name and value pair that is used to return a more specific list of results from a describe operation. \n Filters can be used to match a set of resources by specific criteria, such as tags, attributes, or IDs.

\n

If you specify multiple filters, the filters are joined with an AND, and the request returns only \n results that match all of the specified filters.

\n

For more information, see List and filter using the CLI and API in the Amazon EC2 User Guide.

" } }, + "com.amazonaws.ec2#FilterByDimension": { + "type": "enum", + "members": { + "RESOURCE_REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource-region" + } + }, + "AVAILABILITY_ZONE_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "availability-zone-id" + } + }, + "ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "account-id" + } + }, + "INSTANCE_FAMILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-family" + } + }, + "INSTANCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-type" + } + }, + "INSTANCE_PLATFORM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-platform" + } + }, + "RESERVATION_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-arn" + } + }, + "RESERVATION_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-id" + } + }, + "RESERVATION_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-type" + } + }, + "RESERVATION_CREATE_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-create-timestamp" + } + }, + "RESERVATION_START_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-start-timestamp" + } + }, + "RESERVATION_END_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-end-timestamp" + } + }, + "RESERVATION_END_DATE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-end-date-type" + } + }, + "TENANCY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tenancy" + } + }, + "RESERVATION_STATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-state" + } + }, + "RESERVATION_INSTANCE_MATCH_CRITERIA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-instance-match-criteria" + } + }, + "RESERVATION_UNUSED_FINANCIAL_OWNER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-unused-financial-owner" + } + } + } + }, "com.amazonaws.ec2#FilterList": { "type": "list", "member": { @@ -57836,6 +59480,318 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#GetCapacityManagerAttributes": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetCapacityManagerAttributesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetCapacityManagerAttributesResult" + }, + "traits": { + "smithy.api#documentation": "

\nRetrieves the current configuration and status of EC2 Capacity Manager for your account, including enablement status, Organizations access settings, and data ingestion status.\n

" + } + }, + "com.amazonaws.ec2#GetCapacityManagerAttributesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. \nIf you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetCapacityManagerAttributesResult": { + "type": "structure", + "members": { + "CapacityManagerStatus": { + "target": "com.amazonaws.ec2#CapacityManagerStatus", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerStatus", + "smithy.api#documentation": "

\nThe current status of Capacity Manager.\n

", + "smithy.api#xmlName": "capacityManagerStatus" + } + }, + "OrganizationsAccess": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationsAccess", + "smithy.api#documentation": "

\nIndicates whether Organizations access is enabled for cross-account data aggregation.\n

", + "smithy.api#xmlName": "organizationsAccess" + } + }, + "DataExportCount": { + "target": "com.amazonaws.ec2#Integer", + "traits": { + "aws.protocols#ec2QueryName": "DataExportCount", + "smithy.api#documentation": "

\nThe number of active data export configurations for this account. This count includes all data exports regardless of their current delivery status.\n

", + "smithy.api#xmlName": "dataExportCount" + } + }, + "IngestionStatus": { + "target": "com.amazonaws.ec2#IngestionStatus", + "traits": { + "aws.protocols#ec2QueryName": "IngestionStatus", + "smithy.api#documentation": "

\nThe current data ingestion status. Initial ingestion may take several hours after enabling Capacity Manager.\n

", + "smithy.api#xmlName": "ingestionStatus" + } + }, + "IngestionStatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IngestionStatusMessage", + "smithy.api#documentation": "

\nA descriptive message providing additional details about the current ingestion status. This may include error information if ingestion has \nfailed or progress details during initial setup.\n

", + "smithy.api#xmlName": "ingestionStatusMessage" + } + }, + "EarliestDatapointTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "EarliestDatapointTimestamp", + "smithy.api#documentation": "

\nThe timestamp of the earliest data point available in Capacity Manager, in milliseconds since epoch. This indicates how far back historical data is available for queries.\n

", + "smithy.api#xmlName": "earliestDatapointTimestamp" + } + }, + "LatestDatapointTimestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "LatestDatapointTimestamp", + "smithy.api#documentation": "

\nThe timestamp of the most recent data point ingested by Capacity Manager, in milliseconds since epoch. This indicates how current your capacity data is.\n

", + "smithy.api#xmlName": "latestDatapointTimestamp" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#GetCapacityManagerMetricData": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetCapacityManagerMetricDataRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetCapacityManagerMetricDataResult" + }, + "traits": { + "smithy.api#documentation": "

\nRetrieves capacity usage metrics for your EC2 resources. Returns time-series data for metrics like unused capacity, utilization rates, and costs \nacross On-Demand, Spot, and Capacity Reservations. Data can be grouped and filtered by various dimensions such as region, account, and instance family.\n

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "MetricDataResults", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetCapacityManagerMetricDataRequest": { + "type": "structure", + "members": { + "MetricNames": { + "target": "com.amazonaws.ec2#MetricSet", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe names of the metrics to retrieve. Maximum of 10 metrics per request.\n

", + "smithy.api#required": {}, + "smithy.api#xmlName": "MetricName" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe start time for the metric data query, in ISO 8601 format. The time range (end time - start time) must be a multiple of the specified period.\n

", + "smithy.api#required": {} + } + }, + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe end time for the metric data query, in ISO 8601 format. If the end time is beyond the latest ingested data, it will be automatically adjusted to the latest available data point.\n

", + "smithy.api#required": {} + } + }, + "Period": { + "target": "com.amazonaws.ec2#Period", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe granularity, in seconds, of the returned data points. \n

", + "smithy.api#required": {} + } + }, + "GroupBy": { + "target": "com.amazonaws.ec2#GroupBySet", + "traits": { + "smithy.api#documentation": "

\nThe dimensions by which to group the metric data. This determines how the data is aggregated and returned.\n

", + "smithy.api#xmlName": "GroupBy" + } + }, + "FilterBy": { + "target": "com.amazonaws.ec2#CapacityManagerConditionSet", + "traits": { + "smithy.api#documentation": "

\nConditions to filter the metric data. Each filter specifies a dimension, comparison operator ('equals', 'in'), and values to match against.\n

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#MaxResults", + "traits": { + "smithy.api#documentation": "

\nThe maximum number of data points to return. Valid range is 1 to 100,000. Use with NextToken for pagination of large result sets.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

\nThe token for the next page of results. Use this value in a subsequent call to retrieve additional data points.\n

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. If you have \nthe required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetCapacityManagerMetricDataResult": { + "type": "structure", + "members": { + "MetricDataResults": { + "target": "com.amazonaws.ec2#MetricDataResultSet", + "traits": { + "aws.protocols#ec2QueryName": "MetricDataResultSet", + "smithy.api#documentation": "

\nThe metric data points returned by the query. Each result contains dimension values, timestamp, and metric values with their associated statistics.\n

", + "smithy.api#xmlName": "metricDataResultSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

\nThe token to use to retrieve the next page of results. This value is null when there are no more results to return.\n

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#GetCapacityManagerMetricDimensions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetCapacityManagerMetricDimensionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetCapacityManagerMetricDimensionsResult" + }, + "traits": { + "smithy.api#documentation": "

\nRetrieves the available dimension values for capacity metrics within a specified time range. This is useful for discovering what accounts, \nregions, instance families, and other dimensions have data available for filtering and grouping.\n

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "MetricDimensionResults", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetCapacityManagerMetricDimensionsRequest": { + "type": "structure", + "members": { + "GroupBy": { + "target": "com.amazonaws.ec2#GroupBySet", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe dimensions to group by when retrieving available dimension values. This determines which dimension combinations are returned. Required parameter.\n

", + "smithy.api#required": {}, + "smithy.api#xmlName": "GroupBy" + } + }, + "FilterBy": { + "target": "com.amazonaws.ec2#CapacityManagerConditionSet", + "traits": { + "smithy.api#documentation": "

\nConditions to filter which dimension values are returned. Each filter specifies a dimension, comparison operator, and values to match against.\n

" + } + }, + "StartTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe start time for the dimension query, in ISO 8601 format. Only dimensions with data in this time range will be returned. \n

", + "smithy.api#required": {} + } + }, + "EndTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe end time for the dimension query, in ISO 8601 format. Only dimensions with data in this time range will be returned. \n

", + "smithy.api#required": {} + } + }, + "MetricNames": { + "target": "com.amazonaws.ec2#MetricSet", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\nThe metric names to use as an additional filter when retrieving dimensions. Only dimensions that have data for these \nmetrics will be returned. Required parameter with maximum size of 1 for v1.\n

", + "smithy.api#required": {}, + "smithy.api#xmlName": "MetricName" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#MaxResults", + "traits": { + "smithy.api#documentation": "

\nThe maximum number of dimension combinations to return. Valid range is 1 to 1000. Use with NextToken for pagination.\n

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

\nThe token for the next page of results. Use this value in a subsequent call to retrieve additional dimension values.\n

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides \nan error response. If you have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetCapacityManagerMetricDimensionsResult": { + "type": "structure", + "members": { + "MetricDimensionResults": { + "target": "com.amazonaws.ec2#MetricDimensionResultSet", + "traits": { + "aws.protocols#ec2QueryName": "MetricDimensionResultSet", + "smithy.api#documentation": "

\nThe available dimension combinations that have data within the specified time range and filters.\n

", + "smithy.api#xmlName": "metricDimensionResultSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

\nThe token to use to retrieve the next page of results. This value is null when there are no more results to return.\n

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#GetCapacityReservationUsage": { "type": "operation", "input": { @@ -59584,6 +61540,263 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#GetIpamPrefixListResolverRules": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverRulesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverRulesResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves the CIDR selection rules for an IPAM prefix list resolver. Use this operation to view the business logic that determines which CIDRs are selected for synchronization with prefix lists.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Rules", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverRulesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver whose rules you want to retrieve.

", + "smithy.api#required": {} + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters to limit the results.

", + "smithy.api#xmlName": "Filter" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverRulesResult": { + "type": "structure", + "members": { + "Rules": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleSet", + "traits": { + "aws.protocols#ec2QueryName": "RuleSet", + "smithy.api#documentation": "

The CIDR selection rules for the IPAM prefix list resolver.

", + "smithy.api#xmlName": "ruleSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverVersionEntries": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverVersionEntriesRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverVersionEntriesResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves the CIDR entries for a specific version of an IPAM prefix list resolver. This shows the actual CIDRs that were selected and synchronized at a particular point in time.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Entries", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverVersionEntriesRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver whose version entries you want to retrieve.

", + "smithy.api#required": {} + } + }, + "IpamPrefixListResolverVersion": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The version number of the resolver for which to retrieve CIDR entries. If not specified, the latest version is used.

", + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverVersionEntriesResult": { + "type": "structure", + "members": { + "Entries": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverVersionEntrySet", + "traits": { + "aws.protocols#ec2QueryName": "EntrySet", + "smithy.api#documentation": "

The CIDR entries for the specified resolver version.

", + "smithy.api#xmlName": "entrySet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverVersionsRequest" + }, + "output": { + "target": "com.amazonaws.ec2#GetIpamPrefixListResolverVersionsResult" + }, + "traits": { + "smithy.api#documentation": "

Retrieves version information for an IPAM prefix list resolver.

\n

Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list\nchanges due to infrastructure changes.

\n

\n Version example:\n

\n

\n Initial State (Version 1)\n

\n

Production environment:

\n
    \n
  • \n

    vpc-prod-web (10.1.0.0/16) - tagged env=prod

    \n
  • \n
  • \n

    vpc-prod-db (10.2.0.0/16) - tagged env=prod

    \n
  • \n
\n

Resolver rule: Include all VPCs tagged env=prod

\n

\n Version 1 CIDRs: 10.1.0.0/16, 10.2.0.0/16

\n

\n Infrastructure Change (Version 2)\n

\n

New VPC added:

\n
    \n
  • \n

    vpc-prod-api (10.3.0.0/16) - tagged env=prod

    \n
  • \n
\n

IPAM automatically detects the change and creates a new version.

\n

\n Version 2 CIDRs: 10.1.0.0/16, 10.2.0.0/16, 10.3.0.0/16

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "IpamPrefixListResolverVersions", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverVersionsRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver whose versions you want to retrieve.

", + "smithy.api#required": {} + } + }, + "IpamPrefixListResolverVersions": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverVersionNumberSet", + "traits": { + "smithy.api#documentation": "

Specific version numbers to retrieve. If not specified, all versions are returned.

", + "smithy.api#xmlName": "IpamPrefixListResolverVersion" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#IpamMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return for this request. To get the next page of items, make another request with the token returned in the output. For more information, see Pagination.

" + } + }, + "Filters": { + "target": "com.amazonaws.ec2#FilterList", + "traits": { + "smithy.api#documentation": "

One or more filters to limit the results.

", + "smithy.api#xmlName": "Filter" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#GetIpamPrefixListResolverVersionsResult": { + "type": "structure", + "members": { + "IpamPrefixListResolverVersions": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverVersionSet", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverVersionSet", + "smithy.api#documentation": "

Information about the IPAM prefix list resolver versions.

", + "smithy.api#xmlName": "ipamPrefixListResolverVersionSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#NextToken", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#GetIpamResourceCidrs": { "type": "operation", "input": { @@ -60807,7 +63020,7 @@ "target": "com.amazonaws.ec2#SpotPlacementScores", "traits": { "aws.protocols#ec2QueryName": "SpotPlacementScoreSet", - "smithy.api#documentation": "

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale\n from 1 to 10. Each score\u2028 reflects how likely it is that each Region or Availability Zone\n will succeed at fulfilling the specified target capacity\u2028 at the time of the Spot\n placement score request. A score of 10 means that your Spot\n capacity request is highly likely to succeed in that Region or Availability Zone.

\n

If you request a Spot placement score for Regions, a high score assumes that your fleet\n request will be configured to use all Availability Zones and the\n capacity-optimized allocation strategy. If you request a Spot placement\n score for Availability Zones, a high score assumes that your fleet request will be\n configured to use a single Availability Zone and the capacity-optimized\n allocation strategy.

\n

Different\u2028 Regions or Availability Zones might return the same score.

\n \n

The Spot placement score serves as a recommendation only. No score guarantees that your\n Spot request will be fully or partially fulfilled.

\n
", + "smithy.api#documentation": "

The Spot placement score for the top 10 Regions or Availability Zones, scored on a scale\n from 1 to 10. Each score\u2028 reflects how likely it is that each Region or Availability Zone\n will succeed at fulfilling the specified target capacity\u2028 at the time of the Spot\n placement score request. A score of 10 means that your Spot\n capacity request is highly likely to succeed in that Region or Availability Zone.

\n

If you request a Spot placement score for Regions, a high score assumes that your fleet\n request will be configured to use all Availability Zones and the\n capacity-optimized allocation strategy. If you request a Spot placement\n score for Availability Zones, a high score assumes that your fleet request will be\n configured to use a single Availability Zone and the capacity-optimized\n allocation strategy.

\n

Different\u2028 Regions or Availability Zones might return the same score.

\n \n

The Spot placement score serves as a recommendation only. No score guarantees that your\n Spot request will be fully or partially fulfilled.

\n
", "smithy.api#xmlName": "spotPlacementScoreSet" } }, @@ -62018,6 +64231,128 @@ "smithy.api#documentation": "

Describes the GPU accelerators for the instance type.

" } }, + "com.amazonaws.ec2#GroupBy": { + "type": "enum", + "members": { + "RESOURCE_REGION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resource-region" + } + }, + "AVAILABILITY_ZONE_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "availability-zone-id" + } + }, + "ACCOUNT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "account-id" + } + }, + "INSTANCE_FAMILY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-family" + } + }, + "INSTANCE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-type" + } + }, + "INSTANCE_PLATFORM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "instance-platform" + } + }, + "RESERVATION_ARN": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-arn" + } + }, + "RESERVATION_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-id" + } + }, + "RESERVATION_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-type" + } + }, + "RESERVATION_CREATE_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-create-timestamp" + } + }, + "RESERVATION_START_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-start-timestamp" + } + }, + "RESERVATION_END_TIMESTAMP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-end-timestamp" + } + }, + "RESERVATION_END_DATE_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-end-date-type" + } + }, + "TENANCY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "tenancy" + } + }, + "RESERVATION_STATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-state" + } + }, + "RESERVATION_INSTANCE_MATCH_CRITERIA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-instance-match-criteria" + } + }, + "RESERVATION_UNUSED_FINANCIAL_OWNER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-unused-financial-owner" + } + } + } + }, + "com.amazonaws.ec2#GroupBySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#GroupBy", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, "com.amazonaws.ec2#GroupIdStringList": { "type": "list", "member": { @@ -65813,6 +68148,29 @@ "com.amazonaws.ec2#InferenceDeviceName": { "type": "string" }, + "com.amazonaws.ec2#IngestionStatus": { + "type": "enum", + "members": { + "INITIAL_INGESTION_IN_PROGRESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "initial-ingestion-in-progress" + } + }, + "INGESTION_COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ingestion-complete" + } + }, + "INGESTION_FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ingestion-failed" + } + } + } + }, "com.amazonaws.ec2#InitializationStatusDetails": { "type": "structure", "members": { @@ -65820,7 +68178,7 @@ "target": "com.amazonaws.ec2#InitializationType", "traits": { "aws.protocols#ec2QueryName": "InitializationType", - "smithy.api#documentation": "

The method used for volume initialization. Possible values include:

\n
    \n
  • \n

    \n default - Volume initialized using the default volume initialization \n rate or fast snapshot restore.

    \n
  • \n
  • \n

    \n provisioned-rate - Volume initialized using an Amazon EBS Provisioned \n Rate for Volume Initialization.

    \n
  • \n
", + "smithy.api#documentation": "

The method used for volume initialization. Possible values include:

\n
    \n
  • \n

    \n default - Volume initialized using the default volume initialization \n rate or fast snapshot restore.

    \n
  • \n
  • \n

    \n provisioned-rate - Volume initialized using an Amazon EBS Provisioned \n Rate for Volume Initialization.

    \n
  • \n
  • \n

    \n volume-copy - Volume copy initialized at the rate for volume copies.

    \n
  • \n
", "smithy.api#xmlName": "initializationType" } }, @@ -65859,6 +68217,12 @@ "traits": { "smithy.api#enumValue": "provisioned-rate" } + }, + "volume_copy": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "volume-copy" + } } } }, @@ -69513,7 +71877,7 @@ "target": "com.amazonaws.ec2#NetworkNodesList", "traits": { "aws.protocols#ec2QueryName": "NetworkNodeSet", - "smithy.api#documentation": "

The network nodes. The nodes are hashed based on your account. Instances from\n different accounts running under the same server will return a different hashed list of\n strings.

", + "smithy.api#documentation": "

The network nodes. The nodes are hashed based on your account. Instances from\n different accounts running under the same server will return a different hashed list of\n strings.

\n

The value is null or empty if:

\n
    \n
  • \n

    The instance type is not supported.

    \n
  • \n
  • \n

    The instance is in a state other than running.

    \n
  • \n
", "smithy.api#xmlName": "networkNodeSet" } }, @@ -69537,7 +71901,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "CapacityBlockId", - "smithy.api#documentation": "

The ID of the Capacity Block. This parameter is only supported for Ultraserver\n instances and identifies instances within the Ultraserver domain.

", + "smithy.api#documentation": "

The ID of the Capacity Block. This parameter is only supported for UltraServer\n instances and identifies instances within the UltraServer domain.

", "smithy.api#xmlName": "capacityBlockId" } } @@ -75728,6 +78092,258 @@ "traits": { "smithy.api#enumValue": "r8gn.metal-48xl" } + }, + "c8i_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.large" + } + }, + "c8i_xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.xlarge" + } + }, + "c8i_2xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.2xlarge" + } + }, + "c8i_4xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.4xlarge" + } + }, + "c8i_8xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.8xlarge" + } + }, + "c8i_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.12xlarge" + } + }, + "c8i_16xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.16xlarge" + } + }, + "c8i_24xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.24xlarge" + } + }, + "c8i_32xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.32xlarge" + } + }, + "c8i_48xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.48xlarge" + } + }, + "c8i_96xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.96xlarge" + } + }, + "c8i_metal_48xl": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.metal-48xl" + } + }, + "c8i_metal_96xl": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i.metal-96xl" + } + }, + "c8i_flex_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.large" + } + }, + "c8i_flex_xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.xlarge" + } + }, + "c8i_flex_2xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.2xlarge" + } + }, + "c8i_flex_4xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.4xlarge" + } + }, + "c8i_flex_8xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.8xlarge" + } + }, + "c8i_flex_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.12xlarge" + } + }, + "c8i_flex_16xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "c8i-flex.16xlarge" + } + }, + "r8gb_medium": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.medium" + } + }, + "r8gb_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.large" + } + }, + "r8gb_xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.xlarge" + } + }, + "r8gb_2xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.2xlarge" + } + }, + "r8gb_4xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.4xlarge" + } + }, + "r8gb_8xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.8xlarge" + } + }, + "r8gb_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.12xlarge" + } + }, + "r8gb_16xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.16xlarge" + } + }, + "r8gb_24xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.24xlarge" + } + }, + "r8gb_metal_24xl": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "r8gb.metal-24xl" + } + }, + "m8a_medium": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.medium" + } + }, + "m8a_large": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.large" + } + }, + "m8a_xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.xlarge" + } + }, + "m8a_2xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.2xlarge" + } + }, + "m8a_4xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.4xlarge" + } + }, + "m8a_8xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.8xlarge" + } + }, + "m8a_12xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.12xlarge" + } + }, + "m8a_16xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.16xlarge" + } + }, + "m8a_24xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.24xlarge" + } + }, + "m8a_48xlarge": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.48xlarge" + } + }, + "m8a_metal_24xl": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.metal-24xl" + } + }, + "m8a_metal_48xl": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "m8a.metal-48xl" + } } } }, @@ -78297,6 +80913,771 @@ } } }, + "com.amazonaws.ec2#IpamPrefixListResolver": { + "type": "structure", + "members": { + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the IPAM prefix list resolver.

", + "smithy.api#xmlName": "ownerId" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverId", + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver.

", + "smithy.api#xmlName": "ipamPrefixListResolverId" + } + }, + "IpamPrefixListResolverArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IPAM prefix list resolver.

", + "smithy.api#xmlName": "ipamPrefixListResolverArn" + } + }, + "IpamArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IPAM associated with this resolver.

", + "smithy.api#xmlName": "ipamArn" + } + }, + "IpamRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamRegion", + "smithy.api#documentation": "

The Amazon Web Services Region where the associated IPAM is located.

", + "smithy.api#xmlName": "ipamRegion" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the IPAM prefix list resolver.

", + "smithy.api#xmlName": "description" + } + }, + "AddressFamily": { + "target": "com.amazonaws.ec2#AddressFamily", + "traits": { + "aws.protocols#ec2QueryName": "AddressFamily", + "smithy.api#documentation": "

The address family (IPv4 or IPv6) for the IPAM prefix list resolver.

", + "smithy.api#xmlName": "addressFamily" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the IPAM prefix list resolver. Valid values include create-in-progress, create-complete, create-failed, modify-in-progress, modify-complete, modify-failed, delete-in-progress, delete-complete, and delete-failed.

", + "smithy.api#xmlName": "state" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the IPAM prefix list resolver.

", + "smithy.api#xmlName": "tagSet" + } + }, + "LastVersionCreationStatus": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverVersionCreationStatus", + "traits": { + "aws.protocols#ec2QueryName": "LastVersionCreationStatus", + "smithy.api#documentation": "

The status for the last time a version was created.

\n

Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list\nchanges due to infrastructure changes.

", + "smithy.api#xmlName": "lastVersionCreationStatus" + } + }, + "LastVersionCreationStatusMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "LastVersionCreationStatusMessage", + "smithy.api#documentation": "

The status message for the last time a version was created.

\n

Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list\nchanges due to infrastructure changes.

", + "smithy.api#xmlName": "lastVersionCreationStatusMessage" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPAM prefix list resolver.

\n

An IPAM prefix list resolver is a component that manages the synchronization between IPAM's CIDR selection rules and customer-managed prefix lists. It automates connectivity configurations by selecting CIDRs from IPAM's database based on your business logic and synchronizing them with prefix lists used in resources such as VPC route tables and security groups.

" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPrefixListResolverRule": { + "type": "structure", + "members": { + "RuleType": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleType", + "traits": { + "aws.protocols#ec2QueryName": "RuleType", + "smithy.api#documentation": "

The type of CIDR selection rule. Valid values include include for selecting CIDRs that match the conditions, and exclude for excluding CIDRs that match the conditions.

", + "smithy.api#xmlName": "ruleType" + } + }, + "StaticCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StaticCidr", + "smithy.api#documentation": "

A fixed list of CIDRs that do not change (like a manual list replicated across Regions).

", + "smithy.api#xmlName": "staticCidr" + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "aws.protocols#ec2QueryName": "IpamScopeId", + "smithy.api#documentation": "

The ID of the IPAM scope from which to select CIDRs. This determines whether to select from public or private IP address space.

", + "smithy.api#xmlName": "ipamScopeId" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", + "traits": { + "aws.protocols#ec2QueryName": "ResourceType", + "smithy.api#documentation": "

For rules of type ipam-resource-cidr, this is the resource type.

", + "smithy.api#xmlName": "resourceType" + } + }, + "Conditions": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionSet", + "traits": { + "aws.protocols#ec2QueryName": "ConditionSet", + "smithy.api#documentation": "

The conditions that determine which CIDRs are selected by this rule. Conditions specify criteria such as resource type, tags, account IDs, and Regions.

", + "smithy.api#xmlName": "conditionSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a CIDR selection rule.

\n

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleCondition": { + "type": "structure", + "members": { + "Operation": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionOperation", + "traits": { + "aws.protocols#ec2QueryName": "Operation", + "smithy.api#documentation": "

The operation to perform when evaluating this condition. Valid values include equals, not-equals, contains, and not-contains.

", + "smithy.api#xmlName": "operation" + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamPoolId", + "smithy.api#documentation": "

The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool.

", + "smithy.api#xmlName": "ipamPoolId" + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceId", + "smithy.api#documentation": "

The ID of the Amazon Web Services resource to match against. This condition selects CIDRs associated with the specified resource.

", + "smithy.api#xmlName": "resourceId" + } + }, + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceOwner", + "smithy.api#documentation": "

The Amazon Web Services account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account.

", + "smithy.api#xmlName": "resourceOwner" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ResourceRegion", + "smithy.api#documentation": "

The Amazon Web Services Region where the resources are located. This condition selects CIDRs from resources in the specified Region.

", + "smithy.api#xmlName": "resourceRegion" + } + }, + "ResourceTag": { + "target": "com.amazonaws.ec2#IpamResourceTag", + "traits": { + "aws.protocols#ec2QueryName": "ResourceTag", + "smithy.api#documentation": "

A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag.

", + "smithy.api#xmlName": "resourceTag" + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range.

", + "smithy.api#xmlName": "cidr" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a condition within a CIDR selection rule. Conditions define the criteria for selecting CIDRs from IPAM's database based on resource attributes.

\n

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

\n

There are three rule types:

\n
    \n
  • \n

    \n Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions).

    \n
  • \n
  • \n

    \n IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool).

    \n
  • \n
  • \n

    \n Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope.

    \n
  • \n
\n

Condition availability by resource type:

\n
    \n
  • \n

    Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions.

    \n
      \n
    • \n

      Condition available for the IPAM pool CIDR resource type:

      \n
        \n
      • \n

        Property:

        \n
          \n
        • \n

          IPAM Pool ID

          \n
        • \n
        • \n

          CIDR (like 10.24.34.0/23)

          \n
        • \n
        \n
      • \n
      • \n

        Operation: Equals/Not equals

        \n
      • \n
      • \n

        Value: The value on which to match the condition

        \n
      • \n
      \n
    • \n
    • \n

      Conditions for the Scope resource CIDR resource type:

      \n
        \n
      • \n

        Property:

        \n
          \n
        • \n

          Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0)

          \n
        • \n
        • \n

          Resource type (like VPC or Subnet)

          \n
        • \n
        • \n

          Resource owner (like 111122223333)

          \n
        • \n
        • \n

          Resource region (like us-east-1)

          \n
        • \n
        • \n

          Resource tag (like key: name, value: dev-vpc-1)

          \n
        • \n
        • \n

          CIDR (like 10.24.34.0/23)

          \n
        • \n
        \n
      • \n
      • \n

        Operation: Equals/Not equals

        \n
      • \n
      • \n

        Value: The value on which to match the condition

        \n
      • \n
      \n
    • \n
    • \n

      When setting conditions for a rule, one or more conditions is required.

      \n
    • \n
    \n
  • \n
" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionOperation": { + "type": "enum", + "members": { + "equals": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "equals" + } + }, + "not_equals": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "not-equals" + } + }, + "subnet_of": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "subnet-of" + } + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionRequest": { + "type": "structure", + "members": { + "Operation": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionOperation", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The operation to perform when evaluating this condition.

", + "smithy.api#required": {} + } + }, + "IpamPoolId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The ID of the IPAM pool to match against. This condition selects CIDRs that belong to the specified IPAM pool.

" + } + }, + "ResourceId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The ID of the Amazon Web Services resource to match against. This condition selects CIDRs associated with the specified resource.

" + } + }, + "ResourceOwner": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID that owns the resources to match against. This condition selects CIDRs from resources owned by the specified account.

" + } + }, + "ResourceRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region where the resources are located. This condition selects CIDRs from resources in the specified Region.

" + } + }, + "ResourceTag": { + "target": "com.amazonaws.ec2#RequestIpamResourceTag", + "traits": { + "smithy.api#documentation": "

A tag key-value pair to match against. This condition selects CIDRs from resources that have the specified tag.

" + } + }, + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A CIDR block to match against. This condition selects CIDRs that fall within or match the specified CIDR range.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a condition used when creating or modifying resolver rules.

\n

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

\n

There are three rule types:

\n
    \n
  • \n

    \n Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions).

    \n
  • \n
  • \n

    \n IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool).

    \n
  • \n
  • \n

    \n Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope.

    \n
  • \n
\n

Condition availability by resource type:

\n
    \n
  • \n

    Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions.

    \n
      \n
    • \n

      Condition available for the IPAM pool CIDR resource type:

      \n
        \n
      • \n

        Property:

        \n
          \n
        • \n

          IPAM Pool ID

          \n
        • \n
        • \n

          CIDR (like 10.24.34.0/23)

          \n
        • \n
        \n
      • \n
      • \n

        Operation: Equals/Not equals

        \n
      • \n
      • \n

        Value: The value on which to match the condition

        \n
      • \n
      \n
    • \n
    • \n

      Conditions for the Scope resource CIDR resource type:

      \n
        \n
      • \n

        Property:

        \n
          \n
        • \n

          Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0)

          \n
        • \n
        • \n

          Resource type (like VPC or Subnet)

          \n
        • \n
        • \n

          Resource owner (like 111122223333)

          \n
        • \n
        • \n

          Resource region (like us-east-1)

          \n
        • \n
        • \n

          Resource tag (like key: name, value: dev-vpc-1)

          \n
        • \n
        • \n

          CIDR (like 10.24.34.0/23)

          \n
        • \n
        \n
      • \n
      • \n

        Operation: Equals/Not equals

        \n
      • \n
      • \n

        Value: The value on which to match the condition

        \n
      • \n
      \n
    • \n
    • \n

      When setting conditions for a rule, one or more conditions is required.

      \n
    • \n
    \n
  • \n
" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionRequestSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionRequest", + "traits": { + "smithy.api#xmlName": "Condition" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleCondition", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleRequest": { + "type": "structure", + "members": { + "RuleType": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleType", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of CIDR selection rule. Valid values include include for selecting CIDRs that match the conditions, and exclude for excluding CIDRs that match the conditions.

", + "smithy.api#required": {} + } + }, + "StaticCidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A fixed list of CIDRs that do not change (like a manual list replicated across Regions).

" + } + }, + "IpamScopeId": { + "target": "com.amazonaws.ec2#IpamScopeId", + "traits": { + "smithy.api#documentation": "

The ID of the IPAM scope from which to select CIDRs. This determines whether to select from public or private IP address space.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.ec2#IpamResourceType", + "traits": { + "smithy.api#documentation": "

For rules of type ipam-resource-cidr, this is the resource type.

" + } + }, + "Conditions": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleConditionRequestSet", + "traits": { + "smithy.api#documentation": "

The conditions that determine which CIDRs are selected by this rule. Conditions specify criteria such as resource type, tags, account IDs, and Regions.

", + "smithy.api#xmlName": "Condition" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a CIDR selection rule to include in a request. This is used when creating or modifying resolver rules.

\n

CIDR selection rules define the business logic for selecting CIDRs from IPAM. If a CIDR matches any of the rules, it will be included. If a rule has multiple conditions, the CIDR has to match every condition of that rule. You can create a prefix list resolver without any CIDR selection rules, but it will generate empty versions (containing no CIDRs) until you add rules.

\n

There are three rule types:

\n
    \n
  • \n

    \n Static CIDR: A fixed list of CIDRs that do not change (like a manual list replicated across Regions).

    \n
  • \n
  • \n

    \n IPAM pool CIDR: CIDRs from specific IPAM pools (like all CIDRs from your IPAM production pool).

    \n
  • \n
  • \n

    \n Scope resource CIDR: CIDRs for Amazon Web Services resources like VPCs, subnets, and EIPs within a specific IPAM scope.

    \n
  • \n
\n

Condition availability by resource type:

\n
    \n
  • \n

    Only 2 of the 3 rule types support conditions - IPAM pool CIDR and Scope resource CIDR. Static CIDR rules cannot have conditions.

    \n
      \n
    • \n

      Condition available for the IPAM pool CIDR resource type:

      \n
        \n
      • \n

        Property:

        \n
          \n
        • \n

          IPAM Pool ID

          \n
        • \n
        • \n

          CIDR (like 10.24.34.0/23)

          \n
        • \n
        \n
      • \n
      • \n

        Operation: Equals/Not equals

        \n
      • \n
      • \n

        Value: The value on which to match the condition

        \n
      • \n
      \n
    • \n
    • \n

      Conditions for the Scope resource CIDR resource type:

      \n
        \n
      • \n

        Property:

        \n
          \n
        • \n

          Resource ID: The unique ID of a resource (like vpc-1234567890abcdef0)

          \n
        • \n
        • \n

          Resource type (like VPC or Subnet)

          \n
        • \n
        • \n

          Resource owner (like 111122223333)

          \n
        • \n
        • \n

          Resource region (like us-east-1)

          \n
        • \n
        • \n

          Resource tag (like key: name, value: dev-vpc-1)

          \n
        • \n
        • \n

          CIDR (like 10.24.34.0/23)

          \n
        • \n
        \n
      • \n
      • \n

        Operation: Equals/Not equals

        \n
      • \n
      • \n

        Value: The value on which to match the condition

        \n
      • \n
      \n
    • \n
    • \n

      When setting conditions for a rule, one or more conditions is required.

      \n
    • \n
    \n
  • \n
" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleRequestSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleRequest", + "traits": { + "smithy.api#xmlName": "Rule" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRule", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverRuleType": { + "type": "enum", + "members": { + "static_cidr": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "static-cidr" + } + }, + "ipam_resource_cidr": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ipam-resource-cidr" + } + }, + "ipam_pool_cidr": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ipam-pool-cidr" + } + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolver", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverState": { + "type": "enum", + "members": { + "create_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-in-progress" + } + }, + "create_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-complete" + } + }, + "create_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-failed" + } + }, + "modify_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-in-progress" + } + }, + "modify_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-complete" + } + }, + "modify_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-failed" + } + }, + "delete_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-in-progress" + } + }, + "delete_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-complete" + } + }, + "delete_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-failed" + } + }, + "isolate_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-in-progress" + } + }, + "isolate_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-complete" + } + }, + "restore_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-in-progress" + } + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverTarget": { + "type": "structure", + "members": { + "IpamPrefixListResolverTargetId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTargetId", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTargetId", + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver target.

", + "smithy.api#xmlName": "ipamPrefixListResolverTargetId" + } + }, + "IpamPrefixListResolverTargetArn": { + "target": "com.amazonaws.ec2#ResourceArn", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTargetArn", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IPAM prefix list resolver target.

", + "smithy.api#xmlName": "ipamPrefixListResolverTargetArn" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverId", + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver associated with this target.

", + "smithy.api#xmlName": "ipamPrefixListResolverId" + } + }, + "OwnerId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "OwnerId", + "smithy.api#documentation": "

The ID of the Amazon Web Services account that owns the IPAM prefix list resolver target.

", + "smithy.api#xmlName": "ownerId" + } + }, + "PrefixListId": { + "target": "com.amazonaws.ec2#PrefixListResourceId", + "traits": { + "aws.protocols#ec2QueryName": "PrefixListId", + "smithy.api#documentation": "

The ID of the managed prefix list associated with this target.

", + "smithy.api#xmlName": "prefixListId" + } + }, + "PrefixListRegion": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "PrefixListRegion", + "smithy.api#documentation": "

The Amazon Web Services Region where the prefix list associated with this target is located.

", + "smithy.api#xmlName": "prefixListRegion" + } + }, + "DesiredVersion": { + "target": "com.amazonaws.ec2#BoxedLong", + "traits": { + "aws.protocols#ec2QueryName": "DesiredVersion", + "smithy.api#documentation": "

The desired version of the prefix list that this target should synchronize with.

", + "smithy.api#xmlName": "desiredVersion" + } + }, + "LastSyncedVersion": { + "target": "com.amazonaws.ec2#BoxedLong", + "traits": { + "aws.protocols#ec2QueryName": "LastSyncedVersion", + "smithy.api#documentation": "

The version of the prefix list that was last successfully synchronized by this target.

", + "smithy.api#xmlName": "lastSyncedVersion" + } + }, + "TrackLatestVersion": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "TrackLatestVersion", + "smithy.api#documentation": "

Indicates whether this target automatically tracks the latest version of the prefix list.

", + "smithy.api#xmlName": "trackLatestVersion" + } + }, + "StateMessage": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "StateMessage", + "smithy.api#documentation": "

A message describing the current state of the IPAM prefix list resolver target, including any error information.

", + "smithy.api#xmlName": "stateMessage" + } + }, + "State": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTargetState", + "traits": { + "aws.protocols#ec2QueryName": "State", + "smithy.api#documentation": "

The current state of the IPAM prefix list resolver target. Valid values include create-in-progress, create-complete, create-failed, modify-in-progress, modify-complete, modify-failed, delete-in-progress, delete-complete, and delete-failed.

", + "smithy.api#xmlName": "state" + } + }, + "Tags": { + "target": "com.amazonaws.ec2#TagList", + "traits": { + "aws.protocols#ec2QueryName": "TagSet", + "smithy.api#documentation": "

The tags assigned to the IPAM prefix list resolver target.

", + "smithy.api#xmlName": "tagSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes an IPAM prefix list resolver target.

\n

An IPAM prefix list resolver target is an association between a specific customer-managed prefix list and an IPAM prefix list resolver. The target enables the resolver to synchronize CIDRs selected by its rules into the specified prefix list, which can then be referenced in Amazon Web Services resources.

" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverTargetId": { + "type": "string" + }, + "com.amazonaws.ec2#IpamPrefixListResolverTargetSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTarget", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverTargetState": { + "type": "enum", + "members": { + "create_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-in-progress" + } + }, + "create_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-complete" + } + }, + "create_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "create-failed" + } + }, + "modify_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-in-progress" + } + }, + "modify_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-complete" + } + }, + "modify_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "modify-failed" + } + }, + "sync_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sync-in-progress" + } + }, + "sync_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sync-complete" + } + }, + "sync_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "sync-failed" + } + }, + "delete_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-in-progress" + } + }, + "delete_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-complete" + } + }, + "delete_failed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delete-failed" + } + }, + "isolate_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-in-progress" + } + }, + "isolate_complete": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "isolate-complete" + } + }, + "restore_in_progress": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "restore-in-progress" + } + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverVersion": { + "type": "structure", + "members": { + "Version": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "aws.protocols#ec2QueryName": "Version", + "smithy.api#documentation": "

The version number of the IPAM prefix list resolver.

\n

Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list\nchanges due to infrastructure changes.

", + "smithy.api#xmlName": "version" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a version of an IPAM prefix list resolver.

\n

Each version is a snapshot of what CIDRs matched your rules at that moment in time. The version number increments every time the CIDR list\nchanges due to infrastructure changes.

\n

\n Version example:\n

\n

\n Initial State (Version 1)\n

\n

Production environment:

\n
    \n
  • \n

    vpc-prod-web (10.1.0.0/16) - tagged env=prod

    \n
  • \n
  • \n

    vpc-prod-db (10.2.0.0/16) - tagged env=prod

    \n
  • \n
\n

Resolver rule: Include all VPCs tagged env=prod

\n

\n Version 1 CIDRs: 10.1.0.0/16, 10.2.0.0/16

\n

\n Infrastructure Change (Version 2)\n

\n

New VPC added:

\n
    \n
  • \n

    vpc-prod-api (10.3.0.0/16) - tagged env=prod

    \n
  • \n
\n

IPAM automatically detects the change and creates a new version.

\n

\n Version 2 CIDRs: 10.1.0.0/16, 10.2.0.0/16, 10.3.0.0/16

" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverVersionCreationStatus": { + "type": "enum", + "members": { + "pending": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "success": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "success" + } + }, + "failure": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failure" + } + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverVersionEntry": { + "type": "structure", + "members": { + "Cidr": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Cidr", + "smithy.api#documentation": "

The CIDR block that was selected and synchronized in this resolver version.

", + "smithy.api#xmlName": "cidr" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a CIDR entry in a specific version of an IPAM prefix list resolver. This represents a CIDR that was selected and synchronized at a particular point in time.

" + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverVersionEntrySet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverVersionEntry", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverVersionNumberSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Long", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#IpamPrefixListResolverVersionSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverVersion", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#IpamPublicAddressAssociationStatus": { "type": "enum", "members": { @@ -78831,7 +82212,7 @@ "target": "com.amazonaws.ec2#IpamResourceDiscoveryAssociationState", "traits": { "aws.protocols#ec2QueryName": "State", - "smithy.api#documentation": "

The lifecycle state of the association when you associate or disassociate a resource discovery.

\n
    \n
  • \n

    \n associate-in-progress - Resource discovery is being associated.

    \n
  • \n
  • \n

    \n associate-complete - Resource discovery association is complete.

    \n
  • \n
  • \n

    \n associate-failed - Resource discovery association has failed.

    \n
  • \n
  • \n

    \n disassociate-in-progress - Resource discovery is being disassociated.

    \n
  • \n
  • \n

    \n disassociate-complete - Resource discovery disassociation is complete.

    \n
  • \n
  • \n

    \n disassociate-failed - Resource discovery disassociation has failed.

    \n
  • \n
  • \n

    \n isolate-in-progress - Amazon Web Services account that created the resource discovery association has been removed and the resource discovery associatation is being isolated.

    \n
  • \n
  • \n

    \n isolate-complete - Resource discovery isolation is complete..

    \n
  • \n
  • \n

    \n restore-in-progress - Resource discovery is being restored.

    \n
  • \n
", + "smithy.api#documentation": "

The lifecycle state of the association when you associate or disassociate a resource discovery.

\n
    \n
  • \n

    \n associate-in-progress - Resource discovery is being associated.

    \n
  • \n
  • \n

    \n associate-complete - Resource discovery association is complete.

    \n
  • \n
  • \n

    \n associate-failed - Resource discovery association has failed.

    \n
  • \n
  • \n

    \n disassociate-in-progress - Resource discovery is being disassociated.

    \n
  • \n
  • \n

    \n disassociate-complete - Resource discovery disassociation is complete.

    \n
  • \n
  • \n

    \n disassociate-failed - Resource discovery disassociation has failed.

    \n
  • \n
  • \n

    \n isolate-in-progress - Amazon Web Services account that created the resource discovery association has been removed and the resource discovery association is being isolated.

    \n
  • \n
  • \n

    \n isolate-complete - Resource discovery isolation is complete.

    \n
  • \n
  • \n

    \n restore-in-progress - Resource discovery is being restored.

    \n
  • \n
", "smithy.api#xmlName": "state" } }, @@ -84262,6 +87643,22 @@ "smithy.api#documentation": "

The ID of the owner of the prefix list.

", "smithy.api#xmlName": "ownerId" } + }, + "IpamPrefixListResolverTargetId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTargetId", + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver target associated with this managed prefix list. When set, this prefix list becomes an IPAM managed prefix list.

\n

An IPAM-managed prefix list is a customer-managed prefix list that has been associated with an IPAM prefix list resolver target. When a prefix list becomes IPAM managed, its CIDRs are automatically synchronized based on the IPAM prefix list resolver's CIDR selection rules, and direct CIDR modifications are restricted.

", + "smithy.api#xmlName": "ipamPrefixListResolverTargetId" + } + }, + "IpamPrefixListResolverSyncEnabled": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverSyncEnabled", + "smithy.api#documentation": "

Indicates whether synchronization with an IPAM prefix list resolver is enabled for this managed prefix list. When enabled, the prefix list CIDRs are automatically updated based on the resolver's CIDR selection rules.

", + "smithy.api#xmlName": "ipamPrefixListResolverSyncEnabled" + } } }, "traits": { @@ -84640,6 +88037,319 @@ } } }, + "com.amazonaws.ec2#Metric": { + "type": "enum", + "members": { + "RESERVATION_TOTAL_CAPACITY_HRS_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-total-capacity-hrs-vcpu" + } + }, + "RESERVATION_TOTAL_CAPACITY_HRS_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-total-capacity-hrs-inst" + } + }, + "RESERVATION_MAX_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-size-vcpu" + } + }, + "RESERVATION_MAX_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-size-inst" + } + }, + "RESERVATION_MIN_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-size-vcpu" + } + }, + "RESERVATION_MIN_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-size-inst" + } + }, + "RESERVATION_UNUSED_TOTAL_CAPACITY_HRS_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-unused-total-capacity-hrs-vcpu" + } + }, + "RESERVATION_UNUSED_TOTAL_CAPACITY_HRS_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-unused-total-capacity-hrs-inst" + } + }, + "RESERVATION_UNUSED_TOTAL_ESTIMATED_COST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-unused-total-estimated-cost" + } + }, + "RESERVATION_MAX_UNUSED_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-unused-size-vcpu" + } + }, + "RESERVATION_MAX_UNUSED_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-unused-size-inst" + } + }, + "RESERVATION_MIN_UNUSED_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-unused-size-vcpu" + } + }, + "RESERVATION_MIN_UNUSED_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-unused-size-inst" + } + }, + "RESERVATION_MAX_UTILIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-utilization" + } + }, + "RESERVATION_MIN_UTILIZATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-utilization" + } + }, + "RESERVATION_AVG_UTILIZATION_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-avg-utilization-vcpu" + } + }, + "RESERVATION_AVG_UTILIZATION_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-avg-utilization-inst" + } + }, + "RESERVATION_TOTAL_COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-total-count" + } + }, + "RESERVATION_TOTAL_ESTIMATED_COST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-total-estimated-cost" + } + }, + "RESERVATION_AVG_FUTURE_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-avg-future-size-vcpu" + } + }, + "RESERVATION_AVG_FUTURE_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-avg-future-size-inst" + } + }, + "RESERVATION_MIN_FUTURE_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-future-size-vcpu" + } + }, + "RESERVATION_MIN_FUTURE_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-future-size-inst" + } + }, + "RESERVATION_MAX_FUTURE_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-future-size-vcpu" + } + }, + "RESERVATION_MAX_FUTURE_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-future-size-inst" + } + }, + "RESERVATION_AVG_COMMITTED_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-avg-committed-size-vcpu" + } + }, + "RESERVATION_AVG_COMMITTED_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-avg-committed-size-inst" + } + }, + "RESERVATION_MAX_COMMITTED_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-committed-size-vcpu" + } + }, + "RESERVATION_MAX_COMMITTED_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-max-committed-size-inst" + } + }, + "RESERVATION_MIN_COMMITTED_SIZE_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-committed-size-vcpu" + } + }, + "RESERVATION_MIN_COMMITTED_SIZE_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reservation-min-committed-size-inst" + } + }, + "RESERVED_TOTAL_USAGE_HRS_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reserved-total-usage-hrs-vcpu" + } + }, + "RESERVED_TOTAL_USAGE_HRS_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reserved-total-usage-hrs-inst" + } + }, + "RESERVED_TOTAL_ESTIMATED_COST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reserved-total-estimated-cost" + } + }, + "UNRESERVED_TOTAL_USAGE_HRS_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unreserved-total-usage-hrs-vcpu" + } + }, + "UNRESERVED_TOTAL_USAGE_HRS_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unreserved-total-usage-hrs-inst" + } + }, + "UNRESERVED_TOTAL_ESTIMATED_COST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unreserved-total-estimated-cost" + } + }, + "SPOT_TOTAL_USAGE_HRS_VCPU": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-total-usage-hrs-vcpu" + } + }, + "SPOT_TOTAL_USAGE_HRS_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-total-usage-hrs-inst" + } + }, + "SPOT_TOTAL_ESTIMATED_COST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-total-estimated-cost" + } + }, + "SPOT_AVG_RUN_TIME_BEFORE_INTERRUPTION_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-avg-run-time-before-interruption-inst" + } + }, + "SPOT_MAX_RUN_TIME_BEFORE_INTERRUPTION_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-max-run-time-before-interruption-inst" + } + }, + "SPOT_MIN_RUN_TIME_BEFORE_INTERRUPTION_INST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "spot-min-run-time-before-interruption-inst" + } + } + } + }, + "com.amazonaws.ec2#MetricDataResult": { + "type": "structure", + "members": { + "Dimension": { + "target": "com.amazonaws.ec2#CapacityManagerDimension", + "traits": { + "aws.protocols#ec2QueryName": "Dimension", + "smithy.api#documentation": "

\nThe dimension values that identify this specific data point, such as account ID, region, and instance family.\n

", + "smithy.api#xmlName": "dimension" + } + }, + "Timestamp": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "Timestamp", + "smithy.api#documentation": "

\nThe timestamp for this data point, indicating when the capacity usage occurred.\n

", + "smithy.api#xmlName": "timestamp" + } + }, + "MetricValues": { + "target": "com.amazonaws.ec2#MetricValueSet", + "traits": { + "aws.protocols#ec2QueryName": "MetricValueSet", + "smithy.api#documentation": "

\nThe metric values and statistics for this data point, containing the actual capacity usage numbers.\n

", + "smithy.api#xmlName": "metricValueSet" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nContains a single data point from a capacity metrics query, including the dimension values, timestamp, and metric values for that specific combination.\n

" + } + }, + "com.amazonaws.ec2#MetricDataResultSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#MetricDataResult", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, + "com.amazonaws.ec2#MetricDimensionResultSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#CapacityManagerDimension", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#MetricPoint": { "type": "structure", "members": { @@ -84688,6 +88398,21 @@ } } }, + "com.amazonaws.ec2#MetricSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#Metric", + "traits": { + "smithy.api#xmlName": "item" + } + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 40 + } + } + }, "com.amazonaws.ec2#MetricType": { "type": "enum", "members": { @@ -84699,6 +88424,39 @@ } } }, + "com.amazonaws.ec2#MetricValue": { + "type": "structure", + "members": { + "Metric": { + "target": "com.amazonaws.ec2#Metric", + "traits": { + "aws.protocols#ec2QueryName": "Metric", + "smithy.api#documentation": "

\nThe name of the metric.\n

", + "smithy.api#xmlName": "metric" + } + }, + "Value": { + "target": "com.amazonaws.ec2#Double", + "traits": { + "aws.protocols#ec2QueryName": "Value", + "smithy.api#documentation": "

\nThe numerical value of the metric for the specified statistic and time period.\n

", + "smithy.api#xmlName": "value" + } + } + }, + "traits": { + "smithy.api#documentation": "

\nRepresents a single metric value with its associated statistic, such as the sum or average of unused capacity hours.\n

" + } + }, + "com.amazonaws.ec2#MetricValueSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#MetricValue", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#MillisecondDateTime": { "type": "timestamp" }, @@ -85998,7 +89756,7 @@ "PreserveClientIp": { "target": "com.amazonaws.ec2#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the client IP address is preserved as the source. The following are the possible values.

\n
    \n
  • \n

    \n true - Use the client IP address as the source.

    \n
  • \n
  • \n

    \n false - Use the network interface IP address as the source.

    \n
  • \n
\n \n

\n PreserveClientIp=true is only supported on IPv4 EC2 Instance Connect\n Endpoints. If modifying PreserveClientIp to true, either\n the endpoint's existing IpAddressType must be ipv4, or if\n modifying IpAddressType in the same request, the new value must be\n ipv4.

\n
\n

Default: false\n

" + "smithy.api#documentation": "

Indicates whether the client IP address is preserved as the source when you connect to a resource. \n The following are the possible values.

\n
    \n
  • \n

    \n true - Use the IP address of the client. Your instance must have an IPv4 address.

    \n
  • \n
  • \n

    \n false - Use the IP address of the network interface.

    \n
  • \n
" } } }, @@ -86013,7 +89771,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Return", - "smithy.api#documentation": "

The return value of the request. Returns true if the specified product\n code is owned by the requester and associated with the specified instance.

", + "smithy.api#documentation": "

Is true if the request succeeds and an error otherwise.

", "smithy.api#xmlName": "return" } } @@ -86808,6 +90566,138 @@ "smithy.api#output": {} } }, + "com.amazonaws.ec2#ModifyIpamPrefixListResolver": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamPrefixListResolverRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamPrefixListResolverResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies an IPAM prefix list resolver. You can update the description and CIDR selection rules. Changes to rules will trigger re-evaluation and potential updates to associated prefix lists.

" + } + }, + "com.amazonaws.ec2#ModifyIpamPrefixListResolverRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver to modify.

", + "smithy.api#required": {} + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

A new description for the IPAM prefix list resolver.

" + } + }, + "Rules": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverRuleRequestSet", + "traits": { + "smithy.api#documentation": "

The updated CIDR selection rules for the resolver. These rules replace the existing rules entirely.

", + "smithy.api#xmlName": "Rule" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyIpamPrefixListResolverResult": { + "type": "structure", + "members": { + "IpamPrefixListResolver": { + "target": "com.amazonaws.ec2#IpamPrefixListResolver", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolver", + "smithy.api#documentation": "

Information about the modified IPAM prefix list resolver.

", + "smithy.api#xmlName": "ipamPrefixListResolver" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.ec2#ModifyIpamPrefixListResolverTarget": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ModifyIpamPrefixListResolverTargetRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ModifyIpamPrefixListResolverTargetResult" + }, + "traits": { + "smithy.api#documentation": "

Modifies an IPAM prefix list resolver target. You can update version tracking settings and the desired version of the target prefix list.

" + } + }, + "com.amazonaws.ec2#ModifyIpamPrefixListResolverTargetRequest": { + "type": "structure", + "members": { + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

A check for whether you have the required permissions for the action without actually making the request \n and provides an error response. If you have the required permissions, the error response is DryRunOperation. \n Otherwise, it is UnauthorizedOperation.

" + } + }, + "IpamPrefixListResolverTargetId": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTargetId", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The ID of the IPAM prefix list resolver target to modify.

", + "smithy.api#required": {} + } + }, + "DesiredVersion": { + "target": "com.amazonaws.ec2#BoxedLong", + "traits": { + "smithy.api#documentation": "

The desired version of the prefix list to target. This allows you to pin the target to a specific version.

" + } + }, + "TrackLatestVersion": { + "target": "com.amazonaws.ec2#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Indicates whether the resolver target should automatically track the latest version of the prefix list. When enabled, the target will always synchronize with the most current version.

\n

Choose this for automatic updates when you want your prefix lists to stay current with infrastructure changes without manual intervention.

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#ModifyIpamPrefixListResolverTargetResult": { + "type": "structure", + "members": { + "IpamPrefixListResolverTarget": { + "target": "com.amazonaws.ec2#IpamPrefixListResolverTarget", + "traits": { + "aws.protocols#ec2QueryName": "IpamPrefixListResolverTarget", + "smithy.api#documentation": "

Information about the modified IPAM prefix list resolver target.

", + "smithy.api#xmlName": "ipamPrefixListResolverTarget" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#ModifyIpamRequest": { "type": "structure", "members": { @@ -87334,6 +91224,12 @@ "traits": { "smithy.api#documentation": "

The maximum number of entries for the prefix list. You cannot modify the entries \n of a prefix list and modify the size of a prefix list at the same time.

\n

If any of the resources that reference the prefix list cannot support the new\n maximum size, the modify operation fails. Check the state message for the IDs of \n the first ten resources that do not support the new maximum size.

" } + }, + "IpamPrefixListResolverSyncEnabled": { + "target": "com.amazonaws.ec2#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

Indicates whether synchronization with an IPAM prefix list resolver should be enabled for this managed prefix list. When enabled, the prefix list CIDRs are automatically updated based on the associated resolver's CIDR selection rules.

" + } } }, "traits": { @@ -89676,7 +93572,7 @@ "Iops": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000 - 80,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n

For io2 volumes, you can achieve up to 256,000 IOPS on \ninstances \nbuilt on the Nitro System. On other instances, you can achieve performance up to 32,000 IOPS.

\n

Default: The existing value is retained if you keep the same volume type. If you change\n the volume type to io1, io2, or gp3, the default is 3,000.

" + "smithy.api#documentation": "

The target IOPS rate of the volume. This parameter is valid only for gp3, io1, and io2 volumes.

\n

The following are the supported values for each volume type:

\n
    \n
  • \n

    \n gp3: 3,000 - 80,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n \n

\n \nInstances built on the Nitro System can support up to 256,000 IOPS. Other instances can support up to 32,000 \nIOPS.

\n
\n

Default: The existing value is retained if you keep the same volume type. If you change\n the volume type to io1, io2, or gp3, the default is 3,000.

" } }, "Throughput": { @@ -92870,6 +96766,14 @@ "smithy.api#documentation": "

The subnets associated with this network interface.

", "smithy.api#xmlName": "associatedSubnetSet" } + }, + "AvailabilityZoneId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "AvailabilityZoneId", + "smithy.api#documentation": "

The ID of the Availability Zone.

", + "smithy.api#xmlName": "availabilityZoneId" + } } }, "traits": { @@ -93570,6 +97474,15 @@ } } }, + "com.amazonaws.ec2#NetworkNodeSet": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#NetworkNodesList": { "type": "list", "member": { @@ -94243,6 +98156,23 @@ } } }, + "com.amazonaws.ec2#OutputFormat": { + "type": "enum", + "members": { + "CSV": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "csv" + } + }, + "PARQUET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "parquet" + } + } + } + }, "com.amazonaws.ec2#OwnerStringList": { "type": "list", "member": { @@ -94940,6 +98870,15 @@ } } }, + "com.amazonaws.ec2#Period": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 3600, + "max": 86400 + } + } + }, "com.amazonaws.ec2#PeriodType": { "type": "enum", "members": { @@ -100829,6 +104768,23 @@ "smithy.api#documentation": "

Describes a launch request for one or more instances, and includes owner, requester,\n and security group information that applies to all instances in the launch\n request.

" } }, + "com.amazonaws.ec2#ReservationEndDateType": { + "type": "enum", + "members": { + "LIMITED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "limited" + } + }, + "UNLIMITED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unlimited" + } + } + } + }, "com.amazonaws.ec2#ReservationFleetInstanceSpecification": { "type": "structure", "members": { @@ -100900,6 +104856,54 @@ "com.amazonaws.ec2#ReservationState": { "type": "enum", "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "active" + } + }, + "EXPIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "expired" + } + }, + "CANCELLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cancelled" + } + }, + "SCHEDULED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "scheduled" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "pending" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "failed" + } + }, + "DELAYED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "delayed" + } + }, + "UNSUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "unsupported" + } + }, "PAYMENT_PENDING": { "target": "smithy.api#Unit", "traits": { @@ -100912,16 +104916,27 @@ "smithy.api#enumValue": "payment-failed" } }, - "ACTIVE": { + "RETIRED": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "active" + "smithy.api#enumValue": "retired" + } + } + } + }, + "com.amazonaws.ec2#ReservationType": { + "type": "enum", + "members": { + "CAPACITY_BLOCK": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-block" } }, - "RETIRED": { + "ODCR": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "retired" + "smithy.api#enumValue": "odcr" } } } @@ -102773,6 +106788,24 @@ "traits": { "smithy.api#enumValue": "mac-modification-task" } + }, + "ipam_prefix_list_resolver": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ipam-prefix-list-resolver" + } + }, + "ipam_prefix_list_resolver_target": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ipam-prefix-list-resolver-target" + } + }, + "capacity_manager_data_export": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "capacity-manager-data-export" + } } } }, @@ -106076,6 +110109,17 @@ } } }, + "com.amazonaws.ec2#Schedule": { + "type": "enum", + "members": { + "HOURLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "hourly" + } + } + } + }, "com.amazonaws.ec2#ScheduledInstance": { "type": "structure", "members": { @@ -110484,7 +114528,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "Score", - "smithy.api#documentation": "

The placement score, on a scale from 1 to 10. A score of\n 10 indicates that your Spot request is highly likely to succeed in this\n Region or Availability Zone. A score of 1 indicates that your Spot request is\n not likely to succeed.

", + "smithy.api#documentation": "

The placement score, on a scale from 1 to 10. A score of\n 10 indicates that your Spot request is highly likely to succeed in this\n Region or Availability Zone. A score of 1 indicates that your Spot request is\n not likely to succeed.

", "smithy.api#xmlName": "score" } } @@ -112905,7 +116949,7 @@ "target": "com.amazonaws.ec2#TerminateInstancesResult" }, "traits": { - "smithy.api#documentation": "

Shuts down the specified instances. This operation is idempotent; if you\n terminate an instance more than once, each call succeeds.

\n

If you specify multiple instances and the request fails (for example, because of a\n single incorrect instance ID), none of the instances are terminated.

\n

If you terminate multiple instances across multiple Availability Zones, and one or\n more of the specified instances are enabled for termination protection, the request\n fails with the following results:

\n
    \n
  • \n

    The specified instances that are in the same Availability Zone as the\n protected instance are not terminated.

    \n
  • \n
  • \n

    The specified instances that are in different Availability Zones, where no\n other specified instances are protected, are successfully terminated.

    \n
  • \n
\n

For example, say you have the following instances:

\n
    \n
  • \n

    Instance A: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance B: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance C: us-east-1b; Protected

    \n
  • \n
  • \n

    Instance D: us-east-1b; not protected

    \n
  • \n
\n

If you attempt to terminate all of these instances in the same request, the request\n reports failure with the following results:

\n
    \n
  • \n

    Instance A and Instance B are successfully terminated because none of the\n specified instances in us-east-1a are enabled for termination\n protection.

    \n
  • \n
  • \n

    Instance C and Instance D fail to terminate because at least one of the\n specified instances in us-east-1b (Instance C) is enabled for\n termination protection.

    \n
  • \n
\n

Terminated instances remain visible after termination (for approximately one\n hour).

\n

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance\n launched. Volumes attached after instance launch continue running.

\n

By default, the TerminateInstances operation includes a graceful operating system (OS)\n shutdown. To bypass the graceful shutdown, use the skipOsShutdown\n parameter; however, this might risk data integrity.

\n

You can stop, start, and terminate EBS-backed instances. You can only terminate\n instance store-backed instances. What happens to an instance differs if you stop or\n terminate it. For example, when you stop an instance, the root device and any other\n devices attached to the instance persist. When you terminate an instance, any attached\n EBS volumes with the DeleteOnTermination block device mapping parameter set\n to true are automatically deleted. For more information about the\n differences between stopping and terminating instances, see Amazon EC2\n instance state changes in the Amazon EC2 User Guide.

\n

When you terminate an instance, we attempt to terminate it forcibly after a short\n while. If your instance appears stuck in the shutting-down state after a period of time,\n there might be an issue with the underlying host computer. For more information about\n terminating and troubleshooting terminating your instances, see Terminate Amazon EC2 instances and\n Troubleshooting terminating your instance in the\n Amazon EC2 User Guide.

", + "smithy.api#documentation": "

Terminates (deletes) the specified instances. This operation is idempotent; if you\n terminate an instance more than once, each call succeeds.

\n \n

\n Terminating an instance is permanent and irreversible.\n

\n

After you terminate an instance, you can no longer connect to it, and it can't be recovered. \n All attached Amazon EBS volumes that are configured to be deleted on termination are also permanently \n deleted and can't be recovered. All data stored on instance store volumes is permanently lost. \n For more information, see \n How instance termination works.

\n

Before you terminate an instance, ensure that you have backed up all data that you need to \n retain after the termination to persistent storage.

\n
\n

If you specify multiple instances and the request fails (for example, because of a\n single incorrect instance ID), none of the instances are terminated.

\n

If you terminate multiple instances across multiple Availability Zones, and one or\n more of the specified instances are enabled for termination protection, the request\n fails with the following results:

\n
    \n
  • \n

    The specified instances that are in the same Availability Zone as the\n protected instance are not terminated.

    \n
  • \n
  • \n

    The specified instances that are in different Availability Zones, where no\n other specified instances are protected, are successfully terminated.

    \n
  • \n
\n

For example, say you have the following instances:

\n
    \n
  • \n

    Instance A: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance B: us-east-1a; Not protected

    \n
  • \n
  • \n

    Instance C: us-east-1b; Protected

    \n
  • \n
  • \n

    Instance D: us-east-1b; not protected

    \n
  • \n
\n

If you attempt to terminate all of these instances in the same request, the request\n reports failure with the following results:

\n
    \n
  • \n

    Instance A and Instance B are successfully terminated because none of the\n specified instances in us-east-1a are enabled for termination\n protection.

    \n
  • \n
  • \n

    Instance C and Instance D fail to terminate because at least one of the\n specified instances in us-east-1b (Instance C) is enabled for\n termination protection.

    \n
  • \n
\n

Terminated instances remain visible after termination (for approximately one\n hour).

\n

By default, Amazon EC2 deletes all EBS volumes that were attached when the instance\n launched. Volumes attached after instance launch continue running.

\n

By default, the TerminateInstances operation includes a graceful operating system (OS)\n shutdown. To bypass the graceful shutdown, use the skipOsShutdown\n parameter; however, this might risk data integrity.

\n

You can stop, start, and terminate EBS-backed instances. You can only terminate\n instance store-backed instances. What happens to an instance differs if you stop or\n terminate it. For example, when you stop an instance, the root device and any other\n devices attached to the instance persist. When you terminate an instance, any attached\n EBS volumes with the DeleteOnTermination block device mapping parameter set\n to true are automatically deleted. For more information about the\n differences between stopping and terminating instances, see Amazon EC2\n instance state changes in the Amazon EC2 User Guide.

\n

When you terminate an instance, we attempt to terminate it forcibly after a short\n while. If your instance appears stuck in the shutting-down state after a period of time,\n there might be an issue with the underlying host computer. For more information about\n terminating and troubleshooting terminating your instances, see Terminate Amazon EC2 instances and\n Troubleshooting terminating your instance in the\n Amazon EC2 User Guide.

", "smithy.api#examples": [ { "title": "To terminate an EC2 instance", @@ -117561,6 +121605,71 @@ } } }, + "com.amazonaws.ec2#UpdateCapacityManagerOrganizationsAccess": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#UpdateCapacityManagerOrganizationsAccessRequest" + }, + "output": { + "target": "com.amazonaws.ec2#UpdateCapacityManagerOrganizationsAccessResult" + }, + "traits": { + "smithy.api#documentation": "

\nUpdates the Organizations access setting for EC2 Capacity Manager. This controls whether Capacity Manager can aggregate \ndata from all accounts in your Amazon Web Services Organization or only from the current account.\n

" + } + }, + "com.amazonaws.ec2#UpdateCapacityManagerOrganizationsAccessRequest": { + "type": "structure", + "members": { + "OrganizationsAccess": { + "target": "com.amazonaws.ec2#BoxedBoolean", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

\n Specifies whether to enable or disable cross-account access for Amazon Web Services Organizations. When enabled, Capacity Manager aggregates data from all accounts in your organization.\n

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

\nChecks whether you have the required permissions for the action, without actually making the request, and provides an error response. If \nyou have the required permissions, the error response is DryRunOperation. Otherwise, it is UnauthorizedOperation.\n

" + } + }, + "ClientToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

\nUnique, case-sensitive identifier that you provide to ensure the idempotency of the request.\n

", + "smithy.api#idempotencyToken": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.ec2#UpdateCapacityManagerOrganizationsAccessResult": { + "type": "structure", + "members": { + "CapacityManagerStatus": { + "target": "com.amazonaws.ec2#CapacityManagerStatus", + "traits": { + "aws.protocols#ec2QueryName": "CapacityManagerStatus", + "smithy.api#documentation": "

\nThe current status of Capacity Manager after the update operation.\n

", + "smithy.api#xmlName": "capacityManagerStatus" + } + }, + "OrganizationsAccess": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "OrganizationsAccess", + "smithy.api#documentation": "

\nThe updated Organizations access setting indicating whether cross-account data aggregation is enabled.\n

", + "smithy.api#xmlName": "organizationsAccess" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.ec2#UpdateSecurityGroupRuleDescriptionsEgress": { "type": "operation", "input": { @@ -119825,6 +123934,14 @@ "smithy.api#xmlName": "outpostArn" } }, + "SourceVolumeId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "SourceVolumeId", + "smithy.api#documentation": "

The ID of the source volume from which the volume copy was created. Only for \n volume copies.

", + "smithy.api#xmlName": "sourceVolumeId" + } + }, "Iops": { "target": "com.amazonaws.ec2#Integer", "traits": { @@ -121491,6 +125608,27 @@ "aws.protocols#ec2QueryName": "VpcPeering", "smithy.api#xmlName": "vpcPeering" } + }, + "Lambda": { + "target": "com.amazonaws.ec2#VpcEncryptionControlExclusion", + "traits": { + "aws.protocols#ec2QueryName": "Lambda", + "smithy.api#xmlName": "lambda" + } + }, + "VpcLattice": { + "target": "com.amazonaws.ec2#VpcEncryptionControlExclusion", + "traits": { + "aws.protocols#ec2QueryName": "VpcLattice", + "smithy.api#xmlName": "vpcLattice" + } + }, + "ElasticFileSystem": { + "target": "com.amazonaws.ec2#VpcEncryptionControlExclusion", + "traits": { + "aws.protocols#ec2QueryName": "ElasticFileSystem", + "smithy.api#xmlName": "elasticFileSystem" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/ecr-public.json b/codegen/sdk-codegen/aws-models/ecr-public.json index f70cb0da5bc..5772525f419 100644 --- a/codegen/sdk-codegen/aws-models/ecr-public.json +++ b/codegen/sdk-codegen/aws-models/ecr-public.json @@ -2866,27 +2866,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ecr.json b/codegen/sdk-codegen/aws-models/ecr.json index 175647a1816..8452af0b59c 100644 --- a/codegen/sdk-codegen/aws-models/ecr.json +++ b/codegen/sdk-codegen/aws-models/ecr.json @@ -217,27 +217,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ecs.json b/codegen/sdk-codegen/aws-models/ecs.json index 19641da23ef..2c8057c0d18 100644 --- a/codegen/sdk-codegen/aws-models/ecs.json +++ b/codegen/sdk-codegen/aws-models/ecs.json @@ -35,18 +35,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The minimum number of accelerators. Instance types with fewer accelerators are excluded from selection.

" + "smithy.api#documentation": "

The minimum number of accelerators. Instance types with fewer accelerators are\n\t\t\texcluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of accelerators. Instance types with more accelerators are excluded from selection.

" + "smithy.api#documentation": "

The maximum number of accelerators. Instance types with more accelerators are excluded\n\t\t\tfrom selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum number of accelerators (such as GPUs) for instance type selection. This is used for workloads that require specific numbers of accelerators.

" + "smithy.api#documentation": "

The minimum and maximum number of accelerators (such as GPUs) for instance type\n\t\t\tselection. This is used for workloads that require specific numbers of\n\t\t\taccelerators.

" } }, "com.amazonaws.ecs#AcceleratorManufacturer": { @@ -185,18 +185,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The minimum total accelerator memory in MiB. Instance types with less accelerator memory are excluded from selection.

" + "smithy.api#documentation": "

The minimum total accelerator memory in MiB. Instance types with less accelerator\n\t\t\tmemory are excluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum total accelerator memory in MiB. Instance types with more accelerator memory are excluded from selection.

" + "smithy.api#documentation": "

The maximum total accelerator memory in MiB. Instance types with more accelerator\n\t\t\tmemory are excluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum total accelerator memory in mebibytes (MiB) for instance type selection. This is important for GPU workloads that require specific amounts of video memory.

" + "smithy.api#documentation": "

The minimum and maximum total accelerator memory in mebibytes (MiB) for instance type\n\t\t\tselection. This is important for GPU workloads that require specific amounts of video\n\t\t\tmemory.

" } }, "com.amazonaws.ecs#AcceleratorType": { @@ -541,7 +541,7 @@ "name": "ecs" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Elastic Container Service\n

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container management service. It makes\n\t\t\tit easy to run, stop, and manage Docker containers. You can host your cluster on a\n\t\t\tserverless infrastructure that's managed by Amazon ECS by launching your services or tasks on\n\t\t\tFargate. For more control, you can host your tasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2)\n\t\t\tor External (on-premises) instances that you manage.

\n

Amazon ECS makes it easy to launch and stop container-based applications with simple API\n\t\t\tcalls. This makes it easy to get the state of your cluster from a centralized service,\n\t\t\tand gives you access to many familiar Amazon EC2 features.

\n

You can use Amazon ECS to schedule the placement of containers across your cluster based on\n\t\t\tyour resource needs, isolation policies, and availability requirements. With Amazon ECS, you\n\t\t\tdon't need to operate your own cluster management and configuration management systems.\n\t\t\tYou also don't need to worry about scaling your management infrastructure.

", + "smithy.api#documentation": "Amazon Elastic Container Service\n

Amazon Elastic Container Service (Amazon ECS) is a highly scalable, fast, container\n\t\t\tmanagement service. It makes it easy to run, stop, and manage Docker containers. You can\n\t\t\thost your cluster on a serverless infrastructure that's managed by Amazon ECS by\n\t\t\tlaunching your services or tasks on Fargate. For more control, you can host your\n\t\t\ttasks on a cluster of Amazon Elastic Compute Cloud (Amazon EC2) or External\n\t\t\t(on-premises) instances that you manage.

\n

Amazon ECS makes it easy to launch and stop container-based applications with simple\n\t\t\tAPI calls. This makes it easy to get the state of your cluster from a centralized\n\t\t\tservice, and gives you access to many familiar Amazon EC2 features.

\n

You can use Amazon ECS to schedule the placement of containers across your cluster\n\t\t\tbased on your resource needs, isolation policies, and availability requirements. With\n\t\t\tAmazon ECS, you don't need to operate your own cluster management and configuration\n\t\t\tmanagement systems. You also don't need to worry about scaling your management\n\t\t\tinfrastructure.

", "smithy.api#title": "Amazon EC2 Container Service", "smithy.api#xmlNamespace": { "uri": "http://ecs.amazonaws.com/doc/2014-11-13/" @@ -553,27 +553,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -1638,7 +1638,7 @@ } }, "traits": { - "smithy.api#documentation": "

An attribute is a name-value pair that's associated with an Amazon ECS object. Use\n\t\t\tattributes to extend the Amazon ECS data model by adding custom metadata to your resources.\n\t\t\tFor more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

An attribute is a name-value pair that's associated with an Amazon ECS object. Use\n\t\t\tattributes to extend the Amazon ECS data model by adding custom metadata to your\n\t\t\tresources. For more information, see Attributes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#AttributeLimitExceededException": { @@ -1668,7 +1668,7 @@ "autoScalingGroupArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the Auto Scaling group, or the Auto Scaling group\n\t\t\tname.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the Auto Scaling group, or the Auto\n\t\t\tScaling group name.

", "smithy.api#required": {} } }, @@ -1681,13 +1681,13 @@ "managedTerminationProtection": { "target": "com.amazonaws.ecs#ManagedTerminationProtection", "traits": { - "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection. The default is off.

\n \n

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

\n
\n

When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an\n\t\t\tAuto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions on as well. For more information, see Instance Protection in the Auto Scaling User Guide.

\n

When managed termination protection is off, your Amazon EC2 instances aren't protected from\n\t\t\ttermination when the Auto Scaling group scales in.

" + "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection. The default is off.

\n \n

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

\n
\n

When managed termination protection is on, Amazon ECS prevents the Amazon EC2\n\t\t\tinstances in an Auto Scaling group that contain tasks from being terminated during a\n\t\t\tscale-in action. The Auto Scaling group and each instance in the Auto Scaling group must\n\t\t\thave instance protection from scale-in actions on as well. For more information, see\n\t\t\t\tInstance Protection in the Auto Scaling User\n\t\t\t\tGuide.

\n

When managed termination protection is off, your Amazon EC2 instances aren't protected\n\t\t\tfrom termination when the Auto Scaling group scales in.

" } }, "managedDraining": { "target": "com.amazonaws.ecs#ManagedDraining", "traits": { - "smithy.api#documentation": "

The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.

" + "smithy.api#documentation": "

The managed draining option for the Auto Scaling group capacity provider. When you\n\t\t\tenable this, Amazon ECS manages and gracefully drains the EC2 container instances that\n\t\t\tare in the Auto Scaling group capacity provider.

" } } }, @@ -1707,13 +1707,13 @@ "managedTerminationProtection": { "target": "com.amazonaws.ecs#ManagedTerminationProtection", "traits": { - "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

\n \n

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

\n
\n

When managed termination protection is on, Amazon ECS prevents the Amazon EC2 instances in an\n\t\t\tAuto Scaling group that contain tasks from being terminated during a scale-in action.\n\t\t\tThe Auto Scaling group and each instance in the Auto Scaling group must have instance\n\t\t\tprotection from scale-in actions on. For more information, see Instance Protection in the Auto Scaling User Guide.

\n

When managed termination protection is off, your Amazon EC2 instances aren't protected from\n\t\t\ttermination when the Auto Scaling group scales in.

" + "smithy.api#documentation": "

The managed termination protection setting to use for the Auto Scaling group capacity\n\t\t\tprovider. This determines whether the Auto Scaling group has managed termination\n\t\t\tprotection.

\n \n

When using managed termination protection, managed scaling must also be used\n\t\t\t\totherwise managed termination protection doesn't work.

\n
\n

When managed termination protection is on, Amazon ECS prevents the Amazon EC2\n\t\t\tinstances in an Auto Scaling group that contain tasks from being terminated during a\n\t\t\tscale-in action. The Auto Scaling group and each instance in the Auto Scaling group must\n\t\t\thave instance protection from scale-in actions on. For more information, see Instance Protection in the Auto Scaling User\n\t\t\t\tGuide.

\n

When managed termination protection is off, your Amazon EC2 instances aren't protected\n\t\t\tfrom termination when the Auto Scaling group scales in.

" } }, "managedDraining": { "target": "com.amazonaws.ecs#ManagedDraining", "traits": { - "smithy.api#documentation": "

The managed draining option for the Auto Scaling group capacity provider. When you enable this, Amazon ECS manages and gracefully drains the EC2 container instances that are in the Auto Scaling group capacity provider.

" + "smithy.api#documentation": "

The managed draining option for the Auto Scaling group capacity provider. When you\n\t\t\tenable this, Amazon ECS manages and gracefully drains the EC2 container instances that\n\t\t\tare in the Auto Scaling group capacity provider.

" } } }, @@ -1757,7 +1757,7 @@ "assignPublicIp": { "target": "com.amazonaws.ecs#AssignPublicIp", "traits": { - "smithy.api#documentation": "

Whether the task's elastic network interface receives a public IP address.

\n

Consider the following when you set this value:

\n
    \n
  • \n

    When you use create-service or update-service, the\n\t\t\t\t\tdefault is DISABLED.

    \n
  • \n
  • \n

    When the service deploymentController is ECS, the\n\t\t\t\t\tvalue must be DISABLED.

    \n
  • \n
" + "smithy.api#documentation": "

Whether the task's elastic network interface receives a public IP address.

\n

Consider the following when you set this value:

\n
    \n
  • \n

    When you use create-service or update-service, the\n\t\t\t\t\tThe default is DISABLED.

    \n
  • \n
  • \n

    When the service deploymentController is ECS, the\n\t\t\t\t\tvalue must be DISABLED.

    \n
  • \n
" } } }, @@ -1794,18 +1794,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon EBS bandwidth are excluded from selection.

" + "smithy.api#documentation": "

The minimum baseline Amazon EBS bandwidth in Mbps. Instance types with lower Amazon\n\t\t\tEBS bandwidth are excluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon EBS bandwidth are excluded from selection.

" + "smithy.api#documentation": "

The maximum baseline Amazon EBS bandwidth in Mbps. Instance types with higher Amazon\n\t\t\tEBS bandwidth are excluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps) for instance type selection. This is important for workloads with high storage I/O requirements.

" + "smithy.api#documentation": "

The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps)\n\t\t\tfor instance type selection. This is important for workloads with high storage I/O\n\t\t\trequirements.

" } }, "com.amazonaws.ecs#BlockedException": { @@ -1819,7 +1819,7 @@ } }, "traits": { - "smithy.api#documentation": "

Your Amazon Web Services account was blocked. For more information, contact \n\t\t\t\tAmazon Web Services Support.

", + "smithy.api#documentation": "

Your Amazon Web\n\t\t\t\tServices account was blocked. For more information, contact \n\t\t\t\tAmazon Web\n\t\t\t\t\tServices Support.

", "smithy.api#error": "client" } }, @@ -1878,6 +1878,28 @@ } } }, + "com.amazonaws.ecs#CanaryConfiguration": { + "type": "structure", + "members": { + "canaryPercent": { + "target": "com.amazonaws.ecs#Double", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The percentage of production traffic to shift to the new service revision during the\n\t\t\tcanary phase. Valid values are 0.1 to 100.0. The default value is 5.0.

" + } + }, + "canaryBakeTimeInMinutes": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The amount of time in minutes to wait during the canary phase before shifting the\n\t\t\tremaining production traffic to the new service revision. Valid values are 0 to 1440\n\t\t\tminutes (24 hours). The default value is 10.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for canary deployment strategy that shifts a fixed percentage of traffic\n\t\t\tto the new service revision, waits for a specified bake time, then shifts the remaining\n\t\t\ttraffic.

\n

This is only valid when you run CreateService or\n\t\t\t\tUpdateService with deploymentController set to\n\t\t\t\tECS and a deploymentConfiguration with a strategy set to\n\t\t\t\tCANARY.

" + } + }, "com.amazonaws.ecs#CapacityProvider": { "type": "structure", "members": { @@ -1896,7 +1918,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The cluster that this capacity provider is associated with. Managed instances capacity providers are cluster-scoped, meaning they can only be used within their associated cluster.

" + "smithy.api#documentation": "

The cluster that this capacity provider is associated with. Managed instances capacity\n\t\t\tproviders are cluster-scoped, meaning they can only be used within their associated\n\t\t\tcluster.

\n

This is required for Managed instances.

" } }, "status": { @@ -1914,7 +1936,7 @@ "managedInstancesProvider": { "target": "com.amazonaws.ecs#ManagedInstancesProvider", "traits": { - "smithy.api#documentation": "

The configuration for the Amazon ECS Managed Instances provider. This includes the infrastructure role, the launch template configuration, and tag propagation settings.

" + "smithy.api#documentation": "

The configuration for the Amazon ECS Managed Instances provider. This includes the\n\t\t\tinfrastructure role, the launch template configuration, and tag propagation\n\t\t\tsettings.

" } }, "updateStatus": { @@ -1932,13 +1954,13 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the capacity provider to help you categorize and\n\t\t\torganize it. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the capacity provider to help you categorize and\n\t\t\torganize it. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "type": { "target": "com.amazonaws.ecs#CapacityProviderType", "traits": { - "smithy.api#documentation": "

The type of capacity provider. For Amazon ECS Managed Instances, this value is MANAGED_INSTANCES, indicating that Amazon ECS manages the underlying Amazon EC2 instances on your behalf.

" + "smithy.api#documentation": "

The type of capacity provider. For Amazon ECS Managed Instances, this value is\n\t\t\t\tMANAGED_INSTANCES, indicating that Amazon ECS manages the underlying\n\t\t\tAmazon EC2 instances on your behalf.

" } } }, @@ -2012,19 +2034,19 @@ "target": "com.amazonaws.ecs#CapacityProviderStrategyItemWeight", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The weight value designates the relative percentage of the total\n\t\t\tnumber of tasks launched that should use the specified capacity provider. The\n\t\t\tweight value is taken into consideration after the base\n\t\t\tvalue, if defined, is satisfied.

\n

If no weight value is specified, the default value of 0 is\n\t\t\tused. When multiple capacity providers are specified within a capacity provider\n\t\t\tstrategy, at least one of the capacity providers must have a weight value greater than\n\t\t\tzero and any capacity providers with a weight of 0 can't be used to place\n\t\t\ttasks. If you specify multiple capacity providers in a strategy that all have a weight\n\t\t\tof 0, any RunTask or CreateService actions using\n\t\t\tthe capacity provider strategy will fail.

\n

Weight value characteristics:

\n
    \n
  • \n

    Weight is considered after the base value is satisfied

    \n
  • \n
  • \n

    Default value is 0 if not specified

    \n
  • \n
  • \n

    Valid range: 0 to 1,000

    \n
  • \n
  • \n

    At least one capacity provider must have a weight greater than zero

    \n
  • \n
  • \n

    Capacity providers with weight of 0 cannot place tasks

    \n
  • \n
\n

Task distribution logic:

\n
    \n
  1. \n

    Base satisfaction: The minimum number of tasks specified by the base value are placed on that capacity provider

    \n
  2. \n
  3. \n

    Weight distribution: After base requirements are met, additional tasks are distributed according to weight ratios

    \n
  4. \n
\n

Examples:

\n

Equal Distribution: Two capacity providers both with weight 1 will split tasks evenly after base requirements are met.

\n

Weighted Distribution: If capacityProviderA has weight 1 and capacityProviderB has weight 4, then for every 1 task on A, 4 tasks will run on B.

" + "smithy.api#documentation": "

The weight value designates the relative percentage of the total\n\t\t\tnumber of tasks launched that should use the specified capacity provider. The\n\t\t\t\tweight value is taken into consideration after the base\n\t\t\tvalue, if defined, is satisfied.

\n

If no weight value is specified, the default value of 0 is\n\t\t\tused. When multiple capacity providers are specified within a capacity provider\n\t\t\tstrategy, at least one of the capacity providers must have a weight value greater than\n\t\t\tzero and any capacity providers with a weight of 0 can't be used to place\n\t\t\ttasks. If you specify multiple capacity providers in a strategy that all have a weight\n\t\t\tof 0, any RunTask or CreateService actions using\n\t\t\tthe capacity provider strategy will fail.

\n

Weight value characteristics:

\n
    \n
  • \n

    Weight is considered after the base value is satisfied

    \n
  • \n
  • \n

    The default value is 0 if not specified

    \n
  • \n
  • \n

    The valid range is 0 to 1,000

    \n
  • \n
  • \n

    At least one capacity provider must have a weight greater than zero

    \n
  • \n
  • \n

    Capacity providers with weight of 0 cannot place tasks

    \n
  • \n
\n

Task distribution logic:

\n
    \n
  1. \n

    Base satisfaction: The minimum number of tasks specified by the base value are\n\t\t\t\t\tplaced on that capacity provider

    \n
  2. \n
  3. \n

    Weight distribution: After base requirements are met, additional tasks are\n\t\t\t\t\tdistributed according to weight ratios

    \n
  4. \n
\n

Examples:

\n

Equal Distribution: Two capacity providers both with weight 1 will split\n\t\t\ttasks evenly after base requirements are met.

\n

Weighted Distribution: If capacityProviderA has weight 1 and\n\t\t\tcapacityProviderB has weight 4, then for every 1 task on A, 4 tasks will\n\t\t\trun on B.

" } }, "base": { "target": "com.amazonaws.ecs#CapacityProviderStrategyItemBase", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The base value designates how many tasks, at a minimum, to run on\n\t\t\tthe specified capacity provider for each service. Only one capacity provider in a capacity provider\n\t\t\tstrategy can have a base defined. If no value is specified, the\n\t\t\tdefault value of 0 is used.

\n

Base value characteristics:

\n
    \n
  • \n

    Only one capacity provider in a strategy can have a base defined

    \n
  • \n
  • \n

    Default value is 0 if not specified

    \n
  • \n
  • \n

    Valid range: 0 to 100,000

    \n
  • \n
  • \n

    Base requirements are satisfied first before weight distribution

    \n
  • \n
" + "smithy.api#documentation": "

The base value designates how many tasks, at a minimum, to run on\n\t\t\tthe specified capacity provider for each service. Only one capacity provider in a\n\t\t\tcapacity provider strategy can have a base defined. If no value is\n\t\t\tspecified, the default value of 0 is used.

\n

Base value characteristics:

\n
    \n
  • \n

    Only one capacity provider in a strategy can have a base defined

    \n
  • \n
  • \n

    The default value is 0 if not specified

    \n
  • \n
  • \n

    The valid range is 0 to 100,000

    \n
  • \n
  • \n

    Base requirements are satisfied first before weight distribution

    \n
  • \n
" } } }, "traits": { - "smithy.api#documentation": "

The details of a capacity provider strategy. A capacity provider strategy can be set\n\t\t\twhen using the RunTaskor CreateCluster APIs or as the default capacity provider strategy for a\n\t\t\tcluster with the CreateCluster API.

\n

Only capacity providers that are already associated with a cluster and have an\n\t\t\t\tACTIVE or UPDATING status can be used in a capacity\n\t\t\tprovider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New Auto Scaling group capacity providers can be\n\t\t\tcreated with the CreateClusterCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be used in a\n\t\t\tcapacity provider strategy.

\n

With FARGATE_SPOT, you can run interruption tolerant tasks at a rate\n\t\t\tthat's discounted compared to the FARGATE price. FARGATE_SPOT\n\t\t\truns tasks on spare compute capacity. When Amazon Web Services needs the capacity back, your tasks are\n\t\t\tinterrupted with a two-minute warning. FARGATE_SPOT supports Linux tasks\n\t\t\twith the X86_64 architecture on platform version 1.3.0 or later.\n\t\t\t\tFARGATE_SPOT supports Linux tasks with the ARM64 architecture on\n\t\t\tplatform version 1.4.0 or later.

\n

A capacity provider strategy can contain a maximum of 20 capacity providers.

" + "smithy.api#documentation": "

The details of a capacity provider strategy. A capacity provider strategy can be set\n\t\t\twhen using the RunTaskor CreateCluster APIs or as the default capacity provider strategy for a\n\t\t\tcluster with the CreateCluster API.

\n

Only capacity providers that are already associated with a cluster and have an\n\t\t\t\tACTIVE or UPDATING status can be used in a capacity\n\t\t\tprovider strategy. The PutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New Auto Scaling group capacity providers can be\n\t\t\tcreated with the CreateClusterCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers\n\t\t\tare available to all accounts and only need to be associated with a cluster to be used\n\t\t\tin a capacity provider strategy.

\n

With FARGATE_SPOT, you can run interruption tolerant tasks at a rate\n\t\t\tthat's discounted compared to the FARGATE price. FARGATE_SPOT\n\t\t\truns tasks on spare compute capacity. When Amazon Web Services needs the capacity back,\n\t\t\tyour tasks are interrupted with a two-minute warning. FARGATE_SPOT supports\n\t\t\tLinux tasks with the X86_64 architecture on platform version 1.3.0 or later.\n\t\t\t\tFARGATE_SPOT supports Linux tasks with the ARM64 architecture on\n\t\t\tplatform version 1.4.0 or later.

\n

A capacity provider strategy can contain a maximum of 20 capacity providers.

" } }, "com.amazonaws.ecs#CapacityProviderStrategyItemBase": { @@ -2162,7 +2184,7 @@ "clusterArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the cluster. For more information about the ARN\n\t\t\tformat, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the cluster. For more information about\n\t\t\tthe ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer\n\t\t\t\tGuide.

" } }, "clusterName": { @@ -2220,13 +2242,13 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "settings": { "target": "com.amazonaws.ecs#ClusterSettings", "traits": { - "smithy.api#documentation": "

The settings for the cluster. This parameter indicates whether CloudWatch Container Insights\n\t\t\tis on or off for a cluster.

" + "smithy.api#documentation": "

The settings for the cluster. This parameter indicates whether CloudWatch Container\n\t\t\tInsights is on or off for a cluster.

" } }, "capacityProviders": { @@ -2256,7 +2278,7 @@ "serviceConnectDefaults": { "target": "com.amazonaws.ecs#ClusterServiceConnectDefaults", "traits": { - "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default\n\t\t\tService Connect namespace, any new services with Service Connect turned on that are\n\t\t\tcreated in the cluster are added as client services in the namespace. This setting only\n\t\t\tapplies to new services that set the enabled parameter to true\n\t\t\tin the ServiceConnectConfiguration. You can set the namespace of each\n\t\t\tservice individually in the ServiceConnectConfiguration to override this\n\t\t\tdefault parameter.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } } }, @@ -2295,7 +2317,7 @@ } }, "traits": { - "smithy.api#documentation": "

The cluster contains one or more capacity providers that prevent the requested operation. This exception occurs when you try to delete a cluster that still has active capacity providers, including Amazon ECS Managed Instances capacity providers. You must first delete all capacity providers from the cluster before you can delete the cluster itself.

", + "smithy.api#documentation": "

The cluster contains one or more capacity providers that prevent the requested\n\t\t\toperation. This exception occurs when you try to delete a cluster that still has active\n\t\t\tcapacity providers, including Amazon ECS Managed Instances capacity providers. You must\n\t\t\tfirst delete all capacity providers from the cluster before you can delete the cluster\n\t\t\titself.

", "smithy.api#error": "client" } }, @@ -2406,12 +2428,12 @@ "namespace": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you create a service and don't specify a\n\t\t\tService Connect configuration, this namespace is used.

" + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace. When you\n\t\t\tcreate a service and don't specify a Service Connect configuration, this namespace is\n\t\t\tused.

" } } }, "traits": { - "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default\n\t\t\tService Connect namespace, any new services with Service Connect turned on that are\n\t\t\tcreated in the cluster are added as client services in the namespace. This setting only\n\t\t\tapplies to new services that set the enabled parameter to true\n\t\t\tin the ServiceConnectConfiguration. You can set the namespace of each\n\t\t\tservice individually in the ServiceConnectConfiguration to override this\n\t\t\tdefault parameter.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#ClusterServiceConnectDefaultsRequest": { @@ -2420,13 +2442,13 @@ "namespace": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace that's used when you create a service and don't specify\n\t\t\ta Service Connect configuration. The namespace name can include up to 1024 characters.\n\t\t\tThe name is case-sensitive. The name can't include greater than (>), less than\n\t\t\t(<), double quotation marks (\"), or slash (/).

\n

If you enter an existing namespace name or ARN, then that namespace will be used.\n\t\t\tAny namespace type is supported. The namespace must be in this account and this Amazon Web Services\n\t\t\tRegion.

\n

If you enter a new name, a Cloud Map namespace will be created. Amazon ECS creates a\n\t\t\tCloud Map namespace with the \"API calls\" method of instance discovery only. This instance\n\t\t\tdiscovery method is the \"HTTP\" namespace type in the Command Line Interface. Other types of instance\n\t\t\tdiscovery aren't used by Service Connect.

\n

If you update the cluster with an empty string \"\" for the namespace name,\n\t\t\tthe cluster configuration for Service Connect is removed. Note that the namespace will\n\t\t\tremain in Cloud Map and must be deleted separately.

\n

For more information about Cloud Map, see Working with Services\n\t\t\tin the Cloud Map Developer Guide.

", + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace that's\n\t\t\tused when you create a service and don't specify a Service Connect configuration. The\n\t\t\tnamespace name can include up to 1024 characters. The name is case-sensitive. The name\n\t\t\tcan't include greater than (>), less than (<), double quotation marks (\"), or\n\t\t\tslash (/).

\n

If you enter an existing namespace name or ARN, then that namespace will be used. Any\n\t\t\tnamespace type is supported. The namespace must be in this account and this Amazon Web Services\n\t\t\tRegion.

\n

If you enter a new name, a Cloud Map namespace will be created. Amazon ECS creates a Cloud Map namespace\n\t\t\twith the \"API calls\" method of instance discovery only. This instance discovery method\n\t\t\tis the \"HTTP\" namespace type in the Command Line Interface. Other types of\n\t\t\tinstance discovery aren't used by Service Connect.

\n

If you update the cluster with an empty string \"\" for the namespace name,\n\t\t\tthe cluster configuration for Service Connect is removed. Note that the namespace will\n\t\t\tremain in Cloud\n\t\t\t\tMap and must be deleted separately.

\n

For more information about Cloud Map, see Working with Services\n\t\t\tin the Cloud Map Developer Guide.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default\n\t\t\tService Connect namespace, any new services with Service Connect turned on that are\n\t\t\tcreated in the cluster are added as client services in the namespace. This setting only\n\t\t\tapplies to new services that set the enabled parameter to true\n\t\t\tin the ServiceConnectConfiguration. You can set the namespace of each\n\t\t\tservice individually in the ServiceConnectConfiguration to override this\n\t\t\tdefault parameter.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#ClusterSetting": { @@ -2446,7 +2468,7 @@ } }, "traits": { - "smithy.api#documentation": "

The settings to use when creating a cluster. This parameter is used to turn on CloudWatch\n\t\t\tContainer Insights with enhanced observability or CloudWatch Container Insights for a\n\t\t\tcluster.

\n

Container Insights with enhanced observability provides all the Container Insights\n\t\t\tmetrics, plus additional task and container metrics. This version supports enhanced\n\t\t\tobservability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types. After you\n\t\t\tconfigure Container Insights with enhanced observability on Amazon ECS, Container Insights\n\t\t\tauto-collects detailed infrastructure telemetry from the cluster level down to the\n\t\t\tcontainer level in your environment and displays these critical performance data in\n\t\t\tcurated dashboards removing the heavy lifting in observability set-up.

\n

For more information, see Monitor\n\t\t\t\tAmazon ECS containers using Container Insights with enhanced observability in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The settings to use when creating a cluster. This parameter is used to turn on\n\t\t\tCloudWatch Container Insights with enhanced observability or CloudWatch Container\n\t\t\tInsights for a cluster.

\n

Container Insights with enhanced observability provides all the Container Insights\n\t\t\tmetrics, plus additional task and container metrics. This version supports enhanced\n\t\t\tobservability for Amazon ECS clusters using the Amazon EC2 and Fargate launch types.\n\t\t\tAfter you configure Container Insights with enhanced observability on Amazon ECS,\n\t\t\tContainer Insights auto-collects detailed infrastructure telemetry from the cluster\n\t\t\tlevel down to the container level in your environment and displays these critical\n\t\t\tperformance data in curated dashboards removing the heavy lifting in observability\n\t\t\tset-up.

\n

For more information, see Monitor\n\t\t\t\tAmazon ECS containers using Container Insights with enhanced observability\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#ClusterSettingName": { @@ -2513,7 +2535,7 @@ "resourceIds": { "target": "com.amazonaws.ecs#ResourceIds", "traits": { - "smithy.api#documentation": "

The existing task ARNs which are already associated with the\n\t\t\t\tclientToken.

" + "smithy.api#documentation": "

The existing task ARNs which are already associated with the\n\t\t\tclientToken.

" } }, "message": { @@ -2524,7 +2546,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

", + "smithy.api#documentation": "

The request could not be processed because of conflict in the current state of the\n\t\t\tresource.

", "smithy.api#error": "client" } }, @@ -2599,7 +2621,7 @@ "reason": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

A short (1024 max characters) human-readable string to provide additional details about a\n\t\t\trunning or stopped container.

" + "smithy.api#documentation": "

A short (1024 max characters) human-readable string to provide additional details\n\t\t\tabout a running or stopped container.

" } }, "networkBindings": { @@ -2690,13 +2712,13 @@ "name": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of a container. If you're linking multiple containers together in a task\n\t\t\tdefinition, the name of one container can be entered in the\n\t\t\t\tlinks of another container to connect the containers.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter maps to name in the docker container\n\t\t\tcreate command and the --name option to docker run.

" + "smithy.api#documentation": "

The name of a container. If you're linking multiple containers together in a task\n\t\t\tdefinition, the name of one container can be entered in the\n\t\t\t\tlinks of another container to connect the containers. Up to 255 letters\n\t\t\t(uppercase and lowercase), numbers, underscores, and hyphens are allowed. This parameter\n\t\t\tmaps to name in the docker container create command and the\n\t\t\t\t--name option to docker run.

" } }, "image": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . For images using tags (repository-url/image:tag), up to 255 characters total are allowed, including letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs (#). For images using digests (repository-url/image@digest), the 255 character limit applies only to the repository URL and image name (everything before the @ sign). The only supported hash function is sha256, and the hash value after sha256: must be exactly 64 characters (only letters A-F, a-f, and numbers 0-9 are allowed). This parameter maps to Image in the docker\n\t\t\tcontainer create command and the IMAGE parameter of docker run.

\n
    \n
  • \n

    When a new task starts, the Amazon ECS container agent pulls the latest version of\n\t\t\t\t\tthe specified image and tag for the container to use. However, subsequent\n\t\t\t\t\tupdates to a repository image aren't propagated to already running tasks.

    \n
  • \n
  • \n

    Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

    \n
  • \n
  • \n

    Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

    \n
  • \n
  • \n

    Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

    \n
  • \n
  • \n

    Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

    \n
  • \n
" + "smithy.api#documentation": "

The image used to start a container. This string is passed directly to the Docker\n\t\t\tdaemon. By default, images in the Docker Hub registry are available. Other repositories\n\t\t\tare specified with either \n repository-url/image:tag\n or \n repository-url/image@digest\n . For images using tags (repository-url/image:tag), up to 255 characters total\n\t\t\tare allowed, including letters (uppercase and lowercase), numbers, hyphens, underscores,\n\t\t\tcolons, periods, forward slashes, and number signs (#). For images using digests\n\t\t\t(repository-url/image@digest), the 255 character limit applies only to the repository\n\t\t\tURL and image name (everything before the @ sign). The only supported hash function is\n\t\t\tsha256, and the hash value after sha256: must be exactly 64 characters (only letters\n\t\t\tA-F, a-f, and numbers 0-9 are allowed). This parameter maps to Image in the\n\t\t\tdocker container create command and the IMAGE parameter of docker\n\t\t\trun.

\n
    \n
  • \n

    When a new task starts, the Amazon ECS container agent pulls the latest\n\t\t\t\t\tversion of the specified image and tag for the container to use. However,\n\t\t\t\t\tsubsequent updates to a repository image aren't propagated to already running\n\t\t\t\t\ttasks.

    \n
  • \n
  • \n

    Images in Amazon ECR repositories can be specified by either using the full\n\t\t\t\t\t\tregistry/repository:tag or\n\t\t\t\t\t\tregistry/repository@digest. For example,\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/:latest\n\t\t\t\t\tor\n\t\t\t\t\t\t012345678910.dkr.ecr..amazonaws.com/@sha256:94afd1f2e64d908bc90dbca0035a5b567EXAMPLE.\n\t\t\t\t

    \n
  • \n
  • \n

    Images in official repositories on Docker Hub use a single name (for example,\n\t\t\t\t\t\tubuntu or mongo).

    \n
  • \n
  • \n

    Images in other repositories on Docker Hub are qualified with an organization\n\t\t\t\t\tname (for example, amazon/amazon-ecs-agent).

    \n
  • \n
  • \n

    Images in other online repositories are qualified further by a domain name\n\t\t\t\t\t(for example, quay.io/assemblyline/ubuntu).

    \n
  • \n
" } }, "repositoryCredentials": { @@ -2709,13 +2731,13 @@ "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The number of cpu units reserved for the container. This parameter maps\n\t\t\tto CpuShares in the docker container create commandand the\n\t\t\t\t--cpu-shares option to docker run.

\n

This field is optional for tasks using the Fargate launch type, and the\n\t\t\tonly requirement is that the total amount of CPU reserved for all containers within a\n\t\t\ttask be lower than the task-level cpu value.

\n \n

You can determine the number of CPU units that are available per EC2 instance type\n\t\t\t\tby multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail page\n\t\t\t\tby 1,024.

\n
\n

Linux containers share unallocated CPU units with other containers on the container\n\t\t\tinstance with the same ratio as their allocated amount. For example, if you run a\n\t\t\tsingle-container task on a single-core instance type with 512 CPU units specified for\n\t\t\tthat container, and that's the only task running on the container instance, that\n\t\t\tcontainer could use the full 1,024 CPU unit share at any given time. However, if you\n\t\t\tlaunched another copy of the same task on that container instance, each task is\n\t\t\tguaranteed a minimum of 512 CPU units when needed. Moreover, each container could float\n\t\t\tto higher CPU usage if the other container was not using it. If both tasks were 100%\n\t\t\tactive all of the time, they would be limited to 512 CPU units.

\n

On Linux container instances, the Docker daemon on the container instance uses the CPU\n\t\t\tvalue to calculate the relative CPU share ratios for running containers. The minimum\n\t\t\tvalid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share\n\t\t\tvalue that the Linux kernel allows is 262144. However, the CPU parameter isn't required,\n\t\t\tand you can use CPU values below 2 or above 262144 in your container definitions. For\n\t\t\tCPU values below 2 (including null) or above 262144, the behavior varies based on your\n\t\t\tAmazon ECS container agent version:

\n
    \n
  • \n

    \n Agent versions less than or equal to 1.1.0:\n\t\t\t\t\tNull and zero CPU values are passed to Docker as 0, which Docker then converts\n\t\t\t\t\tto 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux\n\t\t\t\t\tkernel converts to two CPU shares.

    \n
  • \n
  • \n

    \n Agent versions greater than or equal to 1.2.0:\n\t\t\t\t\tNull, zero, and CPU values of 1 are passed to Docker as 2.

    \n
  • \n
  • \n

    \n Agent versions greater than or equal to\n\t\t\t\t\t\t1.84.0: CPU values greater than 256 vCPU are passed to Docker as\n\t\t\t\t\t256, which is equivalent to 262144 CPU shares.

    \n
  • \n
\n

On Windows container instances, the CPU limit is enforced as an absolute limit, or a\n\t\t\tquota. Windows containers only have access to the specified amount of CPU that's\n\t\t\tdescribed in the task definition. A null or zero CPU value is passed to Docker as\n\t\t\t\t0, which Windows interprets as 1% of one CPU.

" + "smithy.api#documentation": "

The number of cpu units reserved for the container. This parameter maps\n\t\t\tto CpuShares in the docker container create command and the\n\t\t\t\t--cpu-shares option to docker run.

\n

This field is optional for tasks using the Fargate launch type, and the only\n\t\t\trequirement is that the total amount of CPU reserved for all containers within a task be\n\t\t\tlower than the task-level cpu value.

\n \n

You can determine the number of CPU units that are available per EC2 instance type\n\t\t\t\tby multiplying the vCPUs listed for that instance type on the Amazon EC2 Instances detail\n\t\t\t\tpage by 1,024.

\n
\n

Linux containers share unallocated CPU units with other containers on the container\n\t\t\tinstance with the same ratio as their allocated amount. For example, if you run a\n\t\t\tsingle-container task on a single-core instance type with 512 CPU units specified for\n\t\t\tthat container, and that's the only task running on the container instance, that\n\t\t\tcontainer could use the full 1,024 CPU unit share at any given time. However, if you\n\t\t\tlaunched another copy of the same task on that container instance, each task is\n\t\t\tguaranteed a minimum of 512 CPU units when needed. Moreover, each container could float\n\t\t\tto higher CPU usage if the other container was not using it. If both tasks were 100%\n\t\t\tactive all of the time, they would be limited to 512 CPU units.

\n

On Linux container instances, the Docker daemon on the container instance uses the CPU\n\t\t\tvalue to calculate the relative CPU share ratios for running containers. The minimum\n\t\t\tvalid CPU share value that the Linux kernel allows is 2, and the maximum valid CPU share\n\t\t\tvalue that the Linux kernel allows is 262144. However, the CPU parameter isn't required,\n\t\t\tand you can use CPU values below 2 or above 262144 in your container definitions. For\n\t\t\tCPU values below 2 (including null) or above 262144, the behavior varies based on your\n\t\t\tAmazon ECS container agent version:

\n
    \n
  • \n

    \n Agent versions less than or equal to 1.1.0:\n\t\t\t\t\tNull and zero CPU values are passed to Docker as 0, which Docker then converts\n\t\t\t\t\tto 1,024 CPU shares. CPU values of 1 are passed to Docker as 1, which the Linux\n\t\t\t\t\tkernel converts to two CPU shares.

    \n
  • \n
  • \n

    \n Agent versions greater than or equal to 1.2.0:\n\t\t\t\t\tNull, zero, and CPU values of 1 are passed to Docker as 2.

    \n
  • \n
  • \n

    \n Agent versions greater than or equal to\n\t\t\t\t\t\t1.84.0: CPU values greater than 256 vCPU are passed to Docker as\n\t\t\t\t\t256, which is equivalent to 262144 CPU shares.

    \n
  • \n
\n

On Windows container instances, the CPU limit is enforced as an absolute limit, or a\n\t\t\tquota. Windows containers only have access to the specified amount of CPU that's\n\t\t\tdescribed in the task definition. A null or zero CPU value is passed to Docker as\n\t\t\t\t0, which Windows interprets as 1% of one CPU.

" } }, "memory": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The amount (in MiB) of memory to present to the container. If your container attempts\n\t\t\tto exceed the memory specified here, the container is killed. The total amount of memory\n\t\t\treserved for all containers within a task must be lower than the task\n\t\t\t\tmemory value, if one is specified. This parameter maps to\n\t\t\t\tMemory in the docker container create command and the\n\t\t\t\t--memory option to docker run.

\n

If using the Fargate launch type, this parameter is optional.

\n

If using the EC2 launch type, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. If you specify both a container-level\n\t\t\t\tmemory and memoryReservation value, memory\n\t\t\tmust be greater than memoryReservation. If you specify\n\t\t\t\tmemoryReservation, then that value is subtracted from the available\n\t\t\tmemory resources for the container instance where the container is placed. Otherwise,\n\t\t\tthe value of memory is used.

\n

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 6 MiB of memory for your containers.

\n

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 4 MiB of memory for your containers.

" + "smithy.api#documentation": "

The amount (in MiB) of memory to present to the container. If your container attempts\n\t\t\tto exceed the memory specified here, the container is killed. The total amount of memory\n\t\t\treserved for all containers within a task must be lower than the task\n\t\t\t\tmemory value, if one is specified. This parameter maps to\n\t\t\t\tMemory in the docker container create command and the\n\t\t\t\t--memory option to docker run.

\n

If using the Fargate launch type, this parameter is optional.

\n

If using the EC2 launch type, you must specify either a task-level memory value or a\n\t\t\tcontainer-level memory value. If you specify both a container-level memory\n\t\t\tand memoryReservation value, memory must be greater than\n\t\t\t\tmemoryReservation. If you specify memoryReservation, then\n\t\t\tthat value is subtracted from the available memory resources for the container instance\n\t\t\twhere the container is placed. Otherwise, the value of memory is\n\t\t\tused.

\n

The Docker 20.10.0 or later daemon reserves a minimum of 6 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 6 MiB of memory for your containers.

\n

The Docker 19.03.13-ce or earlier daemon reserves a minimum of 4 MiB of memory for a\n\t\t\tcontainer. So, don't specify less than 4 MiB of memory for your containers.

" } }, "memoryReservation": { @@ -2727,7 +2749,7 @@ "links": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The links parameter allows containers to communicate with each other\n\t\t\twithout the need for port mappings. This parameter is only supported if the network mode\n\t\t\tof a task definition is bridge. The name:internalName\n\t\t\tconstruct is analogous to name:alias in Docker links.\n\t\t\tUp to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This parameter maps to Links in the docker\n\t\t\tcontainer create command and the --link option to docker run.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

Containers that are collocated on a single container instance may be able to\n\t\t\t\tcommunicate with each other without requiring links or host port mappings. Network\n\t\t\t\tisolation is achieved on the container instance using security groups and VPC\n\t\t\t\tsettings.

\n
" + "smithy.api#documentation": "

The links parameter allows containers to communicate with each other\n\t\t\twithout the need for port mappings. This parameter is only supported if the network mode\n\t\t\tof a task definition is bridge. The name:internalName\n\t\t\tconstruct is analogous to name:alias in Docker links. Up to 255 letters\n\t\t\t(uppercase and lowercase), numbers, underscores, and hyphens are allowed.. This\n\t\t\tparameter maps to Links in the docker container create command and the\n\t\t\t\t--link option to docker run.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

Containers that are collocated on a single container instance may be able to\n\t\t\t\tcommunicate with each other without requiring links or host port mappings. Network\n\t\t\t\tisolation is achieved on the container instance using security groups and VPC\n\t\t\t\tsettings.

\n
" } }, "portMappings": { @@ -2739,13 +2761,13 @@ "essential": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

If the essential parameter of a container is marked as true,\n\t\t\tand that container fails or stops for any reason, all other containers that are part of\n\t\t\tthe task are stopped. If the essential parameter of a container is marked\n\t\t\tas false, its failure doesn't affect the rest of the containers in a task.\n\t\t\tIf this parameter is omitted, a container is assumed to be essential.

\n

All tasks must have at least one essential container. If you have an application\n\t\t\tthat's composed of multiple containers, group containers that are used for a common\n\t\t\tpurpose into components, and separate the different components into multiple task\n\t\t\tdefinitions. For more information, see Application\n\t\t\t\tArchitecture in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

If the essential parameter of a container is marked as true,\n\t\t\tand that container fails or stops for any reason, all other containers that are part of\n\t\t\tthe task are stopped. If the essential parameter of a container is marked\n\t\t\tas false, its failure doesn't affect the rest of the containers in a task.\n\t\t\tIf this parameter is omitted, a container is assumed to be essential.

\n

All tasks must have at least one essential container. If you have an application\n\t\t\tthat's composed of multiple containers, group containers that are used for a common\n\t\t\tpurpose into components, and separate the different components into multiple task\n\t\t\tdefinitions. For more information, see Application\n\t\t\t\tArchitecture in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "restartPolicy": { "target": "com.amazonaws.ecs#ContainerRestartPolicy", "traits": { - "smithy.api#documentation": "

The restart policy for a container. When you set up a restart policy, Amazon ECS can\n\t\t\trestart the container without needing to replace the task. For more information, see\n\t\t\t\tRestart\n\t\t\t\tindividual containers in Amazon ECS tasks with container restart policies in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The restart policy for a container. When you set up a restart policy, Amazon ECS can\n\t\t\trestart the container without needing to replace the task. For more information, see\n\t\t\t\tRestart\n\t\t\t\tindividual containers in Amazon ECS tasks with container restart policies in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

" } }, "entryPoint": { @@ -2769,7 +2791,7 @@ "environmentFiles": { "target": "com.amazonaws.ecs#EnvironmentFiles", "traits": { - "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. This\n\t\t\tparameter maps to the --env-file option to docker run.

\n

You can specify up to ten environment files. The file must have a .env\n\t\t\tfile extension. Each line in an environment file contains an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored.

\n

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Specifying Environment\n\t\t\t\tVariables in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. This\n\t\t\tparameter maps to the --env-file option to docker run.

\n

You can specify up to ten environment files. The file must have a .env\n\t\t\tfile extension. Each line in an environment file contains an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored.

\n

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Specifying Environment\n\t\t\t\tVariables in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "mountPoints": { @@ -2793,31 +2815,31 @@ "secrets": { "target": "com.amazonaws.ecs#SecretList", "traits": { - "smithy.api#documentation": "

The secrets to pass to the container. For more information, see Specifying\n\t\t\t\tSensitive Data in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The secrets to pass to the container. For more information, see Specifying\n\t\t\t\tSensitive Data in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "dependsOn": { "target": "com.amazonaws.ecs#ContainerDependencies", "traits": { - "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies on other containers in a task definition. When a dependency is\n\t\t\tdefined for container startup, for container shutdown it is reversed.

\n

For tasks using the EC2 launch type, the container instances require at\n\t\t\tleast version 1.26.0 of the container agent to turn on container dependencies. However,\n\t\t\twe recommend using the latest container agent version. For information about checking\n\t\t\tyour agent version and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init package. If\n\t\t\tyour container instances are launched from version 20190301 or later, then\n\t\t\tthey contain the required versions of the container agent and ecs-init. For\n\t\t\tmore information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
" + "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies on other containers in a task definition. When a dependency is\n\t\t\tdefined for container startup, for container shutdown it is reversed.

\n

For tasks using the EC2 launch type, the container instances require at least version\n\t\t\t1.26.0 of the container agent to turn on container dependencies. However, we recommend\n\t\t\tusing the latest container agent version. For information about checking your agent\n\t\t\tversion and updating to the latest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide. If you're using an Amazon ECS-optimized Linux AMI, your instance\n\t\t\tneeds at least version 1.26.0-1 of the ecs-init package. If your container\n\t\t\tinstances are launched from version 20190301 or later, then they contain\n\t\t\tthe required versions of the container agent and ecs-init. For more\n\t\t\tinformation, see Amazon ECS-optimized\n\t\t\t\tLinux AMI in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

For tasks using the Fargate launch type, the task or service requires the following\n\t\t\tplatforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
" } }, "startTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it doesn't reach the desired status within that\n\t\t\ttime then containerA gives up and not start. This results in the task transitioning to a\n\t\t\t\tSTOPPED state.

\n \n

When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it's enforced independently from this start timeout value.

\n
\n

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

For tasks using the EC2 launch type, your container instances require at\n\t\t\tleast version 1.26.0 of the container agent to use a container start\n\t\t\ttimeout value. However, we recommend using the latest container agent version. For\n\t\t\tinformation about checking your agent version and updating to the latest version, see\n\t\t\t\tUpdating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init\n\t\t\tpackage. If your container instances are launched from version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

The valid values for Fargate are 2-120 seconds.

" + "smithy.api#documentation": "

Time duration (in seconds) to wait before giving up on resolving dependencies for a\n\t\t\tcontainer. For example, you specify two containers in a task definition with containerA\n\t\t\thaving a dependency on containerB reaching a COMPLETE,\n\t\t\tSUCCESS, or HEALTHY status. If a startTimeout\n\t\t\tvalue is specified for containerB and it doesn't reach the desired status within that\n\t\t\ttime then containerA gives up and not start. This results in the task transitioning to a\n\t\t\t\tSTOPPED state.

\n \n

When the ECS_CONTAINER_START_TIMEOUT container agent configuration\n\t\t\t\tvariable is used, it's enforced independently from this start timeout value.

\n
\n

For tasks using the Fargate launch type, the task or service requires the following\n\t\t\tplatforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

For tasks using the EC2 launch type, your container instances require at least version\n\t\t\t\t1.26.0 of the container agent to use a container start timeout value.\n\t\t\tHowever, we recommend using the latest container agent version. For information about\n\t\t\tchecking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide. If you're using an Amazon\n\t\t\tECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of\n\t\t\tthe ecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

\n

The valid values for Fargate are 2-120 seconds.

" } }, "stopTimeout": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

\n

For tasks using the Fargate launch type, the task or service requires\n\t\t\tthe following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

For tasks that use the Fargate launch type, the max stop timeout value is 120\n\t\t\tseconds and if the parameter is not specified, the default value of 30 seconds is\n\t\t\tused.

\n

For tasks that use the EC2 launch type, if the stopTimeout\n\t\t\tparameter isn't specified, the value set for the Amazon ECS container agent configuration\n\t\t\tvariable ECS_CONTAINER_STOP_TIMEOUT is used. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to use a container stop timeout\n\t\t\tvalue. However, we recommend using the latest container agent version. For information\n\t\t\tabout checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic Container Service Developer Guide. If you're using\n\t\t\tan Amazon ECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

\n

The valid values for Fargate are 2-120 seconds.

" + "smithy.api#documentation": "

Time duration (in seconds) to wait before the container is forcefully killed if it\n\t\t\tdoesn't exit normally on its own.

\n

For tasks using the Fargate launch type, the task or service requires the following\n\t\t\tplatforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

For tasks that use the Fargate launch type, the max stop timeout value is 120 seconds\n\t\t\tand if the parameter is not specified, the default value of 30 seconds is used.

\n

For tasks that use the EC2 launch type, if the stopTimeout parameter\n\t\t\tisn't specified, the value set for the Amazon ECS container agent configuration variable\n\t\t\t\tECS_CONTAINER_STOP_TIMEOUT is used. If neither the\n\t\t\t\tstopTimeout parameter or the ECS_CONTAINER_STOP_TIMEOUT\n\t\t\tagent configuration variable are set, then the default values of 30 seconds for Linux\n\t\t\tcontainers and 30 seconds on Windows containers are used. Your container instances\n\t\t\trequire at least version 1.26.0 of the container agent to use a container stop timeout\n\t\t\tvalue. However, we recommend using the latest container agent version. For information\n\t\t\tabout checking your agent version and updating to the latest version, see Updating the Amazon ECS Container Agent in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide. If you're using an Amazon\n\t\t\tECS-optimized Linux AMI, your instance needs at least version 1.26.0-1 of the\n\t\t\t\tecs-init package. If your container instances are launched from version\n\t\t\t\t20190301 or later, then they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

\n

The valid values for Fargate are 2-120 seconds.

" } }, "versionConsistency": { "target": "com.amazonaws.ecs#VersionConsistency", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon ECS will resolve the container image tag provided in the container\n\t\t\tdefinition to an image digest. By default, the value is enabled. If you set\n\t\t\tthe value for a container as disabled, Amazon ECS will not resolve the provided\n\t\t\tcontainer image tag to a digest and will use the original image URI specified in the\n\t\t\tcontainer definition for deployment. For more information about container image\n\t\t\tresolution, see Container image resolution in the Amazon ECS Developer\n\t\t\t\tGuide.

" + "smithy.api#documentation": "

Specifies whether Amazon ECS will resolve the container image tag provided in the\n\t\t\tcontainer definition to an image digest. By default, the value is enabled.\n\t\t\tIf you set the value for a container as disabled, Amazon ECS will not\n\t\t\tresolve the provided container image tag to a digest and will use the original image URI\n\t\t\tspecified in the container definition for deployment. For more information about\n\t\t\tcontainer image resolution, see Container image resolution in the Amazon ECS Developer\n\t\t\t\tGuide.

" } }, "hostname": { @@ -2877,7 +2899,7 @@ "dockerSecurityOptions": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A list of strings to provide custom configuration for multiple security systems. This\n\t\t\tfield isn't valid for containers in tasks using the Fargate launch\n\t\t\ttype.

\n

For Linux tasks on EC2, this parameter can be used to reference custom\n\t\t\tlabels for SELinux and AppArmor multi-level security systems.

\n

For any tasks on EC2, this parameter can be used to reference a\n\t\t\tcredential spec file that configures a container for Active Directory authentication.\n\t\t\tFor more information, see Using gMSAs for Windows\n\t\t\t\tContainers and Using gMSAs for Linux\n\t\t\t\tContainers in the Amazon Elastic Container Service Developer Guide.

\n

This parameter maps to SecurityOpt in the docker container create command\n\t\t\tand the --security-opt option to docker run.

\n \n

The Amazon ECS container agent running on a container instance must register with the\n\t\t\t\t\tECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true\n\t\t\t\tenvironment variables before containers placed on that instance can use these\n\t\t\t\tsecurity options. For more information, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

\n
\n

Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" |\n\t\t\t\"credentialspec:CredentialSpecFilePath\"

" + "smithy.api#documentation": "

A list of strings to provide custom configuration for multiple security systems. This\n\t\t\tfield isn't valid for containers in tasks using the Fargate launch type.

\n

For Linux tasks on EC2, this parameter can be used to reference custom labels for\n\t\t\tSELinux and AppArmor multi-level security systems.

\n

For any tasks on EC2, this parameter can be used to reference a credential spec file\n\t\t\tthat configures a container for Active Directory authentication. For more information,\n\t\t\tsee Using gMSAs for Windows Containers and Using gMSAs for Linux\n\t\t\t\tContainers in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

This parameter maps to SecurityOpt in the docker container create command\n\t\t\tand the --security-opt option to docker run.

\n \n

The Amazon ECS container agent running on a container instance must register with\n\t\t\t\tthe ECS_SELINUX_CAPABLE=true or ECS_APPARMOR_CAPABLE=true\n\t\t\t\tenvironment variables before containers placed on that instance can use these\n\t\t\t\tsecurity options. For more information, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service\n\t\t\t\t\tDeveloper Guide.

\n
\n

Valid values: \"no-new-privileges\" | \"apparmor:PROFILE\" | \"label:value\" |\n\t\t\t\"credentialspec:CredentialSpecFilePath\"

" } }, "interactive": { @@ -2895,19 +2917,19 @@ "dockerLabels": { "target": "com.amazonaws.ecs#DockerLabelsMap", "traits": { - "smithy.api#documentation": "

A key/value map of labels to add to the container. This parameter maps to\n\t\t\t\tLabels in the docker container create command and the\n\t\t\t\t--label option to docker run. This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

" + "smithy.api#documentation": "

A key/value map of labels to add to the container. This parameter maps to\n\t\t\t\tLabels in the docker container create command and the\n\t\t\t\t--label option to docker run. This parameter requires version 1.18 of\n\t\t\tthe Docker Remote API or greater on your container instance. To check the Docker Remote\n\t\t\tAPI version on your container instance, log in to your container instance and run the\n\t\t\tfollowing command: sudo docker version --format '{{.Server.APIVersion}}'\n

" } }, "ulimits": { "target": "com.amazonaws.ecs#UlimitList", "traits": { - "smithy.api#documentation": "

A list of ulimits to set in the container. If a ulimit value\n\t\t\tis specified in a task definition, it overrides the default values set by Docker. This\n\t\t\tparameter maps to Ulimits in the docker container create command and the\n\t\t\t\t--ulimit option to docker run. Valid naming values are displayed in the\n\t\t\t\tUlimit data type.

\n

Amazon ECS tasks hosted on Fargate use the default\n\t\t\t\t\t\t\tresource limit values set by the operating system with the exception of\n\t\t\t\t\t\t\tthe nofile resource limit parameter which Fargate\n\t\t\t\t\t\t\toverrides. The nofile resource limit sets a restriction on\n\t\t\t\t\t\t\tthe number of open files that a container can use. The default\n\t\t\t\t\t\t\t\tnofile soft limit is 65535 and the default hard limit\n\t\t\t\t\t\t\tis 65535.

\n

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

\n \n

This parameter is not supported for Windows containers.

\n
" + "smithy.api#documentation": "

A list of ulimits to set in the container. If a ulimit value\n\t\t\tis specified in a task definition, it overrides the default values set by Docker. This\n\t\t\tparameter maps to Ulimits in the docker container create command and the\n\t\t\t\t--ulimit option to docker run. Valid naming values are displayed in the\n\t\t\t\tUlimit data type.

\n

Amazon ECS tasks hosted on Fargate use the default resource limit values\n\t\t\tset by the operating system with the exception of the nofile resource limit\n\t\t\tparameter which Fargate overrides. The nofile resource limit sets a\n\t\t\trestriction on the number of open files that a container can use. The default\n\t\t\t\tnofile soft limit is 65535 and the default hard limit is\n\t\t\t\t65535.

\n

This parameter requires version 1.18 of the Docker Remote API or greater on your\n\t\t\tcontainer instance. To check the Docker Remote API version on your container instance,\n\t\t\tlog in to your container instance and run the following command: sudo docker\n\t\t\t\tversion --format '{{.Server.APIVersion}}'\n

\n \n

This parameter is not supported for Windows containers.

\n
" } }, "logConfiguration": { "target": "com.amazonaws.ecs#LogConfiguration", "traits": { - "smithy.api#documentation": "

The log configuration specification for the container.

\n

This parameter maps to LogConfig in the docker container create command\n\t\t\tand the --log-driver option to docker run. By default, containers use the\n\t\t\tsame logging driver that the Docker daemon uses. However the container can use a\n\t\t\tdifferent logging driver than the Docker daemon by specifying a log driver with this\n\t\t\tparameter in the container definition. To use a different logging driver for a\n\t\t\tcontainer, the log system must be configured properly on the container instance (or on a\n\t\t\tdifferent log server for remote logging options).

\n \n

Amazon ECS currently supports a subset of the logging drivers available to the Docker\n\t\t\t\tdaemon (shown in the LogConfiguration data type). Additional log drivers may be available in\n\t\t\t\tfuture releases of the Amazon ECS container agent.

\n
\n

This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

\n \n

The Amazon ECS container agent running on a container instance must register the\n\t\t\t\tlogging drivers available on that instance with the\n\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\tcontainers placed on that instance can use these log configuration options. For more\n\t\t\t\tinformation, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service Developer Guide.

\n
" + "smithy.api#documentation": "

The log configuration specification for the container.

\n

This parameter maps to LogConfig in the docker container create command\n\t\t\tand the --log-driver option to docker run. By default, containers use the\n\t\t\tsame logging driver that the Docker daemon uses. However the container can use a\n\t\t\tdifferent logging driver than the Docker daemon by specifying a log driver with this\n\t\t\tparameter in the container definition. To use a different logging driver for a\n\t\t\tcontainer, the log system must be configured properly on the container instance (or on a\n\t\t\tdifferent log server for remote logging options).

\n \n

Amazon ECS currently supports a subset of the logging drivers available to the\n\t\t\t\tDocker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in\n\t\t\t\tfuture releases of the Amazon ECS container agent.

\n
\n

This parameter requires version 1.18 of the Docker Remote API or greater on your\n\t\t\tcontainer instance. To check the Docker Remote API version on your container instance,\n\t\t\tlog in to your container instance and run the following command: sudo docker\n\t\t\t\tversion --format '{{.Server.APIVersion}}'\n

\n \n

The Amazon ECS container agent running on a container instance must register the\n\t\t\t\tlogging drivers available on that instance with the\n\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\tcontainers placed on that instance can use these log configuration options. For more\n\t\t\t\tinformation, see Amazon ECS Container\n\t\t\t\t\tAgent Configuration in the Amazon Elastic Container Service\n\t\t\t\t\tDeveloper Guide.

\n
" } }, "healthCheck": { @@ -2937,7 +2959,7 @@ "credentialSpecs": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A list of ARNs in SSM or Amazon S3 to a credential spec (CredSpec) file that\n\t\t\tconfigures the container for Active Directory authentication. We recommend that you use\n\t\t\tthis parameter instead of the dockerSecurityOptions. The maximum number of\n\t\t\tARNs is 1.

\n

There are two formats for each ARN.

\n
\n
credentialspecdomainless:MyARN
\n
\n

You use credentialspecdomainless:MyARN to provide a\n\t\t\t\t\t\t\tCredSpec with an additional section for a secret in Secrets Manager.\n\t\t\t\t\t\tYou provide the login credentials to the domain in the secret.

\n

Each task that runs on any container instance can join different\n\t\t\t\t\t\tdomains.

\n

You can use this format without joining the container instance to a\n\t\t\t\t\t\tdomain.

\n
\n
credentialspec:MyARN
\n
\n

You use credentialspec:MyARN to provide a\n\t\t\t\t\t\t\tCredSpec for a single domain.

\n

You must join the container instance to the domain before you start any\n\t\t\t\t\t\ttasks that use this task definition.

\n
\n
\n

In both formats, replace MyARN with the ARN in SSM or Amazon S3.

\n

If you provide a credentialspecdomainless:MyARN, the\n\t\t\t\tcredspec must provide a ARN in Secrets Manager for a secret containing the\n\t\t\tusername, password, and the domain to connect to. For better security, the instance\n\t\t\tisn't joined to the domain for domainless authentication. Other applications on the\n\t\t\tinstance can't use the domainless credentials. You can use this parameter to run tasks\n\t\t\ton the same instance, even it the tasks need to join different domains. For more\n\t\t\tinformation, see Using gMSAs for Windows\n\t\t\t\tContainers and Using gMSAs for Linux\n\t\t\t\tContainers.

" + "smithy.api#documentation": "

A list of ARNs in SSM or Amazon S3 to a credential spec (CredSpec) file\n\t\t\tthat configures the container for Active Directory authentication. We recommend that you\n\t\t\tuse this parameter instead of the dockerSecurityOptions. The maximum number\n\t\t\tof ARNs is 1.

\n

There are two formats for each ARN.

\n
\n
credentialspecdomainless:MyARN
\n
\n

You use credentialspecdomainless:MyARN to provide a\n\t\t\t\t\t\t\tCredSpec with an additional section for a secret in Secrets\n\t\t\t\t\t\t\tManager. You provide the login credentials to the domain in the\n\t\t\t\t\t\tsecret.

\n

Each task that runs on any container instance can join different\n\t\t\t\t\t\tdomains.

\n

You can use this format without joining the container instance to a\n\t\t\t\t\t\tdomain.

\n
\n
credentialspec:MyARN
\n
\n

You use credentialspec:MyARN to provide a\n\t\t\t\t\t\t\tCredSpec for a single domain.

\n

You must join the container instance to the domain before you start any\n\t\t\t\t\t\ttasks that use this task definition.

\n
\n
\n

In both formats, replace MyARN with the ARN in SSM or Amazon S3.

\n

If you provide a credentialspecdomainless:MyARN, the\n\t\t\t\tcredspec must provide a ARN in Secrets Manager for a secret containing the\n\t\t\tusername, password, and the domain to connect to. For better security, the instance\n\t\t\tisn't joined to the domain for domainless authentication. Other applications on the\n\t\t\tinstance can't use the domainless credentials. You can use this parameter to run tasks\n\t\t\ton the same instance, even it the tasks need to join different domains. For more\n\t\t\tinformation, see Using gMSAs for Windows\n\t\t\t\tContainers and Using gMSAs for Linux\n\t\t\t\tContainers.

" } } }, @@ -2970,13 +2992,13 @@ "condition": { "target": "com.amazonaws.ecs#ContainerCondition", "traits": { - "smithy.api#documentation": "

The dependency condition of the container. The following are the available conditions\n\t\t\tand their behavior:

\n
    \n
  • \n

    \n START - This condition emulates the behavior of links and\n\t\t\t\t\tvolumes today. It validates that a dependent container is started before\n\t\t\t\t\tpermitting other containers to start.

    \n
  • \n
  • \n

    \n COMPLETE - This condition validates that a dependent\n\t\t\t\t\tcontainer runs to completion (exits) before permitting other containers to\n\t\t\t\t\tstart. This can be useful for nonessential containers that run a script and then\n\t\t\t\t\texit. This condition can't be set on an essential container.

    \n
  • \n
  • \n

    \n SUCCESS - This condition is the same as\n\t\t\t\t\t\tCOMPLETE, but it also requires that the container exits with a\n\t\t\t\t\t\tzero status. This condition can't be set on an essential\n\t\t\t\t\tcontainer.

    \n
  • \n
  • \n

    \n HEALTHY - This condition validates that the dependent\n\t\t\t\t\tcontainer passes its Docker health check before permitting other containers to\n\t\t\t\t\tstart. This requires that the dependent container has health checks configured.\n\t\t\t\t\tThis condition is confirmed only at task startup.

    \n
  • \n
", + "smithy.api#documentation": "

The dependency condition of the container. The following are the available conditions\n\t\t\tand their behavior:

\n
    \n
  • \n

    \n START - This condition emulates the behavior of links and volumes\n\t\t\t\t\ttoday. It validates that a dependent container is started before permitting\n\t\t\t\t\tother containers to start.

    \n
  • \n
  • \n

    \n COMPLETE - This condition validates that a dependent container\n\t\t\t\t\truns to completion (exits) before permitting other containers to start. This can\n\t\t\t\t\tbe useful for nonessential containers that run a script and then exit. This\n\t\t\t\t\tcondition can't be set on an essential container.

    \n
  • \n
  • \n

    \n SUCCESS - This condition is the same as COMPLETE,\n\t\t\t\t\tbut it also requires that the container exits with a zero status.\n\t\t\t\t\tThis condition can't be set on an essential container.

    \n
  • \n
  • \n

    \n HEALTHY - This condition validates that the dependent container\n\t\t\t\t\tpasses its Docker health check before permitting other containers to start. This\n\t\t\t\t\trequires that the dependent container has health checks configured. This\n\t\t\t\t\tcondition is confirmed only at task startup.

    \n
  • \n
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tto use container dependencies. However, we recommend using the latest container agent\n\t\t\tversion. For information about checking your agent version and updating to the latest\n\t\t\tversion, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer Guide. If you're using an Amazon ECS-optimized Linux AMI,\n\t\t\tyour instance needs at least version 1.26.0-1 of the ecs-init package. If\n\t\t\tyour container instances are launched from version 20190301 or later, then\n\t\t\tthey contain the required versions of the container agent and ecs-init. For\n\t\t\tmore information, see Amazon ECS-optimized Linux AMI\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n \n

For tasks that use the Fargate launch type, the task or service\n\t\t\t\trequires the following platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
\n

For more information about how to create a container dependency, see Container dependency in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The dependencies defined for container startup and shutdown. A container can contain\n\t\t\tmultiple dependencies. When a dependency is defined for container startup, for container\n\t\t\tshutdown it is reversed.

\n

Your Amazon ECS container instances require at least version 1.26.0 of the container\n\t\t\tagent to use container dependencies. However, we recommend using the latest container\n\t\t\tagent version. For information about checking your agent version and updating to the\n\t\t\tlatest version, see Updating the Amazon ECS\n\t\t\t\tContainer Agent in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide. If you're using an Amazon ECS-optimized Linux AMI, your instance\n\t\t\tneeds at least version 1.26.0-1 of the ecs-init package. If your container\n\t\t\tinstances are launched from version 20190301 or later, then they contain\n\t\t\tthe required versions of the container agent and ecs-init. For more\n\t\t\tinformation, see Amazon ECS-optimized\n\t\t\t\tLinux AMI in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n \n

For tasks that use the Fargate launch type, the task or service requires the\n\t\t\t\tfollowing platforms:

\n
    \n
  • \n

    Linux platform version 1.3.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
\n

For more information about how to create a container dependency, see Container dependency in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "com.amazonaws.ecs#ContainerImage": { @@ -3017,13 +3039,13 @@ "containerInstanceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the container instance. For more information about the ARN format,\n\t\t\tsee Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the container instance. For more information about\n\t\t\tthe ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer\n\t\t\t\tGuide.

" } }, "ec2InstanceId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ID of the container instance. For Amazon EC2 instances, this value is the Amazon EC2\n\t\t\tinstance ID. For external instances, this value is the Amazon Web Services Systems Manager managed instance ID.

" + "smithy.api#documentation": "

The ID of the container instance. For Amazon EC2 instances, this value is the Amazon\n\t\t\tEC2 instance ID. For external instances, this value is the Amazon Web Services Systems\n\t\t\t\tManager managed instance ID.

" } }, "capacityProviderName": { @@ -3036,31 +3058,31 @@ "target": "com.amazonaws.ecs#Long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The version counter for the container instance. Every time a container instance\n\t\t\texperiences a change that triggers a CloudWatch event, the version counter is\n\t\t\tincremented. If you're replicating your Amazon ECS container instance state with CloudWatch\n\t\t\tEvents, you can compare the version of a container instance reported by the Amazon ECS APIs\n\t\t\twith the version reported in CloudWatch Events for the container instance (inside the\n\t\t\t\tdetail object) to verify that the version in your event stream is\n\t\t\tcurrent.

" + "smithy.api#documentation": "

The version counter for the container instance. Every time a container instance\n\t\t\texperiences a change that triggers a CloudWatch event, the version counter is\n\t\t\tincremented. If you're replicating your Amazon ECS container instance state with\n\t\t\tCloudWatch Events, you can compare the version of a container instance reported by the\n\t\t\tAmazon ECS APIs with the version reported in CloudWatch Events for the container\n\t\t\tinstance (inside the detail object) to verify that the version in your\n\t\t\tevent stream is current.

" } }, "versionInfo": { "target": "com.amazonaws.ecs#VersionInfo", "traits": { - "smithy.api#documentation": "

The version information for the Amazon ECS container agent and Docker daemon running on the\n\t\t\tcontainer instance.

" + "smithy.api#documentation": "

The version information for the Amazon ECS container agent and Docker daemon running\n\t\t\ton the container instance.

" } }, "remainingResources": { "target": "com.amazonaws.ecs#Resources", "traits": { - "smithy.api#documentation": "

For CPU and memory resource types, this parameter describes the remaining CPU and\n\t\t\tmemory that wasn't already allocated to tasks and is therefore available for new tasks.\n\t\t\tFor port resource types, this parameter describes the ports that were reserved by the\n\t\t\tAmazon ECS container agent (at instance registration time) and any task containers that have\n\t\t\treserved port mappings on the host (with the host or bridge\n\t\t\tnetwork mode). Any port that's not specified here is available for new tasks.

" + "smithy.api#documentation": "

For CPU and memory resource types, this parameter describes the remaining CPU and\n\t\t\tmemory that wasn't already allocated to tasks and is therefore available for new tasks.\n\t\t\tFor port resource types, this parameter describes the ports that were reserved by the\n\t\t\tAmazon ECS container agent (at instance registration time) and any task containers that\n\t\t\thave reserved port mappings on the host (with the host or\n\t\t\t\tbridge network mode). Any port that's not specified here is available\n\t\t\tfor new tasks.

" } }, "registeredResources": { "target": "com.amazonaws.ecs#Resources", "traits": { - "smithy.api#documentation": "

For CPU and memory resource types, this parameter describes the amount of each\n\t\t\tresource that was available on the container instance when the container agent\n\t\t\tregistered it with Amazon ECS. This value represents the total amount of CPU and memory that\n\t\t\tcan be allocated on this container instance to tasks. For port resource types, this\n\t\t\tparameter describes the ports that were reserved by the Amazon ECS container agent when it\n\t\t\tregistered the container instance with Amazon ECS.

" + "smithy.api#documentation": "

For CPU and memory resource types, this parameter describes the amount of each\n\t\t\tresource that was available on the container instance when the container agent\n\t\t\tregistered it with Amazon ECS. This value represents the total amount of CPU and memory\n\t\t\tthat can be allocated on this container instance to tasks. For port resource types, this\n\t\t\tparameter describes the ports that were reserved by the Amazon ECS container agent when\n\t\t\tit registered the container instance with Amazon ECS.

" } }, "status": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The status of the container instance. The valid values are REGISTERING,\n\t\t\t\tREGISTRATION_FAILED, ACTIVE, INACTIVE,\n\t\t\t\tDEREGISTERING, or DRAINING.

\n

If your account has opted in to the awsvpcTrunking account setting, then\n\t\t\tany newly registered container instance will transition to a REGISTERING\n\t\t\tstatus while the trunk elastic network interface is provisioned for the instance. If the\n\t\t\tregistration fails, the instance will transition to a REGISTRATION_FAILED\n\t\t\tstatus. You can describe the container instance and see the reason for failure in the\n\t\t\t\tstatusReason parameter. Once the container instance is terminated, the\n\t\t\tinstance transitions to a DEREGISTERING status while the trunk elastic\n\t\t\tnetwork interface is deprovisioned. The instance then transitions to an\n\t\t\t\tINACTIVE status.

\n

The ACTIVE status indicates that the container instance can accept tasks.\n\t\t\tThe DRAINING indicates that new tasks aren't placed on the container\n\t\t\tinstance and any service tasks running on the container instance are removed if\n\t\t\tpossible. For more information, see Container instance draining in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The status of the container instance. The valid values are REGISTERING,\n\t\t\t\tREGISTRATION_FAILED, ACTIVE, INACTIVE,\n\t\t\t\tDEREGISTERING, or DRAINING.

\n

If your account has opted in to the awsvpcTrunking account setting, then\n\t\t\tany newly registered container instance will transition to a REGISTERING\n\t\t\tstatus while the trunk elastic network interface is provisioned for the instance. If the\n\t\t\tregistration fails, the instance will transition to a REGISTRATION_FAILED\n\t\t\tstatus. You can describe the container instance and see the reason for failure in the\n\t\t\t\tstatusReason parameter. Once the container instance is terminated, the\n\t\t\tinstance transitions to a DEREGISTERING status while the trunk elastic\n\t\t\tnetwork interface is deprovisioned. The instance then transitions to an\n\t\t\t\tINACTIVE status.

\n

The ACTIVE status indicates that the container instance can accept tasks.\n\t\t\tThe DRAINING indicates that new tasks aren't placed on the container\n\t\t\tinstance and any service tasks running on the container instance are removed if\n\t\t\tpossible. For more information, see Container instance draining in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

" } }, "statusReason": { @@ -3099,7 +3121,7 @@ "attributes": { "target": "com.amazonaws.ecs#Attributes", "traits": { - "smithy.api#documentation": "

The attributes set for the container instance, either by the Amazon ECS container agent at\n\t\t\tinstance registration or manually with the PutAttributes\n\t\t\toperation.

" + "smithy.api#documentation": "

The attributes set for the container instance, either by the Amazon ECS container\n\t\t\tagent at instance registration or manually with the PutAttributes\n\t\t\toperation.

" } }, "registeredAt": { @@ -3117,7 +3139,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "healthStatus": { @@ -3128,7 +3150,7 @@ } }, "traits": { - "smithy.api#documentation": "

An Amazon EC2 or External instance that's running the Amazon ECS agent and has been registered\n\t\t\twith a cluster.

" + "smithy.api#documentation": "

An Amazon EC2 or External instance that's running the Amazon ECS agent and has been\n\t\t\tregistered with a cluster.

" } }, "com.amazonaws.ecs#ContainerInstanceField": { @@ -3290,7 +3312,7 @@ "ignoredExitCodes": { "target": "com.amazonaws.ecs#IntegerList", "traits": { - "smithy.api#documentation": "

A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can\n\t\t\tspecify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any exit\n\t\t\tcodes.

" + "smithy.api#documentation": "

A list of exit codes that Amazon ECS will ignore and not attempt a restart on. You can\n\t\t\tspecify a maximum of 50 container exit codes. By default, Amazon ECS does not ignore any\n\t\t\texit codes.

" } }, "restartAttemptPeriod": { @@ -3301,7 +3323,7 @@ } }, "traits": { - "smithy.api#documentation": "

You can enable a restart policy for each container defined in your task definition, to\n\t\t\tovercome transient failures faster and maintain task availability. When you enable a\n\t\t\trestart policy for a container, Amazon ECS can restart the container if it exits, without\n\t\t\tneeding to replace the task. For more information, see Restart\n\t\t\t\tindividual containers in Amazon ECS tasks with container restart policies in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

You can enable a restart policy for each container defined in your task definition, to\n\t\t\tovercome transient failures faster and maintain task availability. When you enable a\n\t\t\trestart policy for a container, Amazon ECS can restart the container if it exits,\n\t\t\twithout needing to replace the task. For more information, see Restart\n\t\t\t\tindividual containers in Amazon ECS tasks with container restart policies in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#ContainerStateChange": { @@ -3430,7 +3452,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a capacity provider. Capacity providers are associated with a cluster and are used in capacity provider strategies to facilitate cluster auto scaling. You can create capacity providers for Amazon ECS Managed Instances and EC2 instances. Fargate has the predefined FARGATE and FARGATE_SPOT capacity providers.

", + "smithy.api#documentation": "

Creates a capacity provider. Capacity providers are associated with a cluster and are\n\t\t\tused in capacity provider strategies to facilitate cluster auto scaling. You can create\n\t\t\tcapacity providers for Amazon ECS Managed Instances and EC2 instances. Fargate has the\n\t\t\tpredefined FARGATE and FARGATE_SPOT capacity providers.

", "smithy.api#examples": [ { "title": "To create a capacity provider ", @@ -3482,7 +3504,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the cluster to associate with the capacity provider. When you create a capacity provider with Amazon ECS Managed Instances, it becomes available only within the specified cluster.

" + "smithy.api#documentation": "

The name of the cluster to associate with the capacity provider. When you create a\n\t\t\tcapacity provider with Amazon ECS Managed Instances, it becomes available only within\n\t\t\tthe specified cluster.

" } }, "autoScalingGroupProvider": { @@ -3494,13 +3516,13 @@ "managedInstancesProvider": { "target": "com.amazonaws.ecs#CreateManagedInstancesProviderConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for the Amazon ECS Managed Instances provider. This configuration specifies how Amazon ECS manages Amazon EC2 instances on your behalf, including the infrastructure role, instance launch template, and tag propagation settings.

" + "smithy.api#documentation": "

The configuration for the Amazon ECS Managed Instances provider. This configuration\n\t\t\tspecifies how Amazon ECS manages Amazon EC2 instances on your behalf, including the\n\t\t\tinfrastructure role, instance launch template, and tag propagation settings.

" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the capacity provider to categorize and organize them\n\t\t\tmore conveniently. Each tag consists of a key and an optional value. You define both of\n\t\t\tthem.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the capacity provider to categorize and organize them\n\t\t\tmore conveniently. Each tag consists of a key and an optional value. You define both of\n\t\t\tthem.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } } }, @@ -3545,7 +3567,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new Amazon ECS cluster. By default, your account receives a default\n\t\t\tcluster when you launch your first container instance. However, you can create your own\n\t\t\tcluster with a unique name.

\n \n

When you call the CreateCluster\n\t\t\t\tAPI operation, Amazon ECS attempts to create the Amazon ECS service-linked role for your\n\t\t\t\taccount. This is so that it can manage required resources in other Amazon Web Services services on\n\t\t\t\tyour behalf. However, if the user that makes the call doesn't have permissions to\n\t\t\t\tcreate the service-linked role, it isn't created. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

\n
", + "smithy.api#documentation": "

Creates a new Amazon ECS cluster. By default, your account receives a\n\t\t\t\tdefault cluster when you launch your first container instance. However,\n\t\t\tyou can create your own cluster with a unique name.

\n \n

When you call the CreateCluster\n\t\t\t\tAPI operation, Amazon ECS attempts to create the Amazon ECS service-linked role for\n\t\t\t\tyour account. This is so that it can manage required resources in other Amazon Web\n\t\t\t\t\tServices services on your behalf. However, if the user that makes the\n\t\t\t\tcall doesn't have permissions to create the service-linked role, it isn't created.\n\t\t\t\tFor more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic\n\t\t\t\t\tContainer Service Developer Guide.

\n
", "smithy.api#examples": [ { "title": "To create a new cluster", @@ -3574,19 +3596,19 @@ "clusterName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of your cluster. If you don't specify a name for your cluster, you create a\n\t\t\tcluster that's named default. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

" + "smithy.api#documentation": "

The name of your cluster. If you don't specify a name for your cluster, you create a\n\t\t\tcluster that's named default. Up to 255 letters (uppercase and lowercase),\n\t\t\tnumbers, underscores, and hyphens are allowed.

" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the cluster to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "settings": { "target": "com.amazonaws.ecs#ClusterSettings", "traits": { - "smithy.api#documentation": "

The setting to use when creating a cluster. This parameter is used to turn on CloudWatch\n\t\t\tContainer Insights for a cluster. If this value is specified, it overrides the\n\t\t\t\tcontainerInsights value set with PutAccountSetting or PutAccountSettingDefault.

" + "smithy.api#documentation": "

The setting to use when creating a cluster. This parameter is used to turn on\n\t\t\tCloudWatch Container Insights for a cluster. If this value is specified, it overrides\n\t\t\tthe containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

" } }, "configuration": { @@ -3598,7 +3620,7 @@ "capacityProviders": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The short name of one or more capacity providers to associate with the cluster. A\n\t\t\tcapacity provider must be associated with a cluster before it can be included as part of\n\t\t\tthe default capacity provider strategy of the cluster or used in a capacity provider\n\t\t\tstrategy when calling the CreateService or\n\t\t\t\tRunTask actions.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must be created but not associated with another cluster. New Auto Scaling group\n\t\t\tcapacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutCapacityProvider API operation is used to update the list of available\n\t\t\tcapacity providers for a cluster after the cluster is created.

" + "smithy.api#documentation": "

The short name of one or more capacity providers to associate with the cluster. A\n\t\t\tcapacity provider must be associated with a cluster before it can be included as part of\n\t\t\tthe default capacity provider strategy of the cluster or used in a capacity provider\n\t\t\tstrategy when calling the CreateService or\n\t\t\t\tRunTask actions.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must be created but not associated with another cluster. New Auto Scaling group\n\t\t\tcapacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers\n\t\t\tare available to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutCapacityProvider API operation is used to update the list of available\n\t\t\tcapacity providers for a cluster after the cluster is created.

" } }, "defaultCapacityProviderStrategy": { @@ -3610,7 +3632,7 @@ "serviceConnectDefaults": { "target": "com.amazonaws.ecs#ClusterServiceConnectDefaultsRequest", "traits": { - "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default\n\t\t\tService Connect namespace, any new services with Service Connect turned on that are\n\t\t\tcreated in the cluster are added as client services in the namespace. This setting only\n\t\t\tapplies to new services that set the enabled parameter to true\n\t\t\tin the ServiceConnectConfiguration. You can set the namespace of each\n\t\t\tservice individually in the ServiceConnectConfiguration to override this\n\t\t\tdefault parameter.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } } }, @@ -3638,26 +3660,26 @@ "infrastructureRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to manage instances on your behalf. This role must have permissions to launch, terminate, and manage Amazon EC2 instances, as well as access to other Amazon Web Services services required for Amazon ECS Managed Instances functionality.

\n

For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.\n\t\t

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS uses to\n\t\t\tmanage instances on your behalf. This role must have permissions to launch, terminate,\n\t\t\tand manage Amazon EC2 instances, as well as access to other Amazon Web Services services\n\t\t\trequired for Amazon ECS Managed Instances functionality.

\n

For more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, "instanceLaunchTemplate": { "target": "com.amazonaws.ecs#InstanceLaunchTemplate", "traits": { - "smithy.api#documentation": "

The launch template configuration that specifies how Amazon ECS should launch Amazon EC2 instances. This includes the instance profile, network configuration, storage settings, and instance requirements for attribute-based instance type selection.

\n

For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide.

", + "smithy.api#documentation": "

The launch template configuration that specifies how Amazon ECS should launch Amazon\n\t\t\tEC2 instances. This includes the instance profile, network configuration, storage\n\t\t\tsettings, and instance requirements for attribute-based instance type selection.

\n

For more information, see Store instance launch\n\t\t\t\tparameters in Amazon EC2 launch templates in the Amazon EC2 User\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, "propagateTags": { "target": "com.amazonaws.ecs#PropagateMITags", "traits": { - "smithy.api#documentation": "

Specifies whether to propagate tags from the capacity provider to the Amazon ECS Managed Instances. When enabled, tags applied to the capacity provider are automatically applied to all instances launched by this provider.

" + "smithy.api#documentation": "

Specifies whether to propagate tags from the capacity provider to the Amazon ECS\n\t\t\tManaged Instances. When enabled, tags applied to the capacity provider are automatically\n\t\t\tapplied to all instances launched by this provider.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration for creating a Amazon ECS Managed Instances provider. This specifies how Amazon ECS should manage Amazon EC2 instances, including the infrastructure role, instance launch template, and whether to propagate tags from the capacity provider to the instances.

" + "smithy.api#documentation": "

The configuration for creating a Amazon ECS Managed Instances provider. This specifies\n\t\t\thow Amazon ECS should manage Amazon EC2 instances, including the infrastructure role,\n\t\t\tinstance launch template, and whether to propagate tags from the capacity provider to\n\t\t\tthe instances.

" } }, "com.amazonaws.ecs#CreateService": { @@ -3698,7 +3720,7 @@ } ], "traits": { - "smithy.api#documentation": "

Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

\n
\n \n

Amazon Elastic Inference (EI) is no longer available to customers.

\n
\n

In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. volumeConfigurations is only supported for REPLICA\n\t\t\tservice and not DAEMON service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

\n

Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

\n

There are two service scheduler strategies available:

\n
    \n
  • \n

    \n REPLICA - The replica scheduling strategy places and\n\t\t\t\t\tmaintains your desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. For\n\t\t\t\t\tmore information, see Service scheduler concepts in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n DAEMON - The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Amazon ECS services in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
\n

The deployment controller is the mechanism that determines how tasks are deployed for\n\t\t\tyour service. The valid options are:

\n
    \n
  • \n

    ECS

    \n

    When you create a service which uses the ECS deployment controller, you can\n\t\t\t\t\tchoose between the following deployment strategies (which you can set in the\n\t\t\t\t\t\t“strategy” field in “deploymentConfiguration”):\n\t\t\t\t\t:

    \n
      \n
    • \n

      \n ROLLING: When you create a service which uses the rolling update\n\t\t\t\t\t\t\t(ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the\n\t\t\t\t\t\t\tcurrently running tasks with new tasks. The number of tasks that Amazon ECS adds or\n\t\t\t\t\t\t\tremoves from the service during a rolling update is controlled by the service\n\t\t\t\t\t\t\tdeployment configuration. For more information, see Deploy Amazon ECS services by replacing tasks in the Amazon Elastic Container Service Developer Guide.

      \n

      Rolling update deployments are best suited for the following scenarios:

      \n
        \n
      • \n

        Gradual service updates: You need to\n\t\t\t\t\t\t\t\t\tupdate your service incrementally without taking the entire service\n\t\t\t\t\t\t\t\t\toffline at once.

        \n
      • \n
      • \n

        Limited resource requirements: You\n\t\t\t\t\t\t\t\t\twant to avoid the additional resource costs of running two complete\n\t\t\t\t\t\t\t\t\tenvironments simultaneously (as required by blue/green\n\t\t\t\t\t\t\t\t\tdeployments).

        \n
      • \n
      • \n

        Acceptable deployment time: Your\n\t\t\t\t\t\t\t\t\tapplication can tolerate a longer deployment process, as rolling updates\n\t\t\t\t\t\t\t\t\treplace tasks one by one.

        \n
      • \n
      • \n

        No need for instant roll back: Your\n\t\t\t\t\t\t\t\t\tservice can tolerate a rollback process that takes minutes rather than\n\t\t\t\t\t\t\t\t\tseconds.

        \n
      • \n
      • \n

        Simple deployment process: You prefer\n\t\t\t\t\t\t\t\t\ta straightforward deployment approach without the complexity of managing\n\t\t\t\t\t\t\t\t\tmultiple environments, target groups, and listeners.

        \n
      • \n
      • \n

        No load balancer requirement: Your\n\t\t\t\t\t\t\t\t\tservice doesn't use or require a load balancer, Application Load Balancer, Network Load Balancer, or Service Connect (which are required\n\t\t\t\t\t\t\t\t\tfor blue/green deployments).

        \n
      • \n
      • \n

        Stateful applications: Your\n\t\t\t\t\t\t\t\t\tapplication maintains state that makes it difficult to run two parallel\n\t\t\t\t\t\t\t\t\tenvironments.

        \n
      • \n
      • \n

        Cost sensitivity: You want to\n\t\t\t\t\t\t\t\t\tminimize deployment costs by not running duplicate environments during\n\t\t\t\t\t\t\t\t\tdeployment.

        \n
      • \n
      \n

      Rolling updates are the default deployment strategy for services and provide a\n\t\t\t\t\t\t\tbalance between deployment safety and resource efficiency for many common\n\t\t\t\t\t\t\tapplication scenarios.

      \n
    • \n
    • \n

      \n BLUE_GREEN: A blue/green deployment strategy (BLUE_GREEN) is a release methodology that reduces downtime and\n\t\t\t\t\t\t\trisk by running two identical production environments called blue and green.\n\t\t\t\t\t\t\tWith Amazon ECS blue/green deployments, you can validate new service revisions before\n\t\t\t\t\t\t\tdirecting production traffic to them. This approach provides a safer way to\n\t\t\t\t\t\t\tdeploy changes with the ability to quickly roll back if needed. For more information, see Amazon ECS blue/green deployments in the Amazon Elastic Container Service Developer Guide.

      \n

      Amazon ECS blue/green deployments are best suited for the following scenarios:

      \n
        \n
      • \n

        Service validation: When you need to\n\t\t\t\t\t\t\t\t\tvalidate new service revisions before directing production traffic to\n\t\t\t\t\t\t\t\t\tthem

        \n
      • \n
      • \n

        Zero downtime: When your service\n\t\t\t\t\t\t\t\t\trequires zero-downtime deployments

        \n
      • \n
      • \n

        Instant roll back: When you\n\t\t\t\t\t\t\t\t\tneed the ability to quickly roll back if issues are detected

        \n
      • \n
      • \n

        Load balancer requirement: When your\n\t\t\t\t\t\t\t\t\tservice uses Application Load Balancer, Network Load Balancer, or Service Connect

        \n
      • \n
      \n
    • \n
    \n
  • \n
  • \n

    External

    \n

    Use a third-party deployment controller.

    \n
  • \n
  • \n

    Blue/green deployment (powered by CodeDeploy)

    \n

    CodeDeploy installs an updated version of the application as a new replacement task\n\t\t\t\t\tset and reroutes production traffic from the original application task set to\n\t\t\t\t\tthe replacement task set. The original task set is terminated after a successful\n\t\t\t\t\tdeployment. Use this deployment controller to verify a new deployment of a service\n\t\t\t\t\tbefore sending production traffic to it.

    \n
  • \n
\n

When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

\n

When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS\n\t\t\t\ttask placement in the Amazon Elastic Container Service Developer Guide\n

", + "smithy.api#documentation": "

Runs and maintains your desired number of tasks from a specified task definition. If\n\t\t\tthe number of tasks running in a service drops below the desiredCount,\n\t\t\tAmazon ECS runs another copy of the task in the specified cluster. To update an existing\n\t\t\tservice, use UpdateService.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision\n\t\t\t\tbefore authorization. When a task definition revision is not specified,\n\t\t\t\tauthorization will occur using the latest revision of a task definition.

\n
\n \n

Amazon Elastic Inference (EI) is no longer available to customers.

\n
\n

In addition to maintaining the desired count of tasks in your service, you can\n\t\t\toptionally run your service behind one or more load balancers. The load balancers\n\t\t\tdistribute traffic across the tasks that are associated with the service. For more\n\t\t\tinformation, see Service load balancing in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when\n\t\t\tcreating or updating a service. volumeConfigurations is only supported for\n\t\t\tREPLICA service and not DAEMON service. For more information, see Amazon EBS volumes in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

Tasks for services that don't use a load balancer are considered healthy if they're in\n\t\t\tthe RUNNING state. Tasks for services that use a load balancer are\n\t\t\tconsidered healthy if they're in the RUNNING state and are reported as\n\t\t\thealthy by the load balancer.

\n

There are two service scheduler strategies available:

\n
    \n
  • \n

    \n REPLICA - The replica scheduling strategy places and maintains\n\t\t\t\t\tyour desired number of tasks across your cluster. By default, the service\n\t\t\t\t\tscheduler spreads tasks across Availability Zones. You can use task placement\n\t\t\t\t\tstrategies and constraints to customize task placement decisions. For more\n\t\t\t\t\tinformation, see Service scheduler concepts in the\n\t\t\t\t\t\tAmazon Elastic Container Service Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n DAEMON - The daemon scheduling strategy deploys exactly one task\n\t\t\t\t\ton each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It also stops tasks\n\t\t\t\t\tthat don't meet the placement constraints. When using this strategy, you don't\n\t\t\t\t\tneed to specify a desired number of tasks, a task placement strategy, or use\n\t\t\t\t\tService Auto Scaling policies. For more information, see Amazon ECS services in the Amazon Elastic Container\n\t\t\t\t\t\tService Developer Guide.

    \n
  • \n
\n

The deployment controller is the mechanism that determines how tasks are deployed for\n\t\t\tyour service. The valid options are:

\n
    \n
  • \n

    ECS

    \n

    When you create a service which uses the ECS deployment\n\t\t\t\t\tcontroller, you can choose between the following deployment strategies (which\n\t\t\t\t\tyou can set in the “strategy” field in\n\t\t\t\t\t\t“deploymentConfiguration”): :

    \n
      \n
    • \n

      \n ROLLING: When you create a service which uses the\n\t\t\t\t\t\t\t\trolling update (ROLLING)\n\t\t\t\t\t\t\tdeployment strategy, the Amazon ECS service scheduler replaces the\n\t\t\t\t\t\t\tcurrently running tasks with new tasks. The number of tasks that Amazon\n\t\t\t\t\t\t\tECS adds or removes from the service during a rolling update is\n\t\t\t\t\t\t\tcontrolled by the service deployment configuration. For more\n\t\t\t\t\t\t\tinformation, see Deploy Amazon ECS services by replacing\n\t\t\t\t\t\t\t\ttasks in the Amazon Elastic Container Service\n\t\t\t\t\t\t\t\tDeveloper Guide.

      \n

      Rolling update deployments are best suited for the following\n\t\t\t\t\t\t\tscenarios:

      \n
        \n
      • \n

        Gradual service updates: You need to update your service\n\t\t\t\t\t\t\t\t\tincrementally without taking the entire service offline at\n\t\t\t\t\t\t\t\t\tonce.

        \n
      • \n
      • \n

        Limited resource requirements: You want to avoid the\n\t\t\t\t\t\t\t\t\tadditional resource costs of running two complete environments\n\t\t\t\t\t\t\t\t\tsimultaneously (as required by blue/green deployments).

        \n
      • \n
      • \n

        Acceptable deployment time: Your application can tolerate a\n\t\t\t\t\t\t\t\t\tlonger deployment process, as rolling updates replace tasks one\n\t\t\t\t\t\t\t\t\tby one.

        \n
      • \n
      • \n

        No need for instant roll back: Your service can tolerate a\n\t\t\t\t\t\t\t\t\trollback process that takes minutes rather than seconds.

        \n
      • \n
      • \n

        Simple deployment process: You prefer a straightforward\n\t\t\t\t\t\t\t\t\tdeployment approach without the complexity of managing multiple\n\t\t\t\t\t\t\t\t\tenvironments, target groups, and listeners.

        \n
      • \n
      • \n

        No load balancer requirement: Your service doesn't use or\n\t\t\t\t\t\t\t\t\trequire a load balancer, Application Load Balancer, Network Load\n\t\t\t\t\t\t\t\t\tBalancer, or Service Connect (which are required for blue/green\n\t\t\t\t\t\t\t\t\tdeployments).

        \n
      • \n
      • \n

        Stateful applications: Your application maintains state that\n\t\t\t\t\t\t\t\t\tmakes it difficult to run two parallel environments.

        \n
      • \n
      • \n

        Cost sensitivity: You want to minimize deployment costs by not\n\t\t\t\t\t\t\t\t\trunning duplicate environments during deployment.

        \n
      • \n
      \n

      Rolling updates are the default deployment strategy for services and\n\t\t\t\t\t\t\tprovide a balance between deployment safety and resource efficiency for\n\t\t\t\t\t\t\tmany common application scenarios.

      \n
    • \n
    • \n

      \n BLUE_GREEN: A blue/green deployment\n\t\t\t\t\t\t\tstrategy (BLUE_GREEN) is a release methodology that reduces\n\t\t\t\t\t\t\tdowntime and risk by running two identical production environments\n\t\t\t\t\t\t\tcalled blue and green. With Amazon ECS blue/green deployments, you can\n\t\t\t\t\t\t\tvalidate new service revisions before directing production traffic to\n\t\t\t\t\t\t\tthem. This approach provides a safer way to deploy changes with the\n\t\t\t\t\t\t\tability to quickly roll back if needed. For more information, see Amazon ECS blue/green deployments in\n\t\t\t\t\t\t\tthe Amazon Elastic Container Service Developer\n\t\t\t\t\t\t\t\tGuide.

      \n

      Amazon ECS blue/green deployments are best suited for the following\n\t\t\t\t\t\t\tscenarios:

      \n
        \n
      • \n

        Service validation: When you need to validate new service\n\t\t\t\t\t\t\t\t\trevisions before directing production traffic to them

        \n
      • \n
      • \n

        Zero downtime: When your service requires zero-downtime\n\t\t\t\t\t\t\t\t\tdeployments

        \n
      • \n
      • \n

        Instant roll back: When you need the ability to quickly roll\n\t\t\t\t\t\t\t\t\tback if issues are detected

        \n
      • \n
      • \n

        Load balancer requirement: When your service uses Application\n\t\t\t\t\t\t\t\t\tLoad Balancer, Network Load Balancer, or Service Connect

        \n
      • \n
      \n
    • \n
    • \n

      \n LINEAR: A linear deployment strategy\n\t\t\t\t\t\t\t\t(LINEAR) gradually shifts traffic from the current\n\t\t\t\t\t\t\tproduction environment to a new environment in equal percentage\n\t\t\t\t\t\t\tincrements over a specified time period. With Amazon ECS linear\n\t\t\t\t\t\t\tdeployments, you can control the pace of traffic shifting and validate\n\t\t\t\t\t\t\tnew service revisions with increasing amounts of production\n\t\t\t\t\t\t\ttraffic.

      \n

      Linear deployments are best suited for the following scenarios:

      \n
        \n
      • \n

        Gradual validation: When you want to gradually validate your\n\t\t\t\t\t\t\t\t\tnew service version with increasing traffic

        \n
      • \n
      • \n

        Performance monitoring: When you need time to monitor metrics\n\t\t\t\t\t\t\t\t\tand performance during the deployment

        \n
      • \n
      • \n

        Risk minimization: When you want to minimize risk by exposing\n\t\t\t\t\t\t\t\t\tthe new version to production traffic incrementally

        \n
      • \n
      • \n

        Load balancer requirement: When your service uses Application\n\t\t\t\t\t\t\t\t\tLoad Balancer, Network Load Balancer, or Service Connect

        \n
      • \n
      \n
    • \n
    • \n

      \n CANARY: A canary deployment strategy\n\t\t\t\t\t\t\t\t(CANARY) shifts a small percentage of traffic to the\n\t\t\t\t\t\t\tnew service revision first, then shifts the remaining traffic all at\n\t\t\t\t\t\t\tonce after a specified time period. This allows you to test the new\n\t\t\t\t\t\t\tversion with a subset of users before full deployment.

      \n

      Canary deployments are best suited for the following scenarios:

      \n
        \n
      • \n

        Feature testing: When you want to test new features with a\n\t\t\t\t\t\t\t\t\tsmall subset of users before full rollout

        \n
      • \n
      • \n

        Production validation: When you need to validate performance\n\t\t\t\t\t\t\t\t\tand functionality with real production traffic

        \n
      • \n
      • \n

        Blast radius control: When you want to minimize blast radius\n\t\t\t\t\t\t\t\t\tif issues are discovered in the new version

        \n
      • \n
      • \n

        Load balancer requirement: When your service uses Application\n\t\t\t\t\t\t\t\t\tLoad Balancer, Network Load Balancer, or Service Connect

        \n
      • \n
      \n
    • \n
    \n
  • \n
  • \n

    External

    \n

    Use a third-party deployment controller.

    \n
  • \n
  • \n

    Blue/green deployment (powered by CodeDeploy)

    \n

    CodeDeploy installs an updated version of the application as a new\n\t\t\t\t\treplacement task set and reroutes production traffic from the original\n\t\t\t\t\tapplication task set to the replacement task set. The original task set is\n\t\t\t\t\tterminated after a successful deployment. Use this deployment controller to\n\t\t\t\t\tverify a new deployment of a service before sending production traffic to\n\t\t\t\t\tit.

    \n
  • \n
\n

When creating a service that uses the EXTERNAL deployment controller, you\n\t\t\tcan specify only parameters that aren't controlled at the task set level. The only\n\t\t\trequired parameter is the service name. You control your services using the CreateTaskSet. For more information, see Amazon ECS deployment types in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

\n

When the service scheduler launches new tasks, it determines task placement. For\n\t\t\tinformation about task placement and task placement strategies, see Amazon ECS task placement in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide\n

", "smithy.api#examples": [ { "title": "To create a new service", @@ -3814,32 +3836,32 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that you run your service on.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that you run your\n\t\t\tservice on. If you do not specify a cluster, the default cluster is assumed.

" } }, "serviceName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within\n\t\t\ta cluster, but you can have similarly named services in multiple clusters within a\n\t\t\tRegion or across multiple Regions.

", + "smithy.api#documentation": "

The name of your service. Up to 255 letters (uppercase and lowercase), numbers,\n\t\t\tunderscores, and hyphens are allowed. Service names must be unique within a cluster, but\n\t\t\tyou can have similarly named services in multiple clusters within a Region or across\n\t\t\tmultiple Regions.

", "smithy.api#required": {} } }, "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision\n\t\t\tisn't specified, the latest ACTIVE revision is used.

\n

A task definition must be specified if the service uses either the ECS or\n\t\t\t\tCODE_DEPLOY deployment controllers.

\n

For more information about deployment types, see Amazon ECS deployment\n\t\t\t\ttypes.

" + "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision isn't\n\t\t\tspecified, the latest ACTIVE revision is used.

\n

A task definition must be specified if the service uses either the ECS or\n\t\t\t\tCODE_DEPLOY deployment controllers.

\n

For more information about deployment types, see Amazon ECS deployment\n\t\t\t\ttypes.

" } }, "availabilityZoneRebalancing": { "target": "com.amazonaws.ecs#AvailabilityZoneRebalancing", "traits": { - "smithy.api#documentation": "

Indicates whether to use Availability Zone rebalancing for the service.

\n

For more information, see Balancing an Amazon ECS service across Availability Zones in\n\t\t\tthe \n Amazon Elastic Container Service Developer Guide\n .

\n

The default behavior of AvailabilityZoneRebalancing differs between create and update requests:

\n
    \n
  • \n

    For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value to ENABLED.

    \n
  • \n
  • \n

    For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’s AvailabilityZoneRebalancing value. If the service never had an AvailabilityZoneRebalancing value set, Amazon ECS treats this as DISABLED.

    \n
  • \n
" + "smithy.api#documentation": "

Indicates whether to use Availability Zone rebalancing for the service.

\n

For more information, see Balancing an Amazon\n\t\t\t\tECS service across Availability Zones in the \n Amazon\n\t\t\t\t\tElastic Container Service Developer Guide\n .

\n

The default behavior of AvailabilityZoneRebalancing differs between\n\t\t\tcreate and update requests:

\n
    \n
  • \n

    For create service requests, when no value is specified for\n\t\t\t\t\t\tAvailabilityZoneRebalancing, Amazon ECS defaults the value to\n\t\t\t\t\t\tENABLED.

    \n
  • \n
  • \n

    For update service requests, when no value is specified for\n\t\t\t\t\t\tAvailabilityZoneRebalancing, Amazon ECS defaults to the\n\t\t\t\t\texisting service’s AvailabilityZoneRebalancing value. If the\n\t\t\t\t\tservice never had an AvailabilityZoneRebalancing value set, Amazon\n\t\t\t\t\tECS treats this as DISABLED.

    \n
  • \n
" } }, "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

A load balancer object representing the load balancers to use with your service. For\n\t\t\tmore information, see Service load balancing in the Amazon Elastic Container Service Developer Guide.

\n

If the service uses the ECS deployment controller and\n\t\t\tusing either an Application Load Balancer or Network Load Balancer, you must specify one or more target group ARNs to attach\n\t\t\tto the service. The service-linked role is required for services that use multiple\n\t\t\ttarget groups. For more information, see Using service-linked roles for Amazon ECS in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n

If the service uses the CODE_DEPLOY deployment controller, the service is\n\t\t\trequired to use either an Application Load Balancer or Network Load Balancer. When creating an CodeDeploy deployment group, you\n\t\t\tspecify two target groups (referred to as a targetGroupPair). During a\n\t\t\tdeployment, CodeDeploy determines which task set in your service has the status\n\t\t\t\tPRIMARY, and it associates one target group with it. Then, it also\n\t\t\tassociates the other target group with the replacement task set. The load balancer can\n\t\t\talso have up to two listeners: a required listener for production traffic and an\n\t\t\toptional listener that you can use to perform validation tests with Lambda functions\n\t\t\tbefore routing production traffic to it.

\n

If you use the CODE_DEPLOY deployment controller, these values can be\n\t\t\tchanged when updating the service.

\n

For Application Load Balancers and Network Load Balancers, this object must contain the load balancer target group ARN,\n\t\t\tthe container name, and the container port to access from the load balancer. The\n\t\t\tcontainer name must be as it appears in a container definition. The load balancer name\n\t\t\tparameter must be omitted. When a task from this service is placed on a container\n\t\t\tinstance, the container instance and port combination is registered as a target in the\n\t\t\ttarget group that's specified here.

\n

For Classic Load Balancers, this object must contain the load balancer name, the container name , and\n\t\t\tthe container port to access from the load balancer. The container name must be as it\n\t\t\tappears in a container definition. The target group ARN parameter must be omitted.\n\t\t\tWhen a task from this service is placed on a container instance, the container instance\n\t\t\tis registered with the load balancer that's specified here.

\n

Services with tasks that use the awsvpc network mode (for example, those\n\t\t\twith the Fargate launch type) only support Application Load Balancers and Network Load Balancers. Classic Load Balancers\n\t\t\taren't supported. Also, when you create any target groups for these services, you must\n\t\t\tchoose ip as the target type, not instance. This is because\n\t\t\ttasks that use the awsvpc network mode are associated with an elastic\n\t\t\tnetwork interface, not an Amazon EC2 instance.

" + "smithy.api#documentation": "

A load balancer object representing the load balancers to use with your service. For\n\t\t\tmore information, see Service load balancing in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

If the service uses the ECS deployment controller and using either an\n\t\t\tApplication Load Balancer or Network Load Balancer, you must specify one or more target\n\t\t\tgroup ARNs to attach to the service. The service-linked role is required for services\n\t\t\tthat use multiple target groups. For more information, see Using service-linked roles for Amazon ECS in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n

If the service uses the CODE_DEPLOY deployment controller, the service is\n\t\t\trequired to use either an Application Load Balancer or Network Load Balancer. When\n\t\t\tcreating an CodeDeploy deployment group, you specify two target groups (referred to as\n\t\t\ta targetGroupPair). During a deployment, CodeDeploy determines which\n\t\t\ttask set in your service has the status PRIMARY, and it associates one\n\t\t\ttarget group with it. Then, it also associates the other target group with the\n\t\t\treplacement task set. The load balancer can also have up to two listeners: a required\n\t\t\tlistener for production traffic and an optional listener that you can use to perform\n\t\t\tvalidation tests with Lambda functions before routing production traffic to it.

\n

If you use the CODE_DEPLOY deployment controller, these values can be\n\t\t\tchanged when updating the service.

\n

For Application Load Balancers and Network Load Balancers, this object must contain\n\t\t\tthe load balancer target group ARN, the container name, and the container port to access\n\t\t\tfrom the load balancer. The container name must be as it appears in a container\n\t\t\tdefinition. The load balancer name parameter must be omitted. When a task from this\n\t\t\tservice is placed on a container instance, the container instance and port combination\n\t\t\tis registered as a target in the target group that's specified here.

\n

For Classic Load Balancers, this object must contain the load balancer name, the\n\t\t\tcontainer name , and the container port to access from the load balancer. The container\n\t\t\tname must be as it appears in a container definition. The target group ARN parameter\n\t\t\tmust be omitted. When a task from this service is placed on a container instance, the\n\t\t\tcontainer instance is registered with the load balancer that's specified here.

\n

Services with tasks that use the awsvpc network mode (for example, those\n\t\t\twith the Fargate launch type) only support Application Load Balancers and Network Load\n\t\t\tBalancers. Classic Load Balancers aren't supported. Also, when you create any target\n\t\t\tgroups for these services, you must choose ip as the target type, not\n\t\t\t\tinstance. This is because tasks that use the awsvpc\n\t\t\tnetwork mode are associated with an elastic network interface, not an Amazon EC2\n\t\t\tinstance.

" } }, "serviceRegistries": { @@ -3857,31 +3879,31 @@ "clientToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

An identifier that you provide to ensure the idempotency of the request. It must be\n\t\t\tunique and is case sensitive. Up to 36 ASCII characters in the range of 33-126 (inclusive) are allowed.

" + "smithy.api#documentation": "

An identifier that you provide to ensure the idempotency of the request. It must be\n\t\t\tunique and is case sensitive. Up to 36 ASCII characters in the range of 33-126\n\t\t\t(inclusive) are allowed.

" } }, "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The infrastructure that you run your service on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

\n \n

Fargate Spot infrastructure is available for use but a capacity provider\n\t\t\t\tstrategy must be used. For more information, see Fargate capacity providers in the Amazon ECS\n\t\t\t\t\tDeveloper Guide.

\n
\n

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your\n\t\t\tcluster.

\n

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n

A service can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" + "smithy.api#documentation": "

The infrastructure that you run your service on. For more information, see Amazon\n\t\t\t\tECS launch types in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n \n

If you want to use Amazon ECS Managed Instances, you must use the\n\t\t\t\t\tcapacityProviderStrategy request parameter and omit the\n\t\t\t\t\tlaunchType request parameter.

\n
\n

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

\n \n

Fargate Spot infrastructure is available for use but a capacity provider strategy\n\t\t\t\tmust be used. For more information, see Fargate capacity providers in\n\t\t\t\tthe Amazon ECS Developer Guide.

\n
\n

The EC2 launch type runs your tasks on Amazon EC2 instances registered to\n\t\t\tyour cluster.

\n

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n

A service can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" } }, "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use for the service.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

A capacity provider strategy can contain a maximum of 20 capacity providers.

" + "smithy.api#documentation": "

The capacity provider strategy to use for the service.

\n \n

If you want to use Amazon ECS Managed Instances, you must use the\n\t\t\t\t\tcapacityProviderStrategy request parameter and omit the\n\t\t\t\t\tlaunchType request parameter.

\n
\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

A capacity provider strategy can contain a maximum of 20 capacity providers.

" } }, "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version that your tasks in the service are running on. A platform version\n\t\t\tis specified only for tasks using the Fargate launch type. If one isn't\n\t\t\tspecified, the LATEST platform version is used. For more information, see\n\t\t\t\tFargate platform\n\t\t\t\tversions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version that your tasks in the service are running on. A platform version\n\t\t\tis specified only for tasks using the Fargate launch type. If one isn't specified, the\n\t\t\t\tLATEST platform version is used. For more information, see Fargate platform versions in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

" } }, "role": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to make calls to your\n\t\t\tload balancer on your behalf. This parameter is only permitted if you are using a load\n\t\t\tbalancer with your service and your task definition doesn't use the awsvpc\n\t\t\tnetwork mode. If you specify the role parameter, you must also specify a\n\t\t\tload balancer object with the loadBalancers parameter.

\n \n

If your account has already created the Amazon ECS service-linked role, that role is\n\t\t\t\tused for your service unless you specify a role here. The service-linked role is\n\t\t\t\trequired if your task definition uses the awsvpc network mode or if the\n\t\t\t\tservice is configured to use service discovery, an external deployment controller,\n\t\t\t\tmultiple target groups, or Elastic Inference accelerators in which case you don't\n\t\t\t\tspecify a role here. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

\n
\n

If your specified role has a path other than /, then you must either\n\t\t\tspecify the full role ARN (this is recommended) or prefix the role name with the path.\n\t\t\tFor example, if a role with the name bar has a path of /foo/\n\t\t\tthen you would specify /foo/bar as the role name. For more information, see\n\t\t\t\tFriendly names and paths in the IAM User\n\t\t\tGuide.

" + "smithy.api#documentation": "

The name or full Amazon Resource Name (ARN) of the IAM role that allows Amazon ECS to\n\t\t\tmake calls to your load balancer on your behalf. This parameter is only permitted if you\n\t\t\tare using a load balancer with your service and your task definition doesn't use the\n\t\t\t\tawsvpc network mode. If you specify the role parameter,\n\t\t\tyou must also specify a load balancer object with the loadBalancers\n\t\t\tparameter.

\n \n

If your account has already created the Amazon ECS service-linked role, that role\n\t\t\t\tis used for your service unless you specify a role here. The service-linked role is\n\t\t\t\trequired if your task definition uses the awsvpc network mode or if the\n\t\t\t\tservice is configured to use service discovery, an external deployment controller,\n\t\t\t\tmultiple target groups, or Elastic Inference accelerators in which case you don't\n\t\t\t\tspecify a role here. For more information, see Using\n\t\t\t\t\tservice-linked roles for Amazon ECS in the Amazon Elastic\n\t\t\t\t\tContainer Service Developer Guide.

\n
\n

If your specified role has a path other than /, then you must either\n\t\t\tspecify the full role ARN (this is recommended) or prefix the role name with the path.\n\t\t\tFor example, if a role with the name bar has a path of /foo/\n\t\t\tthen you would specify /foo/bar as the role name. For more information, see\n\t\t\t\tFriendly names and paths in the IAM User Guide.

" } }, "deploymentConfiguration": { @@ -3911,13 +3933,13 @@ "healthCheckGracePeriodSeconds": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you do not specify a health check grace period value, the default value of 0 is used. If you do not use any of the health checks, then healthCheckGracePeriodSeconds is unused.

\n

If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.

" + "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores\n\t\t\tunhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task\n\t\t\thas first started. If you do not specify a health check grace period value, the default\n\t\t\tvalue of 0 is used. If you do not use any of the health checks, then\n\t\t\t\thealthCheckGracePeriodSeconds is unused.

\n

If your service has more running tasks than desired, unhealthy tasks in the grace\n\t\t\tperiod might be stopped to reach the desired count.

" } }, "schedulingStrategy": { "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n

There are two service scheduler strategies available:

\n
    \n
  • \n

    \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement decisions. This\n\t\t\t\t\tscheduler strategy is required if the service uses the CODE_DEPLOY\n\t\t\t\t\tor EXTERNAL deployment controller types.

    \n
  • \n
  • \n

    \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance that meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks and will stop tasks\n\t\t\t\t\tthat don't meet the placement constraints. When you're using this strategy, you\n\t\t\t\t\tdon't need to specify a desired number of tasks, a task placement strategy, or\n\t\t\t\t\tuse Service Auto Scaling policies.

    \n \n

    Tasks using the Fargate launch type or the\n\t\t\t\t\t\t\tCODE_DEPLOY or EXTERNAL deployment controller\n\t\t\t\t\t\ttypes don't support the DAEMON scheduling strategy.

    \n
    \n
  • \n
" + "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n

There are two service scheduler strategies available:

\n
    \n
  • \n

    \n REPLICA-The replica scheduling strategy places and maintains the\n\t\t\t\t\tdesired number of tasks across your cluster. By default, the service scheduler\n\t\t\t\t\tspreads tasks across Availability Zones. You can use task placement strategies\n\t\t\t\t\tand constraints to customize task placement decisions. This scheduler strategy\n\t\t\t\t\tis required if the service uses the CODE_DEPLOY or\n\t\t\t\t\t\tEXTERNAL deployment controller types.

    \n
  • \n
  • \n

    \n DAEMON-The daemon scheduling strategy deploys exactly one task on\n\t\t\t\t\teach active container instance that meets all of the task placement constraints\n\t\t\t\t\tthat you specify in your cluster. The service scheduler also evaluates the task\n\t\t\t\t\tplacement constraints for running tasks and will stop tasks that don't meet the\n\t\t\t\t\tplacement constraints. When you're using this strategy, you don't need to\n\t\t\t\t\tspecify a desired number of tasks, a task placement strategy, or use Service\n\t\t\t\t\tAuto Scaling policies.

    \n \n

    Tasks using the Fargate launch type or the CODE_DEPLOY or\n\t\t\t\t\t\t\tEXTERNAL deployment controller types don't support the\n\t\t\t\t\t\t\tDAEMON scheduling strategy.

    \n
    \n
  • \n
" } }, "deploymentController": { @@ -3929,20 +3951,20 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value, both of which you define. When a\n\t\t\tservice is deleted, the tags are deleted as well.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "enableECSManagedTags": { "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to turn on Amazon ECS managed tags for the tasks within the service. For\n\t\t\tmore information, see Tagging your Amazon ECS\n\t\t\t\tresources in the Amazon Elastic Container Service Developer Guide.

\n

When you use Amazon ECS managed tags, you must set the propagateTags\n\t\t\trequest parameter.

" + "smithy.api#documentation": "

Specifies whether to turn on Amazon ECS managed tags for the tasks within the service.\n\t\t\tFor more information, see Tagging your Amazon ECS\n\t\t\t\tresources in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

When you use Amazon ECS managed tags, you must set the propagateTags\n\t\t\trequest parameter.

" } }, "propagateTags": { "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no\n\t\t\tvalue is specified, the tags aren't propagated. Tags can only be propagated to the task\n\t\t\tduring task creation. To add tags to a task after task creation, use the TagResource API action.

\n

You must set this to a value other than NONE when you use Cost Explorer.\n\t\t\tFor more information, see Amazon ECS usage reports\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

The default is NONE.

" + "smithy.api#documentation": "

Specifies whether to propagate the tags from the task definition to the task. If no\n\t\t\tvalue is specified, the tags aren't propagated. Tags can only be propagated to the task\n\t\t\tduring task creation. To add tags to a task after task creation, use the TagResource API action.

\n

You must set this to a value other than NONE when you use Cost Explorer.\n\t\t\tFor more information, see Amazon ECS usage\n\t\t\t\treports in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

The default is NONE.

" } }, "enableExecuteCommand": { @@ -3955,7 +3977,7 @@ "serviceConnectConfiguration": { "target": "com.amazonaws.ecs#ServiceConnectConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for this service to discover and connect to\n\tservices, and be discovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The configuration for this service to discover and connect to services, and be\n\t\t\tdiscovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "volumeConfigurations": { @@ -4033,7 +4055,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create a task set in the specified cluster and service. This is used when a service\n\t\t\tuses the EXTERNAL deployment controller type. For more information, see\n\t\t\t\tAmazon ECS deployment\n\t\t\t\ttypes in the Amazon Elastic Container Service Developer Guide.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

\n
\n

For information about the maximum number of task sets and other quotas, see Amazon ECS\n\t\t\t\tservice quotas in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Create a task set in the specified cluster and service. This is used when a service\n\t\t\tuses the EXTERNAL deployment controller type. For more information, see\n\t\t\t\tAmazon ECS deployment\n\t\t\t\ttypes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision\n\t\t\t\tbefore authorization. When a task definition revision is not specified,\n\t\t\t\tauthorization will occur using the latest revision of a task definition.

\n
\n

For information about the maximum number of task sets and other quotas, see Amazon ECS service quotas in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

", "smithy.api#examples": [ { "title": "To create a task set", @@ -4096,21 +4118,21 @@ "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service to create the task set in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service to create the task\n\t\t\tset in.

", "smithy.api#required": {} } }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to create the\n\t\t\ttask set in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice to create the task set in.

", "smithy.api#required": {} } }, "externalId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

An optional non-unique tag that identifies this task set in external systems. If the\n\t\t\ttask set is associated with a service discovery registry, the tasks in this task set\n\t\t\twill have the ECS_TASK_SET_EXTERNAL_ID Cloud Map attribute set to the provided\n\t\t\tvalue.

" + "smithy.api#documentation": "

An optional non-unique tag that identifies this task set in external systems. If the\n\t\t\ttask set is associated with a service discovery registry, the tasks in this task set\n\t\t\twill have the ECS_TASK_SET_EXTERNAL_ID\n\t\t\tCloud Map\n\t\t\tattribute set to the provided value.

" } }, "taskDefinition": { @@ -4129,7 +4151,7 @@ "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

A load balancer object representing the load balancer to use with the task set. The\n\t\t\tsupported load balancer types are either an Application Load Balancer or a Network Load Balancer.

" + "smithy.api#documentation": "

A load balancer object representing the load balancer to use with the task set. The\n\t\t\tsupported load balancer types are either an Application Load Balancer or a Network Load\n\t\t\tBalancer.

" } }, "serviceRegistries": { @@ -4141,19 +4163,19 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The launch type that new tasks in the task set uses. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n

If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" + "smithy.api#documentation": "

The launch type that new tasks in the task set uses. For more information, see Amazon\n\t\t\t\tECS launch types in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

If a launchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

" } }, "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use for the task set.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProviderProviderAPI operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutClusterCapacityProviders API operation is used to update the list of\n\t\t\tavailable capacity providers for a cluster after the cluster is created.

" + "smithy.api#documentation": "

The capacity provider strategy to use for the task set.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProviderProviderAPI operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers\n\t\t\tare available to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

\n

The PutClusterCapacityProviders API operation is used to update the list of\n\t\t\tavailable capacity providers for a cluster after the cluster is created.

" } }, "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version that the tasks in the task set uses. A platform version is\n\t\t\tspecified only for tasks using the Fargate launch type. If one isn't\n\t\t\tspecified, the LATEST platform version is used.

" + "smithy.api#documentation": "

The platform version that the tasks in the task set uses. A platform version is\n\t\t\tspecified only for tasks using the Fargate launch type. If one isn't specified, the\n\t\t\t\tLATEST platform version is used.

" } }, "scale": { @@ -4165,13 +4187,13 @@ "clientToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

An identifier that you provide to ensure the idempotency of the request. It must be\n\t\t\tunique and is case sensitive. Up to 36 ASCII characters in the range of 33-126 (inclusive) are allowed.

" + "smithy.api#documentation": "

An identifier that you provide to ensure the idempotency of the request. It must be\n\t\t\tunique and is case sensitive. Up to 36 ASCII characters in the range of 33-126\n\t\t\t(inclusive) are allowed.

" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both. When a service is\n\t\t\tdeleted, the tags are deleted.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both. When a service is\n\t\t\tdeleted, the tags are deleted.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } } }, @@ -4273,14 +4295,14 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The resource name to disable the account setting for. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services is\n\t\t\taffected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected. If\n\t\t\t\tawsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected.

", + "smithy.api#documentation": "

The resource name to disable the account setting for. If\n\t\t\t\tserviceLongArnFormat is specified, the ARN for your Amazon ECS services\n\t\t\tis affected. If taskLongArnFormat is specified, the ARN and resource ID for\n\t\t\tyour Amazon ECS tasks is affected. If containerInstanceLongArnFormat is\n\t\t\tspecified, the ARN and resource ID for your Amazon ECS container instances is affected.\n\t\t\tIf awsvpcTrunking is specified, the ENI limit for your Amazon ECS container\n\t\t\tinstances is affected.

", "smithy.api#required": {} } }, "principalArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the principal. It can be a user, role, or the\n\t\t\troot user. If you specify the root user, it disables the account setting for all users, roles,\n\t\t\tand the root user of the account unless a user or role explicitly overrides these settings.\n\t\t\tIf this field is omitted, the setting is changed only for the authenticated user.

\n

In order to use this parameter, you must be the root user, or the principal.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the principal. It can be a user, role, or the root\n\t\t\tuser. If you specify the root user, it disables the account setting for all users,\n\t\t\troles, and the root user of the account unless a user or role explicitly overrides these\n\t\t\tsettings. If this field is omitted, the setting is changed only for the authenticated\n\t\t\tuser.

\n

In order to use this parameter, you must be the root user, or the principal.

" } } }, @@ -4354,7 +4376,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to delete\n\t\t\tattributes. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that contains the\n\t\t\tresource to delete attributes. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "attributes": { @@ -4446,14 +4468,14 @@ "capacityProvider": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the capacity provider to delete.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the capacity provider to\n\t\t\tdelete.

", "smithy.api#required": {} } }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the cluster that contains the capacity provider to delete. Managed instances capacity providers are cluster-scoped and can only be deleted from their associated cluster.

" + "smithy.api#documentation": "

The name of the cluster that contains the capacity provider to delete. Managed\n\t\t\tinstances capacity providers are cluster-scoped and can only be deleted from their\n\t\t\tassociated cluster.

" } } }, @@ -4591,7 +4613,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a specified service within a cluster. You can delete a service if you have no\n\t\t\trunning tasks in it and the desired task count is zero. If the service is actively\n\t\t\tmaintaining tasks, you can't delete it, and you must update the service to a desired\n\t\t\ttask count of zero. For more information, see UpdateService.

\n \n

When you delete a service, if there are still running tasks that require cleanup,\n\t\t\t\tthe service status moves from ACTIVE to DRAINING, and the\n\t\t\t\tservice is no longer visible in the console or in the ListServices\n\t\t\t\tAPI operation. After all tasks have transitioned to either STOPPING or\n\t\t\t\t\tSTOPPED status, the service status moves from DRAINING\n\t\t\t\tto INACTIVE. Services in the DRAINING or\n\t\t\t\t\tINACTIVE status can still be viewed with the DescribeServices API operation. However, in the future,\n\t\t\t\t\tINACTIVE services may be cleaned up and purged from Amazon ECS record\n\t\t\t\tkeeping, and DescribeServices calls on those services return a\n\t\t\t\t\tServiceNotFoundException error.

\n
\n \n

If you attempt to create a new service with the same name as an existing service\n\t\t\t\tin either ACTIVE or DRAINING status, you receive an\n\t\t\t\terror.

\n
", + "smithy.api#documentation": "

Deletes a specified service within a cluster. You can delete a service if you have no\n\t\t\trunning tasks in it and the desired task count is zero. If the service is actively\n\t\t\tmaintaining tasks, you can't delete it, and you must update the service to a desired\n\t\t\ttask count of zero. For more information, see UpdateService.

\n \n

When you delete a service, if there are still running tasks that require cleanup,\n\t\t\t\tthe service status moves from ACTIVE to DRAINING, and the\n\t\t\t\tservice is no longer visible in the console or in the ListServices\n\t\t\t\tAPI operation. After all tasks have transitioned to either STOPPING or\n\t\t\t\t\tSTOPPED status, the service status moves from DRAINING\n\t\t\t\tto INACTIVE. Services in the DRAINING or\n\t\t\t\t\tINACTIVE status can still be viewed with the DescribeServices API operation. However, in the future,\n\t\t\t\t\tINACTIVE services may be cleaned up and purged from Amazon ECS\n\t\t\t\trecord keeping, and DescribeServices calls on those services return a\n\t\t\t\t\tServiceNotFoundException error.

\n
\n \n

If you attempt to create a new service with the same name as an existing service\n\t\t\t\tin either ACTIVE or DRAINING status, you receive an\n\t\t\t\terror.

\n
", "smithy.api#examples": [ { "title": "To delete a service", @@ -4610,7 +4632,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service to delete.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice to delete. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "service": { @@ -4668,7 +4690,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes one or more task definitions.

\n

You must deregister a task definition revision before you delete it. For more\n\t\t\tinformation, see DeregisterTaskDefinition.

\n

When you delete a task definition revision, it is immediately transitions from the\n\t\t\t\tINACTIVE to DELETE_IN_PROGRESS. Existing tasks and\n\t\t\tservices that reference a DELETE_IN_PROGRESS task definition revision\n\t\t\tcontinue to run without disruption. Existing services that reference a\n\t\t\t\tDELETE_IN_PROGRESS task definition revision can still scale up or down\n\t\t\tby modifying the service's desired count.

\n

You can't use a DELETE_IN_PROGRESS task definition revision to run new\n\t\t\ttasks or create new services. You also can't update an existing service to reference a\n\t\t\t\tDELETE_IN_PROGRESS task definition revision.

\n

A task definition revision will stay in DELETE_IN_PROGRESS status until\n\t\t\tall the associated tasks and services have been terminated.

\n

When you delete all INACTIVE task definition revisions, the task\n\t\t\tdefinition name is not displayed in the console and not returned in the API. If a task\n\t\t\tdefinition revisions are in the DELETE_IN_PROGRESS state, the task\n\t\t\tdefinition name is displayed in the console and returned in the API. The task definition\n\t\t\tname is retained by Amazon ECS and the revision is incremented the next time you create a\n\t\t\ttask definition with that name.

", + "smithy.api#documentation": "

Deletes one or more task definitions.

\n

You must deregister a task definition revision before you delete it. For more\n\t\t\tinformation, see DeregisterTaskDefinition.

\n

When you delete a task definition revision, it is immediately transitions from the\n\t\t\t\tINACTIVE to DELETE_IN_PROGRESS. Existing tasks and\n\t\t\tservices that reference a DELETE_IN_PROGRESS task definition revision\n\t\t\tcontinue to run without disruption. Existing services that reference a\n\t\t\t\tDELETE_IN_PROGRESS task definition revision can still scale up or down\n\t\t\tby modifying the service's desired count.

\n

You can't use a DELETE_IN_PROGRESS task definition revision to run new\n\t\t\ttasks or create new services. You also can't update an existing service to reference a\n\t\t\t\tDELETE_IN_PROGRESS task definition revision.

\n

A task definition revision will stay in DELETE_IN_PROGRESS status until\n\t\t\tall the associated tasks and services have been terminated.

\n

When you delete all INACTIVE task definition revisions, the task\n\t\t\tdefinition name is not displayed in the console and not returned in the API. If a task\n\t\t\tdefinition revisions are in the DELETE_IN_PROGRESS state, the task\n\t\t\tdefinition name is displayed in the console and returned in the API. The task definition\n\t\t\tname is retained by Amazon ECS and the revision is incremented the next time you create\n\t\t\ta task definition with that name.

", "smithy.api#examples": [ { "title": "To delete a task definition that has been deregistered", @@ -4787,7 +4809,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a specified task set within a service. This is used when a service uses the\n\t\t\t\tEXTERNAL deployment controller type. For more information, see Amazon ECS deployment types in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Deletes a specified task set within a service. This is used when a service uses the\n\t\t\t\tEXTERNAL deployment controller type. For more information, see Amazon ECS deployment types in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

", "smithy.api#examples": [ { "title": "To delete a task set within a service that uses the EXTERNAL deployment controller type", @@ -4841,14 +4863,14 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset found in to delete.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice that the task set found in to delete.

", "smithy.api#required": {} } }, "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that hosts the task set to\n\t\t\tdelete.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that hosts the task\n\t\t\tset to delete.

", "smithy.api#required": {} } }, @@ -4954,13 +4976,13 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The launch type the tasks in the service are using. For more information, see Amazon ECS\n\t\t\t\tLaunch Types in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The launch type the tasks in the service are using. For more information, see Amazon\n\t\t\t\tECS Launch Types in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version that your tasks in the service run on. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one isn't specified,\n\t\t\tthe LATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version that your tasks in the service run on. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If one isn't specified, the\n\t\t\t\tLATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

" } }, "platformFamily": { @@ -4972,13 +4994,13 @@ "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

" + "smithy.api#documentation": "

The VPC subnet and security group configuration for tasks that receive their own\n\t\t\telastic network interface by using the awsvpc networking mode.

" } }, "rolloutState": { "target": "com.amazonaws.ecs#DeploymentRolloutState", "traits": { - "smithy.api#documentation": "\n

The rolloutState of a service is only returned for services that use\n\t\t\t\tthe rolling update (ECS) deployment type that aren't behind a\n\t\t\t\tClassic Load Balancer.

\n
\n

The rollout state of the deployment. When a service deployment is started, it begins\n\t\t\tin an IN_PROGRESS state. When the service reaches a steady state, the\n\t\t\tdeployment transitions to a COMPLETED state. If the service fails to reach\n\t\t\ta steady state and circuit breaker is turned on, the deployment transitions to a\n\t\t\t\tFAILED state. A deployment in FAILED state doesn't launch\n\t\t\tany new tasks. For more information, see DeploymentCircuitBreaker.

" + "smithy.api#documentation": "\n

The rolloutState of a service is only returned for services that use\n\t\t\t\tthe rolling update (ECS) deployment type that aren't behind a Classic\n\t\t\t\tLoad Balancer.

\n
\n

The rollout state of the deployment. When a service deployment is started, it begins\n\t\t\tin an IN_PROGRESS state. When the service reaches a steady state, the\n\t\t\tdeployment transitions to a COMPLETED state. If the service fails to reach\n\t\t\ta steady state and circuit breaker is turned on, the deployment transitions to a\n\t\t\t\tFAILED state. A deployment in FAILED state doesn't launch\n\t\t\tany new tasks. For more information, see DeploymentCircuitBreaker.

" } }, "rolloutStateReason": { @@ -4990,7 +5012,7 @@ "serviceConnectConfiguration": { "target": "com.amazonaws.ecs#ServiceConnectConfiguration", "traits": { - "smithy.api#documentation": "

The details of the Service Connect configuration that's used by this deployment.\n\t\t\tCompare the configuration between multiple deployments when troubleshooting issues with\n\t\t\tnew deployments.

\n

The configuration for this service to discover and connect to\n\tservices, and be discovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The details of the Service Connect configuration that's used by this deployment.\n\t\t\tCompare the configuration between multiple deployments when troubleshooting issues with\n\t\t\tnew deployments.

\n

The configuration for this service to discover and connect to services, and be\n\t\t\tdiscovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "serviceConnectResources": { @@ -5019,7 +5041,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details of an Amazon ECS service deployment. This is used only when a service uses the\n\t\t\t\tECS deployment controller type.

" + "smithy.api#documentation": "

The details of an Amazon ECS service deployment. This is used only when a service uses\n\t\t\tthe ECS deployment controller type.

" } }, "com.amazonaws.ecs#DeploymentAlarms": { @@ -5036,7 +5058,7 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is used, when a service deployment fails, the service is rolled back\n\t\t\tto the last deployment that completed successfully.

", + "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service\n\t\t\tdeployment fails. If rollback is used, when a service deployment fails, the service is\n\t\t\trolled back to the last deployment that completed successfully.

", "smithy.api#required": {} } }, @@ -5050,7 +5072,7 @@ } }, "traits": { - "smithy.api#documentation": "

One of the methods which provide a way for you to quickly identify when a deployment\n\t\t\thas failed, and then to optionally roll back the failure to the last working\n\t\t\tdeployment.

\n

When the alarms are generated, Amazon ECS sets the service deployment to failed. Set the\n\t\t\trollback parameter to have Amazon ECS to roll back your service to the last completed\n\t\t\tdeployment after a failure.

\n

You can only use the DeploymentAlarms method to detect failures when the\n\t\t\t\tDeploymentController is set to ECS.

\n

For more information, see Rolling\n\t\t\t\tupdate in the \n Amazon Elastic Container Service Developer Guide\n .

" + "smithy.api#documentation": "

One of the methods which provide a way for you to quickly identify when a deployment\n\t\t\thas failed, and then to optionally roll back the failure to the last working\n\t\t\tdeployment.

\n

When the alarms are generated, Amazon ECS sets the service deployment to failed. Set\n\t\t\tthe rollback parameter to have Amazon ECS to roll back your service to the last\n\t\t\tcompleted deployment after a failure.

\n

You can only use the DeploymentAlarms method to detect failures when the\n\t\t\t\tDeploymentController is set to ECS.

\n

For more information, see Rolling\n\t\t\t\tupdate in the \n Amazon Elastic Container Service Developer\n\t\t\t\t\tGuide\n .

" } }, "com.amazonaws.ecs#DeploymentCircuitBreaker": { @@ -5068,13 +5090,13 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service deployment\n\t\t\tfails. If rollback is on, when a service deployment fails, the service is rolled back to\n\t\t\tthe last deployment that completed successfully.

", + "smithy.api#documentation": "

Determines whether to configure Amazon ECS to roll back the service if a service\n\t\t\tdeployment fails. If rollback is on, when a service deployment fails, the service is\n\t\t\trolled back to the last deployment that completed successfully.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "\n

The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type.

\n
\n

The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If it is turned\n\t\t\ton, a service deployment will transition to a failed state and stop launching new tasks.\n\t\t\tYou can also configure Amazon ECS to roll back your service to the last completed deployment\n\t\t\tafter a failure. For more information, see Rolling\n\t\t\t\tupdate in the Amazon Elastic Container Service Developer Guide.

\n

For more information about API failure reasons, see API failure\n\t\t\t\treasons in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "\n

The deployment circuit breaker can only be used for services using the rolling\n\t\t\t\tupdate (ECS) deployment type.

\n
\n

The deployment circuit breaker determines whether a\n\t\t\tservice deployment will fail if the service can't reach a steady state. If it is turned\n\t\t\ton, a service deployment will transition to a failed state and stop launching new tasks.\n\t\t\tYou can also configure Amazon ECS to roll back your service to the last completed\n\t\t\tdeployment after a failure. For more information, see Rolling\n\t\t\t\tupdate in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

For more information about API failure reasons, see API failure\n\t\t\t\treasons in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#DeploymentConfiguration": { @@ -5089,13 +5111,13 @@ "maximumPercent": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tmaximumPercent parameter represents an upper limit on the number of\n\t\t\tyour service's tasks that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment, as a percentage of the\n\t\t\t\tdesiredCount (rounded down to the nearest integer). This parameter\n\t\t\tenables you to define the deployment batch size. For example, if your service is using\n\t\t\tthe REPLICA service scheduler and has a desiredCount of four\n\t\t\ttasks and a maximumPercent value of 200%, the scheduler may start four new\n\t\t\ttasks before stopping the four older tasks (provided that the cluster resources required\n\t\t\tto do this are available). The default maximumPercent value for a service\n\t\t\tusing the REPLICA service scheduler is 200%.

\n

The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting\n\t\t\treplacement tasks first and then stopping the unhealthy tasks, as long as cluster\n\t\t\tresources for starting replacement tasks are available. For more information about how\n\t\t\tthe scheduler replaces unhealthy tasks, see Amazon ECS\n\t\t\tservices.

\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types, and tasks in the service use the\n\t\t\tEC2 launch type, the maximum percent\n\t\t\tvalue is set to the default value. The maximum percent\n\t\t\tvalue is used to define the upper limit on the number of the tasks in the service that\n\t\t\tremain in the RUNNING state while the container instances are in the\n\t\t\t\tDRAINING state.

\n \n

You can't specify a custom maximumPercent value for a service that\n\t\t\t\tuses either the blue/green (CODE_DEPLOY) or EXTERNAL\n\t\t\t\tdeployment types and has tasks that use the EC2 launch type.

\n
\n

If the service uses either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types, and the tasks in the service use the\n\t\t\tFargate launch type, the maximum percent value is not used. The value is\n\t\t\tstill returned when describing your service.

" + "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tmaximumPercent parameter represents an upper limit on the number of\n\t\t\tyour service's tasks that are allowed in the RUNNING or\n\t\t\t\tPENDING state during a deployment, as a percentage of the\n\t\t\t\tdesiredCount (rounded down to the nearest integer). This parameter\n\t\t\tenables you to define the deployment batch size. For example, if your service is using\n\t\t\tthe REPLICA service scheduler and has a desiredCount of four\n\t\t\ttasks and a maximumPercent value of 200%, the scheduler may start four new\n\t\t\ttasks before stopping the four older tasks (provided that the cluster resources required\n\t\t\tto do this are available). The default maximumPercent value for a service\n\t\t\tusing the REPLICA service scheduler is 200%.

\n

The Amazon ECS scheduler uses this parameter to replace unhealthy tasks by starting\n\t\t\treplacement tasks first and then stopping the unhealthy tasks, as long as cluster\n\t\t\tresources for starting replacement tasks are available. For more information about how\n\t\t\tthe scheduler replaces unhealthy tasks, see Amazon ECS\n\t\t\tservices.

\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types, and tasks in the service use the EC2 launch\n\t\t\ttype, the maximum percent value is set to the default\n\t\t\tvalue. The maximum percent value is used to define the\n\t\t\tupper limit on the number of the tasks in the service that remain in the\n\t\t\t\tRUNNING state while the container instances are in the\n\t\t\t\tDRAINING state.

\n \n

You can't specify a custom maximumPercent value for a service that\n\t\t\t\tuses either the blue/green (CODE_DEPLOY) or EXTERNAL\n\t\t\t\tdeployment types and has tasks that use the EC2 launch type.

\n
\n

If the service uses either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types, and the tasks in the service use the Fargate\n\t\t\tlaunch type, the maximum percent value is not used. The value is still returned when\n\t\t\tdescribing your service.

" } }, "minimumHealthyPercent": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tminimumHealthyPercent represents a lower limit on the number of your\n\t\t\tservice's tasks that must remain in the RUNNING state during a deployment,\n\t\t\tas a percentage of the desiredCount (rounded up to the nearest integer).\n\t\t\tThis parameter enables you to deploy without using additional cluster capacity. For\n\t\t\texample, if your service has a desiredCount of four tasks and a\n\t\t\t\tminimumHealthyPercent of 50%, the service scheduler may stop two\n\t\t\texisting tasks to free up cluster capacity before starting two new tasks.

\n

If any tasks are unhealthy and if maximumPercent doesn't allow the Amazon ECS\n\t\t\tscheduler to start replacement tasks, the scheduler stops the unhealthy tasks one-by-one\n\t\t\t— using the minimumHealthyPercent as a constraint — to clear up capacity to\n\t\t\tlaunch replacement tasks. For more information about how the scheduler replaces\n\t\t\tunhealthy tasks, see Amazon ECS services.

\n

For services that do not use a load balancer, the following\n\t\t\tshould be noted:

\n
    \n
  • \n

    A service is considered healthy if all essential containers within the tasks\n\t\t\t\t\tin the service pass their health checks.

    \n
  • \n
  • \n

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for 40 seconds after a task reaches a RUNNING\n\t\t\t\t\tstate before the task is counted towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n
  • \n
  • \n

    If a task has one or more essential containers with a health check defined,\n\t\t\t\t\tthe service scheduler will wait for the task to reach a healthy status before\n\t\t\t\t\tcounting it towards the minimum healthy percent total. A task is considered\n\t\t\t\t\thealthy when all essential containers within the task have passed their health\n\t\t\t\t\tchecks. The amount of time the service scheduler can wait for is determined by\n\t\t\t\t\tthe container health check settings.

    \n
  • \n
\n

For services that do use a load balancer, the following should be\n\t\t\tnoted:

\n
    \n
  • \n

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for the load balancer target group health check to return a\n\t\t\t\t\thealthy status before counting the task towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n
  • \n
  • \n

    If a task has an essential container with a health check defined, the service\n\t\t\t\t\tscheduler will wait for both the task to reach a healthy status and the load\n\t\t\t\t\tbalancer target group health check to return a healthy status before counting\n\t\t\t\t\tthe task towards the minimum healthy percent total.

    \n
  • \n
\n

The default value for a replica service for minimumHealthyPercent is\n\t\t\t100%. The default minimumHealthyPercent value for a service using the\n\t\t\t\tDAEMON service schedule is 0% for the CLI, the Amazon Web Services SDKs, and the\n\t\t\tAPIs and 50% for the Amazon Web Services Management Console.

\n

The minimum number of healthy tasks during a deployment is the\n\t\t\t\tdesiredCount multiplied by the minimumHealthyPercent/100,\n\t\t\trounded up to the nearest integer value.

\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and is running tasks that use the\n\t\t\tEC2 launch type, the minimum healthy\n\t\t\t\tpercent value is set to the default value. The minimum healthy percent value is used to define the lower limit on the\n\t\t\tnumber of the tasks in the service that remain in the RUNNING state while\n\t\t\tthe container instances are in the DRAINING state.

\n \n

You can't specify a custom minimumHealthyPercent value for a service\n\t\t\t\tthat uses either the blue/green (CODE_DEPLOY) or EXTERNAL\n\t\t\t\tdeployment types and has tasks that use the EC2 launch type.

\n
\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and is running tasks that use the\n\t\t\tFargate launch type, the minimum healthy percent value is not used,\n\t\t\talthough it is returned when describing your service.

" + "smithy.api#documentation": "

If a service is using the rolling update (ECS) deployment type, the\n\t\t\t\tminimumHealthyPercent represents a lower limit on the number of your\n\t\t\tservice's tasks that must remain in the RUNNING state during a deployment,\n\t\t\tas a percentage of the desiredCount (rounded up to the nearest integer).\n\t\t\tThis parameter enables you to deploy without using additional cluster capacity. For\n\t\t\texample, if your service has a desiredCount of four tasks and a\n\t\t\t\tminimumHealthyPercent of 50%, the service scheduler may stop two\n\t\t\texisting tasks to free up cluster capacity before starting two new tasks.

\n

If any tasks are unhealthy and if maximumPercent doesn't allow the\n\t\t\tAmazon ECS scheduler to start replacement tasks, the scheduler stops the unhealthy tasks\n\t\t\tone-by-one — using the minimumHealthyPercent as a constraint — to clear up\n\t\t\tcapacity to launch replacement tasks. For more information about how the scheduler\n\t\t\treplaces unhealthy tasks, see Amazon ECS services.

\n

For services that do not use a load balancer, the following\n\t\t\tshould be noted:

\n
    \n
  • \n

    A service is considered healthy if all essential containers within the tasks\n\t\t\t\t\tin the service pass their health checks.

    \n
  • \n
  • \n

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for 40 seconds after a task reaches a RUNNING\n\t\t\t\t\tstate before the task is counted towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n
  • \n
  • \n

    If a task has one or more essential containers with a health check defined,\n\t\t\t\t\tthe service scheduler will wait for the task to reach a healthy status before\n\t\t\t\t\tcounting it towards the minimum healthy percent total. A task is considered\n\t\t\t\t\thealthy when all essential containers within the task have passed their health\n\t\t\t\t\tchecks. The amount of time the service scheduler can wait for is determined by\n\t\t\t\t\tthe container health check settings.

    \n
  • \n
\n

For services that do use a load balancer, the following should be\n\t\t\tnoted:

\n
    \n
  • \n

    If a task has no essential containers with a health check defined, the service\n\t\t\t\t\tscheduler will wait for the load balancer target group health check to return a\n\t\t\t\t\thealthy status before counting the task towards the minimum healthy percent\n\t\t\t\t\ttotal.

    \n
  • \n
  • \n

    If a task has an essential container with a health check defined, the service\n\t\t\t\t\tscheduler will wait for both the task to reach a healthy status and the load\n\t\t\t\t\tbalancer target group health check to return a healthy status before counting\n\t\t\t\t\tthe task towards the minimum healthy percent total.

    \n
  • \n
\n

The default value for a replica service for minimumHealthyPercent is\n\t\t\t100%. The default minimumHealthyPercent value for a service using the\n\t\t\t\tDAEMON service schedule is 0% for the CLI, the Amazon Web Services SDKs, and the\n\t\t\tAPIs and 50% for the Amazon Web Services Management Console.

\n

The minimum number of healthy tasks during a deployment is the\n\t\t\t\tdesiredCount multiplied by the minimumHealthyPercent/100,\n\t\t\trounded up to the nearest integer value.

\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and is running tasks that use the EC2 launch\n\t\t\ttype, the minimum healthy percent value is set to the\n\t\t\tdefault value. The minimum healthy percent value is\n\t\t\tused to define the lower limit on the number of the tasks in the service that remain in\n\t\t\tthe RUNNING state while the container instances are in the\n\t\t\t\tDRAINING state.

\n \n

You can't specify a custom minimumHealthyPercent value for a service\n\t\t\t\tthat uses either the blue/green (CODE_DEPLOY) or EXTERNAL\n\t\t\t\tdeployment types and has tasks that use the EC2 launch type.

\n
\n

If a service is using either the blue/green (CODE_DEPLOY) or\n\t\t\t\tEXTERNAL deployment types and is running tasks that use the Fargate\n\t\t\tlaunch type, the minimum healthy percent value is not used, although it is returned when\n\t\t\tdescribing your service.

" } }, "alarms": { @@ -5121,6 +5143,18 @@ "traits": { "smithy.api#documentation": "

An array of deployment lifecycle hook objects to run custom logic at specific stages of the deployment lifecycle.

" } + }, + "linearConfiguration": { + "target": "com.amazonaws.ecs#LinearConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration for linear deployment strategy. Only valid when the deployment strategy\n\t\t\tis LINEAR. This configuration enables progressive traffic shifting in equal\n\t\t\tpercentage increments with configurable bake times between each step.

" + } + }, + "canaryConfiguration": { + "target": "com.amazonaws.ecs#CanaryConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration for canary deployment strategy. Only valid when the deployment strategy\n\t\t\tis CANARY. This configuration enables shifting a fixed percentage of\n\t\t\ttraffic for testing, followed by shifting the remaining traffic after a bake\n\t\t\tperiod.

" + } } }, "traits": { @@ -5133,7 +5167,7 @@ "type": { "target": "com.amazonaws.ecs#DeploymentControllerType", "traits": { - "smithy.api#documentation": "

The deployment controller type to use.

\n

The deployment controller is the mechanism that determines how tasks are deployed for\n\t\t\tyour service. The valid options are:

\n
    \n
  • \n

    ECS

    \n

    When you create a service which uses the ECS deployment controller, you can choose between the following deployment strategies:

    \n
      \n
    • \n

      \n ROLLING: When you create a service which uses the rolling update\n\t\t\t\t\t\t\t(ROLLING) deployment strategy, the Amazon ECS service scheduler replaces the\n\t\t\t\t\t\t\tcurrently running tasks with new tasks. The number of tasks that Amazon ECS adds or\n\t\t\t\t\t\t\tremoves from the service during a rolling update is controlled by the service\n\t\t\t\t\t\t\tdeployment configuration.

      \n

      Rolling update deployments are best suited for the following scenarios:

      \n
        \n
      • \n

        Gradual service updates: You need to\n\t\t\t\t\t\t\t\t\tupdate your service incrementally without taking the entire service\n\t\t\t\t\t\t\t\t\toffline at once.

        \n
      • \n
      • \n

        Limited resource requirements: You\n\t\t\t\t\t\t\t\t\twant to avoid the additional resource costs of running two complete\n\t\t\t\t\t\t\t\t\tenvironments simultaneously (as required by blue/green\n\t\t\t\t\t\t\t\t\tdeployments).

        \n
      • \n
      • \n

        Acceptable deployment time: Your\n\t\t\t\t\t\t\t\t\tapplication can tolerate a longer deployment process, as rolling updates\n\t\t\t\t\t\t\t\t\treplace tasks one by one.

        \n
      • \n
      • \n

        No need for instant roll back: Your\n\t\t\t\t\t\t\t\t\tservice can tolerate a rollback process that takes minutes rather than\n\t\t\t\t\t\t\t\t\tseconds.

        \n
      • \n
      • \n

        Simple deployment process: You prefer\n\t\t\t\t\t\t\t\t\ta straightforward deployment approach without the complexity of managing\n\t\t\t\t\t\t\t\t\tmultiple environments, target groups, and listeners.

        \n
      • \n
      • \n

        No load balancer requirement: Your\n\t\t\t\t\t\t\t\t\tservice doesn't use or require a load balancer, Application Load Balancer, Network Load Balancer, or Service Connect (which are required\n\t\t\t\t\t\t\t\t\tfor blue/green deployments).

        \n
      • \n
      • \n

        Stateful applications: Your\n\t\t\t\t\t\t\t\t\tapplication maintains state that makes it difficult to run two parallel\n\t\t\t\t\t\t\t\t\tenvironments.

        \n
      • \n
      • \n

        Cost sensitivity: You want to\n\t\t\t\t\t\t\t\t\tminimize deployment costs by not running duplicate environments during\n\t\t\t\t\t\t\t\t\tdeployment.

        \n
      • \n
      \n

      Rolling updates are the default deployment strategy for services and provide a\n\t\t\t\t\t\t\tbalance between deployment safety and resource efficiency for many common\n\t\t\t\t\t\t\tapplication scenarios.

      \n
    • \n
    • \n

      \n BLUE_GREEN: A blue/green deployment strategy (BLUE_GREEN) is a release methodology that reduces downtime and\n\t\t\t\t\t\t\trisk by running two identical production environments called blue and green.\n\t\t\t\t\t\t\tWith Amazon ECS blue/green deployments, you can validate new service revisions before\n\t\t\t\t\t\t\tdirecting production traffic to them. This approach provides a safer way to\n\t\t\t\t\t\t\tdeploy changes with the ability to quickly roll back if needed.

      \n

      Amazon ECS blue/green deployments are best suited for the following scenarios:

      \n
        \n
      • \n

        Service validation: When you need to\n\t\t\t\t\t\t\t\t\tvalidate new service revisions before directing production traffic to\n\t\t\t\t\t\t\t\t\tthem

        \n
      • \n
      • \n

        Zero downtime: When your service\n\t\t\t\t\t\t\t\t\trequires zero-downtime deployments

        \n
      • \n
      • \n

        Instant roll back: When you\n\t\t\t\t\t\t\t\t\tneed the ability to quickly roll back if issues are detected

        \n
      • \n
      • \n

        Load balancer requirement: When your\n\t\t\t\t\t\t\t\t\tservice uses Application Load Balancer, Network Load Balancer, or Service Connect

        \n
      • \n
      \n
    • \n
    \n
  • \n
  • \n

    External

    \n

    Use a third-party deployment controller.

    \n
  • \n
  • \n

    Blue/green deployment (powered by CodeDeploy)

    \n

    CodeDeploy installs an updated version of the application as a new replacement task\n\t\t\t\t\tset and reroutes production traffic from the original application task set to\n\t\t\t\t\tthe replacement task set. The original task set is terminated after a successful\n\t\t\t\t\tdeployment. Use this deployment controller to verify a new deployment of a service\n\t\t\t\t\tbefore sending production traffic to it.

    \n
  • \n
", + "smithy.api#documentation": "

The deployment controller type to use.

\n

The deployment controller is the mechanism that determines how tasks are deployed for\n\t\t\tyour service. The valid options are:

\n
    \n
  • \n

    ECS

    \n

    When you create a service which uses the ECS deployment\n\t\t\t\t\tcontroller, you can choose between the following deployment strategies:

    \n
      \n
    • \n

      \n ROLLING: When you create a service which uses the\n\t\t\t\t\t\t\t\trolling update (ROLLING)\n\t\t\t\t\t\t\tdeployment strategy, the Amazon ECS service scheduler replaces the\n\t\t\t\t\t\t\tcurrently running tasks with new tasks. The number of tasks that Amazon\n\t\t\t\t\t\t\tECS adds or removes from the service during a rolling update is\n\t\t\t\t\t\t\tcontrolled by the service deployment configuration.

      \n

      Rolling update deployments are best suited for the following\n\t\t\t\t\t\t\tscenarios:

      \n
        \n
      • \n

        Gradual service updates: You need to update your service\n\t\t\t\t\t\t\t\t\tincrementally without taking the entire service offline at\n\t\t\t\t\t\t\t\t\tonce.

        \n
      • \n
      • \n

        Limited resource requirements: You want to avoid the\n\t\t\t\t\t\t\t\t\tadditional resource costs of running two complete environments\n\t\t\t\t\t\t\t\t\tsimultaneously (as required by blue/green deployments).

        \n
      • \n
      • \n

        Acceptable deployment time: Your application can tolerate a\n\t\t\t\t\t\t\t\t\tlonger deployment process, as rolling updates replace tasks one\n\t\t\t\t\t\t\t\t\tby one.

        \n
      • \n
      • \n

        No need for instant roll back: Your service can tolerate a\n\t\t\t\t\t\t\t\t\trollback process that takes minutes rather than seconds.

        \n
      • \n
      • \n

        Simple deployment process: You prefer a straightforward\n\t\t\t\t\t\t\t\t\tdeployment approach without the complexity of managing multiple\n\t\t\t\t\t\t\t\t\tenvironments, target groups, and listeners.

        \n
      • \n
      • \n

        No load balancer requirement: Your service doesn't use or\n\t\t\t\t\t\t\t\t\trequire a load balancer, Application Load Balancer, Network Load\n\t\t\t\t\t\t\t\t\tBalancer, or Service Connect (which are required for blue/green\n\t\t\t\t\t\t\t\t\tdeployments).

        \n
      • \n
      • \n

        Stateful applications: Your application maintains state that\n\t\t\t\t\t\t\t\t\tmakes it difficult to run two parallel environments.

        \n
      • \n
      • \n

        Cost sensitivity: You want to minimize deployment costs by not\n\t\t\t\t\t\t\t\t\trunning duplicate environments during deployment.

        \n
      • \n
      \n

      Rolling updates are the default deployment strategy for services and\n\t\t\t\t\t\t\tprovide a balance between deployment safety and resource efficiency for\n\t\t\t\t\t\t\tmany common application scenarios.

      \n
    • \n
    • \n

      \n BLUE_GREEN: A blue/green deployment\n\t\t\t\t\t\t\tstrategy (BLUE_GREEN) is a release methodology that reduces\n\t\t\t\t\t\t\tdowntime and risk by running two identical production environments\n\t\t\t\t\t\t\tcalled blue and green. With Amazon ECS blue/green deployments, you can\n\t\t\t\t\t\t\tvalidate new service revisions before directing production traffic to\n\t\t\t\t\t\t\tthem. This approach provides a safer way to deploy changes with the\n\t\t\t\t\t\t\tability to quickly roll back if needed.

      \n

      Amazon ECS blue/green deployments are best suited for the following\n\t\t\t\t\t\t\tscenarios:

      \n
        \n
      • \n

        Service validation: When you need to validate new service\n\t\t\t\t\t\t\t\t\trevisions before directing production traffic to them

        \n
      • \n
      • \n

        Zero downtime: When your service requires zero-downtime\n\t\t\t\t\t\t\t\t\tdeployments

        \n
      • \n
      • \n

        Instant roll back: When you need the ability to quickly roll\n\t\t\t\t\t\t\t\t\tback if issues are detected

        \n
      • \n
      • \n

        Load balancer requirement: When your service uses Application\n\t\t\t\t\t\t\t\t\tLoad Balancer, Network Load Balancer, or Service Connect

        \n
      • \n
      \n
    • \n
    \n
  • \n
  • \n

    External

    \n

    Use a third-party deployment controller.

    \n
  • \n
  • \n

    Blue/green deployment (powered by CodeDeploy)

    \n

    CodeDeploy installs an updated version of the application as a new\n\t\t\t\t\treplacement task set and reroutes production traffic from the original\n\t\t\t\t\tapplication task set to the replacement task set. The original task set is\n\t\t\t\t\tterminated after a successful deployment. Use this deployment controller to\n\t\t\t\t\tverify a new deployment of a service before sending production traffic to\n\t\t\t\t\tit.

    \n
  • \n
", "smithy.api#required": {} } } @@ -5171,7 +5205,7 @@ "kmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

Specify an Key Management Service key ID to encrypt the ephemeral storage for\n\t\t\tdeployment.

" + "smithy.api#documentation": "

Specify an Key\n\t\t\t\tManagement Service key ID to encrypt the ephemeral storage for\n\t\t\tdeployment.

" } } }, @@ -5307,6 +5341,18 @@ "traits": { "smithy.api#enumValue": "BLUE_GREEN" } + }, + "LINEAR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "LINEAR" + } + }, + "CANARY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CANARY" + } } } }, @@ -5339,7 +5385,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deregisters an Amazon ECS container instance from the specified cluster. This instance is\n\t\t\tno longer available to run tasks.

\n

If you intend to use the container instance for some other purpose after\n\t\t\tderegistration, we recommend that you stop all of the tasks running on the container\n\t\t\tinstance before deregistration. That prevents any orphaned tasks from consuming\n\t\t\tresources.

\n

Deregistering a container instance removes the instance from a cluster, but it doesn't\n\t\t\tterminate the EC2 instance. If you are finished using the instance, be sure to terminate\n\t\t\tit in the Amazon EC2 console to stop billing.

\n \n

If you terminate a running container instance, Amazon ECS automatically deregisters the\n\t\t\t\tinstance from your cluster (stopped container instances or instances with\n\t\t\t\tdisconnected agents aren't automatically deregistered when terminated).

\n
", + "smithy.api#documentation": "

Deregisters an Amazon ECS container instance from the specified cluster. This instance\n\t\t\tis no longer available to run tasks.

\n

If you intend to use the container instance for some other purpose after\n\t\t\tderegistration, we recommend that you stop all of the tasks running on the container\n\t\t\tinstance before deregistration. That prevents any orphaned tasks from consuming\n\t\t\tresources.

\n

Deregistering a container instance removes the instance from a cluster, but it doesn't\n\t\t\tterminate the EC2 instance. If you are finished using the instance, be sure to terminate\n\t\t\tit in the Amazon EC2 console to stop billing.

\n \n

If you terminate a running container instance, Amazon ECS automatically\n\t\t\t\tderegisters the instance from your cluster (stopped container instances or instances\n\t\t\t\twith disconnected agents aren't automatically deregistered when terminated).

\n
", "smithy.api#examples": [ { "title": "To deregister a container instance from a cluster", @@ -5360,20 +5406,20 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to\n\t\t\tderegister. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tcontainer instance to deregister. If you do not specify a cluster, the default cluster\n\t\t\tis assumed.

" } }, "containerInstance": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The container instance ID or full ARN of the container instance to deregister. For\n\t\t\tmore information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

", + "smithy.api#documentation": "

The container instance ID or full ARN of the container instance to deregister. For\n\t\t\tmore information about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, "force": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Forces the container instance to be deregistered. If you have tasks running on the\n\t\t\tcontainer instance when you deregister it with the force option, these\n\t\t\ttasks remain running until you terminate the instance or the tasks stop through some\n\t\t\tother means, but they're orphaned (no longer monitored or accounted for by Amazon ECS). If an\n\t\t\torphaned task on your container instance is part of an Amazon ECS service, then the service\n\t\t\tscheduler starts another copy of that task, on a different container instance if\n\t\t\tpossible.

\n

Any containers in orphaned service tasks that are registered with a Classic Load Balancer or an Application Load Balancer\n\t\t\ttarget group are deregistered. They begin connection draining according to the settings\n\t\t\ton the load balancer or target group.

" + "smithy.api#documentation": "

Forces the container instance to be deregistered. If you have tasks running on the\n\t\t\tcontainer instance when you deregister it with the force option, these\n\t\t\ttasks remain running until you terminate the instance or the tasks stop through some\n\t\t\tother means, but they're orphaned (no longer monitored or accounted for by Amazon ECS).\n\t\t\tIf an orphaned task on your container instance is part of an Amazon ECS service, then\n\t\t\tthe service scheduler starts another copy of that task, on a different container\n\t\t\tinstance if possible.

\n

Any containers in orphaned service tasks that are registered with a Classic Load\n\t\t\tBalancer or an Application Load Balancer target group are deregistered. They begin\n\t\t\tconnection draining according to the settings on the load balancer or target\n\t\t\tgroup.

" } } }, @@ -5590,13 +5636,13 @@ "capacityProviders": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of one or more capacity providers. Up to\n\t\t\t\t100 capacity providers can be described in an action.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of one or more capacity providers.\n\t\t\tUp to 100 capacity providers can be described in an action.

" } }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the cluster to describe capacity providers for. When specified, only capacity providers associated with this cluster are returned, including Amazon ECS Managed Instances capacity providers.

" + "smithy.api#documentation": "

The name of the cluster to describe capacity providers for. When specified, only\n\t\t\tcapacity providers associated with this cluster are returned, including Amazon ECS\n\t\t\tManaged Instances capacity providers.

" } }, "include": { @@ -5608,13 +5654,13 @@ "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of account setting results returned by\n\t\t\t\tDescribeCapacityProviders in paginated output. When this parameter is\n\t\t\tused, DescribeCapacityProviders only returns maxResults\n\t\t\tresults in a single page along with a nextToken response element. The\n\t\t\tremaining results of the initial request can be seen by sending another\n\t\t\t\tDescribeCapacityProviders request with the returned\n\t\t\t\tnextToken value. This value can be between\n\t\t\t1 and 10. If this\n\t\t\tparameter is not used, then DescribeCapacityProviders returns up to\n\t\t\t10 results and a nextToken value\n\t\t\tif applicable.

" + "smithy.api#documentation": "

The maximum number of account setting results returned by\n\t\t\t\tDescribeCapacityProviders in paginated output. When this parameter is\n\t\t\tused, DescribeCapacityProviders only returns maxResults\n\t\t\tresults in a single page along with a nextToken response element. The\n\t\t\tremaining results of the initial request can be seen by sending another\n\t\t\t\tDescribeCapacityProviders request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and 10. If this parameter\n\t\t\tis not used, then DescribeCapacityProviders returns up to 10 results and a\n\t\t\t\tnextToken value if applicable.

" } }, "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n\t\t\t\tDescribeCapacityProviders request where maxResults was\n\t\t\tused and the results exceeded the value of that parameter. Pagination continues from the\n\t\t\tend of the previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a previous paginated\n\t\t\t\tDescribeCapacityProviders request where maxResults was\n\t\t\tused and the results exceeded the value of that parameter. Pagination continues from the\n\t\t\tend of the previous results that returned the nextToken value.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } } }, @@ -5668,7 +5714,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes one or more of your clusters.

\n

For CLI examples, see describe-clusters.rst on GitHub.

", + "smithy.api#documentation": "

Describes one or more of your clusters.

\n

For CLI\n\t\t\texamples, see describe-clusters.rst on GitHub.

", "smithy.api#examples": [ { "title": "To describe a cluster", @@ -5848,13 +5894,13 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to\n\t\t\tdescribe. If you do not specify a cluster, the default cluster is assumed. This parameter is required if the container instance\n\t\t\tor container instances you are describing were launched in any cluster other than the\n\t\t\tdefault cluster.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tcontainer instances to describe. If you do not specify a cluster, the default cluster is\n\t\t\tassumed. This parameter is required if the container instance or container instances you\n\t\t\tare describing were launched in any cluster other than the default cluster.

" } }, "containerInstances": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A list of up to 100 container instance IDs or full Amazon Resource Name (ARN) entries.

", + "smithy.api#documentation": "

A list of up to 100 container instance IDs or full Amazon Resource Name (ARN)\n\t\t\tentries.

", "smithy.api#required": {} } }, @@ -5921,7 +5967,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes one or more of your service deployments.

\n

A service deployment happens when you release a software update for the service. For\n\t\t\tmore information, see View service history using Amazon ECS service deployments.

" + "smithy.api#documentation": "

Describes one or more of your service deployments.

\n

A service deployment happens when you release a software update for the service. For\n\t\t\tmore information, see View service history\n\t\t\t\tusing Amazon ECS service deployments.

" } }, "com.amazonaws.ecs#DescribeServiceDeploymentsRequest": { @@ -6184,7 +6230,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to describe.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed. This parameter is required if the service or services you are\n\t\t\tdescribing were launched in any cluster other than the default cluster.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN)the cluster that hosts the service to\n\t\t\tdescribe. If you do not specify a cluster, the default cluster is assumed. This\n\t\t\tparameter is required if the service or services you are describing were launched in any\n\t\t\tcluster other than the default cluster.

" } }, "services": { @@ -6308,7 +6354,7 @@ "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The family for the latest ACTIVE revision,\n\t\t\t\tfamily and revision (family:revision) for a\n\t\t\tspecific revision in the family, or full Amazon Resource Name (ARN) of the task definition to\n\t\t\tdescribe.

", + "smithy.api#documentation": "

The family for the latest ACTIVE revision,\n\t\t\t\tfamily and revision (family:revision) for a\n\t\t\tspecific revision in the family, or full Amazon Resource Name (ARN) of the task\n\t\t\tdefinition to describe.

", "smithy.api#required": {} } }, @@ -6335,7 +6381,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that's applied to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that's applied to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } } }, @@ -6378,7 +6424,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes the task sets in the specified cluster and service. This is used when a\n\t\t\tservice uses the EXTERNAL deployment controller type. For more information,\n\t\t\tsee Amazon ECS Deployment\n\t\t\t\tTypes in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Describes the task sets in the specified cluster and service. This is used when a\n\t\t\tservice uses the EXTERNAL deployment controller type. For more information,\n\t\t\tsee Amazon ECS Deployment\n\t\t\t\tTypes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

", "smithy.api#examples": [ { "title": "To describe a task set ", @@ -6436,14 +6482,14 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tsets exist in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice that the task sets exist in.

", "smithy.api#required": {} } }, "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that the task sets exist in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that the task sets\n\t\t\texist in.

", "smithy.api#required": {} } }, @@ -6615,7 +6661,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task or tasks to\n\t\t\tdescribe. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task\n\t\t\tor tasks to describe. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "tasks": { @@ -6758,7 +6804,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Returns an endpoint for the Amazon ECS agent to poll for updates.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use\n\t\t\t\toutside of the agent.

\n
\n

Returns an endpoint for the Amazon ECS agent to poll for updates.

" } }, "com.amazonaws.ecs#DiscoverPollEndpointRequest": { @@ -6767,13 +6813,13 @@ "containerInstance": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The container instance ID or full ARN of the container instance. For more\n\t\t\tinformation about the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

The container instance ID or full ARN of the container instance. For more information\n\t\t\tabout the ARN format, see Amazon Resource Name (ARN) in the Amazon ECS Developer\n\t\t\t\tGuide.

" } }, "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that the container instance belongs\n\t\t\tto.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that the container\n\t\t\tinstance belongs to.

" } } }, @@ -6799,7 +6845,7 @@ "serviceConnectEndpoint": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The endpoint for the Amazon ECS agent to poll for Service Connect configuration.\n\t\t\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The endpoint for the Amazon ECS agent to poll for Service Connect configuration. For\n\t\t\tmore information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } } }, @@ -6851,7 +6897,7 @@ } }, "traits": { - "smithy.api#documentation": "

This parameter is specified when you're using Docker volumes. Docker volumes are only\n\t\t\tsupported when you're using the EC2 launch type. Windows containers only\n\t\t\tsupport the use of the local driver. To use bind mounts, specify a\n\t\t\t\thost instead.

" + "smithy.api#documentation": "

This parameter is specified when you're using Docker volumes. Docker volumes are only\n\t\t\tsupported when you're using the EC2 launch type. Windows containers only support the use\n\t\t\tof the local driver. To use bind mounts, specify a host\n\t\t\tinstead.

" } }, "com.amazonaws.ecs#Double": { @@ -6905,7 +6951,7 @@ "propagateTags": { "target": "com.amazonaws.ecs#PropagateTags", "traits": { - "smithy.api#documentation": "

Determines whether to propagate the tags from the task definition to \u2028the Amazon EBS\n\t\t\tvolume. Tags can only propagate to a SERVICE specified in\n\t\t\t\t\u2028ServiceVolumeConfiguration. If no value is specified, the tags aren't\n\t\t\t\u2028propagated.

" + "smithy.api#documentation": "

Determines whether to propagate the tags from the task definition to \u2028the\n\t\t\tAmazon EBS volume. Tags can only propagate to a SERVICE specified in\n\t\t\t\t\u2028ServiceVolumeConfiguration. If no value is specified, the tags\n\t\t\taren't \u2028propagated.

" } } }, @@ -6931,13 +6977,13 @@ "accessPointId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon EFS access point ID to use. If an access point is specified, the root directory\n\t\t\tvalue specified in the EFSVolumeConfiguration must either be omitted or set\n\t\t\tto / which will enforce the path set on the EFS access point. If an access\n\t\t\tpoint is used, transit encryption must be on in the EFSVolumeConfiguration.\n\t\t\tFor more information, see Working with Amazon EFS access\n\t\t\t\tpoints in the Amazon Elastic File System User Guide.

" + "smithy.api#documentation": "

The Amazon EFS access point ID to use. If an access point is specified, the root\n\t\t\tdirectory value specified in the EFSVolumeConfiguration must either be\n\t\t\tomitted or set to / which will enforce the path set on the EFS access\n\t\t\tpoint. If an access point is used, transit encryption must be on in the\n\t\t\t\tEFSVolumeConfiguration. For more information, see Working with Amazon\n\t\t\t\tEFS access points in the Amazon Elastic File System User\n\t\t\t\tGuide.

" } }, "iam": { "target": "com.amazonaws.ecs#EFSAuthorizationConfigIAM", "traits": { - "smithy.api#documentation": "

Determines whether to use the Amazon ECS task role defined in a task definition when\n\t\t\tmounting the Amazon EFS file system. If it is turned on, transit encryption must be turned on\n\t\t\tin the EFSVolumeConfiguration. If this parameter is omitted, the default\n\t\t\tvalue of DISABLED is used. For more information, see Using\n\t\t\t\tAmazon EFS access points in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Determines whether to use the Amazon ECS task role defined in a task definition when\n\t\t\tmounting the Amazon EFS file system. If it is turned on, transit encryption must be\n\t\t\tturned on in the EFSVolumeConfiguration. If this parameter is omitted, the\n\t\t\tdefault value of DISABLED is used. For more information, see Using\n\t\t\t\tAmazon EFS access points in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } } }, @@ -6992,19 +7038,19 @@ "rootDirectory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The directory within the Amazon EFS file system to mount as the root directory inside the\n\t\t\thost. If this parameter is omitted, the root of the Amazon EFS volume will be used.\n\t\t\tSpecifying / will have the same effect as omitting this parameter.

\n \n

If an EFS access point is specified in the authorizationConfig, the\n\t\t\t\troot directory parameter must either be omitted or set to / which will\n\t\t\t\tenforce the path set on the EFS access point.

\n
" + "smithy.api#documentation": "

The directory within the Amazon EFS file system to mount as the root directory inside\n\t\t\tthe host. If this parameter is omitted, the root of the Amazon EFS volume will be used.\n\t\t\tSpecifying / will have the same effect as omitting this parameter.

\n \n

If an EFS access point is specified in the authorizationConfig, the\n\t\t\t\troot directory parameter must either be omitted or set to / which will\n\t\t\t\tenforce the path set on the EFS access point.

\n
" } }, "transitEncryption": { "target": "com.amazonaws.ecs#EFSTransitEncryption", "traits": { - "smithy.api#documentation": "

Determines whether to use encryption for Amazon EFS data in transit between the Amazon ECS host\n\t\t\tand the Amazon EFS server. Transit encryption must be turned on if Amazon EFS IAM authorization\n\t\t\tis used. If this parameter is omitted, the default value of DISABLED is\n\t\t\tused. For more information, see Encrypting data in transit in\n\t\t\tthe Amazon Elastic File System User Guide.

" + "smithy.api#documentation": "

Determines whether to use encryption for Amazon EFS data in transit between the Amazon\n\t\t\tECS host and the Amazon EFS server. Transit encryption must be turned on if Amazon EFS\n\t\t\tIAM authorization is used. If this parameter is omitted, the default value of\n\t\t\t\tDISABLED is used. For more information, see Encrypting data in transit in\n\t\t\tthe Amazon Elastic File System User Guide.

" } }, "transitEncryptionPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS\n\t\t\tserver. If you do not specify a transit encryption port, it will use the port selection\n\t\t\tstrategy that the Amazon EFS mount helper uses. For more information, see EFS mount\n\t\t\t\thelper in the Amazon Elastic File System User Guide.

" + "smithy.api#documentation": "

The port to use when sending encrypted data between the Amazon ECS host and the Amazon\n\t\t\tEFS server. If you do not specify a transit encryption port, it will use the port\n\t\t\tselection strategy that the Amazon EFS mount helper uses. For more information, see\n\t\t\t\tEFS mount\n\t\t\t\thelper in the Amazon Elastic File System User\n\t\t\tGuide.

" } }, "authorizationConfig": { @@ -7015,7 +7061,7 @@ } }, "traits": { - "smithy.api#documentation": "

This parameter is specified when you're using an Amazon Elastic File System file system for task\n\t\t\tstorage. For more information, see Amazon EFS volumes in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

This parameter is specified when you're using an Amazon Elastic File System file\n\t\t\tsystem for task storage. For more information, see Amazon EFS volumes in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#EnvironmentFile": { @@ -7031,13 +7077,13 @@ "type": { "target": "com.amazonaws.ecs#EnvironmentFileType", "traits": { - "smithy.api#documentation": "

The file type to use. Environment files are objects in Amazon S3. The only supported value\n\t\t\tis s3.

", + "smithy.api#documentation": "

The file type to use. Environment files are objects in Amazon S3. The only supported\n\t\t\tvalue is s3.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored.

\n

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Use a file to pass\n\t\t\t\tenvironment variables to a container in the Amazon Elastic Container Service Developer Guide.

\n

Environment variable files are objects in Amazon S3 and all Amazon S3 security considerations\n\t\t\tapply.

\n

You must use the following platforms for the Fargate launch type:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

Consider the following when using the Fargate launch type:

\n
    \n
  • \n

    The file is handled like a native Docker env-file.

    \n
  • \n
  • \n

    There is no support for shell escape handling.

    \n
  • \n
  • \n

    The container entry point interperts the VARIABLE values.

    \n
  • \n
" + "smithy.api#documentation": "

A list of files containing the environment variables to pass to a container. You can\n\t\t\tspecify up to ten environment files. The file must have a .env file\n\t\t\textension. Each line in an environment file should contain an environment variable in\n\t\t\t\tVARIABLE=VALUE format. Lines beginning with # are treated\n\t\t\tas comments and are ignored.

\n

If there are environment variables specified using the environment\n\t\t\tparameter in a container definition, they take precedence over the variables contained\n\t\t\twithin an environment file. If multiple environment files are specified that contain the\n\t\t\tsame variable, they're processed from the top down. We recommend that you use unique\n\t\t\tvariable names. For more information, see Use a file to pass\n\t\t\t\tenvironment variables to a container in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

Environment variable files are objects in Amazon S3 and all Amazon S3 security\n\t\t\tconsiderations apply.

\n

You must use the following platforms for the Fargate launch type:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n

Consider the following when using the Fargate launch type:

\n
    \n
  • \n

    The file is handled like a native Docker env-file.

    \n
  • \n
  • \n

    There is no support for shell escape handling.

    \n
  • \n
  • \n

    The container entry point interperts the VARIABLE values.

    \n
  • \n
" } }, "com.amazonaws.ecs#EnvironmentFileType": { @@ -7076,7 +7122,7 @@ } }, "traits": { - "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Using data volumes in\n\t\t\t\ttasks in the Amazon ECS Developer Guide;.

\n \n

For tasks using the Fargate launch type, the task requires the\n\t\t\t\tfollowing platforms:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Using data volumes in\n\t\t\t\ttasks in the Amazon ECS Developer Guide;.

\n \n

For tasks using the Fargate launch type, the task requires the following\n\t\t\t\tplatforms:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" } }, "com.amazonaws.ecs#ExcludedInstanceType": { @@ -7133,7 +7179,7 @@ } ], "traits": { - "smithy.api#documentation": "

Runs a command remotely on a container within a task.

\n

If you use a condition key in your IAM policy to refine the conditions for the\n\t\t\tpolicy statement, for example limit the actions to a specific cluster, you receive an\n\t\t\t\tAccessDeniedException when there is a mismatch between the condition\n\t\t\tkey value and the corresponding parameter value.

\n

For information about required permissions and considerations, see Using Amazon ECS\n\t\t\t\tExec for debugging in the Amazon ECS Developer Guide.\n\t\t

", + "smithy.api#documentation": "

Runs a command remotely on a container within a task.

\n

If you use a condition key in your IAM policy to refine the conditions for the policy\n\t\t\tstatement, for example limit the actions to a specific cluster, you receive an\n\t\t\t\tAccessDeniedException when there is a mismatch between the condition\n\t\t\tkey value and the corresponding parameter value.

\n

For information about required permissions and considerations, see Using\n\t\t\t\tAmazon ECS Exec for debugging in the Amazon ECS Developer\n\t\t\t\tGuide.

", "smithy.api#examples": [ { "title": "To run a command remotely on a container in a task", @@ -7167,7 +7213,7 @@ "kmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

Specify an Key Management Service key ID to encrypt the data between the local client\n\t\t\tand the container.

" + "smithy.api#documentation": "

Specify an Key\n\t\t\t\tManagement Service key ID to encrypt the data between the local client and\n\t\t\tthe container.

" } }, "logging": { @@ -7256,7 +7302,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) or short name of the cluster the task is running in.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) or short name of the cluster the task is running in. If\n\t\t\tyou do not specify a cluster, the default cluster is assumed.

" } }, "container": { @@ -7317,7 +7363,7 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Determines whether the execute command session is running in interactive mode. Amazon ECS\n\t\t\tonly supports initiating interactive sessions, so you must specify true for\n\t\t\tthis value.

" + "smithy.api#documentation": "

Determines whether the execute command session is running in interactive mode. Amazon\n\t\t\tECS only supports initiating interactive sessions, so you must specify true\n\t\t\tfor this value.

" } }, "session": { @@ -7343,20 +7389,20 @@ "credentialsParameter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The authorization credential option to use. The authorization credential options can\n\t\t\tbe provided using either the Amazon Resource Name (ARN) of an Secrets Manager secret or SSM Parameter Store\n\t\t\tparameter. The ARN refers to the stored credentials.

", + "smithy.api#documentation": "

The authorization credential option to use. The authorization credential options can\n\t\t\tbe provided using either the Amazon Resource Name (ARN) of an Secrets Manager secret or SSM\n\t\t\tParameter Store parameter. The ARN refers to the stored credentials.

", "smithy.api#required": {} } }, "domain": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

A fully qualified domain name hosted by an Directory Service Managed Microsoft AD (Active Directory) or self-hosted AD on\n\t\t\tAmazon EC2.

", + "smithy.api#documentation": "

A fully qualified domain name hosted by an Directory\n\t\t\t\t\tService Managed Microsoft AD (Active Directory) or self-hosted\n\t\t\tAD on Amazon EC2.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The authorization configuration details for Amazon FSx for Windows File Server file system. See FSxWindowsFileServerVolumeConfiguration in the Amazon ECS API\n\t\t\t\tReference.

\n

For more information and the input format, see Amazon FSx for Windows File Server Volumes\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The authorization configuration details for Amazon FSx for Windows File Server file\n\t\t\tsystem. See FSxWindowsFileServerVolumeConfiguration in the Amazon ECS API\n\t\t\t\tReference.

\n

For more information and the input format, see Amazon FSx for Windows File\n\t\t\t\tServer Volumes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#FSxWindowsFileServerVolumeConfiguration": { @@ -7372,20 +7418,20 @@ "rootDirectory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The directory within the Amazon FSx for Windows File Server file system to mount as the root directory\n\t\t\tinside the host.

", + "smithy.api#documentation": "

The directory within the Amazon FSx for Windows File Server file system to mount as\n\t\t\tthe root directory inside the host.

", "smithy.api#required": {} } }, "authorizationConfig": { "target": "com.amazonaws.ecs#FSxWindowsFileServerAuthorizationConfig", "traits": { - "smithy.api#documentation": "

The authorization configuration details for the Amazon FSx for Windows File Server file system.

", + "smithy.api#documentation": "

The authorization configuration details for the Amazon FSx for Windows File Server\n\t\t\tfile system.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

This parameter is specified when you're using Amazon FSx for Windows File Server file system for task\n\t\t\tstorage.

\n

For more information and the input format, see Amazon FSx for Windows File Server volumes\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

This parameter is specified when you're using Amazon FSx for Windows File\n\t\t\t\tServer file system for task storage.

\n

For more information and the input format, see Amazon FSx for Windows File\n\t\t\t\tServer volumes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#Failure": { @@ -7411,7 +7457,7 @@ } }, "traits": { - "smithy.api#documentation": "

A failed resource. For a list of common causes, see API failure\n\t\t\t\treasons in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A failed resource. For a list of common causes, see API failure\n\t\t\t\treasons in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#Failures": { @@ -7433,7 +7479,7 @@ "options": { "target": "com.amazonaws.ecs#FirelensConfigurationOptionsMap", "traits": { - "smithy.api#documentation": "

The options to use when configuring the log router. This field is optional and can be\n\t\t\tused to specify a custom configuration file or to add additional metadata, such as the\n\t\t\ttask, task definition, cluster, and container instance details to the log event. If\n\t\t\tspecified, the syntax to use is\n\t\t\t\t\"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}.\n\t\t\tFor more information, see Creating\n\t\t\t\ta task definition that uses a FireLens configuration in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

Tasks hosted on Fargate only support the file configuration file\n\t\t\t\ttype.

\n
" + "smithy.api#documentation": "

The options to use when configuring the log router. This field is optional and can be\n\t\t\tused to specify a custom configuration file or to add additional metadata, such as the\n\t\t\ttask, task definition, cluster, and container instance details to the log event. If\n\t\t\tspecified, the syntax to use is\n\t\t\t\t\"options\":{\"enable-ecs-log-metadata\":\"true|false\",\"config-file-type:\"s3|file\",\"config-file-value\":\"arn:aws:s3:::mybucket/fluent.conf|filepath\"}.\n\t\t\tFor more information, see Creating\n\t\t\t\ta task definition that uses a FireLens configuration in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

\n \n

Tasks hosted on Fargate only support the file configuration file\n\t\t\t\ttype.

\n
" } } }, @@ -7530,7 +7576,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tsets exist in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice that the task sets exist in.

", "smithy.api#required": {} } }, @@ -7577,7 +7623,7 @@ "command": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

A string array representing the command that the container runs to determine if it is\n\t\t\thealthy. The string array must start with CMD to run the command arguments\n\t\t\tdirectly, or CMD-SHELL to run the command with the container's default\n\t\t\tshell.

\n

When you use the Amazon Web Services Management Console JSON panel, the Command Line Interface, or the APIs, enclose the list\n\t\t\tof commands in double quotes and brackets.

\n

\n [ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]\n

\n

You don't include the double quotes and brackets when you use the Amazon Web Services Management Console.

\n

\n CMD-SHELL, curl -f http://localhost/ || exit 1\n

\n

An exit code of 0 indicates success, and non-zero exit code indicates failure. For\n\t\t\tmore information, see HealthCheck in the docker container create\n\t\t\tcommand.

", + "smithy.api#documentation": "

A string array representing the command that the container runs to determine if it is\n\t\t\thealthy. The string array must start with CMD to run the command arguments\n\t\t\tdirectly, or CMD-SHELL to run the command with the container's default\n\t\t\tshell.

\n

When you use the Amazon Web Services Management Console JSON panel, the Command Line\n\t\t\t\tInterface, or the APIs, enclose the list of commands in double quotes and\n\t\t\tbrackets.

\n

\n [ \"CMD-SHELL\", \"curl -f http://localhost/ || exit 1\" ]\n

\n

You don't include the double quotes and brackets when you use the Amazon Web Services\n\t\t\tManagement Console.

\n

\n CMD-SHELL, curl -f http://localhost/ || exit 1\n

\n

An exit code of 0 indicates success, and non-zero exit code indicates failure. For\n\t\t\tmore information, see HealthCheck in the docker container create\n\t\t\tcommand.

", "smithy.api#required": {} } }, @@ -7607,7 +7653,7 @@ } }, "traits": { - "smithy.api#documentation": "

An object representing a container health check. Health check parameters that are\n\t\t\tspecified in a container definition override any Docker health checks that exist in the\n\t\t\tcontainer image (such as those specified in a parent image or from the image's\n\t\t\tDockerfile). This configuration maps to the HEALTHCHECK parameter of docker\n\t\t\trun.

\n \n

The Amazon ECS container agent only monitors and reports on the health checks specified\n\t\t\t\tin the task definition. Amazon ECS does not monitor Docker health checks that are\n\t\t\t\tembedded in a container image and not specified in the container definition. Health\n\t\t\t\tcheck parameters that are specified in a container definition override any Docker\n\t\t\t\thealth checks that exist in the container image.

\n
\n

You can view the health status of both individual containers and a task with the\n\t\t\tDescribeTasks API operation or when viewing the task details in the console.

\n

The health check is designed to make sure that your containers survive agent restarts,\n\t\t\tupgrades, or temporary unavailability.

\n

Amazon ECS performs health checks on containers with the default that launched the\n\t\t\tcontainer instance or the task.

\n

The following describes the possible healthStatus values for a\n\t\t\tcontainer:

\n
    \n
  • \n

    \n HEALTHY-The container health check has passed\n\t\t\t\t\tsuccessfully.

    \n
  • \n
  • \n

    \n UNHEALTHY-The container health check has failed.

    \n
  • \n
  • \n

    \n UNKNOWN-The container health check is being evaluated,\n\t\t\t\t\tthere's no container health check defined, or Amazon ECS doesn't have the health\n\t\t\t\t\tstatus of the container.

    \n
  • \n
\n

The following describes the possible healthStatus values based on the\n\t\t\tcontainer health checker status of essential containers in the task with the following\n\t\t\tpriority order (high to low):

\n
    \n
  • \n

    \n UNHEALTHY-One or more essential containers have failed\n\t\t\t\t\ttheir health check.

    \n
  • \n
  • \n

    \n UNKNOWN-Any essential container running within the task is\n\t\t\t\t\tin an UNKNOWN state and no other essential containers have an\n\t\t\t\t\t\tUNHEALTHY state.

    \n
  • \n
  • \n

    \n HEALTHY-All essential containers within the task have\n\t\t\t\t\tpassed their health checks.

    \n
  • \n
\n

Consider the following task health example with 2 containers.

\n
    \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, the task health is UNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, the task health is UNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tthe task health is UNKNOWN.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tthe task health is HEALTHY.

    \n
  • \n
\n

Consider the following task health example with 3 containers.

\n
    \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is UNKNOWN, the task health is\n\t\t\t\t\t\tUNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tUNKNOWN.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is UNKNOWN, the task health is\n\t\t\t\t\tUNKNOWN.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tHEALTHY.

    \n
  • \n
\n

If a task is run manually, and not as part of a service, the task will continue its\n\t\t\tlifecycle regardless of its health status. For tasks that are part of a service, if the\n\t\t\ttask reports as unhealthy then the task will be stopped and the service scheduler will\n\t\t\treplace it.

\n

When a container health check fails for a task that is part of a service, the following process occurs:

\n
    \n
  1. \n

    The task is marked as UNHEALTHY.

    \n
  2. \n
  3. \n

    The unhealthy task will be stopped, and during the stopping process, it will go through the following states:

    \n
      \n
    • \n

      \n DEACTIVATING - In this state, Amazon ECS performs additional steps before stopping the\n\t\t\t\t\t\t\ttask. For example, for tasks that are part of services configured to use\n\t\t\t\t\t\t\tElastic Load Balancing target groups, target groups will be deregistered\n\t\t\t\t\t\t\tin this state.

      \n
    • \n
    • \n

      \n STOPPING - The task is in the process of being stopped.

      \n
    • \n
    • \n

      \n DEPROVISIONING - Resources associated with the task are being cleaned up.

      \n
    • \n
    • \n

      \n STOPPED - The task has been completely stopped.

      \n
    • \n
    \n
  4. \n
  5. \n

    After the old task stops, a new task will be launched to ensure service operation, and the new task will go through the following lifecycle:

    \n
      \n
    • \n

      \n PROVISIONING - Resources required for the task are being provisioned.

      \n
    • \n
    • \n

      \n PENDING - The task is waiting to be placed on a container instance.

      \n
    • \n
    • \n

      \n ACTIVATING - In this state, Amazon ECS pulls container images, creates containers,\n\t\t\t\t\t\t\tconfigures task networking, registers load balancer target groups, and\n\t\t\t\t\t\t\tconfigures service discovery status.

      \n
    • \n
    • \n

      \n RUNNING - The task is running and performing its work.

      \n
    • \n
    \n
  6. \n
\n

For more detailed information about task lifecycle states, see Task lifecycle in the Amazon Elastic Container Service Developer Guide.

\n

The following are notes about container health check support:

\n
    \n
  • \n

    If the Amazon ECS container agent becomes disconnected from the Amazon ECS service, this\n\t\t\t\t\twon't cause a container to transition to an UNHEALTHY status. This\n\t\t\t\t\tis by design, to ensure that containers remain running during agent restarts or\n\t\t\t\t\ttemporary unavailability. The health check status is the \"last heard from\"\n\t\t\t\t\tresponse from the Amazon ECS agent, so if the container was considered\n\t\t\t\t\t\tHEALTHY prior to the disconnect, that status will remain until\n\t\t\t\t\tthe agent reconnects and another health check occurs. There are no assumptions\n\t\t\t\t\tmade about the status of the container health checks.

    \n
  • \n
  • \n

    Container health checks require version 1.17.0 or greater of the\n\t\t\t\t\tAmazon ECS container agent. For more information, see Updating the\n\t\t\t\t\t\tAmazon ECS container agent.

    \n
  • \n
  • \n

    Container health checks are supported for Fargate tasks if\n\t\t\t\t\tyou're using platform version 1.1.0 or greater. For more\n\t\t\t\t\tinformation, see Fargate\n\t\t\t\t\t\tplatform versions.

    \n
  • \n
  • \n

    Container health checks aren't supported for tasks that are part of a service\n\t\t\t\t\tthat's configured to use a Classic Load Balancer.

    \n
  • \n
\n

For an example of how to specify a task definition with multiple containers where\n\t\t\tcontainer dependency is specified, see Container dependency in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

An object representing a container health check. Health check parameters that are\n\t\t\tspecified in a container definition override any Docker health checks that exist in the\n\t\t\tcontainer image (such as those specified in a parent image or from the image's\n\t\t\tDockerfile). This configuration maps to the HEALTHCHECK parameter of docker\n\t\t\trun.

\n \n

The Amazon ECS container agent only monitors and reports on the health checks\n\t\t\t\tspecified in the task definition. Amazon ECS does not monitor Docker health checks\n\t\t\t\tthat are embedded in a container image and not specified in the container\n\t\t\t\tdefinition. Health check parameters that are specified in a container definition\n\t\t\t\toverride any Docker health checks that exist in the container image.

\n
\n

You can view the health status of both individual containers and a task with the\n\t\t\tDescribeTasks API operation or when viewing the task details in the console.

\n

The health check is designed to make sure that your containers survive agent restarts,\n\t\t\tupgrades, or temporary unavailability.

\n

Amazon ECS performs health checks on containers with the default that launched the\n\t\t\tcontainer instance or the task.

\n

The following describes the possible healthStatus values for a\n\t\t\tcontainer:

\n
    \n
  • \n

    \n HEALTHY-The container health check has passed\n\t\t\t\t\tsuccessfully.

    \n
  • \n
  • \n

    \n UNHEALTHY-The container health check has failed.

    \n
  • \n
  • \n

    \n UNKNOWN-The container health check is being evaluated, there's no\n\t\t\t\t\tcontainer health check defined, or Amazon ECS doesn't have the health status of\n\t\t\t\t\tthe container.

    \n
  • \n
\n

The following describes the possible healthStatus values based on the\n\t\t\tcontainer health checker status of essential containers in the task with the following\n\t\t\tpriority order (high to low):

\n
    \n
  • \n

    \n UNHEALTHY-One or more essential containers have failed their\n\t\t\t\t\thealth check.

    \n
  • \n
  • \n

    \n UNKNOWN-Any essential container running within the task is in an\n\t\t\t\t\t\tUNKNOWN state and no other essential containers have an\n\t\t\t\t\t\tUNHEALTHY state.

    \n
  • \n
  • \n

    \n HEALTHY-All essential containers within the task have passed\n\t\t\t\t\ttheir health checks.

    \n
  • \n
\n

Consider the following task health example with 2 containers.

\n
    \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, the task health is UNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, the task health is UNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tthe task health is UNKNOWN.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tthe task health is HEALTHY.

    \n
  • \n
\n

Consider the following task health example with 3 containers.

\n
    \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is UNKNOWN, the task health is\n\t\t\t\t\t\tUNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tUNKNOWN, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is UNHEALTHY and Container2 is\n\t\t\t\t\tHEALTHY, and Container3 is HEALTHY, the task health is\n\t\t\t\t\t\tUNHEALTHY.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tUNKNOWN.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is UNKNOWN,\n\t\t\t\t\tand Container3 is UNKNOWN, the task health is\n\t\t\t\t\tUNKNOWN.

    \n
  • \n
  • \n

    If Container1 is HEALTHY and Container2 is HEALTHY,\n\t\t\t\t\tand Container3 is HEALTHY, the task health is\n\t\t\t\t\tHEALTHY.

    \n
  • \n
\n

If a task is run manually, and not as part of a service, the task will continue its\n\t\t\tlifecycle regardless of its health status. For tasks that are part of a service, if the\n\t\t\ttask reports as unhealthy then the task will be stopped and the service scheduler will\n\t\t\treplace it.

\n

When a container health check fails for a task that is part of a service, the\n\t\t\tfollowing process occurs:

\n
    \n
  1. \n

    The task is marked as UNHEALTHY.

    \n
  2. \n
  3. \n

    The unhealthy task will be stopped, and during the stopping process, it will\n\t\t\t\t\tgo through the following states:

    \n
      \n
    • \n

      \n DEACTIVATING - In this state, Amazon ECS performs\n\t\t\t\t\t\t\tadditional steps before stopping the task. For example, for tasks that\n\t\t\t\t\t\t\tare part of services configured to use Elastic Load Balancing target\n\t\t\t\t\t\t\tgroups, target groups will be deregistered in this state.

      \n
    • \n
    • \n

      \n STOPPING - The task is in the process of being\n\t\t\t\t\t\t\tstopped.

      \n
    • \n
    • \n

      \n DEPROVISIONING - Resources associated with the task are\n\t\t\t\t\t\t\tbeing cleaned up.

      \n
    • \n
    • \n

      \n STOPPED - The task has been completely stopped.

      \n
    • \n
    \n
  4. \n
  5. \n

    After the old task stops, a new task will be launched to ensure service\n\t\t\t\t\toperation, and the new task will go through the following lifecycle:

    \n
      \n
    • \n

      \n PROVISIONING - Resources required for the task are being\n\t\t\t\t\t\t\tprovisioned.

      \n
    • \n
    • \n

      \n PENDING - The task is waiting to be placed on a container\n\t\t\t\t\t\t\tinstance.

      \n
    • \n
    • \n

      \n ACTIVATING - In this state, Amazon ECS pulls container\n\t\t\t\t\t\t\timages, creates containers, configures task networking, registers load\n\t\t\t\t\t\t\tbalancer target groups, and configures service discovery status.

      \n
    • \n
    • \n

      \n RUNNING - The task is running and performing its\n\t\t\t\t\t\t\twork.

      \n
    • \n
    \n
  6. \n
\n

For more detailed information about task lifecycle states, see Task\n\t\t\t\tlifecycle in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

The following are notes about container health check support:

\n
    \n
  • \n

    If the Amazon ECS container agent becomes disconnected from the Amazon ECS\n\t\t\t\t\tservice, this won't cause a container to transition to an UNHEALTHY\n\t\t\t\t\tstatus. This is by design, to ensure that containers remain running during agent\n\t\t\t\t\trestarts or temporary unavailability. The health check status is the \"last heard\n\t\t\t\t\tfrom\" response from the Amazon ECS agent, so if the container was considered\n\t\t\t\t\t\tHEALTHY prior to the disconnect, that status will remain until\n\t\t\t\t\tthe agent reconnects and another health check occurs. There are no assumptions\n\t\t\t\t\tmade about the status of the container health checks.

    \n
  • \n
  • \n

    Container health checks require version 1.17.0 or greater of the\n\t\t\t\t\tAmazon ECS container agent. For more information, see Updating the\n\t\t\t\t\t\tAmazon ECS container agent.

    \n
  • \n
  • \n

    Container health checks are supported for Fargate tasks if you're using\n\t\t\t\t\tplatform version 1.1.0 or greater. For more information, see Fargate platform versions.

    \n
  • \n
  • \n

    Container health checks aren't supported for tasks that are part of a service\n\t\t\t\t\tthat's configured to use a Classic Load Balancer.

    \n
  • \n
\n

For an example of how to specify a task definition with multiple containers where\n\t\t\tcontainer dependency is specified, see Container dependency in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "com.amazonaws.ecs#HealthStatus": { @@ -7670,7 +7716,7 @@ "sourcePath": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

When the host parameter is used, specify a sourcePath to\n\t\t\tdeclare the path on the host container instance that's presented to the container. If\n\t\t\tthis parameter is empty, then the Docker daemon has assigned a host path for you. If the\n\t\t\t\thost parameter contains a sourcePath file location, then\n\t\t\tthe data volume persists at the specified location on the host container instance until\n\t\t\tyou delete it manually. If the sourcePath value doesn't exist on the host\n\t\t\tcontainer instance, the Docker daemon creates it. If the location does exist, the\n\t\t\tcontents of the source path folder are exported.

\n

If you're using the Fargate launch type, the sourcePath\n\t\t\tparameter is not supported.

" + "smithy.api#documentation": "

When the host parameter is used, specify a sourcePath to\n\t\t\tdeclare the path on the host container instance that's presented to the container. If\n\t\t\tthis parameter is empty, then the Docker daemon has assigned a host path for you. If the\n\t\t\t\thost parameter contains a sourcePath file location, then\n\t\t\tthe data volume persists at the specified location on the host container instance until\n\t\t\tyou delete it manually. If the sourcePath value doesn't exist on the host\n\t\t\tcontainer instance, the Docker daemon creates it. If the location does exist, the\n\t\t\tcontents of the source path folder are exported.

\n

If you're using the Fargate launch type, the sourcePath parameter is not\n\t\t\tsupported.

" } } }, @@ -7700,7 +7746,7 @@ } }, "traits": { - "smithy.api#documentation": "

Details on an Elastic Inference accelerator. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Details on an Elastic Inference accelerator. For more information, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#InferenceAcceleratorOverride": { @@ -7720,7 +7766,7 @@ } }, "traits": { - "smithy.api#documentation": "

Details on an Elastic Inference accelerator task override. This parameter is used to\n\t\t\toverride the Elastic Inference accelerator specified in the task definition. For more\n\t\t\tinformation, see Working with Amazon\n\t\t\t\tElastic Inference on Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Details on an Elastic Inference accelerator task override. This parameter is used to\n\t\t\toverride the Elastic Inference accelerator specified in the task definition. For more\n\t\t\tinformation, see Working with Amazon Elastic Inference on Amazon ECS in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#InferenceAcceleratorOverrides": { @@ -7845,38 +7891,38 @@ "ec2InstanceProfileArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to Amazon ECS Managed Instances. This instance profile must include the necessary permissions for your tasks to access Amazon Web Services services and resources.

\n

For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.\n\t\t

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the instance profile that Amazon ECS applies to\n\t\t\tAmazon ECS Managed Instances. This instance profile must include the necessary\n\t\t\tpermissions for your tasks to access Amazon Web Services services and\n\t\t\tresources.

\n

For more information, see Amazon\n\t\t\t\tECS instance profile for Managed Instances in the Amazon ECS\n\t\t\t\tDeveloper Guide.

", "smithy.api#required": {} } }, "networkConfiguration": { "target": "com.amazonaws.ecs#ManagedInstancesNetworkConfiguration", "traits": { - "smithy.api#documentation": "

The network configuration for Amazon ECS Managed Instances. This specifies the subnets and security groups that instances use for network connectivity.

", + "smithy.api#documentation": "

The network configuration for Amazon ECS Managed Instances. This specifies the subnets\n\t\t\tand security groups that instances use for network connectivity.

", "smithy.api#required": {} } }, "storageConfiguration": { "target": "com.amazonaws.ecs#ManagedInstancesStorageConfiguration", "traits": { - "smithy.api#documentation": "

The storage configuration for Amazon ECS Managed Instances. This defines the root volume size and type for the instances.

" + "smithy.api#documentation": "

The storage configuration for Amazon ECS Managed Instances. This defines the root\n\t\t\tvolume size and type for the instances.

" } }, "monitoring": { "target": "com.amazonaws.ecs#ManagedInstancesMonitoringOptions", "traits": { - "smithy.api#documentation": "

CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

CloudWatch provides two categories of monitoring: basic monitoring and detailed\n\t\t\tmonitoring. By default, your managed instance is configured for basic monitoring. You\n\t\t\tcan optionally enable detailed monitoring to help you more quickly identify and act on\n\t\t\toperational issues. You can enable or turn off detailed monitoring at launch or when the\n\t\t\tmanaged instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS\n\t\t\tDeveloper Guide.

" } }, "instanceRequirements": { "target": "com.amazonaws.ecs#InstanceRequirementsRequest", "traits": { - "smithy.api#documentation": "

The instance requirements. You can specify:

\n
    \n
  • \n

    The instance types

    \n
  • \n
  • \n

    Instance requirements such as vCPU count, memory, network performance, and accelerator specifications

    \n
  • \n
\n

Amazon ECS automatically selects the instances that match the specified criteria.

" + "smithy.api#documentation": "

The instance requirements. You can specify:

\n
    \n
  • \n

    The instance types

    \n
  • \n
  • \n

    Instance requirements such as vCPU count, memory, network performance, and\n\t\t\t\t\taccelerator specifications

    \n
  • \n
\n

Amazon ECS automatically selects the instances that match the specified\n\t\t\tcriteria.

" } } }, "traits": { - "smithy.api#documentation": "

The launch template configuration for Amazon ECS Managed Instances. This defines how Amazon ECS launches Amazon EC2 instances, including the instance profile for your tasks, network and storage configuration, capacity options, and instance requirements for flexible instance type selection.

" + "smithy.api#documentation": "

The launch template configuration for Amazon ECS Managed Instances. This defines how\n\t\t\tAmazon ECS launches Amazon EC2 instances, including the instance profile for your tasks,\n\t\t\tnetwork and storage configuration, capacity options, and instance requirements for\n\t\t\tflexible instance type selection.

" } }, "com.amazonaws.ecs#InstanceLaunchTemplateUpdate": { @@ -7885,36 +7931,36 @@ "ec2InstanceProfileArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The updated Amazon Resource Name (ARN) of the instance profile. The new instance profile must have the necessary permissions for your tasks.

\n

For more information, see Amazon ECS instance profile for Managed Instances in the Amazon ECS Developer Guide.\n\t\t

" + "smithy.api#documentation": "

The updated Amazon Resource Name (ARN) of the instance profile. The new instance\n\t\t\tprofile must have the necessary permissions for your tasks.

\n

For more information, see Amazon\n\t\t\t\tECS instance profile for Managed Instances in the Amazon ECS\n\t\t\t\tDeveloper Guide.

" } }, "networkConfiguration": { "target": "com.amazonaws.ecs#ManagedInstancesNetworkConfiguration", "traits": { - "smithy.api#documentation": "

The updated network configuration for Amazon ECS Managed Instances. Changes to subnets and security groups affect new instances launched after the update.

" + "smithy.api#documentation": "

The updated network configuration for Amazon ECS Managed Instances. Changes to subnets\n\t\t\tand security groups affect new instances launched after the update.

" } }, "storageConfiguration": { "target": "com.amazonaws.ecs#ManagedInstancesStorageConfiguration", "traits": { - "smithy.api#documentation": "

The updated storage configuration for Amazon ECS Managed Instances. Changes to storage settings apply to new instances launched after the update.

" + "smithy.api#documentation": "

The updated storage configuration for Amazon ECS Managed Instances. Changes to storage\n\t\t\tsettings apply to new instances launched after the update.

" } }, "monitoring": { "target": "com.amazonaws.ecs#ManagedInstancesMonitoringOptions", "traits": { - "smithy.api#documentation": "

CloudWatch provides two categories of monitoring: basic monitoring and detailed monitoring. By default, your managed instance is configured for basic monitoring. You can optionally enable detailed monitoring to help you more quickly identify and act on operational issues. You can enable or turn off detailed monitoring at launch or when the managed instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

CloudWatch provides two categories of monitoring: basic monitoring and detailed\n\t\t\tmonitoring. By default, your managed instance is configured for basic monitoring. You\n\t\t\tcan optionally enable detailed monitoring to help you more quickly identify and act on\n\t\t\toperational issues. You can enable or turn off detailed monitoring at launch or when the\n\t\t\tmanaged instance is running or stopped. For more information, see Detailed monitoring for Amazon ECS Managed Instances in the Amazon ECS\n\t\t\tDeveloper Guide.

" } }, "instanceRequirements": { "target": "com.amazonaws.ecs#InstanceRequirementsRequest", "traits": { - "smithy.api#documentation": "

The updated instance requirements for attribute-based instance type selection. Changes to instance requirements affect which instance types Amazon ECS selects for new instances.

" + "smithy.api#documentation": "

The updated instance requirements for attribute-based instance type selection. Changes\n\t\t\tto instance requirements affect which instance types Amazon ECS selects for new\n\t\t\tinstances.

" } } }, "traits": { - "smithy.api#documentation": "

The updated launch template configuration for Amazon ECS Managed Instances. You can modify the instance profile, network configuration, storage settings, and instance requirements. Changes apply to new instances launched after the update.

\n

For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

The updated launch template configuration for Amazon ECS Managed Instances. You can\n\t\t\tmodify the instance profile, network configuration, storage settings, and instance\n\t\t\trequirements. Changes apply to new instances launched after the update.

\n

For more information, see Store instance launch\n\t\t\t\tparameters in Amazon EC2 launch templates in the Amazon EC2 User\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#InstanceRequirementsRequest": { @@ -7923,160 +7969,160 @@ "vCpuCount": { "target": "com.amazonaws.ecs#VCpuCountRangeRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects instance types that have vCPU counts within this range.

", + "smithy.api#documentation": "

The minimum and maximum number of vCPUs for the instance types. Amazon ECS selects\n\t\t\tinstance types that have vCPU counts within this range.

", "smithy.api#required": {} } }, "memoryMiB": { "target": "com.amazonaws.ecs#MemoryMiBRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory in mebibytes (MiB) for the instance types. Amazon ECS selects instance types that have memory within this range.

", + "smithy.api#documentation": "

The minimum and maximum amount of memory in mebibytes (MiB) for the instance types.\n\t\t\tAmazon ECS selects instance types that have memory within this range.

", "smithy.api#required": {} } }, "cpuManufacturers": { "target": "com.amazonaws.ecs#CpuManufacturerSet", "traits": { - "smithy.api#documentation": "

The CPU manufacturers to include or exclude. You can specify intel, amd, or amazon-web-services to control which CPU types are used for your workloads.

", + "smithy.api#documentation": "

The CPU manufacturers to include or exclude. You can specify intel,\n\t\t\t\tamd, or amazon-web-services to control which CPU types are\n\t\t\tused for your workloads.

", "smithy.api#xmlName": "CpuManufacturer" } }, "memoryGiBPerVCpu": { "target": "com.amazonaws.ecs#MemoryGiBPerVCpuRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.

" + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps\n\t\t\tensure that instance types have the appropriate memory-to-CPU ratio for your\n\t\t\tworkloads.

" } }, "excludedInstanceTypes": { "target": "com.amazonaws.ecs#ExcludedInstanceTypeSet", "traits": { - "smithy.api#documentation": "

The instance types to exclude from selection. Use this to prevent Amazon ECS from selecting specific instance types that may not be suitable for your workloads.

", + "smithy.api#documentation": "

The instance types to exclude from selection. Use this to prevent Amazon ECS from\n\t\t\tselecting specific instance types that may not be suitable for your workloads.

", "smithy.api#xmlName": "ExcludedInstanceType" } }, "instanceGenerations": { "target": "com.amazonaws.ecs#InstanceGenerationSet", "traits": { - "smithy.api#documentation": "

The instance generations to include. You can specify current to use the latest generation instances, or previous to include previous generation instances for cost optimization.

", + "smithy.api#documentation": "

The instance generations to include. You can specify current to use the\n\t\t\tlatest generation instances, or previous to include previous generation\n\t\t\tinstances for cost optimization.

", "smithy.api#xmlName": "InstanceGeneration" } }, "spotMaxPricePercentageOverLowestPrice": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum price for Spot instances as a percentage over the lowest priced On-Demand instance. This helps control Spot instance costs while maintaining access to capacity.

" + "smithy.api#documentation": "

The maximum price for Spot instances as a percentage over the lowest priced On-Demand\n\t\t\tinstance. This helps control Spot instance costs while maintaining access to\n\t\t\tcapacity.

" } }, "onDemandMaxPricePercentageOverLowestPrice": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The price protection threshold for On-Demand Instances, as a percentage higher than an identified On-Demand price. The identified On-Demand price is the price of the lowest priced current generation C, M, or R instance type with your specified attributes. If no current generation C, M, or R instance type matches your attributes, then the identified price is from either the lowest priced current generation instance types or, failing that, the lowest priced previous generation instance types that match your attributes. When Amazon ECS selects instance types with your attributes, we will exclude instance types whose price exceeds your specified threshold.

" + "smithy.api#documentation": "

The price protection threshold for On-Demand Instances, as a percentage higher than an\n\t\t\tidentified On-Demand price. The identified On-Demand price is the price of the lowest\n\t\t\tpriced current generation C, M, or R instance type with your specified attributes. If no\n\t\t\tcurrent generation C, M, or R instance type matches your attributes, then the identified\n\t\t\tprice is from either the lowest priced current generation instance types or, failing\n\t\t\tthat, the lowest priced previous generation instance types that match your attributes.\n\t\t\tWhen Amazon ECS selects instance types with your attributes, we will exclude instance\n\t\t\ttypes whose price exceeds your specified threshold.

" } }, "bareMetal": { "target": "com.amazonaws.ecs#BareMetal", "traits": { - "smithy.api#documentation": "

Indicates whether to include bare metal instance types. Set to included to allow bare metal instances, excluded to exclude them, or required to use only bare metal instances.

" + "smithy.api#documentation": "

Indicates whether to include bare metal instance types. Set to included\n\t\t\tto allow bare metal instances, excluded to exclude them, or\n\t\t\t\trequired to use only bare metal instances.

" } }, "burstablePerformance": { "target": "com.amazonaws.ecs#BurstablePerformance", "traits": { - "smithy.api#documentation": "

Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g). Set to included to allow burstable instances, excluded to exclude them, or required to use only burstable instances.

" + "smithy.api#documentation": "

Indicates whether to include burstable performance instance types (T2, T3, T3a, T4g).\n\t\t\tSet to included to allow burstable instances, excluded to\n\t\t\texclude them, or required to use only burstable instances.

" } }, "requireHibernateSupport": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether the instance types must support hibernation. When set to true, only instance types that support hibernation are selected.

" + "smithy.api#documentation": "

Indicates whether the instance types must support hibernation. When set to\n\t\t\t\ttrue, only instance types that support hibernation are selected.

" } }, "networkInterfaceCount": { "target": "com.amazonaws.ecs#NetworkInterfaceCountRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum number of network interfaces for the instance types. This is useful for workloads that require multiple network interfaces.

" + "smithy.api#documentation": "

The minimum and maximum number of network interfaces for the instance types. This is\n\t\t\tuseful for workloads that require multiple network interfaces.

" } }, "localStorage": { "target": "com.amazonaws.ecs#LocalStorage", "traits": { - "smithy.api#documentation": "

Indicates whether to include instance types with local storage. Set to included to allow local storage, excluded to exclude it, or required to use only instances with local storage.

" + "smithy.api#documentation": "

Indicates whether to include instance types with local storage. Set to\n\t\t\t\tincluded to allow local storage, excluded to exclude it,\n\t\t\tor required to use only instances with local storage.

" } }, "localStorageTypes": { "target": "com.amazonaws.ecs#LocalStorageTypeSet", "traits": { - "smithy.api#documentation": "

The local storage types to include. You can specify hdd for hard disk drives, ssd for solid state drives, or both.

", + "smithy.api#documentation": "

The local storage types to include. You can specify hdd for hard disk\n\t\t\tdrives, ssd for solid state drives, or both.

", "smithy.api#xmlName": "LocalStorageType" } }, "totalLocalStorageGB": { "target": "com.amazonaws.ecs#TotalLocalStorageGBRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage.

" + "smithy.api#documentation": "

The minimum and maximum total local storage in gigabytes (GB) for instance types with\n\t\t\tlocal storage.

" } }, "baselineEbsBandwidthMbps": { "target": "com.amazonaws.ecs#BaselineEbsBandwidthMbpsRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps). This is important for workloads with high storage I/O requirements.

" + "smithy.api#documentation": "

The minimum and maximum baseline Amazon EBS bandwidth in megabits per second (Mbps).\n\t\t\tThis is important for workloads with high storage I/O requirements.

" } }, "acceleratorTypes": { "target": "com.amazonaws.ecs#AcceleratorTypeSet", "traits": { - "smithy.api#documentation": "

The accelerator types to include. You can specify gpu for graphics processing units, fpga for field programmable gate arrays, or inference for machine learning inference accelerators.

", + "smithy.api#documentation": "

The accelerator types to include. You can specify gpu for graphics\n\t\t\tprocessing units, fpga for field programmable gate arrays, or\n\t\t\t\tinference for machine learning inference accelerators.

", "smithy.api#xmlName": "AcceleratorType" } }, "acceleratorCount": { "target": "com.amazonaws.ecs#AcceleratorCountRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum number of accelerators for the instance types. This is used when you need instances with specific numbers of GPUs or other accelerators.

" + "smithy.api#documentation": "

The minimum and maximum number of accelerators for the instance types. This is used\n\t\t\twhen you need instances with specific numbers of GPUs or other accelerators.

" } }, "acceleratorManufacturers": { "target": "com.amazonaws.ecs#AcceleratorManufacturerSet", "traits": { - "smithy.api#documentation": "

The accelerator manufacturers to include. You can specify nvidia, amd, amazon-web-services, or xilinx depending on your accelerator requirements.

", + "smithy.api#documentation": "

The accelerator manufacturers to include. You can specify nvidia,\n\t\t\t\tamd, amazon-web-services, or xilinx depending\n\t\t\ton your accelerator requirements.

", "smithy.api#xmlName": "AcceleratorManufacturer" } }, "acceleratorNames": { "target": "com.amazonaws.ecs#AcceleratorNameSet", "traits": { - "smithy.api#documentation": "

The specific accelerator names to include. For example, you can specify a100, v100, k80, or other specific accelerator models.

", + "smithy.api#documentation": "

The specific accelerator names to include. For example, you can specify\n\t\t\t\ta100, v100, k80, or other specific\n\t\t\taccelerator models.

", "smithy.api#xmlName": "AcceleratorName" } }, "acceleratorTotalMemoryMiB": { "target": "com.amazonaws.ecs#AcceleratorTotalMemoryMiBRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum total accelerator memory in mebibytes (MiB). This is important for GPU workloads that require specific amounts of video memory.

" + "smithy.api#documentation": "

The minimum and maximum total accelerator memory in mebibytes (MiB). This is important\n\t\t\tfor GPU workloads that require specific amounts of video memory.

" } }, "networkBandwidthGbps": { "target": "com.amazonaws.ecs#NetworkBandwidthGbpsRequest", "traits": { - "smithy.api#documentation": "

The minimum and maximum network bandwidth in gigabits per second (Gbps). This is crucial for network-intensive workloads that require high throughput.

" + "smithy.api#documentation": "

The minimum and maximum network bandwidth in gigabits per second (Gbps). This is\n\t\t\tcrucial for network-intensive workloads that require high throughput.

" } }, "allowedInstanceTypes": { "target": "com.amazonaws.ecs#AllowedInstanceTypeSet", "traits": { - "smithy.api#documentation": "

The instance types to include in the selection. When specified, Amazon ECS only considers these instance types, subject to the other requirements specified.

", + "smithy.api#documentation": "

The instance types to include in the selection. When specified, Amazon ECS only\n\t\t\tconsiders these instance types, subject to the other requirements specified.

", "smithy.api#xmlName": "AllowedInstanceType" } }, "maxSpotPriceAsPercentageOfOptimalOnDemandPrice": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum price for Spot instances as a percentage of the optimal On-Demand price. This provides more precise cost control for Spot instance selection.

" + "smithy.api#documentation": "

The maximum price for Spot instances as a percentage of the optimal On-Demand price.\n\t\t\tThis provides more precise cost control for Spot instance selection.

" } } }, "traits": { - "smithy.api#documentation": "

The instance requirements for attribute-based instance type selection. Instead of specifying exact instance types, you define requirements such as vCPU count, memory size, network performance, and accelerator specifications. Amazon ECS automatically selects Amazon EC2 instance types that match these requirements, providing flexibility and helping to mitigate capacity constraints.

" + "smithy.api#documentation": "

The instance requirements for attribute-based instance type selection. Instead of\n\t\t\tspecifying exact instance types, you define requirements such as vCPU count, memory\n\t\t\tsize, network performance, and accelerator specifications. Amazon ECS automatically\n\t\t\tselects Amazon EC2 instance types that match these requirements, providing flexibility\n\t\t\tand helping to mitigate capacity constraints.

" } }, "com.amazonaws.ecs#Integer": { @@ -8102,7 +8148,7 @@ } }, "traits": { - "smithy.api#documentation": "

The specified parameter isn't valid. Review the available parameters for the API\n\t\t\trequest.

\n

For more information about service event errors, see Amazon ECS service\n\t\t\t\tevent messages.

", + "smithy.api#documentation": "

The specified parameter isn't valid. Review the available parameters for the API\n\t\t\trequest.

\n

For more information about service event errors, see Amazon ECS\n\t\t\t\tservice event messages.

", "smithy.api#error": "client" } }, @@ -8135,7 +8181,7 @@ "add": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The Linux capabilities for the container that have been added to the default\n\t\t\tconfiguration provided by Docker. This parameter maps to CapAdd in the\n\t\t\tdocker container create command and the --cap-add option to docker\n\t\t\trun.

\n \n

Tasks launched on Fargate only support adding the SYS_PTRACE kernel\n\t\t\t\tcapability.

\n
\n

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" |\n\t\t\t\t\"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" |\n\t\t\t\t\"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" |\n\t\t\t\t\"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\"\n\t\t\t\t| \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" |\n\t\t\t\t\"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" |\n\t\t\t\t\"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" |\n\t\t\t\"WAKE_ALARM\"\n

" + "smithy.api#documentation": "

The Linux capabilities for the container that have been added to the default\n\t\t\tconfiguration provided by Docker. This parameter maps to CapAdd in the\n\t\t\tdocker container create command and the --cap-add option to docker\n\t\t\trun.

\n \n

Tasks launched on Fargate only support adding the SYS_PTRACE\n\t\t\t\tkernel capability.

\n
\n

Valid values: \"ALL\" | \"AUDIT_CONTROL\" | \"AUDIT_WRITE\" | \"BLOCK_SUSPEND\" |\n\t\t\t\t\"CHOWN\" | \"DAC_OVERRIDE\" | \"DAC_READ_SEARCH\" | \"FOWNER\" | \"FSETID\" | \"IPC_LOCK\" |\n\t\t\t\t\"IPC_OWNER\" | \"KILL\" | \"LEASE\" | \"LINUX_IMMUTABLE\" | \"MAC_ADMIN\" | \"MAC_OVERRIDE\" |\n\t\t\t\t\"MKNOD\" | \"NET_ADMIN\" | \"NET_BIND_SERVICE\" | \"NET_BROADCAST\" | \"NET_RAW\" | \"SETFCAP\"\n\t\t\t\t| \"SETGID\" | \"SETPCAP\" | \"SETUID\" | \"SYS_ADMIN\" | \"SYS_BOOT\" | \"SYS_CHROOT\" |\n\t\t\t\t\"SYS_MODULE\" | \"SYS_NICE\" | \"SYS_PACCT\" | \"SYS_PTRACE\" | \"SYS_RAWIO\" |\n\t\t\t\t\"SYS_RESOURCE\" | \"SYS_TIME\" | \"SYS_TTY_CONFIG\" | \"SYSLOG\" |\n\t\t\t\"WAKE_ALARM\"\n

" } }, "drop": { @@ -8213,25 +8259,47 @@ "smithy.api#error": "client" } }, + "com.amazonaws.ecs#LinearConfiguration": { + "type": "structure", + "members": { + "stepPercent": { + "target": "com.amazonaws.ecs#Double", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The percentage of production traffic to shift in each step during a linear deployment.\n\t\t\tValid values are 3.0 to 100.0. The default value is 10.0.

" + } + }, + "stepBakeTimeInMinutes": { + "target": "com.amazonaws.ecs#Integer", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The amount of time in minutes to wait between each traffic shifting step during a\n\t\t\tlinear deployment. Valid values are 0 to 1440 minutes (24 hours). The default value is\n\t\t\t6. This bake time is not applied after reaching 100% traffic.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for linear deployment strategy that shifts production traffic in equal\n\t\t\tpercentage increments with configurable wait times between each step until 100% of\n\t\t\ttraffic is shifted to the new service revision. This is only valid when you run\n\t\t\t\tCreateService or UpdateService with\n\t\t\t\tdeploymentController set to ECS and a\n\t\t\t\tdeploymentConfiguration with a strategy set to LINEAR.\n\t\t

" + } + }, "com.amazonaws.ecs#LinuxParameters": { "type": "structure", "members": { "capabilities": { "target": "com.amazonaws.ecs#KernelCapabilities", "traits": { - "smithy.api#documentation": "

The Linux capabilities for the container that are added to or dropped from the default\n\t\t\tconfiguration provided by Docker.

\n \n

For tasks that use the Fargate launch type,\n\t\t\t\t\tcapabilities is supported for all platform versions but the\n\t\t\t\t\tadd parameter is only supported if using platform version 1.4.0 or\n\t\t\t\tlater.

\n
" + "smithy.api#documentation": "

The Linux capabilities for the container that are added to or dropped from the default\n\t\t\tconfiguration provided by Docker.

\n \n

For tasks that use the Fargate launch type, capabilities is supported\n\t\t\t\tfor all platform versions but the add parameter is only supported if\n\t\t\t\tusing platform version 1.4.0 or later.

\n
" } }, "devices": { "target": "com.amazonaws.ecs#DevicesList", "traits": { - "smithy.api#documentation": "

Any host devices to expose to the container. This parameter maps to\n\t\t\t\tDevices in the docker container create command and the\n\t\t\t\t--device option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tdevices parameter isn't supported.

\n
" + "smithy.api#documentation": "

Any host devices to expose to the container. This parameter maps to\n\t\t\t\tDevices in the docker container create command and the\n\t\t\t\t--device option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the devices\n\t\t\t\tparameter isn't supported.

\n
" } }, "initProcessEnabled": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Run an init process inside the container that forwards signals and reaps\n\t\t\tprocesses. This parameter maps to the --init option to docker run.\n\t\t\tThis parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

" + "smithy.api#documentation": "

Run an init process inside the container that forwards signals and reaps\n\t\t\tprocesses. This parameter maps to the --init option to docker run. This\n\t\t\tparameter requires version 1.25 of the Docker Remote API or greater on your container\n\t\t\tinstance. To check the Docker Remote API version on your container instance, log in to\n\t\t\tyour container instance and run the following command: sudo docker version\n\t\t\t\t--format '{{.Server.APIVersion}}'\n

" } }, "sharedMemorySize": { @@ -8243,19 +8311,19 @@ "tmpfs": { "target": "com.amazonaws.ecs#TmpfsList", "traits": { - "smithy.api#documentation": "

The container path, mount options, and size (in MiB) of the tmpfs mount. This\n\t\t\tparameter maps to the --tmpfs option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\ttmpfs parameter isn't supported.

\n
" + "smithy.api#documentation": "

The container path, mount options, and size (in MiB) of the tmpfs mount. This\n\t\t\tparameter maps to the --tmpfs option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the tmpfs\n\t\t\t\tparameter isn't supported.

\n
" } }, "maxSwap": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The total amount of swap memory (in MiB) a container can use. This parameter will be\n\t\t\ttranslated to the --memory-swap option to docker run where the value would\n\t\t\tbe the sum of the container memory plus the maxSwap value.

\n

If a maxSwap value of 0 is specified, the container will not\n\t\t\tuse swap. Accepted values are 0 or any positive integer. If the\n\t\t\t\tmaxSwap parameter is omitted, the container will use the swap\n\t\t\tconfiguration for the container instance it is running on. A maxSwap value\n\t\t\tmust be set for the swappiness parameter to be used.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tmaxSwap parameter isn't supported.

\n

If you're using tasks on Amazon Linux 2023 the swappiness parameter isn't\n\t\t\t\tsupported.

\n
" + "smithy.api#documentation": "

The total amount of swap memory (in MiB) a container can use. This parameter will be\n\t\t\ttranslated to the --memory-swap option to docker run where the value would\n\t\t\tbe the sum of the container memory plus the maxSwap value.

\n

If a maxSwap value of 0 is specified, the container will not\n\t\t\tuse swap. Accepted values are 0 or any positive integer. If the\n\t\t\t\tmaxSwap parameter is omitted, the container will use the swap\n\t\t\tconfiguration for the container instance it is running on. A maxSwap value\n\t\t\tmust be set for the swappiness parameter to be used.

\n \n

If you're using tasks that use the Fargate launch type, the maxSwap\n\t\t\t\tparameter isn't supported.

\n

If you're using tasks on Amazon Linux 2023 the swappiness parameter\n\t\t\t\tisn't supported.

\n
" } }, "swappiness": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

This allows you to tune a container's memory swappiness behavior. A\n\t\t\t\tswappiness value of 0 will cause swapping to not happen\n\t\t\tunless absolutely necessary. A swappiness value of 100 will\n\t\t\tcause pages to be swapped very aggressively. Accepted values are whole numbers between\n\t\t\t\t0 and 100. If the swappiness parameter is not\n\t\t\tspecified, a default value of 60 is used. If a value is not specified for\n\t\t\t\tmaxSwap then this parameter is ignored. This parameter maps to the\n\t\t\t\t--memory-swappiness option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tswappiness parameter isn't supported.

\n

If you're using tasks on Amazon Linux 2023 the swappiness parameter isn't\n\t\t\t\tsupported.

\n
" + "smithy.api#documentation": "

This allows you to tune a container's memory swappiness behavior. A\n\t\t\t\tswappiness value of 0 will cause swapping to not happen\n\t\t\tunless absolutely necessary. A swappiness value of 100 will\n\t\t\tcause pages to be swapped very aggressively. Accepted values are whole numbers between\n\t\t\t\t0 and 100. If the swappiness parameter is not\n\t\t\tspecified, a default value of 60 is used. If a value is not specified for\n\t\t\t\tmaxSwap then this parameter is ignored. This parameter maps to the\n\t\t\t\t--memory-swappiness option to docker run.

\n \n

If you're using tasks that use the Fargate launch type, the\n\t\t\t\t\tswappiness parameter isn't supported.

\n

If you're using tasks on Amazon Linux 2023 the swappiness parameter\n\t\t\t\tisn't supported.

\n
" } } }, @@ -8365,7 +8433,7 @@ "principalArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN of the principal, which can be a user, role, or the root user. If this field is\n\t\t\tomitted, the account settings are listed only for the authenticated user.

\n

In order to use this parameter, you must be the root user, or the principal.

\n \n

Federated users assume the account setting of the root user and can't have explicit\n\t\t\t\taccount settings set for them.

\n
" + "smithy.api#documentation": "

The ARN of the principal, which can be a user, role, or the root user. If this field\n\t\t\tis omitted, the account settings are listed only for the authenticated user.

\n

In order to use this parameter, you must be the root user, or the principal.

\n \n

Federated users assume the account setting of the root user and can't have\n\t\t\t\texplicit account settings set for them.

\n
" } }, "effectiveSettings": { @@ -8378,14 +8446,14 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListAccountSettings\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it's possible the number\n\t\t\tof results to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListAccountSettings\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it's possible the number\n\t\t\tof results to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#Integer", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of account setting results returned by\n\t\t\t\tListAccountSettings in paginated output. When this parameter is used,\n\t\t\t\tListAccountSettings only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListAccountSettings\n\t\t\trequest with the returned nextToken value. This value can be between\n\t\t\t1 and 10. If this\n\t\t\tparameter isn't used, then ListAccountSettings returns up to\n\t\t\t10 results and a nextToken value\n\t\t\tif applicable.

" + "smithy.api#documentation": "

The maximum number of account setting results returned by\n\t\t\t\tListAccountSettings in paginated output. When this parameter is used,\n\t\t\t\tListAccountSettings only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListAccountSettings\n\t\t\trequest with the returned nextToken value. This value can be between 1 and\n\t\t\t10. If this parameter isn't used, then ListAccountSettings returns up to 10\n\t\t\tresults and a nextToken value if applicable.

" } } }, @@ -8430,7 +8498,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the attributes for Amazon ECS resources within a specified target type and cluster.\n\t\t\tWhen you specify a target type and cluster, ListAttributes returns a list\n\t\t\tof attribute objects, one for each attribute on each resource. You can filter the list\n\t\t\tof results to a single attribute name to only return results that have that name. You\n\t\t\tcan also filter the results by attribute name and value. You can do this, for example,\n\t\t\tto see which container instances in a cluster are running a Linux AMI\n\t\t\t\t(ecs.os-type=linux).

", + "smithy.api#documentation": "

Lists the attributes for Amazon ECS resources within a specified target type and\n\t\t\tcluster. When you specify a target type and cluster, ListAttributes returns\n\t\t\ta list of attribute objects, one for each attribute on each resource. You can filter the\n\t\t\tlist of results to a single attribute name to only return results that have that name.\n\t\t\tYou can also filter the results by attribute name and value. You can do this, for\n\t\t\texample, to see which container instances in a cluster are running a Linux AMI\n\t\t\t\t(ecs.os-type=linux).

", "smithy.api#examples": [ { "title": "To list container instances that have a specific attribute", @@ -8491,13 +8559,13 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListAttributes request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListAttributes request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of cluster results that ListAttributes returned in\n\t\t\tpaginated output. When this parameter is used, ListAttributes only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListAttributes request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this\n\t\t\tparameter isn't used, then ListAttributes returns up to\n\t\t\t100 results and a nextToken value if applicable.

" + "smithy.api#documentation": "

The maximum number of cluster results that ListAttributes returned in\n\t\t\tpaginated output. When this parameter is used, ListAttributes only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListAttributes request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this parameter isn't used, then\n\t\t\t\tListAttributes returns up to 100 results and a nextToken\n\t\t\tvalue if applicable.

" } } }, @@ -8585,13 +8653,13 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListClusters request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListClusters request\n\t\t\tindicating that more results are available to fulfill the request and further calls are\n\t\t\tneeded. If maxResults was provided, it's possible the number of results to\n\t\t\tbe fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of cluster results that ListClusters returned in\n\t\t\tpaginated output. When this parameter is used, ListClusters only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListClusters request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this\n\t\t\tparameter isn't used, then ListClusters returns up to 100\n\t\t\tresults and a nextToken value if applicable.

" + "smithy.api#documentation": "

The maximum number of cluster results that ListClusters returned in\n\t\t\tpaginated output. When this parameter is used, ListClusters only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListClusters request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this parameter isn't used, then\n\t\t\t\tListClusters returns up to 100 results and a nextToken\n\t\t\tvalue if applicable.

" } } }, @@ -8605,7 +8673,7 @@ "clusterArns": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The list of full Amazon Resource Name (ARN) entries for each cluster that's associated with your\n\t\t\taccount.

" + "smithy.api#documentation": "

The list of full Amazon Resource Name (ARN) entries for each cluster that's associated\n\t\t\twith your account.

" } }, "nextToken": { @@ -8642,7 +8710,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of container instances in a specified cluster. You can filter the\n\t\t\tresults of a ListContainerInstances operation with cluster query language\n\t\t\tstatements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Returns a list of container instances in a specified cluster. You can filter the\n\t\t\tresults of a ListContainerInstances operation with cluster query language\n\t\t\tstatements inside the filter parameter. For more information, see Cluster Query Language in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

", "smithy.api#examples": [ { "title": "To list your available container instances in a cluster", @@ -8672,31 +8740,31 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instances to\n\t\t\tlist. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tcontainer instances to list. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "filter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

You can filter the results of a ListContainerInstances operation with\n\t\t\tcluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

You can filter the results of a ListContainerInstances operation with\n\t\t\tcluster query language statements. For more information, see Cluster Query Language in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

" } }, "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListContainerInstances\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls are needed. If maxResults was provided, it's possible the number of\n\t\t\tresults to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListContainerInstances\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls are needed. If maxResults was provided, it's possible the number of\n\t\t\tresults to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of container instance results that\n\t\t\t\tListContainerInstances returned in paginated output. When this\n\t\t\tparameter is used, ListContainerInstances only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListContainerInstances request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and\n\t\t\t100. If this parameter isn't used, then\n\t\t\t\tListContainerInstances returns up to 100 results and\n\t\t\ta nextToken value if applicable.

" + "smithy.api#documentation": "

The maximum number of container instance results that\n\t\t\t\tListContainerInstances returned in paginated output. When this\n\t\t\tparameter is used, ListContainerInstances only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListContainerInstances request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and 100. If this parameter\n\t\t\tisn't used, then ListContainerInstances returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

" } }, "status": { "target": "com.amazonaws.ecs#ContainerInstanceStatus", "traits": { - "smithy.api#documentation": "

Filters the container instances by status. For example, if you specify the\n\t\t\t\tDRAINING status, the results include only container instances that have\n\t\t\tbeen set to DRAINING using UpdateContainerInstancesState. If you don't specify this parameter, the\n\t\t\tdefault is to include container instances set to all states other than\n\t\t\t\tINACTIVE.

" + "smithy.api#documentation": "

Filters the container instances by status. For example, if you specify the\n\t\t\t\tDRAINING status, the results include only container instances that have\n\t\t\tbeen set to DRAINING using UpdateContainerInstancesState. If you don't specify this parameter, the The\n\t\t\tdefault is to include container instances set to all states other than\n\t\t\t\tINACTIVE.

" } } }, @@ -8911,7 +8979,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation lists all of the services that are associated with a Cloud Map\n\t\t\tnamespace. This list might include services in different clusters. In contrast,\n\t\t\t\tListServices can only list services in one cluster at a time. If you\n\t\t\tneed to filter the list of services in a single cluster by various parameters, use\n\t\t\t\tListServices. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

This operation lists all of the services that are associated with a Cloud Map namespace.\n\t\t\tThis list might include services in different clusters. In contrast,\n\t\t\t\tListServices can only list services in one cluster at a time. If you\n\t\t\tneed to filter the list of services in a single cluster by various parameters, use\n\t\t\t\tListServices. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -8926,7 +8994,7 @@ "namespace": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace to list the services in.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace to list\n\t\t\tthe services in.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

", "smithy.api#required": {} } }, @@ -8939,7 +9007,7 @@ "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of service results that ListServicesByNamespace\n\t\t\treturns in paginated output. When this parameter is used,\n\t\t\t\tListServicesByNamespace only returns maxResults results in\n\t\t\ta single page along with a nextToken response element. The remaining\n\t\t\tresults of the initial request can be seen by sending another\n\t\t\t\tListServicesByNamespace request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and\n\t\t\t100. If this parameter isn't used, then\n\t\t\t\tListServicesByNamespace returns up to\n\t\t\t10 results and a nextToken\n\t\t\tvalue if applicable.

" + "smithy.api#documentation": "

The maximum number of service results that ListServicesByNamespace\n\t\t\treturns in paginated output. When this parameter is used,\n\t\t\t\tListServicesByNamespace only returns maxResults results in\n\t\t\ta single page along with a nextToken response element. The remaining\n\t\t\tresults of the initial request can be seen by sending another\n\t\t\t\tListServicesByNamespace request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and 100. If this parameter\n\t\t\tisn't used, then ListServicesByNamespace returns up to 10 results and a\n\t\t\t\tnextToken value if applicable.

" } } }, @@ -8973,19 +9041,19 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the\n\t\t\t\tListServices results. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering\n\t\t\tthe ListServices results. If you do not specify a cluster, the default\n\t\t\tcluster is assumed.

" } }, "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListServices request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListServices request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it is possible the number of results\n\t\t\tto be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of service results that ListServices returned in\n\t\t\tpaginated output. When this parameter is used, ListServices only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListServices request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If\n\t\t\tthis parameter isn't used, then ListServices returns up to\n\t\t\t10 results and a nextToken value if\n\t\t\tapplicable.

" + "smithy.api#documentation": "

The maximum number of service results that ListServices returned in\n\t\t\tpaginated output. When this parameter is used, ListServices only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListServices request with the returned nextToken\n\t\t\tvalue. This value can be between 1 and 100. If this parameter isn't used, then\n\t\t\t\tListServices returns up to 10 results and a nextToken\n\t\t\tvalue if applicable.

" } }, "launchType": { @@ -9074,7 +9142,7 @@ "resourceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for. Currently, the\n\t\t\tsupported resources are Amazon ECS tasks, services, task definitions, clusters, and container\n\t\t\tinstances.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the resource to list the tags for.\n\t\t\tCurrently, the supported resources are Amazon ECS tasks, services, task definitions,\n\t\t\tclusters, and container instances.

", "smithy.api#required": {} } } @@ -9171,13 +9239,13 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a\n\t\t\t\tListTaskDefinitionFamilies request indicating that more results are\n\t\t\tavailable to fulfill the request and further calls will be needed. If\n\t\t\t\tmaxResults was provided, it is possible the number of results to be\n\t\t\tfewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a\n\t\t\t\tListTaskDefinitionFamilies request indicating that more results are\n\t\t\tavailable to fulfill the request and further calls will be needed. If\n\t\t\t\tmaxResults was provided, it is possible the number of results to be\n\t\t\tfewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of task definition family results that\n\t\t\t\tListTaskDefinitionFamilies returned in paginated output. When this\n\t\t\tparameter is used, ListTaskDefinitions only returns maxResults\n\t\t\tresults in a single page along with a nextToken response element. The\n\t\t\tremaining results of the initial request can be seen by sending another\n\t\t\t\tListTaskDefinitionFamilies request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and\n\t\t\t100. If this parameter isn't used, then\n\t\t\t\tListTaskDefinitionFamilies returns up to 100 results\n\t\t\tand a nextToken value if applicable.

" + "smithy.api#documentation": "

The maximum number of task definition family results that\n\t\t\t\tListTaskDefinitionFamilies returned in paginated output. When this\n\t\t\tparameter is used, ListTaskDefinitions only returns maxResults\n\t\t\tresults in a single page along with a nextToken response element. The\n\t\t\tremaining results of the initial request can be seen by sending another\n\t\t\t\tListTaskDefinitionFamilies request with the returned\n\t\t\t\tnextToken value. This value can be between 1 and 100. If this parameter\n\t\t\tisn't used, then ListTaskDefinitionFamilies returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

" } } }, @@ -9289,13 +9357,13 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListTaskDefinitions\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListTaskDefinitions\n\t\t\trequest indicating that more results are available to fulfill the request and further\n\t\t\tcalls will be needed. If maxResults was provided, it is possible the number\n\t\t\tof results to be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of task definition results that ListTaskDefinitions\n\t\t\treturned in paginated output. When this parameter is used,\n\t\t\t\tListTaskDefinitions only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListTaskDefinitions\n\t\t\trequest with the returned nextToken value. This value can be between\n\t\t\t1 and 100. If this parameter isn't used, then\n\t\t\t\tListTaskDefinitions returns up to 100 results and a\n\t\t\t\tnextToken value if applicable.

" + "smithy.api#documentation": "

The maximum number of task definition results that ListTaskDefinitions\n\t\t\treturned in paginated output. When this parameter is used,\n\t\t\t\tListTaskDefinitions only returns maxResults results in a\n\t\t\tsingle page along with a nextToken response element. The remaining results\n\t\t\tof the initial request can be seen by sending another ListTaskDefinitions\n\t\t\trequest with the returned nextToken value. This value can be between 1 and\n\t\t\t100. If this parameter isn't used, then ListTaskDefinitions returns up to\n\t\t\t100 results and a nextToken value if applicable.

" } } }, @@ -9309,7 +9377,7 @@ "taskDefinitionArns": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The list of task definition Amazon Resource Name (ARN) entries for the ListTaskDefinitions\n\t\t\trequest.

" + "smithy.api#documentation": "

The list of task definition Amazon Resource Name (ARN) entries for the\n\t\t\t\tListTaskDefinitions request.

" } }, "nextToken": { @@ -9349,7 +9417,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of tasks. You can filter the results by cluster, task definition\n\t\t\tfamily, container instance, launch type, what IAM principal started the task, or by\n\t\t\tthe desired status of the task.

\n

Recently stopped tasks might appear in the returned results.

", + "smithy.api#documentation": "

Returns a list of tasks. You can filter the results by cluster, task definition\n\t\t\tfamily, container instance, launch type, what IAM principal started the task, or by the\n\t\t\tdesired status of the task.

\n

Recently stopped tasks might appear in the returned results.

", "smithy.api#examples": [ { "title": "To list the tasks on a particular container instance", @@ -9392,13 +9460,13 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering the\n\t\t\t\tListTasks results. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to use when filtering\n\t\t\tthe ListTasks results. If you do not specify a cluster, the default cluster\n\t\t\tis assumed.

" } }, "containerInstance": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The container instance ID or full ARN of the container instance to use when\n\t\t\tfiltering the ListTasks results. Specifying a\n\t\t\t\tcontainerInstance limits the results to tasks that belong to that\n\t\t\tcontainer instance.

" + "smithy.api#documentation": "

The container instance ID or full ARN of the container instance to use when filtering\n\t\t\tthe ListTasks results. Specifying a containerInstance limits\n\t\t\tthe results to tasks that belong to that container instance.

" } }, "family": { @@ -9410,13 +9478,13 @@ "nextToken": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The nextToken value returned from a ListTasks request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it's possible the number of results\n\t\t\tto be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to\n retrieve the next items in a list and not for other programmatic purposes.

\n
" + "smithy.api#documentation": "

The nextToken value returned from a ListTasks request\n\t\t\tindicating that more results are available to fulfill the request and further calls will\n\t\t\tbe needed. If maxResults was provided, it's possible the number of results\n\t\t\tto be fewer than maxResults.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n\t\t\t\tthe next items in a list and not for other programmatic purposes.

\n
" } }, "maxResults": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of task results that ListTasks returned in paginated\n\t\t\toutput. When this parameter is used, ListTasks only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListTasks request with the returned nextToken value.\n\t\t\tThis value can be between 1 and 100. If this parameter\n\t\t\tisn't used, then ListTasks returns up to 100 results and\n\t\t\ta nextToken value if applicable.

" + "smithy.api#documentation": "

The maximum number of task results that ListTasks returned in paginated\n\t\t\toutput. When this parameter is used, ListTasks only returns\n\t\t\t\tmaxResults results in a single page along with a nextToken\n\t\t\tresponse element. The remaining results of the initial request can be seen by sending\n\t\t\tanother ListTasks request with the returned nextToken value.\n\t\t\tThis value can be between 1 and 100. If this parameter isn't used, then\n\t\t\t\tListTasks returns up to 100 results and a nextToken value\n\t\t\tif applicable.

" } }, "startedBy": { @@ -9434,7 +9502,7 @@ "desiredStatus": { "target": "com.amazonaws.ecs#DesiredStatus", "traits": { - "smithy.api#documentation": "

The task desired status to use when filtering the ListTasks results.\n\t\t\tSpecifying a desiredStatus of STOPPED limits the results to\n\t\t\ttasks that Amazon ECS has set the desired status to STOPPED. This can be useful\n\t\t\tfor debugging tasks that aren't starting properly or have died or finished. The default\n\t\t\tstatus filter is RUNNING, which shows tasks that Amazon ECS has set the desired\n\t\t\tstatus to RUNNING.

\n \n

Although you can filter results based on a desired status of PENDING,\n\t\t\t\tthis doesn't return any results. Amazon ECS never sets the desired status of a task to\n\t\t\t\tthat value (only a task's lastStatus may have a value of\n\t\t\t\t\tPENDING).

\n
" + "smithy.api#documentation": "

The task desired status to use when filtering the ListTasks results.\n\t\t\tSpecifying a desiredStatus of STOPPED limits the results to\n\t\t\ttasks that Amazon ECS has set the desired status to STOPPED. This can be\n\t\t\tuseful for debugging tasks that aren't starting properly or have died or finished. The\n\t\t\tdefault status filter is RUNNING, which shows tasks that Amazon ECS has set\n\t\t\tthe desired status to RUNNING.

\n \n

Although you can filter results based on a desired status of PENDING,\n\t\t\t\tthis doesn't return any results. Amazon ECS never sets the desired status of a task\n\t\t\t\tto that value (only a task's lastStatus may have a value of\n\t\t\t\t\tPENDING).

\n
" } }, "launchType": { @@ -9474,25 +9542,25 @@ "targetGroupArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or groups associated with a service or\n\t\t\ttask set.

\n

A target group ARN is only specified when using an Application Load Balancer or Network Load Balancer.

\n

For services using the ECS deployment controller, you can specify one or\n\t\t\tmultiple target groups. For more information, see Registering multiple target groups with a service in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

\n

For services using the CODE_DEPLOY deployment controller, you're required\n\t\t\tto define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

If your service's task definition uses the awsvpc network mode, you\n\t\t\t\tmust choose ip as the target type, not instance. Do this\n\t\t\t\twhen creating your target groups because tasks that use the awsvpc\n\t\t\t\tnetwork mode are associated with an elastic network interface, not an Amazon EC2\n\t\t\t\tinstance. This network mode is required for the Fargate launch\n\t\t\t\ttype.

\n
" + "smithy.api#documentation": "

The full Amazon Resource Name (ARN) of the Elastic Load Balancing target group or\n\t\t\tgroups associated with a service or task set.

\n

A target group ARN is only specified when using an Application Load Balancer or\n\t\t\tNetwork Load Balancer.

\n

For services using the ECS deployment controller, you can specify one or\n\t\t\tmultiple target groups. For more information, see Registering multiple target groups with a service in\n\t\t\tthe Amazon Elastic Container Service Developer Guide.

\n

For services using the CODE_DEPLOY deployment controller, you're required\n\t\t\tto define two target groups for the load balancer. For more information, see Blue/green deployment with CodeDeploy in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

If your service's task definition uses the awsvpc network mode, you\n\t\t\t\tmust choose ip as the target type, not instance. Do this\n\t\t\t\twhen creating your target groups because tasks that use the awsvpc\n\t\t\t\tnetwork mode are associated with an elastic network interface, not an Amazon EC2\n\t\t\t\tinstance. This network mode is required for the Fargate launch type.

\n
" } }, "loadBalancerName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the load balancer to associate with the Amazon ECS service or task set.

\n

If you are using an Application Load Balancer or a Network Load Balancer the load balancer name parameter should be\n\t\t\tomitted.

" + "smithy.api#documentation": "

The name of the load balancer to associate with the Amazon ECS service or task\n\t\t\tset.

\n

If you are using an Application Load Balancer or a Network Load Balancer the load\n\t\t\tbalancer name parameter should be omitted.

" } }, "containerName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the container (as it appears in a container definition) to associate with\n\t\t\tthe load balancer.

\n

You need to specify the container name when configuring the target group for an Amazon ECS\n\t\t\tload balancer.

" + "smithy.api#documentation": "

The name of the container (as it appears in a container definition) to associate with\n\t\t\tthe load balancer.

\n

You need to specify the container name when configuring the target group for an Amazon\n\t\t\tECS load balancer.

" } }, "containerPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The port on the container to associate with the load balancer. This port must\n\t\t\tcorrespond to a containerPort in the task definition the tasks in the\n\t\t\tservice are using. For tasks that use the EC2 launch type, the container\n\t\t\tinstance they're launched on must allow ingress traffic on the hostPort of\n\t\t\tthe port mapping.

" + "smithy.api#documentation": "

The port on the container to associate with the load balancer. This port must\n\t\t\tcorrespond to a containerPort in the task definition the tasks in the\n\t\t\tservice are using. For tasks that use the EC2 launch type, the container instance\n\t\t\tthey're launched on must allow ingress traffic on the hostPort of the port\n\t\t\tmapping.

" } }, "advancedConfiguration": { @@ -9503,7 +9571,7 @@ } }, "traits": { - "smithy.api#documentation": "

The load balancer configuration to use with a service or task set.

\n

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new\n\t\t\tdeployment with the updated Elastic Load Balancing configuration. This causes tasks to register to and\n\t\t\tderegister from load balancers.

\n

We recommend that you verify this on a test environment before you update the Elastic Load Balancing\n\t\t\tconfiguration.

\n

A service-linked role is required for services that use multiple target groups. For\n\t\t\tmore information, see Using\n\t\t\t\tservice-linked roles in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The load balancer configuration to use with a service or task set.

\n

When you add, update, or remove a load balancer configuration, Amazon ECS starts a new\n\t\t\tdeployment with the updated Elastic Load Balancing configuration. This causes tasks to\n\t\t\tregister to and deregister from load balancers.

\n

We recommend that you verify this on a test environment before you update the Elastic\n\t\t\tLoad Balancing configuration.

\n

A service-linked role is required for services that use multiple target groups. For\n\t\t\tmore information, see Using\n\t\t\t\tservice-linked roles in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "com.amazonaws.ecs#LoadBalancers": { @@ -9567,25 +9635,25 @@ "logDriver": { "target": "com.amazonaws.ecs#LogDriver", "traits": { - "smithy.api#documentation": "

The log driver to use for the container.

\n

For tasks on Fargate, the supported log drivers are awslogs,\n\t\t\t\tsplunk, and awsfirelens.

\n

For tasks hosted on Amazon EC2 instances, the supported log drivers are\n\t\t\t\tawslogs, fluentd, gelf,\n\t\t\t\tjson-file, journald, syslog,\n\t\t\t\tsplunk, and awsfirelens.

\n

For more information about using the awslogs log driver, see Send\n\t\t\t\tAmazon ECS logs to CloudWatch in the Amazon Elastic Container Service Developer Guide.

\n

For more information about using the awsfirelens log driver, see Send\n\t\t\t\tAmazon ECS logs to an Amazon Web Services service or Amazon Web Services Partner.

\n \n

If you have a custom driver that isn't listed, you can fork the Amazon ECS container\n\t\t\t\tagent project that's available\n\t\t\t\t\ton GitHub and customize it to work with that driver. We encourage you to\n\t\t\t\tsubmit pull requests for changes that you would like to have included. However, we\n\t\t\t\tdon't currently provide support for running modified copies of this software.

\n
", + "smithy.api#documentation": "

The log driver to use for the container.

\n

For tasks on Fargate, the supported log drivers are awslogs,\n\t\t\t\tsplunk, and awsfirelens.

\n

For tasks hosted on Amazon EC2 instances, the supported log drivers are\n\t\t\t\tawslogs, fluentd, gelf,\n\t\t\t\tjson-file, journald, syslog,\n\t\t\t\tsplunk, and awsfirelens.

\n

For more information about using the awslogs log driver, see Send\n\t\t\t\tAmazon ECS logs to CloudWatch in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

\n

For more information about using the awsfirelens log driver, see Send\n\t\t\t\tAmazon ECS logs to an Amazon Web Services service or Amazon Web Services\n\t\t\tPartner.

\n \n

If you have a custom driver that isn't listed, you can fork the Amazon ECS\n\t\t\t\tcontainer agent project that's available on GitHub and customize it to work with that driver. We\n\t\t\t\tencourage you to submit pull requests for changes that you would like to have\n\t\t\t\tincluded. However, we don't currently provide support for running modified copies of\n\t\t\t\tthis software.

\n
", "smithy.api#required": {} } }, "options": { "target": "com.amazonaws.ecs#LogConfigurationOptionsMap", "traits": { - "smithy.api#documentation": "

The configuration options to send to the log driver.

\n

The options you can specify depend on the log driver. Some of the options you can\n\t\t\tspecify when you use the awslogs log driver to route logs to Amazon CloudWatch\n\t\t\tinclude the following:

\n
\n
awslogs-create-group
\n
\n

Required: No

\n

Specify whether you want the log group to be created automatically. If\n\t\t\t\t\t\tthis option isn't specified, it defaults to false.

\n \n

Your IAM policy must include the logs:CreateLogGroup\n\t\t\t\t\t\t\tpermission before you attempt to use\n\t\t\t\t\t\t\tawslogs-create-group.

\n
\n
\n
awslogs-region
\n
\n

Required: Yes

\n

Specify the Amazon Web Services Region that the awslogs log driver is to\n\t\t\t\t\t\tsend your Docker logs to. You can choose to send all of your logs from\n\t\t\t\t\t\tclusters in different Regions to a single region in CloudWatch Logs. This is so that\n\t\t\t\t\t\tthey're all visible in one location. Otherwise, you can separate them by\n\t\t\t\t\t\tRegion for more granularity. Make sure that the specified log group exists\n\t\t\t\t\t\tin the Region that you specify with this option.

\n
\n
awslogs-group
\n
\n

Required: Yes

\n

Make sure to specify a log group that the awslogs log driver\n\t\t\t\t\t\tsends its log streams to.

\n
\n
awslogs-stream-prefix
\n
\n

Required: Yes, when using Fargate.Optional when using EC2.

\n

Use the awslogs-stream-prefix option to associate a log\n\t\t\t\t\t\tstream with the specified prefix, the container name, and the ID of the\n\t\t\t\t\t\tAmazon ECS task that the container belongs to. If you specify a prefix with this\n\t\t\t\t\t\toption, then the log stream takes the format\n\t\t\t\t\t\t\tprefix-name/container-name/ecs-task-id.

\n

If you don't specify a prefix with this option, then the log stream is\n\t\t\t\t\t\tnamed after the container ID that's assigned by the Docker daemon on the\n\t\t\t\t\t\tcontainer instance. Because it's difficult to trace logs back to the\n\t\t\t\t\t\tcontainer that sent them with just the Docker container ID (which is only\n\t\t\t\t\t\tavailable on the container instance), we recommend that you specify a prefix\n\t\t\t\t\t\twith this option.

\n

For Amazon ECS services, you can use the service name as the prefix. Doing so,\n\t\t\t\t\t\tyou can trace log streams to the service that the container belongs to, the\n\t\t\t\t\t\tname of the container that sent them, and the ID of the task that the\n\t\t\t\t\t\tcontainer belongs to.

\n

You must specify a stream-prefix for your logs to have your logs appear in\n\t\t\t\t\t\tthe Log pane when using the Amazon ECS console.

\n
\n
awslogs-datetime-format
\n
\n

Required: No

\n

This option defines a multiline start pattern in Python\n\t\t\t\t\t\t\tstrftime format. A log message consists of a line that\n\t\t\t\t\t\tmatches the pattern and any following lines that don’t match the pattern.\n\t\t\t\t\t\tThe matched line is the delimiter between log messages.

\n

One example of a use case for using this format is for parsing output such\n\t\t\t\t\t\tas a stack dump, which might otherwise be logged in multiple entries. The\n\t\t\t\t\t\tcorrect pattern allows it to be captured in a single entry.

\n

For more information, see awslogs-datetime-format.

\n

You cannot configure both the awslogs-datetime-format and\n\t\t\t\t\t\t\tawslogs-multiline-pattern options.

\n \n

Multiline logging performs regular expression parsing and matching of\n\t\t\t\t\t\t\tall log messages. This might have a negative impact on logging\n\t\t\t\t\t\t\tperformance.

\n
\n
\n
awslogs-multiline-pattern
\n
\n

Required: No

\n

This option defines a multiline start pattern that uses a regular\n\t\t\t\t\t\texpression. A log message consists of a line that matches the pattern and\n\t\t\t\t\t\tany following lines that don’t match the pattern. The matched line is the\n\t\t\t\t\t\tdelimiter between log messages.

\n

For more information, see awslogs-multiline-pattern.

\n

This option is ignored if awslogs-datetime-format is also\n\t\t\t\t\t\tconfigured.

\n

You cannot configure both the awslogs-datetime-format and\n\t\t\t\t\t\t\tawslogs-multiline-pattern options.

\n \n

Multiline logging performs regular expression parsing and matching of\n\t\t\t\t\t\t\tall log messages. This might have a negative impact on logging\n\t\t\t\t\t\t\tperformance.

\n
\n
\n
\n

The following options apply to all supported log drivers.

\n
\n
mode
\n
\n

Required: No

\n

Valid values: non-blocking | blocking\n

\n

This option defines the delivery mode of log messages from the container\n\t\t\t\t\t\tto the log driver specified using logDriver. The delivery mode\n\t\t\t\t\t\tyou choose affects application availability when the flow of logs from\n\t\t\t\t\t\tcontainer is interrupted.

\n

If you use the blocking mode and the flow of logs is\n\t\t\t\t\t\tinterrupted, calls from container code to write to the stdout\n\t\t\t\t\t\tand stderr streams will block. The logging thread of the\n\t\t\t\t\t\tapplication will block as a result. This may cause the application to become\n\t\t\t\t\t\tunresponsive and lead to container healthcheck failure.

\n

If you use the non-blocking mode, the container's logs are\n\t\t\t\t\t\tinstead stored in an in-memory intermediate buffer configured with the\n\t\t\t\t\t\t\tmax-buffer-size option. This prevents the application from\n\t\t\t\t\t\tbecoming unresponsive when logs cannot be sent. We recommend using this mode\n\t\t\t\t\t\tif you want to ensure service availability and are okay with some log loss.\n\t\t\t\t\t\tFor more information, see Preventing log loss with non-blocking mode in the awslogs\n\t\t\t\t\t\t\tcontainer log driver.

\n

You can set a default mode for all containers in a specific\n\t\t\t\t\t\tAmazon Web Services Region by using the defaultLogDriverMode account setting.\n\t\t\t\t\t\tIf you don't specify the mode option or\n\t\t\t\t\t\tconfigure the account setting, Amazon ECS will default to the\n\t\t\t\t\t\t\tnon-blocking mode. For more information about the account setting, see Default log driver mode in the Amazon Elastic Container Service Developer Guide.

\n \n

On June 25, 2025, Amazon ECS changed the default log driver mode from blocking to non-blocking to prioritize task availability over logging. To continue using the blocking mode after this change, do one of the following:

\n
    \n
  • \n

    Set the mode option in your container definition's logConfiguration as blocking.

    \n
  • \n
  • \n

    Set the defaultLogDriverMode account setting to blocking.

    \n
  • \n
\n
\n
\n
max-buffer-size
\n
\n

Required: No

\n

Default value: 10m\n

\n

When non-blocking mode is used, the\n\t\t\t\t\t\t\tmax-buffer-size log option controls the size of the buffer\n\t\t\t\t\t\tthat's used for intermediate message storage. Make sure to specify an\n\t\t\t\t\t\tadequate buffer size based on your application. When the buffer fills up,\n\t\t\t\t\t\tfurther logs cannot be stored. Logs that cannot be stored are lost.

\n
\n
\n

To route logs using the splunk log router, you need to specify a\n\t\t\t\tsplunk-token and a splunk-url.

\n

When you use the awsfirelens log router to route logs to an Amazon Web Services Service\n\t\t\tor Amazon Web Services Partner Network destination for log storage and analytics, you can set the\n\t\t\t\tlog-driver-buffer-limit option to limit the number of events that are\n\t\t\tbuffered in memory, before being sent to the log router container. It can help to\n\t\t\tresolve potential log loss issue because high throughput might result in memory running\n\t\t\tout for the buffer inside of Docker.

\n

Other options you can specify when using awsfirelens to route logs depend\n\t\t\ton the destination. When you export logs to Amazon Data Firehose, you can specify the Amazon Web Services Region\n\t\t\twith region and a name for the log stream with\n\t\t\tdelivery_stream.

\n

When you export logs to Amazon Kinesis Data Streams, you can specify an Amazon Web Services Region with\n\t\t\t\tregion and a data stream name with stream.

\n

When you export logs to Amazon OpenSearch Service, you can specify options like Name,\n\t\t\t\tHost (OpenSearch Service endpoint without protocol), Port,\n\t\t\t\tIndex, Type, Aws_auth,\n\t\t\t\tAws_region, Suppress_Type_Name, and tls. For\n\t\t\tmore information, see Under the hood:\n\t\t\t\tFireLens for Amazon ECS Tasks.

\n

When you export logs to Amazon S3, you can specify the bucket using the bucket\n\t\t\toption. You can also specify region, total_file_size,\n\t\t\t\tupload_timeout, and use_put_object as options.

\n

This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'\n

" + "smithy.api#documentation": "

The configuration options to send to the log driver.

\n

The options you can specify depend on the log driver. Some of the options you can\n\t\t\tspecify when you use the awslogs log driver to route logs to Amazon\n\t\t\tCloudWatch include the following:

\n
\n
awslogs-create-group
\n
\n

Required: No

\n

Specify whether you want the log group to be created automatically. If\n\t\t\t\t\t\tthis option isn't specified, it defaults to false.

\n \n

Your IAM policy must include the logs:CreateLogGroup\n\t\t\t\t\t\t\tpermission before you attempt to use\n\t\t\t\t\t\t\tawslogs-create-group.

\n
\n
\n
awslogs-region
\n
\n

Required: Yes

\n

Specify the Amazon Web Services Region that the awslogs log\n\t\t\t\t\t\tdriver is to send your Docker logs to. You can choose to send all of your\n\t\t\t\t\t\tlogs from clusters in different Regions to a single region in CloudWatch\n\t\t\t\t\t\tLogs. This is so that they're all visible in one location. Otherwise, you\n\t\t\t\t\t\tcan separate them by Region for more granularity. Make sure that the\n\t\t\t\t\t\tspecified log group exists in the Region that you specify with this\n\t\t\t\t\t\toption.

\n
\n
awslogs-group
\n
\n

Required: Yes

\n

Make sure to specify a log group that the awslogs log driver\n\t\t\t\t\t\tsends its log streams to.

\n
\n
awslogs-stream-prefix
\n
\n

Required: Yes, when using Fargate.Optional when\n\t\t\t\t\t\t\tusing EC2.

\n

Use the awslogs-stream-prefix option to associate a log\n\t\t\t\t\t\tstream with the specified prefix, the container name, and the ID of the\n\t\t\t\t\t\tAmazon ECS task that the container belongs to. If you specify a prefix with\n\t\t\t\t\t\tthis option, then the log stream takes the format\n\t\t\t\t\t\t\tprefix-name/container-name/ecs-task-id.

\n

If you don't specify a prefix with this option, then the log stream is\n\t\t\t\t\t\tnamed after the container ID that's assigned by the Docker daemon on the\n\t\t\t\t\t\tcontainer instance. Because it's difficult to trace logs back to the\n\t\t\t\t\t\tcontainer that sent them with just the Docker container ID (which is only\n\t\t\t\t\t\tavailable on the container instance), we recommend that you specify a prefix\n\t\t\t\t\t\twith this option.

\n

For Amazon ECS services, you can use the service name as the prefix. Doing\n\t\t\t\t\t\tso, you can trace log streams to the service that the container belongs to,\n\t\t\t\t\t\tthe name of the container that sent them, and the ID of the task that the\n\t\t\t\t\t\tcontainer belongs to.

\n

You must specify a stream-prefix for your logs to have your logs appear in\n\t\t\t\t\t\tthe Log pane when using the Amazon ECS console.

\n
\n
awslogs-datetime-format
\n
\n

Required: No

\n

This option defines a multiline start pattern in Python\n\t\t\t\t\t\t\tstrftime format. A log message consists of a line that\n\t\t\t\t\t\tmatches the pattern and any following lines that don’t match the pattern.\n\t\t\t\t\t\tThe matched line is the delimiter between log messages.

\n

One example of a use case for using this format is for parsing output such\n\t\t\t\t\t\tas a stack dump, which might otherwise be logged in multiple entries. The\n\t\t\t\t\t\tcorrect pattern allows it to be captured in a single entry.

\n

For more information, see awslogs-datetime-format.

\n

You cannot configure both the awslogs-datetime-format and\n\t\t\t\t\t\t\tawslogs-multiline-pattern options.

\n \n

Multiline logging performs regular expression parsing and matching of\n\t\t\t\t\t\t\tall log messages. This might have a negative impact on logging\n\t\t\t\t\t\t\tperformance.

\n
\n
\n
awslogs-multiline-pattern
\n
\n

Required: No

\n

This option defines a multiline start pattern that uses a regular\n\t\t\t\t\t\texpression. A log message consists of a line that matches the pattern and\n\t\t\t\t\t\tany following lines that don’t match the pattern. The matched line is the\n\t\t\t\t\t\tdelimiter between log messages.

\n

For more information, see awslogs-multiline-pattern.

\n

This option is ignored if awslogs-datetime-format is also\n\t\t\t\t\t\tconfigured.

\n

You cannot configure both the awslogs-datetime-format and\n\t\t\t\t\t\t\tawslogs-multiline-pattern options.

\n \n

Multiline logging performs regular expression parsing and matching of\n\t\t\t\t\t\t\tall log messages. This might have a negative impact on logging\n\t\t\t\t\t\t\tperformance.

\n
\n
\n
\n

The following options apply to all supported log drivers.

\n
\n
mode
\n
\n

Required: No

\n

Valid values: non-blocking | blocking\n

\n

This option defines the delivery mode of log messages from the container\n\t\t\t\t\t\tto the log driver specified using logDriver. The delivery mode\n\t\t\t\t\t\tyou choose affects application availability when the flow of logs from\n\t\t\t\t\t\tcontainer is interrupted.

\n

If you use the blocking mode and the flow of logs is\n\t\t\t\t\t\tinterrupted, calls from container code to write to the stdout\n\t\t\t\t\t\tand stderr streams will block. The logging thread of the\n\t\t\t\t\t\tapplication will block as a result. This may cause the application to become\n\t\t\t\t\t\tunresponsive and lead to container healthcheck failure.

\n

If you use the non-blocking mode, the container's logs are\n\t\t\t\t\t\tinstead stored in an in-memory intermediate buffer configured with the\n\t\t\t\t\t\t\tmax-buffer-size option. This prevents the application from\n\t\t\t\t\t\tbecoming unresponsive when logs cannot be sent. We recommend using this mode\n\t\t\t\t\t\tif you want to ensure service availability and are okay with some log loss.\n\t\t\t\t\t\tFor more information, see Preventing log loss with non-blocking mode in the awslogs\n\t\t\t\t\t\t\tcontainer log driver.

\n

You can set a default mode for all containers in a specific\n\t\t\t\t\t\t\tAmazon\n\t\t\t\t\t\t\tWeb Services Region by using the\n\t\t\t\t\t\t\tdefaultLogDriverMode account setting. If you don't specify\n\t\t\t\t\t\tthe mode option or configure the account setting, Amazon ECS\n\t\t\t\t\t\twill default to the non-blocking mode. For more information\n\t\t\t\t\t\tabout the account setting, see Default log driver mode in the Amazon Elastic\n\t\t\t\t\t\t\tContainer Service Developer Guide.

\n \n

On June 25, 2025, Amazon ECS changed the default log driver mode from\n\t\t\t\t\t\t\t\tblocking to non-blocking to prioritize\n\t\t\t\t\t\t\ttask availability over logging. To continue using the\n\t\t\t\t\t\t\t\tblocking mode after this change, do one of the\n\t\t\t\t\t\t\tfollowing:

\n
    \n
  • \n

    Set the mode option in your container\n\t\t\t\t\t\t\t\t\tdefinition's logConfiguration as\n\t\t\t\t\t\t\t\t\t\tblocking.

    \n
  • \n
  • \n

    Set the defaultLogDriverMode account setting to\n\t\t\t\t\t\t\t\t\t\tblocking.

    \n
  • \n
\n
\n
\n
max-buffer-size
\n
\n

Required: No

\n

Default value: 10m\n

\n

When non-blocking mode is used, the\n\t\t\t\t\t\t\tmax-buffer-size log option controls the size of the buffer\n\t\t\t\t\t\tthat's used for intermediate message storage. Make sure to specify an\n\t\t\t\t\t\tadequate buffer size based on your application. When the buffer fills up,\n\t\t\t\t\t\tfurther logs cannot be stored. Logs that cannot be stored are lost.

\n
\n
\n

To route logs using the splunk log router, you need to specify a\n\t\t\t\tsplunk-token and a splunk-url.

\n

When you use the awsfirelens log router to route logs to an Amazon Web Services\n\t\t\tService or Amazon Web\n\t\t\t\tServices Partner Network destination for log storage and analytics, you can\n\t\t\tset the log-driver-buffer-limit option to limit the number of events that\n\t\t\tare buffered in memory, before being sent to the log router container. It can help to\n\t\t\tresolve potential log loss issue because high throughput might result in memory running\n\t\t\tout for the buffer inside of Docker.

\n

Other options you can specify when using awsfirelens to route logs depend\n\t\t\ton the destination. When you export logs to Amazon Data Firehose, you can specify the\n\t\t\t\tAmazon Web\n\t\t\t\tServices Region with region and a name for the log stream with\n\t\t\t\tdelivery_stream.

\n

When you export logs to Amazon Kinesis Data Streams, you can specify an Amazon Web Services\n\t\t\tRegion with region and a data stream name with stream.

\n

When you export logs to Amazon OpenSearch Service, you can specify options like\n\t\t\t\tName, Host (OpenSearch Service endpoint without protocol),\n\t\t\t\tPort, Index, Type, Aws_auth,\n\t\t\t\tAws_region, Suppress_Type_Name, and tls. For\n\t\t\tmore information, see Under the hood:\n\t\t\t\tFireLens for Amazon ECS Tasks.

\n

When you export logs to Amazon S3, you can specify the bucket using the\n\t\t\t\tbucket option. You can also specify region,\n\t\t\t\ttotal_file_size, upload_timeout, and\n\t\t\t\tuse_put_object as options.

\n

This parameter requires version 1.19 of the Docker Remote API or greater on your\n\t\t\tcontainer instance. To check the Docker Remote API version on your container instance,\n\t\t\tlog in to your container instance and run the following command: sudo docker\n\t\t\t\tversion --format '{{.Server.APIVersion}}'\n

" } }, "secretOptions": { "target": "com.amazonaws.ecs#SecretList", "traits": { - "smithy.api#documentation": "

The secrets to pass to the log configuration. For more information, see Specifying\n\t\t\t\tsensitive data in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The secrets to pass to the log configuration. For more information, see Specifying\n\t\t\t\tsensitive data in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } } }, "traits": { - "smithy.api#documentation": "

The log configuration for the container. This parameter maps to LogConfig\n\t\t\tin the docker container create command and the --log-driver option to\n\t\t\tdocker run.

\n

By default, containers use the same logging driver that the Docker daemon uses.\n\t\t\tHowever, the container might use a different logging driver than the Docker daemon by\n\t\t\tspecifying a log driver configuration in the container definition.

\n

Understand the following when specifying a log configuration for your\n\t\t\tcontainers.

\n
    \n
  • \n

    Amazon ECS currently supports a subset of the logging drivers available to the\n\t\t\t\t\tDocker daemon. Additional log drivers may be available in future releases of the\n\t\t\t\t\tAmazon ECS container agent.

    \n

    For tasks on Fargate, the supported log drivers are awslogs,\n\t\t\t\t\t\tsplunk, and awsfirelens.

    \n

    For tasks hosted on Amazon EC2 instances, the supported log drivers are\n\t\t\t\t\t\tawslogs, fluentd, gelf,\n\t\t\t\t\t\tjson-file, journald,syslog,\n\t\t\t\t\t\tsplunk, and awsfirelens.

    \n
  • \n
  • \n

    This parameter requires version 1.18 of the Docker Remote API or greater on\n\t\t\t\t\tyour container instance.

    \n
  • \n
  • \n

    For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container agent must\n\t\t\t\t\tregister the available logging drivers with the\n\t\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\t\tcontainers placed on that instance can use these log configuration options. For\n\t\t\t\t\tmore information, see Amazon ECS container agent configuration in the\n\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    For tasks that are on Fargate, because you don't have access to the\n\t\t\t\t\tunderlying infrastructure your tasks are hosted on, any additional software\n\t\t\t\t\tneeded must be installed outside of the task. For example, the Fluentd output\n\t\t\t\t\taggregators or a remote host running Logstash to send Gelf logs to.

    \n
  • \n
" + "smithy.api#documentation": "

The log configuration for the container. This parameter maps to LogConfig\n\t\t\tin the docker container create command and the --log-driver option to\n\t\t\tdocker run.

\n

By default, containers use the same logging driver that the Docker daemon uses.\n\t\t\tHowever, the container might use a different logging driver than the Docker daemon by\n\t\t\tspecifying a log driver configuration in the container definition.

\n

Understand the following when specifying a log configuration for your\n\t\t\tcontainers.

\n
    \n
  • \n

    Amazon ECS currently supports a subset of the logging drivers available to the\n\t\t\t\t\tDocker daemon. Additional log drivers may be available in future releases of the\n\t\t\t\t\tAmazon ECS container agent.

    \n

    For tasks on Fargate, the supported log drivers are\n\t\t\t\t\t\tawslogs, splunk, and\n\t\t\t\t\tawsfirelens.

    \n

    For tasks hosted on Amazon EC2 instances, the supported log drivers are\n\t\t\t\t\t\tawslogs, fluentd, gelf,\n\t\t\t\t\t\tjson-file, journald,syslog,\n\t\t\t\t\t\tsplunk, and awsfirelens.

    \n
  • \n
  • \n

    This parameter requires version 1.18 of the Docker Remote API or greater on\n\t\t\t\t\tyour container instance.

    \n
  • \n
  • \n

    For tasks that are hosted on Amazon EC2 instances, the Amazon ECS container\n\t\t\t\t\tagent must register the available logging drivers with the\n\t\t\t\t\t\tECS_AVAILABLE_LOGGING_DRIVERS environment variable before\n\t\t\t\t\tcontainers placed on that instance can use these log configuration options. For\n\t\t\t\t\tmore information, see Amazon ECS container agent configuration in the\n\t\t\t\t\t\tAmazon Elastic Container Service Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    For tasks that are on Fargate, because you don't have access\n\t\t\t\t\tto the underlying infrastructure your tasks are hosted on, any additional\n\t\t\t\t\tsoftware needed must be installed outside of the task. For example, the Fluentd\n\t\t\t\t\toutput aggregators or a remote host running Logstash to send Gelf logs\n\t\t\t\t\tto.

    \n
  • \n
" } }, "com.amazonaws.ecs#LogConfigurationOptionsMap": { @@ -9786,18 +9854,18 @@ "subnets": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances. Instances are distributed across the specified subnets for high availability. All subnets must be in the same VPC.

" + "smithy.api#documentation": "

The list of subnet IDs where Amazon ECS can launch Amazon ECS Managed Instances.\n\t\t\tInstances are distributed across the specified subnets for high availability. All\n\t\t\tsubnets must be in the same VPC.

" } }, "securityGroups": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The list of security group IDs to apply to Amazon ECS Managed Instances. These security groups control the network traffic allowed to and from the instances.

" + "smithy.api#documentation": "

The list of security group IDs to apply to Amazon ECS Managed Instances. These\n\t\t\tsecurity groups control the network traffic allowed to and from the instances.

" } } }, "traits": { - "smithy.api#documentation": "

The network configuration for Amazon ECS Managed Instances. This specifies the VPC subnets and security groups that instances use for network connectivity. Amazon ECS Managed Instances support multiple network modes including awsvpc (instances receive ENIs for task isolation), host (instances share network namespace with tasks), and none (no external network connectivity), ensuring backward compatibility for migrating workloads from Fargate or Amazon EC2.

" + "smithy.api#documentation": "

The network configuration for Amazon ECS Managed Instances. This specifies the VPC\n\t\t\tsubnets and security groups that instances use for network connectivity. Amazon ECS\n\t\t\tManaged Instances support multiple network modes including awsvpc\n\t\t\t(instances receive ENIs for task isolation), host (instances share network\n\t\t\tnamespace with tasks), and none (no external network connectivity),\n\t\t\tensuring backward compatibility for migrating workloads from Fargate or Amazon\n\t\t\tEC2.

" } }, "com.amazonaws.ecs#ManagedInstancesProvider": { @@ -9806,24 +9874,24 @@ "infrastructureRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to manage instances. This role must include permissions for Amazon EC2 instance lifecycle management, networking, and any additional Amazon Web Services services required for your workloads.

\n

For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the infrastructure role that Amazon ECS assumes to\n\t\t\tmanage instances. This role must include permissions for Amazon EC2 instance lifecycle\n\t\t\tmanagement, networking, and any additional Amazon Web Services services required for your\n\t\t\tworkloads.

\n

For more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\t\tGuide.

" } }, "instanceLaunchTemplate": { "target": "com.amazonaws.ecs#InstanceLaunchTemplate", "traits": { - "smithy.api#documentation": "

The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances. This includes the instance profile for your tasks, network and storage configuration, and instance requirements that determine which Amazon EC2 instance types can be used.

\n

For more information, see Store instance launch parameters in Amazon EC2 launch templates in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

The launch template that defines how Amazon ECS launches Amazon ECS Managed Instances.\n\t\t\tThis includes the instance profile for your tasks, network and storage configuration,\n\t\t\tand instance requirements that determine which Amazon EC2 instance types can be\n\t\t\tused.

\n

For more information, see Store instance launch\n\t\t\t\tparameters in Amazon EC2 launch templates in the Amazon EC2 User\n\t\t\t\tGuide.

" } }, "propagateTags": { "target": "com.amazonaws.ecs#PropagateMITags", "traits": { - "smithy.api#documentation": "

Determines whether tags from the capacity provider are automatically applied to Amazon ECS Managed Instances. This helps with cost allocation and resource management by ensuring consistent tagging across your infrastructure.

" + "smithy.api#documentation": "

Determines whether tags from the capacity provider are automatically applied to Amazon\n\t\t\tECS Managed Instances. This helps with cost allocation and resource management by\n\t\t\tensuring consistent tagging across your infrastructure.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration for a Amazon ECS Managed Instances provider. Amazon ECS uses this configuration to automatically launch, manage, and terminate Amazon EC2 instances on your behalf. Managed instances provide access to the full range of Amazon EC2 instance types and features while offloading infrastructure management to Amazon Web Services.

" + "smithy.api#documentation": "

The configuration for a Amazon ECS Managed Instances provider. Amazon ECS uses this\n\t\t\tconfiguration to automatically launch, manage, and terminate Amazon EC2 instances on\n\t\t\tyour behalf. Managed instances provide access to the full range of Amazon EC2 instance\n\t\t\ttypes and features while offloading infrastructure management to Amazon Web\n\t\t\tServices.

" } }, "com.amazonaws.ecs#ManagedInstancesStorageConfiguration": { @@ -9837,7 +9905,7 @@ } }, "traits": { - "smithy.api#documentation": "

The storage configuration for Amazon ECS Managed Instances. This defines the root volume configuration for the instances.

" + "smithy.api#documentation": "

The storage configuration for Amazon ECS Managed Instances. This defines the root\n\t\t\tvolume configuration for the instances.

" } }, "com.amazonaws.ecs#ManagedScaling": { @@ -9852,30 +9920,30 @@ "targetCapacity": { "target": "com.amazonaws.ecs#ManagedScalingTargetCapacity", "traits": { - "smithy.api#documentation": "

The target capacity utilization as a percentage for the capacity provider. The\n\t\t\tspecified value must be greater than 0 and less than or equal to\n\t\t\t\t100. For example, if you want the capacity provider to maintain 10%\n\t\t\tspare capacity, then that means the utilization is 90%, so use a\n\t\t\t\ttargetCapacity of 90. The default value of\n\t\t\t\t100 percent results in the Amazon EC2 instances in your Auto Scaling group\n\t\t\tbeing completely used.

" + "smithy.api#documentation": "

The target capacity utilization as a percentage for the capacity provider. The\n\t\t\tspecified value must be greater than 0 and less than or equal to\n\t\t\t\t100. For example, if you want the capacity provider to maintain 10%\n\t\t\tspare capacity, then that means the utilization is 90%, so use a\n\t\t\t\ttargetCapacity of 90. The default value of\n\t\t\t\t100 percent results in the Amazon EC2 instances in your Auto Scaling\n\t\t\tgroup being completely used.

" } }, "minimumScalingStepSize": { "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "

The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time. The scale\n\t\t\tin process is not affected by this parameter If this parameter is omitted, the default\n\t\t\tvalue of 1 is used.

\n

When additional capacity is required, Amazon ECS will scale up the minimum scaling step\n\t\t\tsize even if the actual demand is less than the minimum scaling step size.

" + "smithy.api#documentation": "

The minimum number of Amazon EC2 instances that Amazon ECS will scale out at one time.\n\t\t\tThe scale in process is not affected by this parameter If this parameter is omitted, the\n\t\t\tdefault value of 1 is used.

\n

When additional capacity is required, Amazon ECS will scale up the minimum scaling\n\t\t\tstep size even if the actual demand is less than the minimum scaling step size.

" } }, "maximumScalingStepSize": { "target": "com.amazonaws.ecs#ManagedScalingStepSize", "traits": { - "smithy.api#documentation": "

The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time. If this\n\t\t\tparameter is omitted, the default value of 10000 is used.

" + "smithy.api#documentation": "

The maximum number of Amazon EC2 instances that Amazon ECS will scale out at one time.\n\t\t\tIf this parameter is omitted, the default value of 10000 is used.

" } }, "instanceWarmupPeriod": { "target": "com.amazonaws.ecs#ManagedScalingInstanceWarmupPeriod", "traits": { - "smithy.api#documentation": "

The period of time, in seconds, after a newly launched Amazon EC2 instance can contribute\n\t\t\tto CloudWatch metrics for Auto Scaling group. If this parameter is omitted, the default value\n\t\t\tof 300 seconds is used.

" + "smithy.api#documentation": "

The period of time, in seconds, after a newly launched Amazon EC2 instance can\n\t\t\tcontribute to CloudWatch metrics for Auto Scaling group. If this parameter is omitted,\n\t\t\tthe default value of 300 seconds is used.

" } } }, "traits": { - "smithy.api#documentation": "

The managed scaling settings for the Auto Scaling group capacity provider.

\n

When managed scaling is turned on, Amazon ECS manages the scale-in and scale-out actions of\n\t\t\tthe Auto Scaling group. Amazon ECS manages a target tracking scaling policy using an Amazon ECS\n\t\t\tmanaged CloudWatch metric with the specified targetCapacity value as the target\n\t\t\tvalue for the metric. For more information, see Using managed scaling in the Amazon Elastic Container Service Developer Guide.

\n

If managed scaling is off, the user must manage the scaling of the Auto Scaling\n\t\t\tgroup.

" + "smithy.api#documentation": "

The managed scaling settings for the Auto Scaling group capacity provider.

\n

When managed scaling is turned on, Amazon ECS manages the scale-in and scale-out\n\t\t\tactions of the Auto Scaling group. Amazon ECS manages a target tracking scaling policy\n\t\t\tusing an Amazon ECS managed CloudWatch metric with the specified\n\t\t\t\ttargetCapacity value as the target value for the metric. For more\n\t\t\tinformation, see Using managed scaling in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

\n

If managed scaling is off, the user must manage the scaling of the Auto Scaling\n\t\t\tgroup.

" } }, "com.amazonaws.ecs#ManagedScalingInstanceWarmupPeriod": { @@ -9928,13 +9996,13 @@ "kmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

Specify a Key Management Service key ID to encrypt Amazon ECS managed storage.

\n

When you specify a kmsKeyId, Amazon ECS uses the key to encrypt data volumes\n\t\t\tmanaged by Amazon ECS that are attached to tasks in the cluster. The following data volumes\n\t\t\tare managed by Amazon ECS: Amazon EBS. For more information about encryption of Amazon EBS volumes\n\t\t\tattached to Amazon ECS tasks, see Encrypt data stored in Amazon EBS volumes for Amazon ECS in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n

The key must be a single Region key.

" + "smithy.api#documentation": "

Specify a Key\n\t\t\t\tManagement Service key ID to encrypt Amazon ECS managed storage.

\n

When you specify a kmsKeyId, Amazon ECS uses the key to encrypt data\n\t\t\tvolumes managed by Amazon ECS that are attached to tasks in the cluster. The following\n\t\t\tdata volumes are managed by Amazon ECS: Amazon EBS. For more information about\n\t\t\tencryption of Amazon EBS volumes attached to Amazon ECS tasks, see Encrypt data stored in Amazon EBS volumes for Amazon ECS in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n

The key must be a single Region key.

" } }, "fargateEphemeralStorageKmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

Specify the Key Management Service key ID for Fargate ephemeral storage.

\n

When you specify a fargateEphemeralStorageKmsKeyId, Amazon Web Services Fargate uses\n\t\t\tthe key to encrypt data at rest in ephemeral storage. For more information about\n\t\t\tFargate ephemeral storage encryption, see Customer managed keys for Amazon Web Services Fargate ephemeral storage for\n\t\t\t\tAmazon ECS in the Amazon Elastic Container Service Developer Guide.

\n

The key must be a single Region key.

" + "smithy.api#documentation": "

Specify the Key\n\t\t\t\tManagement Service key ID for Fargate ephemeral storage.

\n

When you specify a fargateEphemeralStorageKmsKeyId, Amazon Web Services\n\t\t\tFargate uses the key to encrypt data at rest in ephemeral storage. For more information\n\t\t\tabout Fargate ephemeral storage encryption, see Customer managed keys for Amazon Web Services Fargate ephemeral\n\t\t\t\tstorage for Amazon ECS in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

\n

The key must be a single Region key.

" } } }, @@ -9965,18 +10033,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedDouble", "traits": { - "smithy.api#documentation": "

The minimum amount of memory per vCPU in GiB. Instance types with a lower memory-to-vCPU ratio are excluded from selection.

" + "smithy.api#documentation": "

The minimum amount of memory per vCPU in GiB. Instance types with a lower\n\t\t\tmemory-to-vCPU ratio are excluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedDouble", "traits": { - "smithy.api#documentation": "

The maximum amount of memory per vCPU in GiB. Instance types with a higher memory-to-vCPU ratio are excluded from selection.

" + "smithy.api#documentation": "

The maximum amount of memory per vCPU in GiB. Instance types with a higher\n\t\t\tmemory-to-vCPU ratio are excluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps ensure that instance types have the appropriate memory-to-CPU ratio for your workloads.

" + "smithy.api#documentation": "

The minimum and maximum amount of memory per vCPU in gibibytes (GiB). This helps\n\t\t\tensure that instance types have the appropriate memory-to-CPU ratio for your\n\t\t\tworkloads.

" } }, "com.amazonaws.ecs#MemoryMiBRequest": { @@ -9985,19 +10053,19 @@ "min": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The minimum amount of memory in MiB. Instance types with less memory than this value are excluded from selection.

", + "smithy.api#documentation": "

The minimum amount of memory in MiB. Instance types with less memory than this value\n\t\t\tare excluded from selection.

", "smithy.api#required": {} } }, "max": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum amount of memory in MiB. Instance types with more memory than this value are excluded from selection.

" + "smithy.api#documentation": "

The maximum amount of memory in MiB. Instance types with more memory than this value\n\t\t\tare excluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum amount of memory in mebibytes (MiB) for instance type selection. This ensures that selected instance types have adequate memory for your workloads.

" + "smithy.api#documentation": "

The minimum and maximum amount of memory in mebibytes (MiB) for instance type\n\t\t\tselection. This ensures that selected instance types have adequate memory for your\n\t\t\tworkloads.

" } }, "com.amazonaws.ecs#MissingVersionException": { @@ -10011,7 +10079,7 @@ } }, "traits": { - "smithy.api#documentation": "

Amazon ECS can't determine the current version of the Amazon ECS container agent on the\n\t\t\tcontainer instance and doesn't have enough information to proceed with an update. This\n\t\t\tcould be because the agent running on the container instance is a previous or custom\n\t\t\tversion that doesn't use our version information.

", + "smithy.api#documentation": "

Amazon ECS can't determine the current version of the Amazon ECS container agent on\n\t\t\tthe container instance and doesn't have enough information to proceed with an update.\n\t\t\tThis could be because the agent running on the container instance is a previous or\n\t\t\tcustom version that doesn't use our version information.

", "smithy.api#error": "client" } }, @@ -10068,18 +10136,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedDouble", "traits": { - "smithy.api#documentation": "

The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are excluded from selection.

" + "smithy.api#documentation": "

The minimum network bandwidth in Gbps. Instance types with lower network bandwidth are\n\t\t\texcluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedDouble", "traits": { - "smithy.api#documentation": "

The maximum network bandwidth in Gbps. Instance types with higher network bandwidth are excluded from selection.

" + "smithy.api#documentation": "

The maximum network bandwidth in Gbps. Instance types with higher network bandwidth\n\t\t\tare excluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum network bandwidth in gigabits per second (Gbps) for instance type selection. This is important for network-intensive workloads.

" + "smithy.api#documentation": "

The minimum and maximum network bandwidth in gigabits per second (Gbps) for instance\n\t\t\ttype selection. This is important for network-intensive workloads.

" } }, "com.amazonaws.ecs#NetworkBinding": { @@ -10112,7 +10180,7 @@ "containerPortRange": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The port number range on the container that's bound to the dynamically mapped host\n\t\t\tport range.

\n

The following rules apply when you specify a containerPortRange:

\n
    \n
  • \n

    You must use either the bridge network mode or the awsvpc\n\t\t\t\t\tnetwork mode.

    \n
  • \n
  • \n

    This parameter is available for both the EC2 and Fargate launch types.

    \n
  • \n
  • \n

    This parameter is available for both the Linux and Windows operating systems.

    \n
  • \n
  • \n

    The container instance must have at least version 1.67.0 of the container agent\n\t\t\t\t\tand at least version 1.67.0-1 of the ecs-init package

    \n
  • \n
  • \n

    You can specify a maximum of 100 port ranges per container.

    \n
  • \n
  • \n

    You do not specify a hostPortRange. The value of the hostPortRange is set\n\t\t\t\t\tas follows:

    \n
      \n
    • \n

      For containers in a task with the awsvpc network mode,\n\t\t\t\t\t\t\tthe hostPortRange is set to the same value as the\n\t\t\t\t\t\t\t\tcontainerPortRange. This is a static mapping\n\t\t\t\t\t\t\tstrategy.

      \n
    • \n
    • \n

      For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.

      \n
    • \n
    \n
  • \n
  • \n

    The containerPortRange valid values are between 1 and\n\t\t\t\t\t65535.

    \n
  • \n
  • \n

    A port can only be included in one port mapping per container.

    \n
  • \n
  • \n

    You cannot specify overlapping port ranges.

    \n
  • \n
  • \n

    The first port in the range must be less than last port in the range.

    \n
  • \n
  • \n

    Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.

    \n

    For more information, see Issue #11185 on the Github website.

    \n

    For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide.

    \n
  • \n
\n

You can call \n DescribeTasks\n to view the hostPortRange which\n\t\t\tare the host ports that are bound to the container ports.

" + "smithy.api#documentation": "

The port number range on the container that's bound to the dynamically mapped host\n\t\t\tport range.

\n

The following rules apply when you specify a containerPortRange:

\n
    \n
  • \n

    You must use either the bridge network mode or the\n\t\t\t\t\t\tawsvpc network mode.

    \n
  • \n
  • \n

    This parameter is available for both the EC2 and Fargate launch\n\t\t\t\t\ttypes.

    \n
  • \n
  • \n

    This parameter is available for both the Linux and Windows operating\n\t\t\t\t\tsystems.

    \n
  • \n
  • \n

    The container instance must have at least version 1.67.0 of the container\n\t\t\t\t\tagent and at least version 1.67.0-1 of the ecs-init package

    \n
  • \n
  • \n

    You can specify a maximum of 100 port ranges per container.

    \n
  • \n
  • \n

    You do not specify a hostPortRange. The value of the\n\t\t\t\t\t\thostPortRange is set as follows:

    \n
      \n
    • \n

      For containers in a task with the awsvpc network mode,\n\t\t\t\t\t\t\tthe hostPortRange is set to the same value as the\n\t\t\t\t\t\t\t\tcontainerPortRange. This is a static mapping\n\t\t\t\t\t\t\tstrategy.

      \n
    • \n
    • \n

      For containers in a task with the bridge network mode,\n\t\t\t\t\t\t\tthe Amazon ECS agent finds open host ports from the default ephemeral\n\t\t\t\t\t\t\trange and passes it to docker to bind them to the container\n\t\t\t\t\t\t\tports.

      \n
    • \n
    \n
  • \n
  • \n

    The containerPortRange valid values are between 1 and\n\t\t\t\t\t65535.

    \n
  • \n
  • \n

    A port can only be included in one port mapping per container.

    \n
  • \n
  • \n

    You cannot specify overlapping port ranges.

    \n
  • \n
  • \n

    The first port in the range must be less than last port in the range.

    \n
  • \n
  • \n

    Docker recommends that you turn off the docker-proxy in the Docker daemon\n\t\t\t\t\tconfig file when you have a large number of ports.

    \n

    For more information, see Issue #11185 on the\n\t\t\t\t\tGithub website.

    \n

    For information about how to turn off the docker-proxy in the Docker daemon\n\t\t\t\t\tconfig file, see Docker daemon in the Amazon ECS Developer\n\t\t\t\t\t\tGuide.

    \n
  • \n
\n

You can call \n DescribeTasks\n to view the hostPortRange which\n\t\t\tare the host ports that are bound to the container ports.

" } }, "hostPortRange": { @@ -10178,18 +10246,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The minimum number of network interfaces. Instance types that support fewer network interfaces are excluded from selection.

" + "smithy.api#documentation": "

The minimum number of network interfaces. Instance types that support fewer network\n\t\t\tinterfaces are excluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of network interfaces. Instance types that support more network interfaces are excluded from selection.

" + "smithy.api#documentation": "

The maximum number of network interfaces. Instance types that support more network\n\t\t\tinterfaces are excluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum number of network interfaces for instance type selection. This is useful for workloads that require multiple network interfaces.

" + "smithy.api#documentation": "

The minimum and maximum number of network interfaces for instance type selection. This\n\t\t\tis useful for workloads that require multiple network interfaces.

" } }, "com.amazonaws.ecs#NetworkInterfaces": { @@ -10238,7 +10306,7 @@ } }, "traits": { - "smithy.api#documentation": "

There's no update available for this Amazon ECS container agent. This might be because the\n\t\t\tagent is already running the latest version or because it's so old that there's no\n\t\t\tupdate path to the current version.

", + "smithy.api#documentation": "

There's no update available for this Amazon ECS container agent. This might be because\n\t\t\tthe agent is already running the latest version or because it's so old that there's no\n\t\t\tupdate path to the current version.

", "smithy.api#error": "client" } }, @@ -10336,12 +10404,12 @@ "expression": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. The expression can\n\t\t\thave a maximum length of 2000 characters. You can't specify an expression if the\n\t\t\tconstraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. The expression can\n\t\t\thave a maximum length of 2000 characters. You can't specify an expression if the\n\t\t\tconstraint type is distinctInstance. For more information, see Cluster query language in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

" } } }, "traits": { - "smithy.api#documentation": "

An object representing a constraint on task placement. For more information, see\n\t\t\t\tTask placement constraints in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

If you're using the Fargate launch type, task placement constraints\n\t\t\t\taren't supported.

\n
" + "smithy.api#documentation": "

An object representing a constraint on task placement. For more information, see\n\t\t\t\tTask placement constraints in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

\n \n

If you're using the Fargate launch type, task placement constraints aren't\n\t\t\t\tsupported.

\n
" } }, "com.amazonaws.ecs#PlacementConstraintType": { @@ -10390,7 +10458,7 @@ } }, "traits": { - "smithy.api#documentation": "

The task placement strategy for a task or service. For more information, see Task placement strategies in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The task placement strategy for a task or service. For more information, see Task placement strategies in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#PlacementStrategyType": { @@ -10497,7 +10565,7 @@ "hostPort": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The port number on the container instance to reserve for your container.

\n

If you specify a containerPortRange, leave this field empty and the value\n\t\t\tof the hostPort is set as follows:

\n
    \n
  • \n

    For containers in a task with the awsvpc network mode, the\n\t\t\t\t\t\thostPort is set to the same value as the\n\t\t\t\t\t\tcontainerPort. This is a static mapping strategy.

    \n
  • \n
  • \n

    For containers in a task with the bridge network mode, the Amazon ECS\n\t\t\t\t\tagent finds open ports on the host and automatically binds them to the container\n\t\t\t\t\tports. This is a dynamic mapping strategy.

    \n
  • \n
\n

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, the hostPort can either be left blank or set to the same\n\t\t\tvalue as the containerPort.

\n

If you use containers in a task with the bridge network mode, you can\n\t\t\tspecify a non-reserved host port for your container port mapping, or you can omit the\n\t\t\t\thostPort (or set it to 0) while specifying a\n\t\t\t\tcontainerPort and your container automatically receives a port in the\n\t\t\tephemeral port range for your container instance operating system and Docker\n\t\t\tversion.

\n

The default ephemeral port range for Docker version 1.6.0 and later is listed on the\n\t\t\tinstance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel\n\t\t\tparameter is unavailable, the default ephemeral port range from 49153 through 65535\n\t\t\t(Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port\n\t\t\tin the ephemeral port range as these are reserved for automatic assignment. In general,\n\t\t\tports below 32768 are outside of the ephemeral port range.

\n

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the\n\t\t\tAmazon ECS container agent ports 51678-51680. Any host port that was previously specified in\n\t\t\ta running task is also reserved while the task is running. That is, after a task stops,\n\t\t\tthe host port is released. The current reserved ports are displayed in the\n\t\t\t\tremainingResources of DescribeContainerInstances output. A container instance can have up to 100\n\t\t\treserved ports at a time. This number includes the default reserved ports. Automatically\n\t\t\tassigned ports aren't included in the 100 reserved ports quota.

" + "smithy.api#documentation": "

The port number on the container instance to reserve for your container.

\n

If you specify a containerPortRange, leave this field empty and the value\n\t\t\tof the hostPort is set as follows:

\n
    \n
  • \n

    For containers in a task with the awsvpc network mode, the\n\t\t\t\t\t\thostPort is set to the same value as the\n\t\t\t\t\t\tcontainerPort. This is a static mapping strategy.

    \n
  • \n
  • \n

    For containers in a task with the bridge network mode, the Amazon\n\t\t\t\t\tECS agent finds open ports on the host and automatically binds them to the\n\t\t\t\t\tcontainer ports. This is a dynamic mapping strategy.

    \n
  • \n
\n

If you use containers in a task with the awsvpc or host\n\t\t\tnetwork mode, the hostPort can either be left blank or set to the same\n\t\t\tvalue as the containerPort.

\n

If you use containers in a task with the bridge network mode, you can\n\t\t\tspecify a non-reserved host port for your container port mapping, or you can omit the\n\t\t\t\thostPort (or set it to 0) while specifying a\n\t\t\t\tcontainerPort and your container automatically receives a port in the\n\t\t\tephemeral port range for your container instance operating system and Docker\n\t\t\tversion.

\n

The default ephemeral port range for Docker version 1.6.0 and later is listed on the\n\t\t\tinstance under /proc/sys/net/ipv4/ip_local_port_range. If this kernel\n\t\t\tparameter is unavailable, the default ephemeral port range from 49153 through 65535\n\t\t\t(Linux) or 49152 through 65535 (Windows) is used. Do not attempt to specify a host port\n\t\t\tin the ephemeral port range as these are reserved for automatic assignment. In general,\n\t\t\tports below 32768 are outside of the ephemeral port range.

\n

The default reserved ports are 22 for SSH, the Docker ports 2375 and 2376, and the\n\t\t\tAmazon ECS container agent ports 51678-51680. Any host port that was previously\n\t\t\tspecified in a running task is also reserved while the task is running. That is, after a\n\t\t\ttask stops, the host port is released. The current reserved ports are displayed in the\n\t\t\t\tremainingResources of DescribeContainerInstances output. A container instance can have up to 100\n\t\t\treserved ports at a time. This number includes the default reserved ports. Automatically\n\t\t\tassigned ports aren't included in the 100 reserved ports quota.

" } }, "protocol": { @@ -10515,13 +10583,13 @@ "appProtocol": { "target": "com.amazonaws.ecs#ApplicationProtocol", "traits": { - "smithy.api#documentation": "

The application protocol that's used for the port mapping. This parameter only applies\n\t\t\tto Service Connect. We recommend that you set this parameter to be consistent with the\n\t\t\tprotocol that your application uses. If you set this parameter, Amazon ECS adds\n\t\t\tprotocol-specific connection handling to the Service Connect proxy. If you set this\n\t\t\tparameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and CloudWatch.

\n

If you don't set a value for this parameter, then TCP is used. However, Amazon ECS doesn't\n\t\t\tadd protocol-specific telemetry for TCP.

\n

\n appProtocol is immutable in a Service Connect service. Updating this\n\t\t\tfield requires a service deletion and redeployment.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The application protocol that's used for the port mapping. This parameter only applies\n\t\t\tto Service Connect. We recommend that you set this parameter to be consistent with the\n\t\t\tprotocol that your application uses. If you set this parameter, Amazon ECS adds\n\t\t\tprotocol-specific connection handling to the Service Connect proxy. If you set this\n\t\t\tparameter, Amazon ECS adds protocol-specific telemetry in the Amazon ECS console and\n\t\t\tCloudWatch.

\n

If you don't set a value for this parameter, then TCP is used. However, Amazon ECS\n\t\t\tdoesn't add protocol-specific telemetry for TCP.

\n

\n appProtocol is immutable in a Service Connect service. Updating this\n\t\t\tfield requires a service deletion and redeployment.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "containerPortRange": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The port number range on the container that's bound to the dynamically mapped host\n\t\t\tport range.

\n

The following rules apply when you specify a containerPortRange:

\n
    \n
  • \n

    You must use either the bridge network mode or the awsvpc\n\t\t\t\t\tnetwork mode.

    \n
  • \n
  • \n

    This parameter is available for both the EC2 and Fargate launch types.

    \n
  • \n
  • \n

    This parameter is available for both the Linux and Windows operating systems.

    \n
  • \n
  • \n

    The container instance must have at least version 1.67.0 of the container agent\n\t\t\t\t\tand at least version 1.67.0-1 of the ecs-init package

    \n
  • \n
  • \n

    You can specify a maximum of 100 port ranges per container.

    \n
  • \n
  • \n

    You do not specify a hostPortRange. The value of the hostPortRange is set\n\t\t\t\t\tas follows:

    \n
      \n
    • \n

      For containers in a task with the awsvpc network mode,\n\t\t\t\t\t\t\tthe hostPortRange is set to the same value as the\n\t\t\t\t\t\t\t\tcontainerPortRange. This is a static mapping\n\t\t\t\t\t\t\tstrategy.

      \n
    • \n
    • \n

      For containers in a task with the bridge network mode, the Amazon ECS agent finds open host ports from the default ephemeral range and passes it to docker to bind them to the container ports.

      \n
    • \n
    \n
  • \n
  • \n

    The containerPortRange valid values are between 1 and\n\t\t\t\t\t65535.

    \n
  • \n
  • \n

    A port can only be included in one port mapping per container.

    \n
  • \n
  • \n

    You cannot specify overlapping port ranges.

    \n
  • \n
  • \n

    The first port in the range must be less than last port in the range.

    \n
  • \n
  • \n

    Docker recommends that you turn off the docker-proxy in the Docker daemon config file when you have a large number of ports.

    \n

    For more information, see Issue #11185 on the Github website.

    \n

    For information about how to turn off the docker-proxy in the Docker daemon config file, see Docker daemon in the Amazon ECS Developer Guide.

    \n
  • \n
\n

You can call \n DescribeTasks\n to view the hostPortRange which\n\t\t\tare the host ports that are bound to the container ports.

" + "smithy.api#documentation": "

The port number range on the container that's bound to the dynamically mapped host\n\t\t\tport range.

\n

The following rules apply when you specify a containerPortRange:

\n
    \n
  • \n

    You must use either the bridge network mode or the\n\t\t\t\t\t\tawsvpc network mode.

    \n
  • \n
  • \n

    This parameter is available for both the EC2 and Fargate launch\n\t\t\t\t\ttypes.

    \n
  • \n
  • \n

    This parameter is available for both the Linux and Windows operating\n\t\t\t\t\tsystems.

    \n
  • \n
  • \n

    The container instance must have at least version 1.67.0 of the container\n\t\t\t\t\tagent and at least version 1.67.0-1 of the ecs-init package

    \n
  • \n
  • \n

    You can specify a maximum of 100 port ranges per container.

    \n
  • \n
  • \n

    You do not specify a hostPortRange. The value of the\n\t\t\t\t\t\thostPortRange is set as follows:

    \n
      \n
    • \n

      For containers in a task with the awsvpc network mode,\n\t\t\t\t\t\t\tthe hostPortRange is set to the same value as the\n\t\t\t\t\t\t\t\tcontainerPortRange. This is a static mapping\n\t\t\t\t\t\t\tstrategy.

      \n
    • \n
    • \n

      For containers in a task with the bridge network mode,\n\t\t\t\t\t\t\tthe Amazon ECS agent finds open host ports from the default ephemeral\n\t\t\t\t\t\t\trange and passes it to docker to bind them to the container\n\t\t\t\t\t\t\tports.

      \n
    • \n
    \n
  • \n
  • \n

    The containerPortRange valid values are between 1 and\n\t\t\t\t\t65535.

    \n
  • \n
  • \n

    A port can only be included in one port mapping per container.

    \n
  • \n
  • \n

    You cannot specify overlapping port ranges.

    \n
  • \n
  • \n

    The first port in the range must be less than last port in the range.

    \n
  • \n
  • \n

    Docker recommends that you turn off the docker-proxy in the Docker daemon\n\t\t\t\t\tconfig file when you have a large number of ports.

    \n

    For more information, see Issue #11185 on the\n\t\t\t\t\tGithub website.

    \n

    For information about how to turn off the docker-proxy in the Docker daemon\n\t\t\t\t\tconfig file, see Docker daemon in the Amazon ECS Developer\n\t\t\t\t\t\tGuide.

    \n
  • \n
\n

You can call \n DescribeTasks\n to view the hostPortRange which\n\t\t\tare the host ports that are bound to the container ports.

" } } }, @@ -10636,12 +10704,12 @@ "properties": { "target": "com.amazonaws.ecs#ProxyConfigurationProperties", "traits": { - "smithy.api#documentation": "

The set of network configuration parameters to provide the Container Network Interface\n\t\t\t(CNI) plugin, specified as key-value pairs.

\n
    \n
  • \n

    \n IgnoredUID - (Required) The user ID (UID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredGID is specified, this field can be empty.

    \n
  • \n
  • \n

    \n IgnoredGID - (Required) The group ID (GID) of the proxy\n\t\t\t\t\tcontainer as defined by the user parameter in a container\n\t\t\t\t\tdefinition. This is used to ensure the proxy ignores its own traffic. If\n\t\t\t\t\t\tIgnoredUID is specified, this field can be empty.

    \n
  • \n
  • \n

    \n AppPorts - (Required) The list of ports that the\n\t\t\t\t\tapplication uses. Network traffic to these ports is forwarded to the\n\t\t\t\t\t\tProxyIngressPort and ProxyEgressPort.

    \n
  • \n
  • \n

    \n ProxyIngressPort - (Required) Specifies the port that\n\t\t\t\t\tincoming traffic to the AppPorts is directed to.

    \n
  • \n
  • \n

    \n ProxyEgressPort - (Required) Specifies the port that\n\t\t\t\t\toutgoing traffic from the AppPorts is directed to.

    \n
  • \n
  • \n

    \n EgressIgnoredPorts - (Required) The egress traffic going to\n\t\t\t\t\tthe specified ports is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n
  • \n
  • \n

    \n EgressIgnoredIPs - (Required) The egress traffic going to\n\t\t\t\t\tthe specified IP addresses is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n
  • \n
" + "smithy.api#documentation": "

The set of network configuration parameters to provide the Container Network Interface\n\t\t\t(CNI) plugin, specified as key-value pairs.

\n
    \n
  • \n

    \n IgnoredUID - (Required) The user ID (UID) of the proxy container\n\t\t\t\t\tas defined by the user parameter in a container definition. This is\n\t\t\t\t\tused to ensure the proxy ignores its own traffic. If IgnoredGID is\n\t\t\t\t\tspecified, this field can be empty.

    \n
  • \n
  • \n

    \n IgnoredGID - (Required) The group ID (GID) of the proxy container\n\t\t\t\t\tas defined by the user parameter in a container definition. This is\n\t\t\t\t\tused to ensure the proxy ignores its own traffic. If IgnoredUID is\n\t\t\t\t\tspecified, this field can be empty.

    \n
  • \n
  • \n

    \n AppPorts - (Required) The list of ports that the application\n\t\t\t\t\tuses. Network traffic to these ports is forwarded to the\n\t\t\t\t\t\tProxyIngressPort and ProxyEgressPort.

    \n
  • \n
  • \n

    \n ProxyIngressPort - (Required) Specifies the port that incoming\n\t\t\t\t\ttraffic to the AppPorts is directed to.

    \n
  • \n
  • \n

    \n ProxyEgressPort - (Required) Specifies the port that outgoing\n\t\t\t\t\ttraffic from the AppPorts is directed to.

    \n
  • \n
  • \n

    \n EgressIgnoredPorts - (Required) The egress traffic going to the\n\t\t\t\t\tspecified ports is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n
  • \n
  • \n

    \n EgressIgnoredIPs - (Required) The egress traffic going to the\n\t\t\t\t\tspecified IP addresses is ignored and not redirected to the\n\t\t\t\t\t\tProxyEgressPort. It can be an empty list.

    \n
  • \n
" } } }, "traits": { - "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

For tasks that use the EC2 launch type, the container instances require\n\t\t\tat least version 1.26.0 of the container agent and at least version 1.26.0-1 of the\n\t\t\t\tecs-init package to use a proxy configuration. If your container\n\t\t\tinstances are launched from the Amazon ECS optimized AMI version 20190301 or\n\t\t\tlater, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized Linux AMI\n

" + "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

For tasks that use the EC2 launch type, the container instances require at least\n\t\t\tversion 1.26.0 of the container agent and at least version 1.26.0-1 of the\n\t\t\t\tecs-init package to use a proxy configuration. If your container\n\t\t\tinstances are launched from the Amazon ECS optimized AMI version 20190301\n\t\t\tor later, then they contain the required versions of the container agent and\n\t\t\t\tecs-init. For more information, see Amazon ECS-optimized\n\t\t\t\tLinux AMI\n

" } }, "com.amazonaws.ecs#ProxyConfigurationProperties": { @@ -10681,7 +10749,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies an account setting. Account settings are set on a per-Region basis.

\n

If you change the root user account setting, the default settings are reset for users and\n\t\t\troles that do not have specified individual account settings. For more information, see\n\t\t\t\tAccount\n\t\t\t\tSettings in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Modifies an account setting. Account settings are set on a per-Region basis.

\n

If you change the root user account setting, the default settings are reset for users\n\t\t\tand roles that do not have specified individual account settings. For more information,\n\t\t\tsee Account\n\t\t\t\tSettings in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

", "smithy.api#examples": [ { "title": "To modify the account settings for a specific IAM user or IAM role", @@ -10763,14 +10831,14 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The resource name for which to modify the account setting.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name\n\t\t\t\t\t(ARN) and resource ID format of the resource type for a specified user, role, or\n\t\t\t\t\tthe root user for an account is affected. The opt-in and opt-out account setting\n\t\t\t\t\tmust be set for each Amazon ECS resource separately. The ARN and resource ID format\n\t\t\t\t\tof a resource is defined by the opt-in status of the user or role that created\n\t\t\t\t\tthe resource. You must turn on this setting to use Amazon ECS features such as\n\t\t\t\t\tresource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the\n\t\t\t\t\troot user for an account is affected. The opt-in and opt-out account setting must\n\t\t\t\t\tbe set for each Amazon ECS resource separately. The ARN and resource ID format of a\n\t\t\t\t\tresource is defined by the opt-in status of the user or role that created the\n\t\t\t\t\tresource. You must turn on this setting to use Amazon ECS features such as resource\n\t\t\t\t\ttagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon\n\t\t\t\t\tResource Name (ARN) and resource ID format of the resource type for a specified\n\t\t\t\t\tuser, role, or the root user for an account is affected. The opt-in and opt-out\n\t\t\t\t\taccount setting must be set for each Amazon ECS resource separately. The ARN and\n\t\t\t\t\tresource ID format of a resource is defined by the opt-in status of the user or\n\t\t\t\t\trole that created the resource. You must turn on this setting to use Amazon ECS\n\t\t\t\t\tfeatures such as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface\n\t\t\t\t\t(ENI) limit for any new container instances that support the feature is changed.\n\t\t\t\t\tIf awsvpcTrunking is turned on, any new container instances that\n\t\t\t\t\tsupport the feature are launched have the increased ENI limits available to\n\t\t\t\t\tthem. For more information, see Elastic\n\t\t\t\t\t\tNetwork Interface Trunking in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - Container Insights with enhanced\n\t\t\t\t\tobservability provides all the Container Insights metrics, plus additional task\n\t\t\t\t\tand container metrics. This version supports enhanced observability for Amazon ECS\n\t\t\t\t\tclusters using the Amazon EC2 and Fargate launch types. After you configure\n\t\t\t\t\tContainer Insights with enhanced observability on Amazon ECS, Container Insights\n\t\t\t\t\tauto-collects detailed infrastructure telemetry from the cluster level down to\n\t\t\t\t\tthe container level in your environment and displays these critical performance\n\t\t\t\t\tdata in curated dashboards removing the heavy lifting in observability set-up.

    \n

    To use Container Insights with enhanced observability, set the\n\t\t\t\t\t\tcontainerInsights account setting to\n\t\t\t\t\tenhanced.

    \n

    To use Container Insights, set the containerInsights account\n\t\t\t\t\tsetting to enabled.

    \n

    For more information, see Monitor Amazon ECS containers using Container Insights with enhanced\n\t\t\t\t\t\tobservability in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack\n\t\t\t\t\tmode, your tasks using the awsvpc network mode can have an IPv6\n\t\t\t\t\taddress assigned. For more information on using IPv6 with tasks launched on\n\t\t\t\t\tAmazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6\n\t\t\t\t\twith tasks launched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateFIPSMode - If you specify fargateFIPSMode,\n\t\t\t\t\tFargate FIPS 140 compliance is affected.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a\n\t\t\t\t\tsecurity or infrastructure update is needed for an Amazon ECS task hosted on\n\t\t\t\t\tFargate, the tasks need to be stopped and new tasks launched to replace them.\n\t\t\t\t\tUse fargateTaskRetirementWaitPeriod to configure the wait time to\n\t\t\t\t\tretire a Fargate task. For information about the Fargate tasks maintenance,\n\t\t\t\t\tsee Amazon Web Services Fargate\n\t\t\t\t\t\ttask maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging\n\t\t\t\t\tauthorization for resource creation. Users must have permissions for actions\n\t\t\t\t\tthat create the resource, such as ecsCreateCluster. If tags are\n\t\t\t\t\tspecified when you create a resource, Amazon Web Services performs additional authorization to\n\t\t\t\t\tverify if users or roles have permissions to create tags. Therefore, you must\n\t\t\t\t\tgrant explicit permissions to use the ecs:TagResource action. For\n\t\t\t\t\tmore information, see Grant permission to tag resources on creation in the\n\t\t\t\t\t\tAmazon ECS Developer Guide.

    \n
  • \n
  • \n

    \n defaultLogDriverMode -Amazon ECS supports setting a default delivery\n\t\t\t\t\tmode of log messages from a container to the logDriver that you specify in the container's logConfiguration. The delivery mode affects\n\t\t\t\t\tapplication stability when the flow of logs from the container to the log driver is\n\t\t\t\t\tinterrupted. The defaultLogDriverMode setting supports two values:\n\t\t\t\t\t\tblocking and non-blocking. If you don't specify a\n\t\t\t\t\tdelivery mode in your container definition's logConfiguration, the\n\t\t\t\t\tmode you specify using this account setting will be used as the default. For\n\t\t\t\t\tmore information about log delivery modes, see LogConfiguration.

    \n \n

    On June 25, 2025, Amazon ECS changed the default log driver mode from blocking to non-blocking to prioritize task availability over logging. To continue using the blocking mode after this change, do one of the following:

    \n
      \n
    • \n

      Set the mode option in your container definition's logConfiguration as blocking.

      \n
    • \n
    • \n

      Set the defaultLogDriverMode account setting to blocking.

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

    \n
  • \n
", + "smithy.api#documentation": "

The resource name for which to modify the account setting.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name\n\t\t\t\t\t(ARN) and resource ID format of the resource type for a specified user, role, or\n\t\t\t\t\tthe root user for an account is affected. The opt-in and opt-out account setting\n\t\t\t\t\tmust be set for each Amazon ECS resource separately. The ARN and resource ID\n\t\t\t\t\tformat of a resource is defined by the opt-in status of the user or role that\n\t\t\t\t\tcreated the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the\n\t\t\t\t\troot user for an account is affected. The opt-in and opt-out account setting\n\t\t\t\t\tmust be set for each Amazon ECS resource separately. The ARN and resource ID\n\t\t\t\t\tformat of a resource is defined by the opt-in status of the user or role that\n\t\t\t\t\tcreated the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon\n\t\t\t\t\tResource Name (ARN) and resource ID format of the resource type for a specified\n\t\t\t\t\tuser, role, or the root user for an account is affected. The opt-in and opt-out\n\t\t\t\t\taccount setting must be set for each Amazon ECS resource separately. The ARN and\n\t\t\t\t\tresource ID format of a resource is defined by the opt-in status of the user or\n\t\t\t\t\trole that created the resource. You must turn on this setting to use Amazon ECS\n\t\t\t\t\tfeatures such as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface\n\t\t\t\t\t(ENI) limit for any new container instances that support the feature is changed.\n\t\t\t\t\tIf awsvpcTrunking is turned on, any new container instances that\n\t\t\t\t\tsupport the feature are launched have the increased ENI limits available to\n\t\t\t\t\tthem. For more information, see Elastic\n\t\t\t\t\t\tNetwork Interface Trunking in the Amazon Elastic Container\n\t\t\t\t\t\tService Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - Container Insights with enhanced\n\t\t\t\t\tobservability provides all the Container Insights metrics, plus additional task\n\t\t\t\t\tand container metrics. This version supports enhanced observability for Amazon\n\t\t\t\t\tECS clusters using the Amazon EC2 and Fargate launch types. After you configure\n\t\t\t\t\tContainer Insights with enhanced observability on Amazon ECS, Container Insights\n\t\t\t\t\tauto-collects detailed infrastructure telemetry from the cluster level down to\n\t\t\t\t\tthe container level in your environment and displays these critical performance\n\t\t\t\t\tdata in curated dashboards removing the heavy lifting in observability set-up.

    \n

    To use Container Insights with enhanced observability, set the\n\t\t\t\t\t\tcontainerInsights account setting to\n\t\t\t\t\tenhanced.

    \n

    To use Container Insights, set the containerInsights account\n\t\t\t\t\tsetting to enabled.

    \n

    For more information, see Monitor Amazon ECS containers using Container Insights with enhanced\n\t\t\t\t\t\tobservability in the Amazon Elastic Container Service\n\t\t\t\t\t\tDeveloper Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack\n\t\t\t\t\tmode, your tasks using the awsvpc network mode can have an IPv6\n\t\t\t\t\taddress assigned. For more information on using IPv6 with tasks launched on\n\t\t\t\t\tAmazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6\n\t\t\t\t\twith tasks launched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateFIPSMode - If you specify fargateFIPSMode,\n\t\t\t\t\t\tFargate FIPS 140 compliance is affected.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services\n\t\t\t\t\tdetermines that a security or infrastructure update is needed for an Amazon ECS\n\t\t\t\t\ttask hosted on Fargate, the tasks need to be stopped and new tasks launched to\n\t\t\t\t\treplace them. Use fargateTaskRetirementWaitPeriod to configure the\n\t\t\t\t\twait time to retire a Fargate task. For information about the Fargate tasks\n\t\t\t\t\tmaintenance, see Amazon Web\n\t\t\t\t\t\t\tServices Fargate task maintenance in the\n\t\t\t\t\t\tAmazon ECS Developer Guide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging\n\t\t\t\t\tauthorization for resource creation. Users must have permissions for actions\n\t\t\t\t\tthat create the resource, such as ecsCreateCluster. If tags are\n\t\t\t\t\tspecified when you create a resource, Amazon Web Services performs\n\t\t\t\t\tadditional authorization to verify if users or roles have permissions to create\n\t\t\t\t\ttags. Therefore, you must grant explicit permissions to use the\n\t\t\t\t\t\tecs:TagResource action. For more information, see Grant permission to tag resources on creation in the\n\t\t\t\t\t\tAmazon ECS Developer Guide.

    \n
  • \n
  • \n

    \n defaultLogDriverMode -Amazon ECS supports setting a default\n\t\t\t\t\tdelivery mode of log messages from a container to the logDriver\n\t\t\t\t\tthat you specify in the container's logConfiguration. The delivery\n\t\t\t\t\tmode affects application stability when the flow of logs from the container to\n\t\t\t\t\tthe log driver is interrupted. The defaultLogDriverMode setting\n\t\t\t\t\tsupports two values: blocking and non-blocking. If you\n\t\t\t\t\tdon't specify a delivery mode in your container definition's\n\t\t\t\t\t\tlogConfiguration, the mode you specify using this account\n\t\t\t\t\tsetting will be used as the default. For more information about log delivery\n\t\t\t\t\tmodes, see LogConfiguration.

    \n \n

    On June 25, 2025, Amazon ECS changed the default log driver mode from\n\t\t\t\t\t\t\tblocking to non-blocking to prioritize task\n\t\t\t\t\t\tavailability over logging. To continue using the blocking mode\n\t\t\t\t\t\tafter this change, do one of the following:

    \n
      \n
    • \n

      Set the mode option in your container definition's\n\t\t\t\t\t\t\t\t\tlogConfiguration as blocking.

      \n
    • \n
    • \n

      Set the defaultLogDriverMode account setting to\n\t\t\t\t\t\t\t\t\tblocking.

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter\n\t\t\t\t\tis read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring\n\t\t\t\t\tis enabled or disabled by your security administrator in your Amazon ECS\n\t\t\t\t\taccount. Amazon GuardDuty controls this account setting on your behalf. For more\n\t\t\t\t\tinformation, see Protecting Amazon ECS workloads with Amazon ECS Runtime\n\t\t\t\t\tMonitoring.

    \n
  • \n
", "smithy.api#required": {} } }, "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled, disabled, on, enhanced,\n\t\t\tand off.

\n

When you specify fargateTaskRetirementWaitPeriod for the\n\t\t\t\tname, the following are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and immediately retires the\n\t\t\t\t\taffected tasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7 calendar days to\n\t\t\t\t\tretire the tasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14 calendar days to\n\t\t\t\t\tretire the tasks.

    \n
  • \n
", + "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled, disabled, on, enhanced,\n\t\t\tand off.

\n

When you specify fargateTaskRetirementWaitPeriod for the\n\t\t\t\tname, the following are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and\n\t\t\t\t\timmediately retires the affected tasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7\n\t\t\t\t\tcalendar days to retire the tasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14\n\t\t\t\t\tcalendar days to retire the tasks.

    \n
  • \n
", "smithy.api#required": {} } } @@ -10799,21 +10867,21 @@ "name": { "target": "com.amazonaws.ecs#SettingName", "traits": { - "smithy.api#documentation": "

The Amazon ECS account setting name to modify.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name\n\t\t\t\t\t(ARN) and resource ID format of the resource type for a specified user, role, or\n\t\t\t\t\tthe root user for an account is affected. The opt-in and opt-out account setting\n\t\t\t\t\tmust be set for each Amazon ECS resource separately. The ARN and resource ID format\n\t\t\t\t\tof a resource is defined by the opt-in status of the user or role that created\n\t\t\t\t\tthe resource. You must turn on this setting to use Amazon ECS features such as\n\t\t\t\t\tresource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the\n\t\t\t\t\troot user for an account is affected. The opt-in and opt-out account setting must\n\t\t\t\t\tbe set for each Amazon ECS resource separately. The ARN and resource ID format of a\n\t\t\t\t\tresource is defined by the opt-in status of the user or role that created the\n\t\t\t\t\tresource. You must turn on this setting to use Amazon ECS features such as resource\n\t\t\t\t\ttagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon\n\t\t\t\t\tResource Name (ARN) and resource ID format of the resource type for a specified\n\t\t\t\t\tuser, role, or the root user for an account is affected. The opt-in and opt-out\n\t\t\t\t\taccount setting must be set for each Amazon ECS resource separately. The ARN and\n\t\t\t\t\tresource ID format of a resource is defined by the opt-in status of the user or\n\t\t\t\t\trole that created the resource. You must turn on this setting to use Amazon ECS\n\t\t\t\t\tfeatures such as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface\n\t\t\t\t\t(ENI) limit for any new container instances that support the feature is changed.\n\t\t\t\t\tIf awsvpcTrunking is turned on, any new container instances that\n\t\t\t\t\tsupport the feature are launched have the increased ENI limits available to\n\t\t\t\t\tthem. For more information, see Elastic\n\t\t\t\t\t\tNetwork Interface Trunking in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - Container Insights with enhanced\n\t\t\t\t\tobservability provides all the Container Insights metrics, plus additional task\n\t\t\t\t\tand container metrics. This version supports enhanced observability for Amazon ECS\n\t\t\t\t\tclusters using the Amazon EC2 and Fargate launch types. After you configure\n\t\t\t\t\tContainer Insights with enhanced observability on Amazon ECS, Container Insights\n\t\t\t\t\tauto-collects detailed infrastructure telemetry from the cluster level down to\n\t\t\t\t\tthe container level in your environment and displays these critical performance\n\t\t\t\t\tdata in curated dashboards removing the heavy lifting in observability set-up.

    \n

    To use Container Insights with enhanced observability, set the\n\t\t\t\t\t\tcontainerInsights account setting to\n\t\t\t\t\tenhanced.

    \n

    To use Container Insights, set the containerInsights account\n\t\t\t\t\tsetting to enabled.

    \n

    For more information, see Monitor Amazon ECS containers using Container Insights with enhanced\n\t\t\t\t\t\tobservability in the Amazon Elastic Container Service Developer Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack\n\t\t\t\t\tmode, your tasks using the awsvpc network mode can have an IPv6\n\t\t\t\t\taddress assigned. For more information on using IPv6 with tasks launched on\n\t\t\t\t\tAmazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6\n\t\t\t\t\twith tasks launched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services determines that a\n\t\t\t\t\tsecurity or infrastructure update is needed for an Amazon ECS task hosted on\n\t\t\t\t\tFargate, the tasks need to be stopped and new tasks launched to replace them.\n\t\t\t\t\tUse fargateTaskRetirementWaitPeriod to configure the wait time to\n\t\t\t\t\tretire a Fargate task. For information about the Fargate tasks maintenance,\n\t\t\t\t\tsee Amazon Web Services Fargate\n\t\t\t\t\t\ttask maintenance in the Amazon ECS Developer\n\t\t\t\t\tGuide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging\n\t\t\t\t\tauthorization for resource creation. Users must have permissions for actions\n\t\t\t\t\tthat create the resource, such as ecsCreateCluster. If tags are\n\t\t\t\t\tspecified when you create a resource, Amazon Web Services performs additional authorization to\n\t\t\t\t\tverify if users or roles have permissions to create tags. Therefore, you must\n\t\t\t\t\tgrant explicit permissions to use the ecs:TagResource action. For\n\t\t\t\t\tmore information, see Grant permission to tag resources on creation in the\n\t\t\t\t\t\tAmazon ECS Developer Guide.

    \n
  • \n
  • \n

    \n defaultLogDriverMode - Amazon ECS supports setting a default delivery\n\t\t\t\t\tmode of log messages from a container to the logDriver that you specify in the container's logConfiguration. The delivery mode affects\n\t\t\t\t\tapplication stability when the flow of logs from the container to the log driver is\n\t\t\t\t\tinterrupted. The defaultLogDriverMode setting supports two values:\n\t\t\t\t\tblocking and non-blocking. If you don't specify a\n\t\t\t\t\tdelivery mode in your container definition's logConfiguration, the\n\t\t\t\t\tmode you specify using this account setting will be used as the default. For\n\t\t\t\t\tmore information about log delivery modes, see LogConfiguration.\n\t\t\t\t

    \n \n

    On June 25, 2025, Amazon ECS changed the default log driver mode from blocking to non-blocking to prioritize task availability over logging. To continue using the blocking mode after this change, do one of the following:

    \n
      \n
    • \n

      Set the mode option in your container definition's logConfiguration as blocking.

      \n
    • \n
    • \n

      Set the defaultLogDriverMode account setting to blocking.

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter is read-only in Amazon ECS and indicates whether\n\t\t\tAmazon ECS Runtime Monitoring is enabled or disabled by your security administrator in your\n\t\t\tAmazon ECS account. Amazon GuardDuty controls this account setting on your behalf. For more information, see Protecting Amazon ECS workloads with Amazon ECS Runtime Monitoring.

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon ECS account setting name to modify.

\n

The following are the valid values for the account setting name.

\n
    \n
  • \n

    \n serviceLongArnFormat - When modified, the Amazon Resource Name\n\t\t\t\t\t(ARN) and resource ID format of the resource type for a specified user, role, or\n\t\t\t\t\tthe root user for an account is affected. The opt-in and opt-out account setting\n\t\t\t\t\tmust be set for each Amazon ECS resource separately. The ARN and resource ID\n\t\t\t\t\tformat of a resource is defined by the opt-in status of the user or role that\n\t\t\t\t\tcreated the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n taskLongArnFormat - When modified, the Amazon Resource Name (ARN)\n\t\t\t\t\tand resource ID format of the resource type for a specified user, role, or the\n\t\t\t\t\troot user for an account is affected. The opt-in and opt-out account setting\n\t\t\t\t\tmust be set for each Amazon ECS resource separately. The ARN and resource ID\n\t\t\t\t\tformat of a resource is defined by the opt-in status of the user or role that\n\t\t\t\t\tcreated the resource. You must turn on this setting to use Amazon ECS features\n\t\t\t\t\tsuch as resource tagging.

    \n
  • \n
  • \n

    \n containerInstanceLongArnFormat - When modified, the Amazon\n\t\t\t\t\tResource Name (ARN) and resource ID format of the resource type for a specified\n\t\t\t\t\tuser, role, or the root user for an account is affected. The opt-in and opt-out\n\t\t\t\t\taccount setting must be set for each Amazon ECS resource separately. The ARN and\n\t\t\t\t\tresource ID format of a resource is defined by the opt-in status of the user or\n\t\t\t\t\trole that created the resource. You must turn on this setting to use Amazon ECS\n\t\t\t\t\tfeatures such as resource tagging.

    \n
  • \n
  • \n

    \n awsvpcTrunking - When modified, the elastic network interface\n\t\t\t\t\t(ENI) limit for any new container instances that support the feature is changed.\n\t\t\t\t\tIf awsvpcTrunking is turned on, any new container instances that\n\t\t\t\t\tsupport the feature are launched have the increased ENI limits available to\n\t\t\t\t\tthem. For more information, see Elastic\n\t\t\t\t\t\tNetwork Interface Trunking in the Amazon Elastic Container\n\t\t\t\t\t\tService Developer Guide.

    \n
  • \n
  • \n

    \n containerInsights - Container Insights with enhanced\n\t\t\t\t\tobservability provides all the Container Insights metrics, plus additional task\n\t\t\t\t\tand container metrics. This version supports enhanced observability for Amazon\n\t\t\t\t\tECS clusters using the Amazon EC2 and Fargate launch types. After you configure\n\t\t\t\t\tContainer Insights with enhanced observability on Amazon ECS, Container Insights\n\t\t\t\t\tauto-collects detailed infrastructure telemetry from the cluster level down to\n\t\t\t\t\tthe container level in your environment and displays these critical performance\n\t\t\t\t\tdata in curated dashboards removing the heavy lifting in observability set-up.

    \n

    To use Container Insights with enhanced observability, set the\n\t\t\t\t\t\tcontainerInsights account setting to\n\t\t\t\t\tenhanced.

    \n

    To use Container Insights, set the containerInsights account\n\t\t\t\t\tsetting to enabled.

    \n

    For more information, see Monitor Amazon ECS containers using Container Insights with enhanced\n\t\t\t\t\t\tobservability in the Amazon Elastic Container Service\n\t\t\t\t\t\tDeveloper Guide.

    \n
  • \n
  • \n

    \n dualStackIPv6 - When turned on, when using a VPC in dual stack\n\t\t\t\t\tmode, your tasks using the awsvpc network mode can have an IPv6\n\t\t\t\t\taddress assigned. For more information on using IPv6 with tasks launched on\n\t\t\t\t\tAmazon EC2 instances, see Using a VPC in dual-stack mode. For more information on using IPv6\n\t\t\t\t\twith tasks launched on Fargate, see Using a VPC in dual-stack mode.

    \n
  • \n
  • \n

    \n fargateTaskRetirementWaitPeriod - When Amazon Web Services\n\t\t\t\t\tdetermines that a security or infrastructure update is needed for an Amazon ECS\n\t\t\t\t\ttask hosted on Fargate, the tasks need to be stopped and new tasks launched to\n\t\t\t\t\treplace them. Use fargateTaskRetirementWaitPeriod to configure the\n\t\t\t\t\twait time to retire a Fargate task. For information about the Fargate tasks\n\t\t\t\t\tmaintenance, see Amazon Web\n\t\t\t\t\t\t\tServices Fargate task maintenance in the\n\t\t\t\t\t\tAmazon ECS Developer Guide.

    \n
  • \n
  • \n

    \n tagResourceAuthorization - Amazon ECS is introducing tagging\n\t\t\t\t\tauthorization for resource creation. Users must have permissions for actions\n\t\t\t\t\tthat create the resource, such as ecsCreateCluster. If tags are\n\t\t\t\t\tspecified when you create a resource, Amazon Web Services performs\n\t\t\t\t\tadditional authorization to verify if users or roles have permissions to create\n\t\t\t\t\ttags. Therefore, you must grant explicit permissions to use the\n\t\t\t\t\t\tecs:TagResource action. For more information, see Grant permission to tag resources on creation in the\n\t\t\t\t\t\tAmazon ECS Developer Guide.

    \n
  • \n
  • \n

    \n defaultLogDriverMode - Amazon ECS supports setting a default\n\t\t\t\t\tdelivery mode of log messages from a container to the logDriver\n\t\t\t\t\tthat you specify in the container's logConfiguration. The delivery\n\t\t\t\t\tmode affects application stability when the flow of logs from the container to\n\t\t\t\t\tthe log driver is interrupted. The defaultLogDriverMode setting\n\t\t\t\t\tsupports two values: blocking and non-blocking. If you\n\t\t\t\t\tdon't specify a delivery mode in your container definition's\n\t\t\t\t\t\tlogConfiguration, the mode you specify using this account\n\t\t\t\t\tsetting will be used as the default. For more information about log delivery\n\t\t\t\t\tmodes, see LogConfiguration.

    \n \n

    On June 25, 2025, Amazon ECS changed the default log driver mode from\n\t\t\t\t\t\t\tblocking to non-blocking to prioritize task\n\t\t\t\t\t\tavailability over logging. To continue using the blocking mode\n\t\t\t\t\t\tafter this change, do one of the following:

    \n
      \n
    • \n

      Set the mode option in your container definition's\n\t\t\t\t\t\t\t\t\tlogConfiguration as blocking.

      \n
    • \n
    • \n

      Set the defaultLogDriverMode account setting to\n\t\t\t\t\t\t\t\t\tblocking.

      \n
    • \n
    \n
    \n
  • \n
  • \n

    \n guardDutyActivate - The guardDutyActivate parameter\n\t\t\t\t\tis read-only in Amazon ECS and indicates whether Amazon ECS Runtime Monitoring\n\t\t\t\t\tis enabled or disabled by your security administrator in your Amazon ECS\n\t\t\t\t\taccount. Amazon GuardDuty controls this account setting on your behalf. For more\n\t\t\t\t\tinformation, see Protecting Amazon ECS workloads with Amazon ECS Runtime\n\t\t\t\t\tMonitoring.

    \n
  • \n
", "smithy.api#required": {} } }, "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled, disabled, enhanced, on,\n\t\t\tand off.

\n

When you specify fargateTaskRetirementWaitPeriod for the\n\t\t\t\tname, the following are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and immediately retires the\n\t\t\t\t\taffected tasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7 calendar days to\n\t\t\t\t\tretire the tasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14 calendar days to\n\t\t\t\t\tretire the tasks.

    \n
  • \n
", + "smithy.api#documentation": "

The account setting value for the specified principal ARN. Accepted values are\n\t\t\t\tenabled, disabled, enhanced, on,\n\t\t\tand off.

\n

When you specify fargateTaskRetirementWaitPeriod for the\n\t\t\t\tname, the following are the valid values:

\n
    \n
  • \n

    \n 0 - Amazon Web Services sends the notification, and\n\t\t\t\t\timmediately retires the affected tasks.

    \n
  • \n
  • \n

    \n 7 - Amazon Web Services sends the notification, and waits 7\n\t\t\t\t\tcalendar days to retire the tasks.

    \n
  • \n
  • \n

    \n 14 - Amazon Web Services sends the notification, and waits 14\n\t\t\t\t\tcalendar days to retire the tasks.

    \n
  • \n
", "smithy.api#required": {} } }, "principalArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN of the principal, which can be a user, role, or the root user. If you specify\n\t\t\tthe root user, it modifies the account setting for all users, roles, and the root user of the\n\t\t\taccount unless a user or role explicitly overrides these settings. If this field is\n\t\t\tomitted, the setting is changed only for the authenticated user.

\n

In order to use this parameter, you must be the root user, or the principal.

\n \n

You must use the root user when you set the Fargate wait time\n\t\t\t\t\t(fargateTaskRetirementWaitPeriod).

\n

Federated users assume the account setting of the root user and can't have explicit\n\t\t\t\taccount settings set for them.

\n
" + "smithy.api#documentation": "

The ARN of the principal, which can be a user, role, or the root user. If you specify\n\t\t\tthe root user, it modifies the account setting for all users, roles, and the root user\n\t\t\tof the account unless a user or role explicitly overrides these settings. If this field\n\t\t\tis omitted, the setting is changed only for the authenticated user.

\n

In order to use this parameter, you must be the root user, or the principal.

\n \n

You must use the root user when you set the Fargate wait time\n\t\t\t\t\t(fargateTaskRetirementWaitPeriod).

\n

Federated users assume the account setting of the root user and can't have\n\t\t\t\texplicit account settings set for them.

\n
" } } }, @@ -10858,7 +10926,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create or update an attribute on an Amazon ECS resource. If the attribute doesn't exist,\n\t\t\tit's created. If the attribute exists, its value is replaced with the specified value.\n\t\t\tTo delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Create or update an attribute on an Amazon ECS resource. If the attribute doesn't\n\t\t\texist, it's created. If the attribute exists, its value is replaced with the specified\n\t\t\tvalue. To delete an attribute, use DeleteAttributes. For more information, see Attributes in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

", "smithy.api#examples": [ { "title": "To create or update an attribute on a resource", @@ -10892,7 +10960,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that contains the resource to apply\n\t\t\tattributes. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that contains the\n\t\t\tresource to apply attributes. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "attributes": { @@ -10950,7 +11018,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the available capacity providers and the default capacity provider strategy\n\t\t\tfor a cluster.

\n

You must specify both the available capacity providers and a default capacity provider\n\t\t\tstrategy for the cluster. If the specified cluster has existing capacity providers\n\t\t\tassociated with it, you must specify all existing capacity providers in addition to any\n\t\t\tnew ones you want to add. Any existing capacity providers that are associated with a\n\t\t\tcluster that are omitted from a PutClusterCapacityProviders API call will be disassociated with the\n\t\t\tcluster. You can only disassociate an existing capacity provider from a cluster if it's\n\t\t\tnot being used by any existing tasks.

\n

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified, then the cluster's default capacity provider strategy is used.\n\t\t\tWe recommend that you define a default capacity provider strategy for your cluster.\n\t\t\tHowever, you must specify an empty array ([]) to bypass defining a default\n\t\t\tstrategy.

\n

Amazon ECS Managed Instances doesn't support this, because when you create a capacity provider with Amazon ECS Managed Instances, it becomes available only within the specified cluster.

", + "smithy.api#documentation": "

Modifies the available capacity providers and the default capacity provider strategy\n\t\t\tfor a cluster.

\n

You must specify both the available capacity providers and a default capacity provider\n\t\t\tstrategy for the cluster. If the specified cluster has existing capacity providers\n\t\t\tassociated with it, you must specify all existing capacity providers in addition to any\n\t\t\tnew ones you want to add. Any existing capacity providers that are associated with a\n\t\t\tcluster that are omitted from a PutClusterCapacityProviders API call will be disassociated with the\n\t\t\tcluster. You can only disassociate an existing capacity provider from a cluster if it's\n\t\t\tnot being used by any existing tasks.

\n

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified, then the cluster's default capacity provider strategy is used.\n\t\t\tWe recommend that you define a default capacity provider strategy for your cluster.\n\t\t\tHowever, you must specify an empty array ([]) to bypass defining a default\n\t\t\tstrategy.

\n

Amazon ECS Managed Instances doesn't support this, because when you create a capacity\n\t\t\tprovider with Amazon ECS Managed Instances, it becomes available only within the\n\t\t\tspecified cluster.

", "smithy.api#examples": [ { "title": "To add an existing capacity provider to a cluuster", @@ -11192,21 +11260,21 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to modify the capacity provider\n\t\t\tsettings for. If you don't specify a cluster, the default cluster is assumed.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to modify the\n\t\t\tcapacity provider settings for. If you don't specify a cluster, the default cluster is\n\t\t\tassumed.

", "smithy.api#required": {} } }, "capacityProviders": { "target": "com.amazonaws.ecs#StringList", "traits": { - "smithy.api#documentation": "

The name of one or more capacity providers to associate with the cluster.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", + "smithy.api#documentation": "

The name of one or more capacity providers to associate with the cluster.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers\n\t\t\tare available to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", "smithy.api#required": {} } }, "defaultCapacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use by default for the cluster.

\n

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified then the default capacity provider strategy for the cluster is\n\t\t\tused.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers are\n\t\t\tavailable to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", + "smithy.api#documentation": "

The capacity provider strategy to use by default for the cluster.

\n

When creating a service or running a task on a cluster, if no capacity provider or\n\t\t\tlaunch type is specified then the default capacity provider strategy for the cluster is\n\t\t\tused.

\n

A capacity provider strategy consists of one or more capacity providers along with the\n\t\t\t\tbase and weight to assign to them. A capacity provider\n\t\t\tmust be associated with the cluster to be used in a capacity provider strategy. The\n\t\t\t\tPutClusterCapacityProviders API is used to associate a capacity provider\n\t\t\twith a cluster. Only capacity providers with an ACTIVE or\n\t\t\t\tUPDATING status can be used.

\n

If specifying a capacity provider that uses an Auto Scaling group, the capacity\n\t\t\tprovider must already be created. New capacity providers can be created with the CreateCapacityProvider API operation.

\n

To use a Fargate capacity provider, specify either the FARGATE or\n\t\t\t\tFARGATE_SPOT capacity providers. The Fargate capacity providers\n\t\t\tare available to all accounts and only need to be associated with a cluster to be\n\t\t\tused.

", "smithy.api#required": {} } } @@ -11249,7 +11317,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Registers an EC2 instance into the specified cluster. This instance becomes available\n\t\t\tto place containers on.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use\n\t\t\t\toutside of the agent.

\n
\n

Registers an EC2 instance into the specified cluster. This instance becomes available\n\t\t\tto place containers on.

" } }, "com.amazonaws.ecs#RegisterContainerInstanceRequest": { @@ -11258,7 +11326,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to register your container instance\n\t\t\twith. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster to register your\n\t\t\tcontainer instance with. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "instanceIdentityDocument": { @@ -11282,7 +11350,7 @@ "versionInfo": { "target": "com.amazonaws.ecs#VersionInfo", "traits": { - "smithy.api#documentation": "

The version information for the Amazon ECS container agent and Docker daemon that runs on\n\t\t\tthe container instance.

" + "smithy.api#documentation": "

The version information for the Amazon ECS container agent and Docker daemon that runs\n\t\t\ton the container instance.

" } }, "containerInstanceArn": { @@ -11306,7 +11374,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the container instance to help you categorize and\n\t\t\torganize them. Each tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } } }, @@ -11348,7 +11416,7 @@ } ], "traits": { - "smithy.api#documentation": "

Registers a new task definition from the supplied family and\n\t\t\t\tcontainerDefinitions. Optionally, you can add data volumes to your\n\t\t\tcontainers with the volumes parameter. For more information about task\n\t\t\tdefinition parameters and defaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer Guide.

\n

You can specify a role for your task with the taskRoleArn parameter. When\n\t\t\tyou specify a role for a task, its containers can then use the latest versions of the\n\t\t\tCLI or SDKs to make API requests to the Amazon Web Services services that are specified in the\n\t\t\tpolicy that's associated with the role. For more information, see IAM\n\t\t\t\tRoles for Tasks in the Amazon Elastic Container Service Developer Guide.

\n

You can specify a Docker networking mode for the containers in your task definition\n\t\t\twith the networkMode parameter. If you specify the awsvpc\n\t\t\tnetwork mode, the task is allocated an elastic network interface, and you must specify a\n\t\t\t\tNetworkConfiguration when you create a service or run a task with the task\n\t\t\tdefinition. For more information, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Registers a new task definition from the supplied family and\n\t\t\t\tcontainerDefinitions. Optionally, you can add data volumes to your\n\t\t\tcontainers with the volumes parameter. For more information about task\n\t\t\tdefinition parameters and defaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

You can specify a role for your task with the taskRoleArn parameter. When\n\t\t\tyou specify a role for a task, its containers can then use the latest versions of the\n\t\t\t\tCLI or SDKs\n\t\t\tto make API requests to the Amazon Web Services services that are specified in the policy\n\t\t\tthat's associated with the role. For more information, see IAM Roles for\n\t\t\t\tTasks in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

You can specify a Docker networking mode for the containers in your task definition\n\t\t\twith the networkMode parameter. If you specify the awsvpc\n\t\t\tnetwork mode, the task is allocated an elastic network interface, and you must specify a\n\t\t\t\tNetworkConfiguration when you create a service or run a task with the task\n\t\t\tdefinition. For more information, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

", "smithy.api#examples": [ { "title": "To register a task definition", @@ -11406,26 +11474,26 @@ "family": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

You must specify a family for a task definition. You can use it track\n\t\t\tmultiple versions of the same task definition. The family is used as a name\n\t\t\tfor your task definition. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

", + "smithy.api#documentation": "

You must specify a family for a task definition. You can use it track\n\t\t\tmultiple versions of the same task definition. The family is used as a name\n\t\t\tfor your task definition. Up to 255 letters (uppercase and lowercase), numbers,\n\t\t\tunderscores, and hyphens are allowed.

", "smithy.api#required": {} } }, "taskRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in this task can\n\t\t\tassume. All containers in this task are granted the permissions that are specified in\n\t\t\tthis role. For more information, see IAM Roles for\n\t\t\t\tTasks in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the IAM role that containers in\n\t\t\tthis task can assume. All containers in this task are granted the permissions that are\n\t\t\tspecified in this role. For more information, see IAM Roles for\n\t\t\t\tTasks in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "executionRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent\n permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see IAM roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS\n\t\t\tcontainer agent permission to make Amazon Web Services API calls on your behalf. For\n\t\t\tinformationabout the required IAM roles for Amazon ECS, see IAM roles\n\t\t\t\tfor Amazon ECS in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "networkMode": { "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

\n

With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

\n \n

When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

" + "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n\t\t\t\tnone, bridge, awsvpc, and host.\n\t\t\tIf no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For\n\t\t\tAmazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon\n\t\t\tECS tasks on Amazon EC2 Windows instances, or\n\t\t\t\tawsvpc can be used. If the network mode is set to none,\n\t\t\tyou cannot specify port mappings in your container definitions, and the tasks containers\n\t\t\tdo not have external connectivity. The host and awsvpc network\n\t\t\tmodes offer the highest networking performance for containers because they use the EC2\n\t\t\tnetwork stack instead of the virtualized network stack provided by the\n\t\t\t\tbridge mode.

\n

With the host and awsvpc network modes, exposed container\n\t\t\tports are mapped directly to the corresponding host port (for the host\n\t\t\tnetwork mode) or the attached elastic network interface port (for the\n\t\t\t\tawsvpc network mode), so you cannot take advantage of dynamic host port\n\t\t\tmappings.

\n \n

When using the host network mode, you should not run containers using\n\t\t\t\tthe root user (UID 0). It is considered best practice to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n\t\t\tinterface, and you must specify a NetworkConfiguration value when you create a service or run a task with the\n\t\t\ttask definition. For more information, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of\n\t\t\tthe same task on a single container instance when port mappings are used.

" } }, "containerDefinitions": { @@ -11456,37 +11524,37 @@ "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The number of CPU units used by the task. It can be expressed as an integer using CPU\n\t\t\tunits (for example, 1024) or as a string using vCPUs (for example, 1\n\t\t\t\tvCPU or 1 vcpu) in a task definition. String values are\n\t\t\tconverted to an integer indicating the CPU units when the task definition is\n\t\t\tregistered.

\n \n

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

\n
\n

If you're using the EC2 launch type or external launch type, this field\n\t\t\tis optional. Supported values are between 128 CPU units (0.125\n\t\t\tvCPUs) and 196608 CPU units (192 vCPUs). If you do not specify\n\t\t\ta value, the parameter is ignored.

\n

This field is required for Fargate. For information about the valid values, see Task size in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The number of CPU units used by the task. It can be expressed as an integer using CPU\n\t\t\tunits (for example, 1024) or as a string using vCPUs (for example, 1\n\t\t\t\tvCPU or 1 vcpu) in a task definition. String values are\n\t\t\tconverted to an integer indicating the CPU units when the task definition is\n\t\t\tregistered.

\n \n

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

\n
\n

If you're using the EC2 launch type or external launch type, this field is optional.\n\t\t\tSupported values are between 128 CPU units (0.125 vCPUs) and\n\t\t\t\t196608 CPU units (192 vCPUs). If you do not specify a\n\t\t\tvalue, the parameter is ignored.

\n

This field is required for Fargate. For information about the valid values, see Task\n\t\t\t\tsize in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The amount of memory (in MiB) used by the task. It can be expressed as an integer\n\t\t\tusing MiB (for example ,1024) or as a string using GB (for example,\n\t\t\t\t1GB or 1 GB) in a task definition. String values are\n\t\t\tconverted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n \n

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

\n
\n

If using the EC2 launch type, this field is optional.

\n

If using the Fargate launch type, this field is required and you must\n\t\t\tuse one of the following values. This determines your range of supported values for the\n\t\t\t\tcpu parameter.

\n

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The amount of memory (in MiB) used by the task. It can be expressed as an integer\n\t\t\tusing MiB (for example ,1024) or as a string using GB (for example,\n\t\t\t\t1GB or 1 GB) in a task definition. String values are\n\t\t\tconverted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n \n

Task-level CPU and memory parameters are ignored for Windows containers. We\n\t\t\t\trecommend specifying container-level resources for Windows containers.

\n
\n

If using the EC2 launch type, this field is optional.

\n

If using the Fargate launch type, this field is required and you must use one of the\n\t\t\tfollowing values. This determines your range of supported values for the\n\t\t\t\tcpu parameter.

\n

The CPU units cannot be less than 1 vCPU when you use Windows containers on\n\t\t\tFargate.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values:\n\t\t\t\t\t256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available\n\t\t\t\t\t\tcpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB),\n\t\t\t\t\t8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available\n\t\t\t\t\t\tcpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available\n\t\t\t\t\t\tcpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu\n\t\t\t\t\tvalues: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu\n\t\t\t\t\tvalues: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or later.

    \n
  • \n
" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both of them.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task definition to help you categorize and organize\n\t\t\tthem. Each tag consists of a key and an optional value. You define both of them.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "pidMode": { "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid\n values are host or task. On Fargate for\n Linux containers, the only valid value is task. For\n example, monitoring sidecars might need pidMode to access\n information about other containers running in the same task.

\n

If host is specified, all containers within the tasks\n that specified the host PID mode on the same container\n instance share the same process namespace with the host Amazon EC2\n instance.

\n

If task is specified, all containers within the specified\n task share the same process namespace.

\n

If no value is specified, the\n default is a private namespace for each container.

\n

If the host PID mode is used, there's a heightened risk\n of undesired process namespace exposure.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

This parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0 or later\n (Linux). This isn't supported for Windows containers on\n Fargate.

\n
" + "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid values are\n\t\t\t\thost or task. On Fargate for Linux containers, the only\n\t\t\tvalid value is task. For example, monitoring sidecars might need\n\t\t\t\tpidMode to access information about other containers running in the\n\t\t\tsame task.

\n

If host is specified, all containers within the tasks that specified the\n\t\t\t\thost PID mode on the same container instance share the same process\n\t\t\tnamespace with the host Amazon EC2 instance.

\n

If task is specified, all containers within the specified task share the\n\t\t\tsame process namespace.

\n

If no value is specified, the The default is a private namespace for each\n\t\t\tcontainer.

\n

If the host PID mode is used, there's a heightened risk of undesired\n\t\t\tprocess namespace exposure.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

This parameter is only supported for tasks that are hosted on Fargate if\n\t\t\t\tthe tasks are using platform version 1.4.0 or later (Linux). This isn't\n\t\t\t\tsupported for Windows containers on Fargate.

\n
" } }, "ipcMode": { "target": "com.amazonaws.ecs#IpcMode", "traits": { - "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose.

\n

If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n\t\t\t\thost, task, or none. If host is\n\t\t\tspecified, then all containers within the tasks that specified the host IPC\n\t\t\tmode on the same container instance share the same IPC resources with the host Amazon\n\t\t\tEC2 instance. If task is specified, all containers within the specified\n\t\t\ttask share the same IPC resources. If none is specified, then IPC resources\n\t\t\twithin the containers of a task are private and not shared with other containers in a\n\t\t\ttask or on the container instance. If no value is specified, then the IPC resource\n\t\t\tnamespace sharing depends on the Docker daemon setting on the container instance.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n\t\t\tundesired IPC namespace expose.

\n

If you are setting namespaced kernel parameters using systemControls for\n\t\t\tthe containers in the task, the following will apply to your IPC resource namespace. For\n\t\t\tmore information, see System\n\t\t\t\tControls in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n\t\t\t\t\t\tsystemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n\t\t\t\t\t\tsystemControls will apply to all containers within a\n\t\t\t\t\ttask.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "proxyConfiguration": { "target": "com.amazonaws.ecs#ProxyConfiguration", "traits": { - "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

For tasks hosted on Amazon EC2 instances, the container instances require at least version\n\t\t\t\t1.26.0 of the container agent and at least version\n\t\t\t\t1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS-optimized\n\t\t\tAMI version 20190301 or later, then they contain the required versions of\n\t\t\tthe container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

For tasks hosted on Amazon EC2 instances, the container instances require at least\n\t\t\tversion 1.26.0 of the container agent and at least version\n\t\t\t\t1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS-optimized\n\t\t\tAMI version 20190301 or later, then they contain the required versions of\n\t\t\tthe container agent and ecs-init. For more information, see Amazon ECS-optimized AMI versions in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

" } }, "inferenceAccelerators": { @@ -11498,13 +11566,13 @@ "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Using data volumes in\n\t\t\t\ttasks in the Amazon ECS Developer Guide.

\n \n

For tasks using the Fargate launch type, the task requires the\n\t\t\t\tfollowing platforms:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" + "smithy.api#documentation": "

The amount of ephemeral storage to allocate for the task. This parameter is used to\n\t\t\texpand the total amount of ephemeral storage available, beyond the default amount, for\n\t\t\ttasks hosted on Fargate. For more information, see Using data volumes in\n\t\t\t\ttasks in the Amazon ECS Developer Guide.

\n \n

For tasks using the Fargate launch type, the task requires the following\n\t\t\t\tplatforms:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" } }, "runtimePlatform": { "target": "com.amazonaws.ecs#RuntimePlatform", "traits": { - "smithy.api#documentation": "

The operating system that your tasks definitions run on. A platform family is\n\t\t\tspecified only for tasks using the Fargate launch type.

" + "smithy.api#documentation": "

The operating system that your tasks definitions run on.

" } }, "enableFaultInjection": { @@ -11544,7 +11612,7 @@ "credentialsParameter": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the secret containing the private repository\n\t\t\tcredentials.

\n \n

When you use the Amazon ECS API, CLI, or Amazon Web Services SDK, if the secret exists in the same\n\t\t\t\tRegion as the task that you're launching then you can use either the full ARN or\n\t\t\t\tthe name of the secret. When you use the Amazon Web Services Management Console, you must specify the full ARN\n\t\t\t\tof the secret.

\n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the secret containing the private repository\n\t\t\tcredentials.

\n \n

When you use the Amazon ECS API, CLI, or Amazon Web Services SDK, if the secret\n\t\t\t\texists in the same Region as the task that you're launching then you can use either\n\t\t\t\tthe full ARN or the name of the secret. When you use the Amazon Web Services Management\n\t\t\t\tConsole, you must specify the full ARN of the secret.

\n
", "smithy.api#required": {} } } @@ -11662,7 +11730,7 @@ "value": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The value for the specified resource type.

\n

When the type is GPU, the value is the number of physical\n\t\t\t\tGPUs the Amazon ECS container agent reserves for the container. The number\n\t\t\tof GPUs that's reserved for all containers in a task can't exceed the number of\n\t\t\tavailable GPUs on the container instance that the task is launched on.

\n

When the type is InferenceAccelerator, the value matches the\n\t\t\t\tdeviceName for an InferenceAccelerator specified in a task definition.

", + "smithy.api#documentation": "

The value for the specified resource type.

\n

When the type is GPU, the value is the number of physical\n\t\t\t\tGPUs the Amazon ECS container agent reserves for the container. The\n\t\t\tnumber of GPUs that's reserved for all containers in a task can't exceed the number of\n\t\t\tavailable GPUs on the container instance that the task is launched on.

\n

When the type is InferenceAccelerator, the value matches the\n\t\t\t\tdeviceName for an InferenceAccelerator specified in a task definition.

", "smithy.api#required": {} } }, @@ -11675,7 +11743,7 @@ } }, "traits": { - "smithy.api#documentation": "

The type and amount of a resource to assign to a container. The supported resource\n\t\t\ttypes are GPUs and Elastic Inference accelerators. For more information, see Working with\n\t\t\t\tGPUs on Amazon ECS or Working with Amazon Elastic\n\t\t\t\tInference on Amazon ECS in the Amazon Elastic Container Service Developer Guide\n

" + "smithy.api#documentation": "

The type and amount of a resource to assign to a container. The supported resource\n\t\t\ttypes are GPUs and Elastic Inference accelerators. For more information, see Working with\n\t\t\t\tGPUs on Amazon ECS or Working with Amazon Elastic\n\t\t\t\tInference on Amazon ECS in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide\n

" } }, "com.amazonaws.ecs#ResourceRequirements": { @@ -11774,7 +11842,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a new task using the specified task definition.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

\n
\n \n

Amazon Elastic Inference (EI) is no longer available to customers.

\n
\n

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS places\n\t\t\ttasks using placement constraints and placement strategies. For more information, see\n\t\t\t\tScheduling Tasks in the Amazon Elastic Container Service Developer Guide.

\n

Alternatively, you can use StartTask to use your own scheduler or place\n\t\t\ttasks manually on specific container instances.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

\n

The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately visible\n\t\t\tto all subsequent commands you run. Keep this in mind when you carry out an API command\n\t\t\tthat immediately follows a previous API command.

\n

To manage eventual consistency, you can do the following:

\n
    \n
  • \n

    Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

    \n
  • \n
  • \n

    Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

    \n
  • \n
\n

If you get a ConflictException error, the RunTask request could\n\t\t\tnot be processed due to conflicts. The provided clientToken is already in\n\t\t\tuse with a different RunTask request. The resourceIds are the\n\t\t\texisting task ARNs which are already associated with the clientToken.

\n

To fix this issue:

\n
    \n
  • \n

    Run RunTask with a unique clientToken.

    \n
  • \n
  • \n

    Run RunTask with the clientToken and the original\n\t\t\t\t\tset of parameters

    \n
  • \n
\n

If you get a ClientExceptionerror, the RunTask could not be processed because you use managed\n\t\t\t\t\tscaling and there is a capacity error because the quota of tasks in the\n\t\t\t\t\tPROVISIONING per cluster has been reached. For information\n\t\t\t\t\tabout the service quotas, see Amazon ECS\n\t\t\t\t\t\tservice quotas.

", + "smithy.api#documentation": "

Starts a new task using the specified task definition.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision\n\t\t\t\tbefore authorization. When a task definition revision is not specified,\n\t\t\t\tauthorization will occur using the latest revision of a task definition.

\n
\n \n

Amazon Elastic Inference (EI) is no longer available to customers.

\n
\n

You can allow Amazon ECS to place tasks for you, or you can customize how Amazon ECS\n\t\t\tplaces tasks using placement constraints and placement strategies. For more information,\n\t\t\tsee Scheduling Tasks in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

Alternatively, you can use StartTask to use your own scheduler or place\n\t\t\ttasks manually on specific container instances.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when\n\t\t\tcreating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

The Amazon ECS API follows an eventual consistency model. This is because of the\n\t\t\tdistributed nature of the system supporting the API. This means that the result of an\n\t\t\tAPI command you run that affects your Amazon ECS resources might not be immediately\n\t\t\tvisible to all subsequent commands you run. Keep this in mind when you carry out an API\n\t\t\tcommand that immediately follows a previous API command.

\n

To manage eventual consistency, you can do the following:

\n
    \n
  • \n

    Confirm the state of the resource before you run a command to modify it. Run\n\t\t\t\t\tthe DescribeTasks command using an exponential backoff algorithm to ensure that\n\t\t\t\t\tyou allow enough time for the previous command to propagate through the system.\n\t\t\t\t\tTo do this, run the DescribeTasks command repeatedly, starting with a couple of\n\t\t\t\t\tseconds of wait time and increasing gradually up to five minutes of wait\n\t\t\t\t\ttime.

    \n
  • \n
  • \n

    Add wait time between subsequent commands, even if the DescribeTasks command\n\t\t\t\t\treturns an accurate response. Apply an exponential backoff algorithm starting\n\t\t\t\t\twith a couple of seconds of wait time, and increase gradually up to about five\n\t\t\t\t\tminutes of wait time.

    \n
  • \n
\n

If you get a ConflictException error, the RunTask request\n\t\t\tcould not be processed due to conflicts. The provided clientToken is\n\t\t\talready in use with a different RunTask request. The\n\t\t\t\tresourceIds are the existing task ARNs which are already associated\n\t\t\twith the clientToken.

\n

To fix this issue:

\n
    \n
  • \n

    Run RunTask with a unique clientToken.

    \n
  • \n
  • \n

    Run RunTask with the clientToken and the original\n\t\t\t\t\tset of parameters

    \n
  • \n
\n

If you get a ClientExceptionerror, the RunTask could not be\n\t\t\tprocessed because you use managed scaling and there is a capacity error because the\n\t\t\tquota of tasks in the PROVISIONING per cluster has been reached. For\n\t\t\tinformation about the service quotas, see Amazon ECS service\n\t\t\t\tquotas.

", "smithy.api#examples": [ { "title": "To run a task on your default cluster", @@ -11819,7 +11887,7 @@ "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The capacity provider strategy to use for the task.

\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

\n

A capacity provider strategy can contain a maximum of 20 capacity providers.

" + "smithy.api#documentation": "

The capacity provider strategy to use for the task.

\n \n

If you want to use Amazon ECS Managed Instances, you must use the\n\t\t\t\t\tcapacityProviderStrategy request parameter and omit the\n\t\t\t\t\tlaunchType request parameter.

\n
\n

If a capacityProviderStrategy is specified, the launchType\n\t\t\tparameter must be omitted. If no capacityProviderStrategy or\n\t\t\t\tlaunchType is specified, the\n\t\t\t\tdefaultCapacityProviderStrategy for the cluster is used.

\n

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

\n

A capacity provider strategy can contain a maximum of 20 capacity providers.

" } }, "cluster": { @@ -11838,7 +11906,7 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to use Amazon ECS managed tags for the task. For more information, see\n\t\t\t\tTagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Specifies whether to use Amazon ECS managed tags for the task. For more information,\n\t\t\tsee Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "enableExecuteCommand": { @@ -11857,7 +11925,7 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The infrastructure to run your standalone task on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

\n

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

\n \n

Fargate Spot infrastructure is available for use but a capacity provider\n\t\t\t\tstrategy must be used. For more information, see Fargate capacity providers in the\n\t\t\t\t\tAmazon ECS Developer Guide.

\n
\n

The EC2 launch type runs your tasks on Amazon EC2 instances registered to your\n\t\t\tcluster.

\n

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n

A task can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

\n

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

" + "smithy.api#documentation": "

The infrastructure to run your standalone task on. For more information, see Amazon\n\t\t\t\tECS launch types in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n \n

If you want to use Amazon ECS Managed Instances, you must use the\n\t\t\t\t\tcapacityProviderStrategy request parameter and omit the\n\t\t\t\t\tlaunchType request parameter.

\n
\n

The FARGATE launch type runs your tasks on Fargate On-Demand\n\t\t\tinfrastructure.

\n \n

Fargate Spot infrastructure is available for use but a capacity provider strategy\n\t\t\t\tmust be used. For more information, see Fargate capacity providers in\n\t\t\t\tthe Amazon ECS Developer Guide.

\n
\n

The EC2 launch type runs your tasks on Amazon EC2 instances registered to\n\t\t\tyour cluster.

\n

The EXTERNAL launch type runs your tasks on your on-premises server or\n\t\t\tvirtual machine (VM) capacity registered to your cluster.

\n

A task can use either a launch type or a capacity provider strategy. If a\n\t\t\t\tlaunchType is specified, the capacityProviderStrategy\n\t\t\tparameter must be omitted.

\n

When you use cluster auto scaling, you must specify\n\t\t\t\tcapacityProviderStrategy and not launchType.

" } }, "networkConfiguration": { @@ -11887,7 +11955,7 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version the task uses. A platform version is only specified for tasks\n\t\t\thosted on Fargate. If one isn't specified, the LATEST\n\t\t\tplatform version is used. For more information, see Fargate platform\n\t\t\t\tversions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version the task uses. A platform version is only specified for tasks\n\t\t\thosted on Fargate. If one isn't specified, the LATEST platform version is\n\t\t\tused. For more information, see Fargate\n\t\t\t\tplatform versions in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "propagateTags": { @@ -11899,25 +11967,25 @@ "referenceId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

This parameter is only used by Amazon ECS. It is not intended for use by customers.

" + "smithy.api#documentation": "

This parameter is only used by Amazon ECS. It is not intended for use by\n\t\t\tcustomers.

" } }, "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call with\n\t\t\tthe startedBy value. Up to 128 letters (uppercase and lowercase), numbers,\n\t\t\thyphens (-), forward slash (/), and underscores (_) are allowed.

\n

If a task is started by an Amazon ECS service, then the startedBy parameter\n\t\t\tcontains the deployment ID of the service that starts it.

" + "smithy.api#documentation": "

An optional tag specified when a task is started. For example, if you automatically\n\t\t\ttrigger a task to run a batch process job, you could apply a unique identifier for that\n\t\t\tjob to your task with the startedBy parameter. You can then identify which\n\t\t\ttasks belong to that job by filtering the results of a ListTasks call with\n\t\t\tthe startedBy value. Up to 128 letters (uppercase and lowercase), numbers,\n\t\t\thyphens (-), forward slash (/), and underscores (_) are allowed.

\n

If a task is started by an Amazon ECS service, then the startedBy\n\t\t\tparameter contains the deployment ID of the service that starts it.

" } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run. If a revision isn't specified,\n\t\t\tthe latest ACTIVE revision is used.

\n

The full ARN value must match the value that you specified as the\n\t\t\t\tResource of the principal's permissions policy.

\n

When you specify a task definition, you must either specify a specific revision, or\n\t\t\tall revisions in the ARN.

\n

To specify a specific revision, include the revision number in the ARN. For example,\n\t\t\tto specify revision 2, use\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2.

\n

To specify all revisions, use the wildcard (*) in the ARN. For example, to specify\n\t\t\tall revisions, use\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*.

\n

For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run. If a revision isn't specified, the\n\t\t\tlatest ACTIVE revision is used.

\n

The full ARN value must match the value that you specified as the\n\t\t\t\tResource of the principal's permissions policy.

\n

When you specify a task definition, you must either specify a specific revision, or\n\t\t\tall revisions in the ARN.

\n

To specify a specific revision, include the revision number in the ARN. For example,\n\t\t\tto specify revision 2, use\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:2.

\n

To specify all revisions, use the wildcard (*) in the ARN. For example, to specify all\n\t\t\trevisions, use\n\t\t\t\tarn:aws:ecs:us-east-1:111122223333:task-definition/TaskFamilyName:*.

\n

For more information, see Policy Resources for Amazon ECS in the Amazon Elastic Container Service\n\t\t\tDeveloper Guide.

", "smithy.api#required": {} } }, @@ -11951,7 +12019,7 @@ "failures": { "target": "com.amazonaws.ecs#Failures", "traits": { - "smithy.api#documentation": "

Any failures associated with the call.

\n

For information about how to address failures, see Service event messages and API failure\n\t\t\t\treasons in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Any failures associated with the call.

\n

For information about how to address failures, see Service event messages and API failure\n\t\t\t\treasons in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } } }, @@ -11965,7 +12033,7 @@ "cpuArchitecture": { "target": "com.amazonaws.ecs#CPUArchitecture", "traits": { - "smithy.api#documentation": "

The CPU architecture.

\n

You can run your Linux tasks on an ARM-based platform by setting the value to\n\t\t\t\tARM64. This option is available for tasks that run on Linux Amazon EC2\n\t\t\tinstance or Linux containers on Fargate.

" + "smithy.api#documentation": "

The CPU architecture.

\n

You can run your Linux tasks on an ARM-based platform by setting the value to\n\t\t\t\tARM64. This option is available for tasks that run on Linux Amazon EC2\n\t\t\tinstance, Amazon ECS Managed Instances, or Linux containers on Fargate.

" } }, "operatingSystemFamily": { @@ -11976,7 +12044,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about the platform for the Amazon ECS service or task.

\n

For more information about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Information about the platform for the Amazon ECS service or task.

\n

For more information about RuntimePlatform, see RuntimePlatform in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#Scale": { @@ -12058,13 +12126,13 @@ "valueFrom": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The secret to expose to the container. The supported values are either the full ARN\n\t\t\tof the Secrets Manager secret or the full ARN of the parameter in the SSM\n\t\t\tParameter Store.

\n

For information about the require Identity and Access Management permissions, see Required IAM permissions for Amazon ECS secrets (for Secrets Manager) or\n\t\t\t\tRequired IAM permissions for Amazon ECS secrets (for Systems Manager Parameter\n\t\t\tstore) in the Amazon Elastic Container Service Developer Guide.

\n \n

If the SSM Parameter Store parameter exists in the same Region as the task\n\t\t\t\tyou're launching, then you can use either the full ARN or name of the parameter.\n\t\t\t\tIf the parameter exists in a different Region, then the full ARN must be\n\t\t\t\tspecified.

\n
", + "smithy.api#documentation": "

The secret to expose to the container. The supported values are either the full ARN of\n\t\t\tthe Secrets\n\t\t\t\tManager secret or the full ARN of the parameter in the SSM Parameter\n\t\t\tStore.

\n

For information about the require Identity and Access Management permissions,\n\t\t\tsee Required IAM permissions for Amazon ECS secrets (for Secrets Manager) or\n\t\t\t\tRequired IAM permissions for Amazon ECS secrets (for Systems Manager\n\t\t\tParameter store) in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n \n

If the SSM Parameter Store parameter exists in the same Region as the task you're\n\t\t\t\tlaunching, then you can use either the full ARN or name of the parameter. If the\n\t\t\t\tparameter exists in a different Region, then the full ARN must be specified.

\n
", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

An object representing the secret to expose to your container. Secrets can be exposed\n\t\t\tto a container in the following ways:

\n
    \n
  • \n

    To inject sensitive data into your containers as environment variables, use\n\t\t\t\t\tthe secrets container definition parameter.

    \n
  • \n
  • \n

    To reference sensitive information in the log configuration of a container,\n\t\t\t\t\tuse the secretOptions container definition parameter.

    \n
  • \n
\n

For more information, see Specifying\n\t\t\t\tsensitive data in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

An object representing the secret to expose to your container. Secrets can be exposed\n\t\t\tto a container in the following ways:

\n
    \n
  • \n

    To inject sensitive data into your containers as environment variables, use\n\t\t\t\t\tthe secrets container definition parameter.

    \n
  • \n
  • \n

    To reference sensitive information in the log configuration of a container,\n\t\t\t\t\tuse the secretOptions container definition parameter.

    \n
  • \n
\n

For more information, see Specifying\n\t\t\t\tsensitive data in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#SecretList": { @@ -12100,13 +12168,13 @@ "serviceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN that identifies the service. For more information about the ARN format,\n\t\t\tsee Amazon Resource Name (ARN) in the Amazon ECS Developer Guide.

" + "smithy.api#documentation": "

The ARN that identifies the service. For more information about the ARN format, see\n\t\t\t\tAmazon Resource Name (ARN) in the Amazon ECS Developer\n\t\t\t\tGuide.

" } }, "serviceName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of your service. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed. Service names must be unique within\n\t\t\ta cluster. However, you can have similarly named services in multiple clusters within a\n\t\t\tRegion or across multiple Regions.

" + "smithy.api#documentation": "

The name of your service. Up to 255 letters (uppercase and lowercase), numbers,\n\t\t\tunderscores, and hyphens are allowed. Service names must be unique within a cluster.\n\t\t\tHowever, you can have similarly named services in multiple clusters within a Region or\n\t\t\tacross multiple Regions.

" } }, "clusterArn": { @@ -12118,7 +12186,7 @@ "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "

A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the\n\t\t\tcontainer name, and the container port to access from the load balancer. The container\n\t\t\tname is as it appears in a container definition.

" + "smithy.api#documentation": "

A list of Elastic Load Balancing load balancer objects. It contains the load balancer\n\t\t\tname, the container name, and the container port to access from the load balancer. The\n\t\t\tcontainer name is as it appears in a container definition.

" } }, "serviceRegistries": { @@ -12169,7 +12237,7 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version to run your service on. A platform version is only specified for\n\t\t\ttasks that are hosted on Fargate. If one isn't specified, the LATEST\n\t\t\tplatform version is used. For more information, see Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version to run your service on. A platform version is only specified for\n\t\t\ttasks that are hosted on Fargate. If one isn't specified, the LATEST platform\n\t\t\tversion is used. For more information, see Fargate\n\t\t\t\tPlatform Versions in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "platformFamily": { @@ -12193,7 +12261,7 @@ "taskSets": { "target": "com.amazonaws.ecs#TaskSets", "traits": { - "smithy.api#documentation": "

Information about a set of Amazon ECS tasks in either an CodeDeploy or an EXTERNAL\n\t\t\tdeployment. An Amazon ECS task set includes details such as the desired number of tasks, how\n\t\t\tmany tasks are running, and whether the task set serves production traffic.

" + "smithy.api#documentation": "

Information about a set of Amazon ECS tasks in either an CodeDeploy or an\n\t\t\t\tEXTERNAL deployment. An Amazon ECS task set includes details such as\n\t\t\tthe desired number of tasks, how many tasks are running, and whether the task set serves\n\t\t\tproduction traffic.

" } }, "deployments": { @@ -12205,7 +12273,7 @@ "roleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role that's associated with the service. It allows the Amazon ECS\n\t\t\tcontainer agent to register container instances with an Elastic Load Balancing load balancer.

" + "smithy.api#documentation": "

The ARN of the IAM role that's associated with the service. It allows the Amazon ECS\n\t\t\tcontainer agent to register container instances with an Elastic Load Balancing load\n\t\t\tbalancer.

" } }, "events": { @@ -12235,19 +12303,19 @@ "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

" + "smithy.api#documentation": "

The VPC subnet and security group configuration for tasks that receive their own\n\t\t\telastic network interface by using the awsvpc networking mode.

" } }, "healthCheckGracePeriodSeconds": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing, VPC Lattice, and container health checks after a task has first started.

\n

If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.

" + "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores\n\t\t\tunhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task\n\t\t\thas first started.

\n

If your service has more running tasks than desired, unhealthy tasks in the grace\n\t\t\tperiod might be stopped to reach the desired count.

" } }, "schedulingStrategy": { "target": "com.amazonaws.ecs#SchedulingStrategy", "traits": { - "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n

There are two service scheduler strategies available.

\n
    \n
  • \n

    \n REPLICA-The replica scheduling strategy places and\n\t\t\t\t\tmaintains the desired number of tasks across your cluster. By default, the\n\t\t\t\t\tservice scheduler spreads tasks across Availability Zones. You can use task\n\t\t\t\t\tplacement strategies and constraints to customize task placement\n\t\t\t\t\tdecisions.

    \n
  • \n
  • \n

    \n DAEMON-The daemon scheduling strategy deploys exactly one\n\t\t\t\t\ttask on each active container instance. This task meets all of the task\n\t\t\t\t\tplacement constraints that you specify in your cluster. The service scheduler\n\t\t\t\t\talso evaluates the task placement constraints for running tasks. It stop tasks\n\t\t\t\t\tthat don't meet the placement constraints.

    \n \n

    Fargate tasks don't support the DAEMON\n\t\t\t\t\t\tscheduling strategy.

    \n
    \n
  • \n
" + "smithy.api#documentation": "

The scheduling strategy to use for the service. For more information, see Services.

\n

There are two service scheduler strategies available.

\n
    \n
  • \n

    \n REPLICA-The replica scheduling strategy places and maintains the\n\t\t\t\t\tdesired number of tasks across your cluster. By default, the service scheduler\n\t\t\t\t\tspreads tasks across Availability Zones. You can use task placement strategies\n\t\t\t\t\tand constraints to customize task placement decisions.

    \n
  • \n
  • \n

    \n DAEMON-The daemon scheduling strategy deploys exactly one task on\n\t\t\t\t\teach active container instance. This task meets all of the task placement\n\t\t\t\t\tconstraints that you specify in your cluster. The service scheduler also\n\t\t\t\t\tevaluates the task placement constraints for running tasks. It stop tasks that\n\t\t\t\t\tdon't meet the placement constraints.

    \n \n

    Fargate tasks don't support the DAEMON scheduling\n\t\t\t\t\t\tstrategy.

    \n
    \n
  • \n
" } }, "deploymentController": { @@ -12259,7 +12327,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define bot the key and\n\t\t\tvalue.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the service to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define bot the key and\n\t\t\tvalue.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "createdBy": { @@ -12272,7 +12340,7 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Determines whether to use Amazon ECS managed tags for the tasks in the service. For more\n\t\t\tinformation, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Determines whether to use Amazon ECS managed tags for the tasks in the service. For\n\t\t\tmore information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "propagateTags": { @@ -12291,7 +12359,7 @@ "availabilityZoneRebalancing": { "target": "com.amazonaws.ecs#AvailabilityZoneRebalancing", "traits": { - "smithy.api#documentation": "

Indicates whether to use Availability Zone rebalancing for the service.

\n

For more information, see Balancing an Amazon ECS service across Availability Zones in\n\t\t\tthe \n Amazon Elastic Container Service Developer Guide\n .

\n

The default behavior of AvailabilityZoneRebalancing differs between create and update requests:

\n
    \n
  • \n

    For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value to ENABLED.

    \n
  • \n
  • \n

    For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’s AvailabilityZoneRebalancing value. If the service never had an AvailabilityZoneRebalancing value set, Amazon ECS treats this as DISABLED.

    \n
  • \n
" + "smithy.api#documentation": "

Indicates whether to use Availability Zone rebalancing for the service.

\n

For more information, see Balancing an Amazon\n\t\t\t\tECS service across Availability Zones in the \n Amazon\n\t\t\t\t\tElastic Container Service Developer Guide\n .

\n

The default behavior of AvailabilityZoneRebalancing differs between\n\t\t\tcreate and update requests:

\n
    \n
  • \n

    For create service requests, when no value is specified for\n\t\t\t\t\t\tAvailabilityZoneRebalancing, Amazon ECS defaults the value to\n\t\t\t\t\t\tENABLED.

    \n
  • \n
  • \n

    For update service requests, when no value is specified for\n\t\t\t\t\t\tAvailabilityZoneRebalancing, Amazon ECS defaults to the\n\t\t\t\t\texisting service’s AvailabilityZoneRebalancing value. If the\n\t\t\t\t\tservice never had an AvailabilityZoneRebalancing value set, Amazon\n\t\t\t\t\tECS treats this as DISABLED.

    \n
  • \n
" } } }, @@ -12299,20 +12367,61 @@ "smithy.api#documentation": "

Details on a service within a cluster.

" } }, + "com.amazonaws.ecs#ServiceConnectAccessLogConfiguration": { + "type": "structure", + "members": { + "format": { + "target": "com.amazonaws.ecs#ServiceConnectAccessLoggingFormat", + "traits": { + "smithy.api#documentation": "

The format for Service Connect access log output. Choose TEXT for human-readable logs\n\t\t\tor JSON for structured data that integrates well with log analysis tools.

", + "smithy.api#required": {} + } + }, + "includeQueryParameters": { + "target": "com.amazonaws.ecs#ServiceConnectIncludeQueryParameters", + "traits": { + "smithy.api#documentation": "

Specifies whether to include query parameters in Service Connect access logs.

\n

When enabled, query parameters from HTTP requests are included in the access logs.\n\t\t\tConsider security and privacy implications when enabling this feature, as query\n\t\t\tparameters may contain sensitive information such as request IDs and tokens. By default,\n\t\t\tthis parameter is DISABLED.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for Service Connect access logging. Access logs provide detailed\n\t\t\tinformation about requests made to your service, including request patterns, response\n\t\t\tcodes, and timing data for debugging and monitoring purposes.

\n \n

To enable access logs, you must also specify a logConfiguration in the serviceConnectConfiguration.

\n
" + } + }, + "com.amazonaws.ecs#ServiceConnectAccessLoggingFormat": { + "type": "enum", + "members": { + "TEXT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TEXT" + } + }, + "JSON": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "JSON" + } + } + }, + "traits": { + "smithy.api#documentation": "

The format for Service Connect access log output. Choose TEXT for human-readable logs\n\t\t\tor JSON for structured data that integrates well with log analysis tools.

" + } + }, "com.amazonaws.ecs#ServiceConnectClientAlias": { "type": "structure", "members": { "port": { "target": "com.amazonaws.ecs#PortNumber", "traits": { - "smithy.api#documentation": "

The listening port number for the Service Connect proxy. This port is available\n\t\t\tinside of all of the tasks within the same namespace.

\n

To avoid changing your applications in client Amazon ECS services, set this to the same\n\t\t\tport that the client application uses by default. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

The listening port number for the Service Connect proxy. This port is available inside\n\t\t\tof all of the tasks within the same namespace.

\n

To avoid changing your applications in client Amazon ECS services, set this to the\n\t\t\tsame port that the client application uses by default. For more information, see Service Connect in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, "dnsName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The dnsName is the name that you use in the applications of client tasks\n\t\t\tto connect to this service. The name must be a valid DNS name but doesn't need to be\n\t\t\tfully-qualified. The name can include up to 127 characters. The name can include\n\t\t\tlowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name\n\t\t\tcan't start with a hyphen.

\n

If this parameter isn't specified, the default value of discoveryName.namespace is used. If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

\n

To avoid changing your applications in client Amazon ECS services, set this to the same\n\t\t\tname that the client application uses by default. For example, a few common names are\n\t\t\t\tdatabase, db, or the lowercase name of a database, such as\n\t\t\t\tmysql or redis. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The dnsName is the name that you use in the applications of client tasks\n\t\t\tto connect to this service. The name must be a valid DNS name but doesn't need to be\n\t\t\tfully-qualified. The name can include up to 127 characters. The name can include\n\t\t\tlowercase letters, numbers, underscores (_), hyphens (-), and periods (.). The name\n\t\t\tcan't start with a hyphen.

\n

If this parameter isn't specified, the default value of\n\t\t\t\tdiscoveryName.namespace is used. If the discoveryName\n\t\t\tisn't specified, the port mapping name from the task definition is used in\n\t\t\t\tportName.namespace.

\n

To avoid changing your applications in client Amazon ECS services, set this to the\n\t\t\tsame name that the client application uses by default. For example, a few common names\n\t\t\tare database, db, or the lowercase name of a database, such as\n\t\t\t\tmysql or redis. For more information, see Service Connect in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "testTrafficRules": { @@ -12323,7 +12432,7 @@ } }, "traits": { - "smithy.api#documentation": "

Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks\n\t\t\t(\"clients\") can use to connect to this service.

\n

Each name and port mapping must be unique within the namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Each alias (\"endpoint\") is a fully-qualified name and port number that other tasks\n\t\t\t(\"clients\") can use to connect to this service.

\n

Each name and port mapping must be unique within the namespace.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "com.amazonaws.ecs#ServiceConnectClientAliasList": { @@ -12346,21 +12455,47 @@ "namespace": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace for use with Service Connect. The namespace must be in\n\t\t\tthe same Amazon Web Services Region as the Amazon ECS service and cluster. The type of namespace doesn't\n\t\t\taffect Service Connect. For more information about Cloud Map, see Working\n\t\t\t\twith Services in the Cloud Map Developer Guide.

" + "smithy.api#documentation": "

The namespace name or full Amazon Resource Name (ARN) of the Cloud Map namespace for use\n\t\t\twith Service Connect. The namespace must be in the same Amazon Web Services Region as the\n\t\t\tAmazon ECS service and cluster. The type of namespace doesn't affect Service Connect.\n\t\t\tFor more information about Cloud Map, see Working with Services\n\t\t\tin the Cloud Map Developer Guide.

" } }, "services": { "target": "com.amazonaws.ecs#ServiceConnectServiceList", "traits": { - "smithy.api#documentation": "

The list of Service Connect service objects. These are names and aliases (also known\n\t\t\tas endpoints) that are used by other Amazon ECS services to connect to this service.\n\t\t\t

\n

This field is not required for a \"client\" Amazon ECS service that's a member of a namespace\n\t\t\tonly to connect to other services within the namespace. An example of this would be a\n\t\t\tfrontend application that accepts incoming requests from either a load balancer that's\n\t\t\tattached to the service or by other means.

\n

An object selects a port from the task definition, assigns a name for the Cloud Map\n\t\t\tservice, and a list of aliases (endpoints) and ports for client applications to refer to\n\t\t\tthis service.

" + "smithy.api#documentation": "

The list of Service Connect service objects. These are names and aliases (also known\n\t\t\tas endpoints) that are used by other Amazon ECS services to connect to this service.\n\t\t\t

\n

This field is not required for a \"client\" Amazon ECS service that's a member of a\n\t\t\tnamespace only to connect to other services within the namespace. An example of this\n\t\t\twould be a frontend application that accepts incoming requests from either a load\n\t\t\tbalancer that's attached to the service or by other means.

\n

An object selects a port from the task definition, assigns a name for the Cloud Map\n\t\t\tservice, and a list of aliases (endpoints) and ports for client applications to refer to\n\t\t\tthis service.

" } }, "logConfiguration": { "target": "com.amazonaws.ecs#LogConfiguration" + }, + "accessLogConfiguration": { + "target": "com.amazonaws.ecs#ServiceConnectAccessLogConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for Service Connect access logging. Access logs capture detailed\n\t\t\tinformation about requests made to your service, including request patterns, response\n\t\t\tcodes, and timing data. They can be useful for debugging connectivity issues, monitoring\n\t\t\tservice performance, and auditing service-to-service communication for security and\n\t\t\tcompliance purposes.

\n \n

To enable access logs, you must also specify a logConfiguration in the serviceConnectConfiguration.

\n
" + } } }, "traits": { - "smithy.api#documentation": "

The Service Connect configuration of your Amazon ECS service. The configuration for this\n\t\t\tservice to discover and connect to services, and be discovered by, and connected from,\n\t\t\tother services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Service Connect configuration of your Amazon ECS service. The configuration for\n\t\t\tthis service to discover and connect to services, and be discovered by, and connected\n\t\t\tfrom, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + } + }, + "com.amazonaws.ecs#ServiceConnectIncludeQueryParameters": { + "type": "enum", + "members": { + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + } + }, + "traits": { + "smithy.api#documentation": "

Controls whether query parameters are included in Service Connect access logs.\n\t\t\tConsider security and privacy implications when enabling this feature. By default, this\n\t\t\tparameter is DISABLED.

" } }, "com.amazonaws.ecs#ServiceConnectService": { @@ -12376,25 +12511,25 @@ "discoveryName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates\n\t\t\tfor this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters,\n\t\t\tnumbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

\n

If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" + "smithy.api#documentation": "

The discoveryName is the name of the new Cloud Map service that Amazon ECS\n\t\t\tcreates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The\n\t\t\tname can contain up to 64 characters. The name can include lowercase letters, numbers,\n\t\t\tunderscores (_), and hyphens (-). The name can't start with a hyphen.

\n

If the discoveryName isn't specified, the port mapping name from the task\n\t\t\tdefinition is used in portName.namespace.

" } }, "clientAliases": { "target": "com.amazonaws.ecs#ServiceConnectClientAliasList", "traits": { - "smithy.api#documentation": "

The list of client aliases for this Service Connect service. You use these to assign\n\t\t\tnames that can be used by client applications. The maximum number of client aliases that\n\t\t\tyou can have in this list is 1.

\n

Each alias (\"endpoint\") is a fully-qualified name and port number that other Amazon ECS\n\t\t\ttasks (\"clients\") can use to connect to this service.

\n

Each name and port mapping must be unique within the namespace.

\n

For each ServiceConnectService, you must provide at least one\n\t\t\t\tclientAlias with one port.

" + "smithy.api#documentation": "

The list of client aliases for this Service Connect service. You use these to assign\n\t\t\tnames that can be used by client applications. The maximum number of client aliases that\n\t\t\tyou can have in this list is 1.

\n

Each alias (\"endpoint\") is a fully-qualified name and port number that other Amazon\n\t\t\tECS tasks (\"clients\") can use to connect to this service.

\n

Each name and port mapping must be unique within the namespace.

\n

For each ServiceConnectService, you must provide at least one\n\t\t\t\tclientAlias with one port.

" } }, "ingressPortOverride": { "target": "com.amazonaws.ecs#PortNumber", "traits": { - "smithy.api#documentation": "

The port number for the Service Connect proxy to listen on.

\n

Use the value of this field to bypass the proxy for traffic on the port number\n\t\t\tspecified in the named portMapping in the task definition of this\n\t\t\tapplication, and then use it in your VPC security groups to allow traffic into the proxy\n\t\t\tfor this Amazon ECS service.

\n

In awsvpc mode and Fargate, the default value is the container port\n\t\t\tnumber. The container port number is in the portMapping in the task\n\t\t\tdefinition. In bridge mode, the default value is the ephemeral port of the\n\t\t\tService Connect proxy.

" + "smithy.api#documentation": "

The port number for the Service Connect proxy to listen on.

\n

Use the value of this field to bypass the proxy for traffic on the port number\n\t\t\tspecified in the named portMapping in the task definition of this\n\t\t\tapplication, and then use it in your VPC security groups to allow traffic into the proxy\n\t\t\tfor this Amazon ECS service.

\n

In awsvpc mode and Fargate, the default value is the container port\n\t\t\tnumber. The container port number is in the portMapping in the task\n\t\t\tdefinition. In bridge mode, the default value is the ephemeral port of the Service\n\t\t\tConnect proxy.

" } }, "timeout": { "target": "com.amazonaws.ecs#TimeoutConfiguration", "traits": { - "smithy.api#documentation": "

A reference to an object that represents the configured timeouts for\n\t\t\tService Connect.

" + "smithy.api#documentation": "

A reference to an object that represents the configured timeouts for Service\n\t\t\tConnect.

" } }, "tls": { @@ -12405,7 +12540,7 @@ } }, "traits": { - "smithy.api#documentation": "

The Service Connect service object configuration. For more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Service Connect service object configuration. For more information, see Service Connect in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "com.amazonaws.ecs#ServiceConnectServiceList": { @@ -12420,18 +12555,18 @@ "discoveryName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The discovery name of this Service Connect resource.

\n

The discoveryName is the name of the new Cloud Map service that Amazon ECS creates\n\t\t\tfor this Amazon ECS service. This must be unique within the Cloud Map namespace. The name can contain up to 64 characters. The name can include lowercase letters,\n\t\t\tnumbers, underscores (_), and hyphens (-). The name can't start with a hyphen.

\n

If the discoveryName isn't specified, the port mapping name from the task definition is used in portName.namespace.

" + "smithy.api#documentation": "

The discovery name of this Service Connect resource.

\n

The discoveryName is the name of the new Cloud Map service that Amazon ECS\n\t\t\tcreates for this Amazon ECS service. This must be unique within the Cloud Map namespace. The\n\t\t\tname can contain up to 64 characters. The name can include lowercase letters, numbers,\n\t\t\tunderscores (_), and hyphens (-). The name can't start with a hyphen.

\n

If the discoveryName isn't specified, the port mapping name from the task\n\t\t\tdefinition is used in portName.namespace.

" } }, "discoveryArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the service in Cloud Map that matches the discovery name for this\n\t\t\tService Connect resource. You can use this ARN in other integrations with Cloud Map.\n\t\t\tHowever, Service Connect can't ensure connectivity outside of Amazon ECS.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the service in Cloud Map that matches the\n\t\t\tdiscovery name for this Service Connect resource. You can use this ARN in other\n\t\t\tintegrations with Cloud\n\t\t\t\tMap. However, Service Connect can't ensure connectivity outside of Amazon\n\t\t\tECS.

" } } }, "traits": { - "smithy.api#documentation": "

The Service Connect resource. Each configuration maps a discovery name to a\n\t\t\tCloud Map service name. The data is stored in Cloud Map as part of the\n\t\t\tService Connect configuration for each discovery name of this Amazon ECS service.

\n

A task can resolve the dnsName for each of the clientAliases\n\t\t\tof a service. However a task can't resolve the discovery names. If you want to connect\n\t\t\tto a service, refer to the ServiceConnectConfiguration of that service for\n\t\t\tthe list of clientAliases that you can use.

" + "smithy.api#documentation": "

The Service Connect resource. Each configuration maps a discovery name to a Cloud Map\n\t\t\tservice name. The data is stored in Cloud Map as part of the Service Connect\n\t\t\tconfiguration for each discovery name of this Amazon ECS service.

\n

A task can resolve the dnsName for each of the clientAliases\n\t\t\tof a service. However a task can't resolve the discovery names. If you want to connect\n\t\t\tto a service, refer to the ServiceConnectConfiguration of that service for\n\t\t\tthe list of clientAliases that you can use.

" } }, "com.amazonaws.ecs#ServiceConnectServiceResourceList": { @@ -12497,7 +12632,7 @@ "awsPcaAuthorityArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The ARN of the Amazon Web Services Private Certificate Authority certificate.

" + "smithy.api#documentation": "

The ARN of the Amazon\n\t\t\t\tWeb Services Private Certificate Authority certificate.

" } } }, @@ -12518,13 +12653,13 @@ "kmsKey": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Web Services Key Management Service key.

" + "smithy.api#documentation": "

The Amazon Web\n\t\t\t\tServices Key Management Service key.

" } }, "roleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that's associated with the Service Connect TLS.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that's associated with the Service\n\t\t\tConnect TLS.

" } } }, @@ -12636,7 +12771,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about the service deployment.

\n

Service deployments provide a comprehensive view of your deployments. For information\n\t\t\tabout service deployments, see View service history using Amazon ECS service deployments in the\n\t\t\t\n Amazon Elastic Container Service Developer Guide\n .

" + "smithy.api#documentation": "

Information about the service deployment.

\n

Service deployments provide a comprehensive view of your deployments. For information\n\t\t\tabout service deployments, see View service history\n\t\t\t\tusing Amazon ECS service deployments in the \n Amazon\n\t\t\t\t\tElastic Container Service Developer Guide\n .

" } }, "com.amazonaws.ecs#ServiceDeploymentAlarms": { @@ -12831,7 +12966,7 @@ } }, "traits": { - "smithy.api#documentation": "

The service deploy ARN that you specified in the StopServiceDeployment doesn't exist. You can use ListServiceDeployments to retrieve the service deployment ARNs.

", + "smithy.api#documentation": "

The service deploy ARN that you specified in the StopServiceDeployment\n\t\t\tdoesn't exist. You can use ListServiceDeployments to retrieve the service\n\t\t\tdeployment ARNs.

", "smithy.api#error": "client" } }, @@ -12996,73 +13131,73 @@ "encrypted": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS\n\t\t\tencryption by default but set this value as false, the setting is\n\t\t\toverridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption\n\t\t\tby default. This parameter maps 1:1 with the Encrypted parameter of the\n\t\t\t\tCreateVolume API in the Amazon EC2 API Reference.

" + "smithy.api#documentation": "

Indicates whether the volume should be encrypted. If you turn on Region-level Amazon\n\t\t\tEBS encryption by default but set this value as false, the setting is\n\t\t\toverridden and the volume is encrypted with the KMS key specified for Amazon EBS\n\t\t\tencryption by default. This parameter maps 1:1 with the Encrypted parameter\n\t\t\tof the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference.

" } }, "kmsKeyId": { "target": "com.amazonaws.ecs#EBSKMSKeyId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key to use for Amazon EBS encryption. When a key\n\t\t\tis specified using this parameter, it overrides Amazon EBS default encryption or any KMS key\n\t\t\tthat you specified for cluster-level managed storage encryption. This parameter maps 1:1\n\t\t\twith the KmsKeyId parameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference. For more information about encrypting\n\t\t\tAmazon EBS volumes attached to tasks, see Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks.

\n \n

Amazon Web Services authenticates the Amazon Web Services Key Management Service key asynchronously. Therefore, if you specify an\n\t\t\t\tID, alias, or ARN that is invalid, the action can appear to complete, but\n\t\t\t\teventually fails.

\n
" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key\n\t\t\tto use for Amazon EBS encryption. When a key is specified using this parameter, it\n\t\t\toverrides Amazon EBS default encryption or any KMS key that you specified for\n\t\t\tcluster-level managed storage encryption. This parameter maps 1:1 with the\n\t\t\t\tKmsKeyId parameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference. For more information about encrypting\n\t\t\tAmazon EBS volumes attached to tasks, see Encrypt data stored in Amazon EBS volumes attached to Amazon ECS\n\t\t\ttasks.

\n \n

Amazon Web\n\t\t\t\t\tServices authenticates the Amazon Web Services Key Management Service\n\t\t\t\tkey asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid,\n\t\t\t\tthe action can appear to complete, but eventually fails.

\n
" } }, "volumeType": { "target": "com.amazonaws.ecs#EBSVolumeType", "traits": { - "smithy.api#documentation": "

The volume type. This parameter maps 1:1 with the VolumeType parameter of\n\t\t\tthe CreateVolume API in the Amazon EC2 API Reference. For more\n\t\t\tinformation, see Amazon EBS volume types in\n\t\t\tthe Amazon EC2 User Guide.

\n

The following are the supported volume types.

\n
    \n
  • \n

    General Purpose SSD: gp2|gp3\n

    \n
  • \n
  • \n

    Provisioned IOPS SSD: io1|io2\n

    \n
  • \n
  • \n

    Throughput Optimized HDD: st1\n

    \n
  • \n
  • \n

    Cold HDD: sc1\n

    \n
  • \n
  • \n

    Magnetic: standard\n

    \n \n

    The magnetic volume type is not supported on Fargate.

    \n
    \n
  • \n
" + "smithy.api#documentation": "

The volume type. This parameter maps 1:1 with the VolumeType parameter of\n\t\t\tthe CreateVolume API in the Amazon EC2 API Reference. For\n\t\t\tmore information, see Amazon EBS volume types\n\t\t\tin the Amazon EC2 User Guide.

\n

The following are the supported volume types.

\n
    \n
  • \n

    General Purpose SSD: gp2|gp3\n

    \n
  • \n
  • \n

    Provisioned IOPS SSD: io1|io2\n

    \n
  • \n
  • \n

    Throughput Optimized HDD: st1\n

    \n
  • \n
  • \n

    Cold HDD: sc1\n

    \n
  • \n
  • \n

    Magnetic: standard\n

    \n \n

    The magnetic volume type is not supported on Fargate.

    \n
    \n
  • \n
" } }, "sizeInGiB": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The size of the volume in GiB. You must specify either a volume size or a snapshot ID.\n\t\t\tIf you specify a snapshot ID, the snapshot size is used for the volume size by default.\n\t\t\tYou can optionally specify a volume size greater than or equal to the snapshot size.\n\t\t\tThis parameter maps 1:1 with the Size parameter of the CreateVolume API in the Amazon EC2 API Reference.

\n

The following are the supported volume size values for each volume type.

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" + "smithy.api#documentation": "

The size of the volume in GiB. You must specify either a volume size or a snapshot ID.\n\t\t\tIf you specify a snapshot ID, the snapshot size is used for the volume size by default.\n\t\t\tYou can optionally specify a volume size greater than or equal to the snapshot size.\n\t\t\tThis parameter maps 1:1 with the Size parameter of the CreateVolume API in the Amazon EC2 API\n\t\t\tReference.

\n

The following are the supported volume size values for each volume type.

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" } }, "snapshotId": { "target": "com.amazonaws.ecs#EBSSnapshotId", "traits": { - "smithy.api#documentation": "

The snapshot that Amazon ECS uses to create volumes for attachment to tasks maintained by\n\t\t\tthe service. You must specify either snapshotId or sizeInGiB\n\t\t\tin your volume configuration. This parameter maps 1:1 with the SnapshotId\n\t\t\tparameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference.

" + "smithy.api#documentation": "

The snapshot that Amazon ECS uses to create volumes for attachment to tasks maintained\n\t\t\tby the service. You must specify either snapshotId or\n\t\t\t\tsizeInGiB in your volume configuration. This parameter maps 1:1 with\n\t\t\tthe SnapshotId parameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference.

" } }, "volumeInitializationRate": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The rate, in MiB/s, at which data is fetched from a snapshot of an existing EBS volume\n\t\t\tto create new volumes for attachment to the tasks maintained by the service. This\n\t\t\tproperty can be specified only if you specify a snapshotId. For more\n\t\t\tinformation, see Initialize Amazon EBS volumes in the Amazon EBS User\n\t\t\t\tGuide.

" + "smithy.api#documentation": "

The rate, in MiB/s, at which data is fetched from a snapshot of an existing EBS volume\n\t\t\tto create new volumes for attachment to the tasks maintained by the service. This\n\t\t\tproperty can be specified only if you specify a snapshotId. For more\n\t\t\tinformation, see Initialize Amazon EBS\n\t\t\t\tvolumes in the Amazon EBS User Guide.

" } }, "iops": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3,\n\t\t\tio1, and io2 volumes, this represents the number of IOPS that\n\t\t\tare provisioned for the volume. For gp2 volumes, this represents the\n\t\t\tbaseline performance of the volume and the rate at which the volume accumulates I/O\n\t\t\tcredits for bursting.

\n

The following are the supported values for each volume type.

\n
    \n
  • \n

    \n gp3: 3,000 - 16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n

This parameter is required for io1 and io2 volume types. The\n\t\t\tdefault for gp3 volumes is 3,000 IOPS. This parameter is not\n\t\t\tsupported for st1, sc1, or standard volume\n\t\t\ttypes.

\n

This parameter maps 1:1 with the Iops parameter of the CreateVolume API in the Amazon EC2 API Reference.

" + "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3,\n\t\t\tio1, and io2 volumes, this represents the number of IOPS that\n\t\t\tare provisioned for the volume. For gp2 volumes, this represents the\n\t\t\tbaseline performance of the volume and the rate at which the volume accumulates I/O\n\t\t\tcredits for bursting.

\n

The following are the supported values for each volume type.

\n
    \n
  • \n

    \n gp3: 3,000 - 16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n

This parameter is required for io1 and io2 volume types. The\n\t\t\tdefault for gp3 volumes is 3,000 IOPS. This parameter is not\n\t\t\tsupported for st1, sc1, or standard volume\n\t\t\ttypes.

\n

This parameter maps 1:1 with the Iops parameter of the CreateVolume API in the Amazon EC2 API\n\t\t\tReference.

" } }, "throughput": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.\n\t\t\tThis parameter maps 1:1 with the Throughput parameter of the CreateVolume API in the Amazon EC2 API Reference.

\n \n

This parameter is only supported for the gp3 volume type.

\n
" + "smithy.api#documentation": "

The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.\n\t\t\tThis parameter maps 1:1 with the Throughput parameter of the CreateVolume API in the Amazon EC2 API\n\t\t\tReference.

\n \n

This parameter is only supported for the gp3 volume type.

\n
" } }, "tagSpecifications": { "target": "com.amazonaws.ecs#EBSTagSpecifications", "traits": { - "smithy.api#documentation": "

The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This\n\t\t\tparameter maps 1:1 with the TagSpecifications.N parameter of the CreateVolume API in the Amazon EC2 API Reference.

" + "smithy.api#documentation": "

The tags to apply to the volume. Amazon ECS applies service-managed tags by default.\n\t\t\tThis parameter maps 1:1 with the TagSpecifications.N parameter of the\n\t\t\t\tCreateVolume API in the Amazon EC2 API\n\t\t\tReference.

" } }, "roleArn": { "target": "com.amazonaws.ecs#IAMRoleArn", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role to associate with this volume. This is the Amazon ECS\n\t\t\tinfrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We recommend\n\t\t\tusing the Amazon ECS-managed AmazonECSInfrastructureRolePolicyForVolumes IAM\n\t\t\tpolicy with this role. For more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\tGuide.

", + "smithy.api#documentation": "

The ARN of the IAM role to associate with this volume. This is the Amazon ECS\n\t\t\tinfrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We\n\t\t\trecommend using the Amazon ECS-managed\n\t\t\t\tAmazonECSInfrastructureRolePolicyForVolumes IAM policy with this role.\n\t\t\tFor more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, "filesystemType": { "target": "com.amazonaws.ecs#TaskFilesystemType", "traits": { - "smithy.api#documentation": "

The filesystem type for the volume. For volumes created from a snapshot, you must\n\t\t\tspecify the same filesystem type that the volume was using when the snapshot was\n\t\t\tcreated. If there is a filesystem type mismatch, the tasks will fail to start.

\n

The available Linux filesystem types are\u2028 ext3, ext4, and\n\t\t\t\txfs. If no value is specified, the xfs filesystem type is\n\t\t\tused by default.

\n

The available Windows filesystem types are NTFS.

" + "smithy.api#documentation": "

The filesystem type for the volume. For volumes created from a snapshot, you must\n\t\t\tspecify the same filesystem type that the volume was using when the snapshot was\n\t\t\tcreated. If there is a filesystem type mismatch, the tasks will fail to start.

\n

The available Linux filesystem types are\u2028 ext3, ext4,\n\t\t\tand xfs. If no value is specified, the xfs filesystem type is\n\t\t\tused by default.

\n

The available Windows filesystem types are NTFS.

" } } }, "traits": { - "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.\n\t\t\tThese settings are used to create each Amazon EBS volume, with one volume created for each\n\t\t\ttask in the service. For information about the supported launch types and operating\n\t\t\tsystems, see Supported operating systems and launch types in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

\n

Many of these parameters map 1:1 with the Amazon EBS CreateVolume API request\n\t\t\tparameters.

" + "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on\n\t\t\tyour behalf. These settings are used to create each Amazon EBS volume, with one volume\n\t\t\tcreated for each task in the service. For information about the supported launch types\n\t\t\tand operating systems, see Supported operating systems and launch types in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

\n

Many of these parameters map 1:1 with the Amazon EBS CreateVolume API\n\t\t\trequest parameters.

" } }, "com.amazonaws.ecs#ServiceNotActiveException": { @@ -13107,7 +13242,7 @@ "registryArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service registry. The currently supported service registry is\n\t\t\tCloud Map. For more information, see CreateService.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the service registry. The currently supported\n\t\t\tservice registry is Cloud Map. For more information, see CreateService.

" } }, "port": { @@ -13130,7 +13265,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details for the service registry.

\n

Each service may be associated with one service registry. Multiple service registries\n\t\t\tfor each service are not supported.

\n

When you add, update, or remove the service registries configuration, Amazon ECS starts a\n\t\t\tnew deployment. New tasks are registered and deregistered to the updated service\n\t\t\tregistry configuration.

" + "smithy.api#documentation": "

The details for the service registry.

\n

Each service may be associated with one service registry. Multiple service registries\n\t\t\tfor each service are not supported.

\n

When you add, update, or remove the service registries configuration, Amazon ECS\n\t\t\tstarts a new deployment. New tasks are registered and deregistered to the updated\n\t\t\tservice registry configuration.

" } }, "com.amazonaws.ecs#ServiceRevision": { @@ -13244,7 +13379,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about the service revision.

\n

A service revision contains a record of the workload configuration Amazon ECS is attempting\n\t\t\tto deploy. Whenever you create or deploy a service, Amazon ECS automatically creates and\n\t\t\tcaptures the configuration that you're trying to deploy in the service revision. For\n\t\t\tinformation about service revisions, see Amazon ECS service\n\t\t\t\trevisions in the \n Amazon Elastic Container Service Developer Guide\n .

" + "smithy.api#documentation": "

Information about the service revision.

\n

A service revision contains a record of the workload configuration Amazon ECS is\n\t\t\tattempting to deploy. Whenever you create or deploy a service, Amazon ECS automatically\n\t\t\tcreates and captures the configuration that you're trying to deploy in the service\n\t\t\trevision. For information about service revisions, see Amazon ECS service\n\t\t\t\trevisions in the \n Amazon Elastic Container Service\n\t\t\t\t\tDeveloper Guide\n .

" } }, "com.amazonaws.ecs#ServiceRevisionLoadBalancer": { @@ -13302,6 +13437,20 @@ "smithy.api#default": 0, "smithy.api#documentation": "

The number of pending tasks for the service revision.

" } + }, + "requestedTestTrafficWeight": { + "target": "com.amazonaws.ecs#Double", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The percentage of test traffic that is directed to this service revision. This value\n\t\t\trepresents a snapshot of the traffic distribution and may not reflect real-time changes\n\t\t\tduring active deployments. Valid values are 0.0 to 100.0.

" + } + }, + "requestedProductionTrafficWeight": { + "target": "com.amazonaws.ecs#Double", + "traits": { + "smithy.api#default": null, + "smithy.api#documentation": "

The percentage of production traffic that is directed to this service revision. This\n\t\t\tvalue represents a snapshot of the traffic distribution and may not reflect real-time\n\t\t\tchanges during active deployments. Valid values are 0.0 to 100.0.

" + } } }, "traits": { @@ -13333,7 +13482,7 @@ "managedEBSVolume": { "target": "com.amazonaws.ecs#ServiceManagedEBSVolumeConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.\n\t\t\tThese settings are used to create each Amazon EBS volume, with one volume created for each\n\t\t\ttask in the service. The Amazon EBS volumes are visible in your account in the Amazon EC2 console\n\t\t\tonce they are created.

" + "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on\n\t\t\tyour behalf. These settings are used to create each Amazon EBS volume, with one volume\n\t\t\tcreated for each task in the service. The Amazon EBS volumes are visible in your account\n\t\t\tin the Amazon EC2 console once they are created.

" } } }, @@ -13403,7 +13552,7 @@ "type": { "target": "com.amazonaws.ecs#SettingType", "traits": { - "smithy.api#documentation": "

Indicates whether Amazon Web Services manages the account setting, or if the user manages it.

\n

\n aws_managed account settings are read-only, as Amazon Web Services manages such on the\n\t\t\tcustomer's behalf. Currently, the guardDutyActivate account setting is the\n\t\t\tonly one Amazon Web Services manages.

" + "smithy.api#documentation": "

Indicates whether Amazon Web Services manages the account setting, or if the user manages\n\t\t\tit.

\n

\n aws_managed account settings are read-only, as Amazon Web Services manages such\n\t\t\ton the customer's behalf. Currently, the guardDutyActivate account setting\n\t\t\tis the only one Amazon\n\t\t\t\tWeb Services manages.

" } } }, @@ -13559,7 +13708,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

\n
\n \n

Amazon Elastic Inference (EI) is no longer available to customers.

\n
\n

Alternatively, you can useRunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic Container Service Developer Guide.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when creating or\n\t\t\tupdating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Starts a new task from the specified task definition on the specified container\n\t\t\tinstance or instances.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision\n\t\t\t\tbefore authorization. When a task definition revision is not specified,\n\t\t\t\tauthorization will occur using the latest revision of a task definition.

\n
\n \n

Amazon Elastic Inference (EI) is no longer available to customers.

\n
\n

Alternatively, you can useRunTask to place tasks for you. For more\n\t\t\tinformation, see Scheduling Tasks in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when\n\t\t\tcreating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

", "smithy.api#examples": [ { "title": "To start a new task", @@ -13620,7 +13769,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster where to start your task.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster where to start your\n\t\t\ttask. If you do not specify a cluster, the default cluster is assumed.

" } }, "containerInstances": { @@ -13634,7 +13783,7 @@ "target": "com.amazonaws.ecs#Boolean", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

Specifies whether to use Amazon ECS managed tags for the task. For more information, see\n\t\t\t\tTagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Specifies whether to use Amazon ECS managed tags for the task. For more information,\n\t\t\tsee Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "enableExecuteCommand": { @@ -13653,7 +13802,7 @@ "networkConfiguration": { "target": "com.amazonaws.ecs#NetworkConfiguration", "traits": { - "smithy.api#documentation": "

The VPC subnet and security group configuration for tasks that receive their own\n elastic network interface by using the awsvpc networking mode.

" + "smithy.api#documentation": "

The VPC subnet and security group configuration for tasks that receive their own\n\t\t\telastic network interface by using the awsvpc networking mode.

" } }, "overrides": { @@ -13671,7 +13820,7 @@ "referenceId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

This parameter is only used by Amazon ECS. It is not intended for use by customers.

" + "smithy.api#documentation": "

This parameter is only used by Amazon ECS. It is not intended for use by\n\t\t\tcustomers.

" } }, "startedBy": { @@ -13683,7 +13832,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize them. Each\n\t\t\ttag consists of a key and an optional value, both of which you define.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "taskDefinition": { @@ -13762,7 +13911,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops an ongoing service deployment.

\n

The following stop types are avaiable:

\n
    \n
  • \n

    ROLLBACK - This option rolls back the service deployment to the previous\n\t\t\t\t\tservice revision.

    \n

    You can use this option even if you didn't configure the service deployment\n\t\t\t\t\tfor the rollback option.

    \n
  • \n
\n

For more information, see Stopping Amazon ECS\n\t\t\t\tservice deployments in the Amazon Elastic Container Service Developer\n\t\t\tGuide.

", + "smithy.api#documentation": "

Stops an ongoing service deployment.

\n

The following stop types are avaiable:

\n
    \n
  • \n

    ROLLBACK - This option rolls back the service deployment to the previous\n\t\t\t\t\tservice revision.

    \n

    You can use this option even if you didn't configure the service deployment\n\t\t\t\t\tfor the rollback option.

    \n
  • \n
\n

For more information, see Stopping Amazon\n\t\t\t\tECS service deployments in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

", "smithy.api#examples": [ { "title": "To stop a service deployment", @@ -13853,7 +14002,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops a running task. Any tags associated with the task will be deleted.

\n

When you call StopTask on a task, the equivalent of docker\n\t\t\t\tstop is issued to the containers running in the task. This results in a\n\t\t\t\tSIGTERM value and a default 30-second timeout, after which the\n\t\t\t\tSIGKILL value is sent and the containers are forcibly stopped. If the\n\t\t\tcontainer handles the SIGTERM value gracefully and exits within 30 seconds\n\t\t\tfrom receiving it, no SIGKILL value is sent.

\n

For Windows containers, POSIX signals do not work and runtime stops the container by\n\t\t\tsending a CTRL_SHUTDOWN_EVENT. For more information, see Unable to react to graceful shutdown\n\t\t\t\tof (Windows) container #25982 on GitHub.

\n \n

The default 30-second timeout can be configured on the Amazon ECS container agent with\n\t\t\t\tthe ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see\n\t\t\t\t\tAmazon ECS Container Agent Configuration in the\n\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n
", + "smithy.api#documentation": "

Stops a running task. Any tags associated with the task will be deleted.

\n

When you call StopTask on a task, the equivalent of docker\n\t\t\t\tstop is issued to the containers running in the task. This results in a\n\t\t\t\tSIGTERM value and a default 30-second timeout, after which the\n\t\t\t\tSIGKILL value is sent and the containers are forcibly stopped. If the\n\t\t\tcontainer handles the SIGTERM value gracefully and exits within 30 seconds\n\t\t\tfrom receiving it, no SIGKILL value is sent.

\n

For Windows containers, POSIX signals do not work and runtime stops the container by\n\t\t\tsending a CTRL_SHUTDOWN_EVENT. For more information, see Unable to react to graceful shutdown\n\t\t\t\tof (Windows) container #25982 on GitHub.

\n \n

The default 30-second timeout can be configured on the Amazon ECS container agent\n\t\t\t\twith the ECS_CONTAINER_STOP_TIMEOUT variable. For more information, see\n\t\t\t\t\tAmazon ECS Container Agent Configuration in the\n\t\t\t\t\tAmazon Elastic Container Service Developer Guide.

\n
", "smithy.api#examples": [ { "title": "To stop a task", @@ -13921,7 +14070,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task to stop.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task\n\t\t\tto stop. If you do not specify a cluster, the default cluster is assumed.

" } }, "task": { @@ -13997,7 +14146,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Sent to acknowledge that an attachment changed states.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use\n\t\t\t\toutside of the agent.

\n
\n

Sent to acknowledge that an attachment changed states.

" } }, "com.amazonaws.ecs#SubmitAttachmentStateChangesRequest": { @@ -14055,7 +14204,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Sent to acknowledge that a container changed states.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use\n\t\t\t\toutside of the agent.

\n
\n

Sent to acknowledge that a container changed states.

" } }, "com.amazonaws.ecs#SubmitContainerStateChangeRequest": { @@ -14070,7 +14219,7 @@ "task": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The task ID or full Amazon Resource Name (ARN) of the task that hosts the container.

" + "smithy.api#documentation": "

The task ID or full Amazon Resource Name (ARN) of the task that hosts the\n\t\t\tcontainer.

" } }, "containerName": { @@ -14151,7 +14300,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use outside of the agent.

\n
\n

Sent to acknowledge that a task changed states.

" + "smithy.api#documentation": "\n

This action is only used by the Amazon ECS agent, and it is not intended for use\n\t\t\t\toutside of the agent.

\n
\n

Sent to acknowledge that a task changed states.

" } }, "com.amazonaws.ecs#SubmitTaskStateChangeRequest": { @@ -14160,7 +14309,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the task.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\ttask.

" } }, "task": { @@ -14253,7 +14402,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the docker container create command and the\n\t\t\t\t--sysctl option to docker run. For example, you can configure\n\t\t\t\tnet.ipv4.tcp_keepalive_time setting to maintain longer lived\n\t\t\tconnections.

\n

We don't recommend that you specify network-related systemControls\n\t\t\tparameters for multiple containers in a single task that also uses either the\n\t\t\t\tawsvpc or host network mode. Doing this has the following\n\t\t\tdisadvantages:

\n
    \n
  • \n

    For tasks that use the awsvpc network mode including Fargate,\n\t\t\t\t\tif you set systemControls for any container, it applies to all\n\t\t\t\t\tcontainers in the task. If you set different systemControls for\n\t\t\t\t\tmultiple containers in a single task, the container that's started last\n\t\t\t\t\tdetermines which systemControls take effect.

    \n
  • \n
  • \n

    For tasks that use the host network mode, the network namespace\n\t\t\t\t\t\tsystemControls aren't supported.

    \n
  • \n
\n

If you're setting an IPC resource namespace to use for the containers in the task, the\n\t\t\tfollowing conditions apply to your system controls. For more information, see IPC mode.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace\n\t\t\t\t\t\tsystemControls aren't supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace\n\t\t\t\t\t\tsystemControls values apply to all containers within a\n\t\t\t\t\ttask.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers.

\n
\n \n

This parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0 or later\n (Linux). This isn't supported for Windows containers on\n Fargate.

\n
" + "smithy.api#documentation": "

A list of namespaced kernel parameters to set in the container. This parameter maps to\n\t\t\t\tSysctls in the docker container create command and the\n\t\t\t\t--sysctl option to docker run. For example, you can configure\n\t\t\t\tnet.ipv4.tcp_keepalive_time setting to maintain longer lived\n\t\t\tconnections.

\n

We don't recommend that you specify network-related systemControls\n\t\t\tparameters for multiple containers in a single task that also uses either the\n\t\t\t\tawsvpc or host network mode. Doing this has the following\n\t\t\tdisadvantages:

\n
    \n
  • \n

    For tasks that use the awsvpc network mode including Fargate, if\n\t\t\t\t\tyou set systemControls for any container, it applies to all\n\t\t\t\t\tcontainers in the task. If you set different systemControls for\n\t\t\t\t\tmultiple containers in a single task, the container that's started last\n\t\t\t\t\tdetermines which systemControls take effect.

    \n
  • \n
  • \n

    For tasks that use the host network mode, the network namespace\n\t\t\t\t\t\tsystemControls aren't supported.

    \n
  • \n
\n

If you're setting an IPC resource namespace to use for the containers in the task, the\n\t\t\tfollowing conditions apply to your system controls. For more information, see IPC mode.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace\n\t\t\t\t\t\tsystemControls aren't supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace\n\t\t\t\t\t\tsystemControls values apply to all containers within a\n\t\t\t\t\ttask.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers.

\n
\n \n

This parameter is only supported for tasks that are hosted on Fargate if\n\t\t\t\tthe tasks are using platform version 1.4.0 or later (Linux). This isn't\n\t\t\t\tsupported for Windows containers on Fargate.

\n
" } }, "com.amazonaws.ecs#SystemControls": { @@ -14279,7 +14428,7 @@ } }, "traits": { - "smithy.api#documentation": "

The metadata that you apply to a resource to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define them.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to a resource to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define them.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "com.amazonaws.ecs#TagKey": { @@ -14349,14 +14498,14 @@ "resourceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the supported resources are\n\t\t\tAmazon ECS capacity providers, tasks, services, task definitions, clusters, and container\n\t\t\tinstances.

\n

In order to tag a service that has the following ARN format, you need to migrate the\n\t\t\tservice to the long ARN. For more information, see Migrate an Amazon ECS short service ARN to a long ARN in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

\n

\n arn:aws:ecs:region:aws_account_id:service/service-name\n

\n

After the migration is complete, the service has the long ARN format, as shown below. Use this ARN to tag the service.

\n

\n arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name\n

\n

If you try to tag a service with a short ARN, you receive an\n\t\t\t\tInvalidParameterException error.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to add tags to. Currently, the\n\t\t\tsupported resources are Amazon ECS capacity providers, tasks, services, task\n\t\t\tdefinitions, clusters, and container instances.

\n

In order to tag a service that has the following ARN format, you need to migrate the\n\t\t\tservice to the long ARN. For more information, see Migrate an Amazon\n\t\t\t\tECS short service ARN to a long ARN in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

\n arn:aws:ecs:region:aws_account_id:service/service-name\n

\n

After the migration is complete, the service has the long ARN format, as shown below.\n\t\t\tUse this ARN to tag the service.

\n

\n arn:aws:ecs:region:aws_account_id:service/cluster-name/service-name\n

\n

If you try to tag a service with a short ARN, you receive an\n\t\t\t\tInvalidParameterException error.

", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The tags to add to the resource. A tag is an array of key-value pairs.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
", + "smithy.api#documentation": "

The tags to add to the resource. A tag is an array of key-value pairs.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
", "smithy.api#required": {} } } @@ -14405,7 +14554,7 @@ } }, "traits": { - "smithy.api#documentation": "

The execute command cannot run. This error can be caused by any of the following\n\t\t\tconfiguration issues:

\n
    \n
  • \n

    Incorrect IAM permissions

    \n
  • \n
  • \n

    The SSM agent is not installed or is not running

    \n
  • \n
  • \n

    There is an interface Amazon VPC endpoint for Amazon ECS, but there is not one for\n\t\t\t\t\tSystems Manager Session Manager

    \n
  • \n
\n

For information about how to troubleshoot the issues, see Troubleshooting issues with ECS\n\t\t\t\tExec in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

The execute command cannot run. This error can be caused by any of the following\n\t\t\tconfiguration issues:

\n
    \n
  • \n

    Incorrect IAM permissions

    \n
  • \n
  • \n

    The SSM agent is not installed or is not running

    \n
  • \n
  • \n

    There is an interface Amazon VPC endpoint for Amazon ECS, but there is not\n\t\t\t\t\tone for Systems Manager Session Manager

    \n
  • \n
\n

For information about how to troubleshoot the issues, see Troubleshooting issues with ECS\n\t\t\t\tExec in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

", "smithy.api#error": "client" } }, @@ -14420,7 +14569,7 @@ } }, "traits": { - "smithy.api#documentation": "

The specified target wasn't found. You can view your available container instances\n\t\t\twith ListContainerInstances. Amazon ECS container instances are cluster-specific and\n\t\t\tRegion-specific.

", + "smithy.api#documentation": "

The specified target wasn't found. You can view your available container instances\n\t\t\twith ListContainerInstances. Amazon ECS container instances are cluster-specific\n\t\t\tand Region-specific.

", "smithy.api#error": "client" } }, @@ -14495,7 +14644,7 @@ "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The number of CPU units used by the task as expressed in a task definition. It can be\n\t\t\texpressed as an integer using CPU units (for example, 1024). It can also be\n\t\t\texpressed as a string using vCPUs (for example, 1 vCPU or 1\n\t\t\t\tvcpu). String values are converted to an integer that indicates the CPU units\n\t\t\twhen the task definition is registered.

\n

If you're using the EC2 launch type or the external launch type, this field is\n\t\t\toptional. Supported values are between 128 CPU units (0.125\n\t\t\tvCPUs) and 196608 CPU units (192 vCPUs). If you do not specify\n\t\t\ta value, the parameter is ignored.

\n

This field is required for Fargate. For information about the valid values, see Task size in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The number of CPU units used by the task as expressed in a task definition. It can be\n\t\t\texpressed as an integer using CPU units (for example, 1024). It can also be\n\t\t\texpressed as a string using vCPUs (for example, 1 vCPU or 1\n\t\t\t\tvcpu). String values are converted to an integer that indicates the CPU units\n\t\t\twhen the task definition is registered.

\n

If you're using the EC2 launch type or the external launch type, this field is\n\t\t\toptional. Supported values are between 128 CPU units (0.125\n\t\t\tvCPUs) and 196608 CPU units (192 vCPUs). If you do not specify\n\t\t\ta value, the parameter is ignored.

\n

This field is required for Fargate. For information about the valid values, see Task\n\t\t\t\tsize in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "createdAt": { @@ -14532,7 +14681,7 @@ "healthStatus": { "target": "com.amazonaws.ecs#HealthStatus", "traits": { - "smithy.api#documentation": "

The health status for the task. It's determined by the health of the essential\n\t\t\tcontainers in the task. If all essential containers in the task are reporting as\n\t\t\t\tHEALTHY, the task status also reports as HEALTHY. If any\n\t\t\tessential containers in the task are reporting as UNHEALTHY or\n\t\t\t\tUNKNOWN, the task status also reports as UNHEALTHY or\n\t\t\t\tUNKNOWN.

\n \n

The Amazon ECS container agent doesn't monitor or report on Docker health checks that\n\t\t\t\tare embedded in a container image and not specified in the container definition. For\n\t\t\t\texample, this includes those specified in a parent image or from the image's\n\t\t\t\tDockerfile. Health check parameters that are specified in a container definition\n\t\t\t\toverride any Docker health checks that are found in the container image.

\n
" + "smithy.api#documentation": "

The health status for the task. It's determined by the health of the essential\n\t\t\tcontainers in the task. If all essential containers in the task are reporting as\n\t\t\t\tHEALTHY, the task status also reports as HEALTHY. If any\n\t\t\tessential containers in the task are reporting as UNHEALTHY or\n\t\t\t\tUNKNOWN, the task status also reports as UNHEALTHY or\n\t\t\t\tUNKNOWN.

\n \n

The Amazon ECS container agent doesn't monitor or report on Docker health checks\n\t\t\t\tthat are embedded in a container image and not specified in the container\n\t\t\t\tdefinition. For example, this includes those specified in a parent image or from the\n\t\t\t\timage's Dockerfile. Health check parameters that are specified in a container\n\t\t\t\tdefinition override any Docker health checks that are found in the container\n\t\t\t\timage.

\n
" } }, "inferenceAccelerators": { @@ -14550,13 +14699,13 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The infrastructure where your task runs on. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The infrastructure where your task runs on. For more information, see Amazon\n\t\t\t\tECS launch types in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The amount of memory (in MiB) that the task uses as expressed in a task definition. It\n\t\t\tcan be expressed as an integer using MiB (for example, 1024). If it's\n\t\t\texpressed as a string using GB (for example, 1GB or 1 GB),\n\t\t\tit's converted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n

If you use the EC2 launch type, this field is optional.

\n

If you use the Fargate launch type, this field is required. You must use\n\t\t\tone of the following values. The value that you choose determines the range of supported\n\t\t\tvalues for the cpu parameter.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The amount of memory (in MiB) that the task uses as expressed in a task definition. It\n\t\t\tcan be expressed as an integer using MiB (for example, 1024). If it's\n\t\t\texpressed as a string using GB (for example, 1GB or 1 GB),\n\t\t\tit's converted to an integer indicating the MiB when the task definition is\n\t\t\tregistered.

\n

If you use the EC2 launch type, this field is optional.

\n

If you use the Fargate launch type, this field is required. You must use one of the\n\t\t\tfollowing values. The value that you choose determines the range of supported values for\n\t\t\tthe cpu parameter.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values:\n\t\t\t\t\t256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available\n\t\t\t\t\t\tcpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB),\n\t\t\t\t\t8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available\n\t\t\t\t\t\tcpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available\n\t\t\t\t\t\tcpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu\n\t\t\t\t\tvalues: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu\n\t\t\t\t\tvalues: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or later.

    \n
  • \n
" } }, "overrides": { @@ -14568,7 +14717,7 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version where your task runs on. A platform version is only specified for\n\t\t\ttasks that use the Fargate launch type. If you didn't specify one, the\n\t\t\t\tLATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The platform version where your task runs on. A platform version is only specified for\n\t\t\ttasks that use the Fargate launch type. If you didn't specify one, the\n\t\t\t\tLATEST platform version is used. For more information, see Fargate Platform Versions in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

" } }, "platformFamily": { @@ -14598,7 +14747,7 @@ "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The tag specified when a task is started. If an Amazon ECS service started the task, the\n\t\t\t\tstartedBy parameter contains the deployment ID of that service.

" + "smithy.api#documentation": "

The tag specified when a task is started. If an Amazon ECS service started the task,\n\t\t\tthe startedBy parameter contains the deployment ID of that service.

" } }, "stopCode": { @@ -14628,7 +14777,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize the task.\n\t\t\tEach tag consists of a key and an optional value. You define both the key and\n\t\t\tvalue.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task to help you categorize and organize the task.\n\t\t\tEach tag consists of a key and an optional value. You define both the key and\n\t\t\tvalue.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "taskArn": { @@ -14647,7 +14796,7 @@ "target": "com.amazonaws.ecs#Long", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The version counter for the task. Every time a task experiences a change that starts a\n\t\t\tCloudWatch event, the version counter is incremented. If you replicate your Amazon ECS task state\n\t\t\twith CloudWatch Events, you can compare the version of a task reported by the Amazon ECS API\n\t\t\tactions with the version reported in CloudWatch Events for the task (inside the\n\t\t\t\tdetail object) to verify that the version in your event stream is\n\t\t\tcurrent.

" + "smithy.api#documentation": "

The version counter for the task. Every time a task experiences a change that starts a\n\t\t\tCloudWatch event, the version counter is incremented. If you replicate your Amazon ECS\n\t\t\ttask state with CloudWatch Events, you can compare the version of a task reported by the\n\t\t\tAmazon ECS API actions with the version reported in CloudWatch Events for the task\n\t\t\t(inside the detail object) to verify that the version in your event stream\n\t\t\tis current.

" } }, "ephemeralStorage": { @@ -14679,31 +14828,31 @@ "containerDefinitions": { "target": "com.amazonaws.ecs#ContainerDefinitions", "traits": { - "smithy.api#documentation": "

A list of container definitions in JSON format that describe the different containers\n\t\t\tthat make up your task. For more information about container definition parameters and\n\t\t\tdefaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A list of container definitions in JSON format that describe the different containers\n\t\t\tthat make up your task. For more information about container definition parameters and\n\t\t\tdefaults, see Amazon ECS Task\n\t\t\t\tDefinitions in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "family": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of a family that this task definition is registered to. Up to 255 characters\n\t\t\tare allowed. Letters (both uppercase and lowercase letters), numbers, hyphens (-), and\n\t\t\tunderscores (_) are allowed.

\n

A family groups multiple versions of a task definition. Amazon ECS gives the first task\n\t\t\tdefinition that you registered to a family a revision number of 1. Amazon ECS gives\n\t\t\tsequential revision numbers to each task definition that you add.

" + "smithy.api#documentation": "

The name of a family that this task definition is registered to. Up to 255 characters\n\t\t\tare allowed. Letters (both uppercase and lowercase letters), numbers, hyphens (-), and\n\t\t\tunderscores (_) are allowed.

\n

A family groups multiple versions of a task definition. Amazon ECS gives the first\n\t\t\ttask definition that you registered to a family a revision number of 1. Amazon ECS gives\n\t\t\tsequential revision numbers to each task definition that you add.

" } }, "taskRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the Identity and Access Management role that grants containers in the\n\t\t\ttask permission to call Amazon Web Services APIs on your behalf. For informationabout the required\n\t\t\tIAM roles for Amazon ECS, see IAM\n\t\t\t\troles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the Identity and Access Management\n\t\t\trole that grants containers in the task permission to call Amazon Web Services APIs on your\n\t\t\tbehalf. For informationabout the required IAM roles for Amazon ECS, see IAM roles\n\t\t\t\tfor Amazon ECS in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "executionRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS container agent\n permission to make Amazon Web Services API calls on your behalf. For informationabout the required IAM roles for Amazon ECS, see IAM roles for Amazon ECS in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution role that grants the Amazon ECS\n\t\t\tcontainer agent permission to make Amazon Web Services API calls on your behalf. For\n\t\t\tinformationabout the required IAM roles for Amazon ECS, see IAM roles\n\t\t\t\tfor Amazon ECS in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "networkMode": { "target": "com.amazonaws.ecs#NetworkMode", "traits": { - "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n none, bridge, awsvpc, and host.\n If no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. \n For Amazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon ECS tasks on Amazon EC2 Windows instances, or awsvpc can be used. If the network\n mode is set to none, you cannot specify port mappings in your container\n definitions, and the tasks containers do not have external connectivity. The\n host and awsvpc network modes offer the highest networking\n performance for containers because they use the EC2 network stack instead of the\n virtualized network stack provided by the bridge mode.

\n

With the host and awsvpc network modes, exposed container\n ports are mapped directly to the corresponding host port (for the host\n network mode) or the attached elastic network interface port (for the\n awsvpc network mode), so you cannot take advantage of dynamic host port\n mappings.

\n \n

When using the host network mode, you should not run\n containers using the root user (UID 0). It is considered best practice\n to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n interface, and you must specify a NetworkConfiguration value when you create\n a service or run a task with the task definition. For more information, see Task Networking in the\n Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of the\n same task on a single container instance when port mappings are used.

" + "smithy.api#documentation": "

The Docker networking mode to use for the containers in the task. The valid values are\n\t\t\t\tnone, bridge, awsvpc, and host.\n\t\t\tIf no network mode is specified, the default is bridge.

\n

For Amazon ECS tasks on Fargate, the awsvpc network mode is required. For\n\t\t\tAmazon ECS tasks on Amazon EC2 Linux instances, any network mode can be used. For Amazon\n\t\t\tECS tasks on Amazon EC2 Windows instances, or\n\t\t\t\tawsvpc can be used. If the network mode is set to none,\n\t\t\tyou cannot specify port mappings in your container definitions, and the tasks containers\n\t\t\tdo not have external connectivity. The host and awsvpc network\n\t\t\tmodes offer the highest networking performance for containers because they use the EC2\n\t\t\tnetwork stack instead of the virtualized network stack provided by the\n\t\t\t\tbridge mode.

\n

With the host and awsvpc network modes, exposed container\n\t\t\tports are mapped directly to the corresponding host port (for the host\n\t\t\tnetwork mode) or the attached elastic network interface port (for the\n\t\t\t\tawsvpc network mode), so you cannot take advantage of dynamic host port\n\t\t\tmappings.

\n \n

When using the host network mode, you should not run containers using\n\t\t\t\tthe root user (UID 0). It is considered best practice to use a non-root user.

\n
\n

If the network mode is awsvpc, the task is allocated an elastic network\n\t\t\tinterface, and you must specify a NetworkConfiguration value when you create a service or run a task with the\n\t\t\ttask definition. For more information, see Task Networking\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

If the network mode is host, you cannot run multiple instantiations of\n\t\t\tthe same task on a single container instance when port mappings are used.

" } }, "revision": { @@ -14716,7 +14865,7 @@ "volumes": { "target": "com.amazonaws.ecs#VolumeList", "traits": { - "smithy.api#documentation": "

The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the Amazon Elastic Container Service Developer Guide.

\n \n

The host and sourcePath parameters aren't supported for\n\t\t\t\ttasks run on Fargate.

\n
" + "smithy.api#documentation": "

The list of data volume definitions for the task. For more information, see Using data volumes in tasks in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

\n \n

The host and sourcePath parameters aren't supported for\n\t\t\t\ttasks run on Fargate.

\n
" } }, "status": { @@ -14728,7 +14877,7 @@ "requiresAttributes": { "target": "com.amazonaws.ecs#RequiresAttributes", "traits": { - "smithy.api#documentation": "

The container instance attributes required by your task. When an Amazon EC2 instance is\n\t\t\tregistered to your cluster, the Amazon ECS container agent assigns some standard attributes\n\t\t\tto the instance. You can apply custom attributes. These are specified as key-value pairs\n\t\t\tusing the Amazon ECS console or the PutAttributes\n\t\t\tAPI. These attributes are used when determining task placement for tasks hosted on Amazon EC2\n\t\t\tinstances. For more information, see Attributes in the Amazon Elastic Container Service Developer Guide.

\n \n

This parameter isn't supported for tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The container instance attributes required by your task. When an Amazon EC2 instance\n\t\t\tis registered to your cluster, the Amazon ECS container agent assigns some standard\n\t\t\tattributes to the instance. You can apply custom attributes. These are specified as\n\t\t\tkey-value pairs using the Amazon ECS console or the PutAttributes\n\t\t\tAPI. These attributes are used when determining task placement for tasks hosted on\n\t\t\tAmazon EC2 instances. For more information, see Attributes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n \n

This parameter isn't supported for tasks run on Fargate.

\n
" } }, "placementConstraints": { @@ -14740,7 +14889,7 @@ "compatibilities": { "target": "com.amazonaws.ecs#CompatibilityList", "traits": { - "smithy.api#documentation": "

Amazon ECS validates the task definition parameters with those supported by the launch\n\t\t\ttype. For more information, see Amazon ECS launch types\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Amazon ECS validates the task definition parameters with those supported by the launch\n\t\t\ttype. For more information, see Amazon ECS launch\n\t\t\t\ttypes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "runtimePlatform": { @@ -14752,19 +14901,19 @@ "requiresCompatibilities": { "target": "com.amazonaws.ecs#CompatibilityList", "traits": { - "smithy.api#documentation": "

The task launch types the task definition was validated against. The valid values are\n\t\t\t\tEC2, FARGATE, and EXTERNAL. For more\n\t\t\tinformation, see Amazon ECS launch types\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The task launch types the task definition was validated against. The valid values are\n\t\t\t\tMANAGED_INSTANCES, EC2, FARGATE, and\n\t\t\t\tEXTERNAL. For more information, see Amazon ECS launch\n\t\t\t\ttypes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "cpu": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The number of cpu units used by the task. If you use the EC2 launch type,\n\t\t\tthis field is optional. Any value can be used. If you use the Fargate launch type, this\n\t\t\tfield is required. You must use one of the following values. The value that you choose\n\t\t\tdetermines your range of valid values for the memory parameter.

\n

If you're using the EC2 launch type or the external launch type, this\n\t\t\tfield is optional. Supported values are between 128 CPU units\n\t\t\t\t(0.125 vCPUs) and 196608 CPU units (192\n\t\t\tvCPUs).

\n

This field is required for Fargate. For information about the valid values, see Task size in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The number of cpu units used by the task. If you use the EC2 launch type,\n\t\t\tthis field is optional. Any value can be used. If you use the Fargate launch type, this\n\t\t\tfield is required. You must use one of the following values. The value that you choose\n\t\t\tdetermines your range of valid values for the memory parameter.

\n

If you're using the EC2 launch type or the external launch type, this field is\n\t\t\toptional. Supported values are between 128 CPU units (0.125\n\t\t\tvCPUs) and 196608 CPU units (192 vCPUs).

\n

This field is required for Fargate. For information about the valid values, see Task\n\t\t\t\tsize in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "memory": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The amount (in MiB) of memory used by the task.

\n

If your tasks runs on Amazon EC2 instances, you must specify either a task-level memory\n\t\t\tvalue or a container-level memory value. This field is optional and any value can be\n\t\t\tused. If a task-level memory value is specified, the container-level memory value is\n\t\t\toptional. For more information regarding container-level memory and memory reservation,\n\t\t\tsee ContainerDefinition.

\n

If your tasks runs on Fargate, this field is required. You must use one of the\n\t\t\tfollowing values. The value you choose determines your range of valid values for the\n\t\t\t\tcpu parameter.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values: 256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available cpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB), 8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available cpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available cpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu values: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu values: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or\n later.

    \n
  • \n
" + "smithy.api#documentation": "

The amount (in MiB) of memory used by the task.

\n

If your tasks runs on Amazon EC2 instances, you must specify either a task-level\n\t\t\tmemory value or a container-level memory value. This field is optional and any value can\n\t\t\tbe used. If a task-level memory value is specified, the container-level memory value is\n\t\t\toptional. For more information regarding container-level memory and memory reservation,\n\t\t\tsee ContainerDefinition.

\n

If your tasks runs on Fargate, this field is required. You must use one of the\n\t\t\tfollowing values. The value you choose determines your range of valid values for the\n\t\t\t\tcpu parameter.

\n
    \n
  • \n

    512 (0.5 GB), 1024 (1 GB), 2048 (2 GB) - Available cpu values:\n\t\t\t\t\t256 (.25 vCPU)

    \n
  • \n
  • \n

    1024 (1 GB), 2048 (2 GB), 3072 (3 GB), 4096 (4 GB) - Available\n\t\t\t\t\t\tcpu values: 512 (.5 vCPU)

    \n
  • \n
  • \n

    2048 (2 GB), 3072 (3 GB), 4096 (4 GB), 5120 (5 GB), 6144 (6 GB), 7168 (7 GB),\n\t\t\t\t\t8192 (8 GB) - Available cpu values: 1024 (1 vCPU)

    \n
  • \n
  • \n

    Between 4096 (4 GB) and 16384 (16 GB) in increments of 1024 (1 GB) - Available\n\t\t\t\t\t\tcpu values: 2048 (2 vCPU)

    \n
  • \n
  • \n

    Between 8192 (8 GB) and 30720 (30 GB) in increments of 1024 (1 GB) - Available\n\t\t\t\t\t\tcpu values: 4096 (4 vCPU)

    \n
  • \n
  • \n

    Between 16 GB and 60 GB in 4 GB increments - Available cpu\n\t\t\t\t\tvalues: 8192 (8 vCPU)

    \n

    This option requires Linux platform 1.4.0 or later.

    \n
  • \n
  • \n

    Between 32GB and 120 GB in 8 GB increments - Available cpu\n\t\t\t\t\tvalues: 16384 (16 vCPU)

    \n

    This option requires Linux platform 1.4.0 or later.

    \n
  • \n
" } }, "inferenceAccelerators": { @@ -14776,19 +14925,19 @@ "pidMode": { "target": "com.amazonaws.ecs#PidMode", "traits": { - "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid\n values are host or task. On Fargate for\n Linux containers, the only valid value is task. For\n example, monitoring sidecars might need pidMode to access\n information about other containers running in the same task.

\n

If host is specified, all containers within the tasks\n that specified the host PID mode on the same container\n instance share the same process namespace with the host Amazon EC2\n instance.

\n

If task is specified, all containers within the specified\n task share the same process namespace.

\n

If no value is specified, the\n default is a private namespace for each container.

\n

If the host PID mode is used, there's a heightened risk\n of undesired process namespace exposure.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

This parameter is only supported for tasks that are hosted on\n Fargate if the tasks are using platform version 1.4.0 or later\n (Linux). This isn't supported for Windows containers on\n Fargate.

\n
" + "smithy.api#documentation": "

The process namespace to use for the containers in the task. The valid values are\n\t\t\t\thost or task. On Fargate for Linux containers, the only\n\t\t\tvalid value is task. For example, monitoring sidecars might need\n\t\t\t\tpidMode to access information about other containers running in the\n\t\t\tsame task.

\n

If host is specified, all containers within the tasks that specified the\n\t\t\t\thost PID mode on the same container instance share the same process\n\t\t\tnamespace with the host Amazon EC2 instance.

\n

If task is specified, all containers within the specified task share the\n\t\t\tsame process namespace.

\n

If no value is specified, the The default is a private namespace for each\n\t\t\tcontainer.

\n

If the host PID mode is used, there's a heightened risk of undesired\n\t\t\tprocess namespace exposure.

\n \n

This parameter is not supported for Windows containers.

\n
\n \n

This parameter is only supported for tasks that are hosted on Fargate if\n\t\t\t\tthe tasks are using platform version 1.4.0 or later (Linux). This isn't\n\t\t\t\tsupported for Windows containers on Fargate.

\n
" } }, "ipcMode": { "target": "com.amazonaws.ecs#IpcMode", "traits": { - "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n host, task, or none. If host is\n specified, then all containers within the tasks that specified the host IPC\n mode on the same container instance share the same IPC resources with the host Amazon EC2\n instance. If task is specified, all containers within the specified task\n share the same IPC resources. If none is specified, then IPC resources\n within the containers of a task are private and not shared with other containers in a\n task or on the container instance. If no value is specified, then the IPC resource\n namespace sharing depends on the Docker daemon setting on the container instance.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n undesired IPC namespace expose.

\n

If you are setting namespaced kernel parameters using systemControls for\n the containers in the task, the following will apply to your IPC resource namespace. For\n more information, see System\n Controls in the Amazon Elastic Container Service Developer Guide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n systemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n systemControls will apply to all containers within a\n task.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The IPC resource namespace to use for the containers in the task. The valid values are\n\t\t\t\thost, task, or none. If host is\n\t\t\tspecified, then all containers within the tasks that specified the host IPC\n\t\t\tmode on the same container instance share the same IPC resources with the host Amazon\n\t\t\tEC2 instance. If task is specified, all containers within the specified\n\t\t\ttask share the same IPC resources. If none is specified, then IPC resources\n\t\t\twithin the containers of a task are private and not shared with other containers in a\n\t\t\ttask or on the container instance. If no value is specified, then the IPC resource\n\t\t\tnamespace sharing depends on the Docker daemon setting on the container instance.

\n

If the host IPC mode is used, be aware that there is a heightened risk of\n\t\t\tundesired IPC namespace expose.

\n

If you are setting namespaced kernel parameters using systemControls for\n\t\t\tthe containers in the task, the following will apply to your IPC resource namespace. For\n\t\t\tmore information, see System\n\t\t\t\tControls in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n
    \n
  • \n

    For tasks that use the host IPC mode, IPC namespace related\n\t\t\t\t\t\tsystemControls are not supported.

    \n
  • \n
  • \n

    For tasks that use the task IPC mode, IPC namespace related\n\t\t\t\t\t\tsystemControls will apply to all containers within a\n\t\t\t\t\ttask.

    \n
  • \n
\n \n

This parameter is not supported for Windows containers or tasks run on Fargate.

\n
" } }, "proxyConfiguration": { "target": "com.amazonaws.ecs#ProxyConfiguration", "traits": { - "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

Your Amazon ECS container instances require at least version 1.26.0 of the container agent\n\t\t\tand at least version 1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS optimized AMI\n\t\t\tversion 20190301 or later, they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The configuration details for the App Mesh proxy.

\n

Your Amazon ECS container instances require at least version 1.26.0 of the container\n\t\t\tagent and at least version 1.26.0-1 of the ecs-init package to use a proxy\n\t\t\tconfiguration. If your container instances are launched from the Amazon ECS optimized\n\t\t\tAMI version 20190301 or later, they contain the required versions of the\n\t\t\tcontainer agent and ecs-init. For more information, see Amazon ECS-optimized Linux AMI in the Amazon Elastic Container\n\t\t\t\tService Developer Guide.

" } }, "registeredAt": { @@ -14823,7 +14972,7 @@ } }, "traits": { - "smithy.api#documentation": "

The details of a task definition which describes the container and volume definitions\n\t\t\tof an Amazon Elastic Container Service task. You can specify which Docker images to use, the required\n\t\t\tresources, and other configurations related to launching the task definition through an\n\t\t\tAmazon ECS service or task.

" + "smithy.api#documentation": "

The details of a task definition which describes the container and volume definitions\n\t\t\tof an Amazon Elastic Container Service task. You can specify which Docker images to use,\n\t\t\tthe required resources, and other configurations related to launching the task\n\t\t\tdefinition through an Amazon ECS service or task.

" } }, "com.amazonaws.ecs#TaskDefinitionFamilyStatus": { @@ -14884,12 +15033,12 @@ "expression": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. For more information,\n\t\t\tsee Cluster query language in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

A cluster query language expression to apply to the constraint. For more information,\n\t\t\tsee Cluster query language in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

" } } }, "traits": { - "smithy.api#documentation": "

The constraint on task placement in the task definition. For more information, see\n\t\t\t\tTask placement constraints in the\n\t\t\tAmazon Elastic Container Service Developer Guide.

\n \n

Task placement constraints aren't supported for tasks run on Fargate.

\n
" + "smithy.api#documentation": "

The constraint on task placement in the task definition. For more information, see\n\t\t\t\tTask placement constraints in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

\n \n

Task placement constraints aren't supported for tasks run on Fargate.

\n
" } }, "com.amazonaws.ecs#TaskDefinitionPlacementConstraintType": { @@ -14945,7 +15094,7 @@ "kmsKeyId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

Specify an Key Management Service key ID to encrypt the ephemeral storage for the\n\t\t\ttask.

" + "smithy.api#documentation": "

Specify an Key\n\t\t\t\tManagement Service key ID to encrypt the ephemeral storage for the\n\t\t\ttask.

" } } }, @@ -15005,61 +15154,61 @@ "encrypted": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether the volume should be encrypted. If you turn on Region-level Amazon EBS\n\t\t\tencryption by default but set this value as false, the setting is\n\t\t\toverridden and the volume is encrypted with the KMS key specified for Amazon EBS encryption\n\t\t\tby default. This parameter maps 1:1 with the Encrypted parameter of the\n\t\t\t\tCreateVolume API in the Amazon EC2 API Reference.

" + "smithy.api#documentation": "

Indicates whether the volume should be encrypted. If you turn on Region-level Amazon\n\t\t\tEBS encryption by default but set this value as false, the setting is\n\t\t\toverridden and the volume is encrypted with the KMS key specified for Amazon EBS\n\t\t\tencryption by default. This parameter maps 1:1 with the Encrypted parameter\n\t\t\tof the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference.

" } }, "kmsKeyId": { "target": "com.amazonaws.ecs#EBSKMSKeyId", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key to use for Amazon EBS encryption. When a key\n\t\t\tis specified using this parameter, it overrides Amazon EBS default encryption or any KMS key\n\t\t\tthat you specified for cluster-level managed storage encryption. This parameter maps 1:1\n\t\t\twith the KmsKeyId parameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference. For more information about encrypting\n\t\t\tAmazon EBS volumes attached to a task, see Encrypt data stored in Amazon EBS volumes attached to Amazon ECS tasks.

\n \n

Amazon Web Services authenticates the Amazon Web Services Key Management Service key asynchronously. Therefore, if you specify an\n\t\t\t\tID, alias, or ARN that is invalid, the action can appear to complete, but\n\t\t\t\teventually fails.

\n
" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) identifier of the Amazon Web Services Key Management Service key\n\t\t\tto use for Amazon EBS encryption. When a key is specified using this parameter, it\n\t\t\toverrides Amazon EBS default encryption or any KMS key that you specified for\n\t\t\tcluster-level managed storage encryption. This parameter maps 1:1 with the\n\t\t\t\tKmsKeyId parameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference. For more information about encrypting\n\t\t\tAmazon EBS volumes attached to a task, see Encrypt data stored in Amazon EBS volumes attached to Amazon ECS\n\t\t\ttasks.

\n \n

Amazon Web\n\t\t\t\t\tServices authenticates the Amazon Web Services Key Management Service\n\t\t\t\tkey asynchronously. Therefore, if you specify an ID, alias, or ARN that is invalid,\n\t\t\t\tthe action can appear to complete, but eventually fails.

\n
" } }, "volumeType": { "target": "com.amazonaws.ecs#EBSVolumeType", "traits": { - "smithy.api#documentation": "

The volume type. This parameter maps 1:1 with the VolumeType parameter of\n\t\t\tthe CreateVolume API in the Amazon EC2 API Reference. For more\n\t\t\tinformation, see Amazon EBS volume types in\n\t\t\tthe Amazon EC2 User Guide.

\n

The following are the supported volume types.

\n
    \n
  • \n

    General Purpose SSD: gp2|gp3\n

    \n
  • \n
  • \n

    Provisioned IOPS SSD: io1|io2\n

    \n
  • \n
  • \n

    Throughput Optimized HDD: st1\n

    \n
  • \n
  • \n

    Cold HDD: sc1\n

    \n
  • \n
  • \n

    Magnetic: standard\n

    \n \n

    The magnetic volume type is not supported on Fargate.

    \n
    \n
  • \n
" + "smithy.api#documentation": "

The volume type. This parameter maps 1:1 with the VolumeType parameter of\n\t\t\tthe CreateVolume API in the Amazon EC2 API Reference. For\n\t\t\tmore information, see Amazon EBS volume types\n\t\t\tin the Amazon EC2 User Guide.

\n

The following are the supported volume types.

\n
    \n
  • \n

    General Purpose SSD: gp2|gp3\n

    \n
  • \n
  • \n

    Provisioned IOPS SSD: io1|io2\n

    \n
  • \n
  • \n

    Throughput Optimized HDD: st1\n

    \n
  • \n
  • \n

    Cold HDD: sc1\n

    \n
  • \n
  • \n

    Magnetic: standard\n

    \n \n

    The magnetic volume type is not supported on Fargate.

    \n
    \n
  • \n
" } }, "sizeInGiB": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The size of the volume in GiB. You must specify either a volume size or a snapshot ID.\n\t\t\tIf you specify a snapshot ID, the snapshot size is used for the volume size by default.\n\t\t\tYou can optionally specify a volume size greater than or equal to the snapshot size.\n\t\t\tThis parameter maps 1:1 with the Size parameter of the CreateVolume API in the Amazon EC2 API Reference.

\n

The following are the supported volume size values for each volume type.

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" + "smithy.api#documentation": "

The size of the volume in GiB. You must specify either a volume size or a snapshot ID.\n\t\t\tIf you specify a snapshot ID, the snapshot size is used for the volume size by default.\n\t\t\tYou can optionally specify a volume size greater than or equal to the snapshot size.\n\t\t\tThis parameter maps 1:1 with the Size parameter of the CreateVolume API in the Amazon EC2 API\n\t\t\tReference.

\n

The following are the supported volume size values for each volume type.

\n
    \n
  • \n

    \n gp2 and gp3: 1-16,384

    \n
  • \n
  • \n

    \n io1 and io2: 4-16,384

    \n
  • \n
  • \n

    \n st1 and sc1: 125-16,384

    \n
  • \n
  • \n

    \n standard: 1-1,024

    \n
  • \n
" } }, "snapshotId": { "target": "com.amazonaws.ecs#EBSSnapshotId", "traits": { - "smithy.api#documentation": "

The snapshot that Amazon ECS uses to create the volume. You must specify either a snapshot\n\t\t\tID or a volume size. This parameter maps 1:1 with the SnapshotId parameter\n\t\t\tof the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference.

" + "smithy.api#documentation": "

The snapshot that Amazon ECS uses to create the volume. You must specify either a\n\t\t\tsnapshot ID or a volume size. This parameter maps 1:1 with the SnapshotId\n\t\t\tparameter of the CreateVolume API in\n\t\t\tthe Amazon EC2 API Reference.

" } }, "volumeInitializationRate": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The rate, in MiB/s, at which data is fetched from a snapshot of an existing Amazon EBS\n\t\t\tvolume to create a new volume for attachment to the task. This property can be specified\n\t\t\tonly if you specify a snapshotId. For more information, see Initialize Amazon EBS volumes in the Amazon EBS User\n\t\t\t\tGuide.

" + "smithy.api#documentation": "

The rate, in MiB/s, at which data is fetched from a snapshot of an existing Amazon EBS\n\t\t\tvolume to create a new volume for attachment to the task. This property can be specified\n\t\t\tonly if you specify a snapshotId. For more information, see Initialize\n\t\t\t\tAmazon EBS volumes in the Amazon EBS User Guide.

" } }, "iops": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3,\n\t\t\tio1, and io2 volumes, this represents the number of IOPS that\n\t\t\tare provisioned for the volume. For gp2 volumes, this represents the\n\t\t\tbaseline performance of the volume and the rate at which the volume accumulates I/O\n\t\t\tcredits for bursting.

\n

The following are the supported values for each volume type.

\n
    \n
  • \n

    \n gp3: 3,000 - 16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n

This parameter is required for io1 and io2 volume types. The\n\t\t\tdefault for gp3 volumes is 3,000 IOPS. This parameter is not\n\t\t\tsupported for st1, sc1, or standard volume\n\t\t\ttypes.

\n

This parameter maps 1:1 with the Iops parameter of the CreateVolume API in the Amazon EC2 API Reference.

" + "smithy.api#documentation": "

The number of I/O operations per second (IOPS). For gp3,\n\t\t\tio1, and io2 volumes, this represents the number of IOPS that\n\t\t\tare provisioned for the volume. For gp2 volumes, this represents the\n\t\t\tbaseline performance of the volume and the rate at which the volume accumulates I/O\n\t\t\tcredits for bursting.

\n

The following are the supported values for each volume type.

\n
    \n
  • \n

    \n gp3: 3,000 - 16,000 IOPS

    \n
  • \n
  • \n

    \n io1: 100 - 64,000 IOPS

    \n
  • \n
  • \n

    \n io2: 100 - 256,000 IOPS

    \n
  • \n
\n

This parameter is required for io1 and io2 volume types. The\n\t\t\tdefault for gp3 volumes is 3,000 IOPS. This parameter is not\n\t\t\tsupported for st1, sc1, or standard volume\n\t\t\ttypes.

\n

This parameter maps 1:1 with the Iops parameter of the CreateVolume API in the Amazon EC2 API\n\t\t\tReference.

" } }, "throughput": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.\n\t\t\tThis parameter maps 1:1 with the Throughput parameter of the CreateVolume API in the Amazon EC2 API Reference.

\n \n

This parameter is only supported for the gp3 volume type.

\n
" + "smithy.api#documentation": "

The throughput to provision for a volume, in MiB/s, with a maximum of 1,000 MiB/s.\n\t\t\tThis parameter maps 1:1 with the Throughput parameter of the CreateVolume API in the Amazon EC2 API\n\t\t\tReference.

\n \n

This parameter is only supported for the gp3 volume type.

\n
" } }, "tagSpecifications": { "target": "com.amazonaws.ecs#EBSTagSpecifications", "traits": { - "smithy.api#documentation": "

The tags to apply to the volume. Amazon ECS applies service-managed tags by default. This\n\t\t\tparameter maps 1:1 with the TagSpecifications.N parameter of the CreateVolume API in the Amazon EC2 API Reference.

" + "smithy.api#documentation": "

The tags to apply to the volume. Amazon ECS applies service-managed tags by default.\n\t\t\tThis parameter maps 1:1 with the TagSpecifications.N parameter of the\n\t\t\t\tCreateVolume API in the Amazon EC2 API\n\t\t\tReference.

" } }, "roleArn": { "target": "com.amazonaws.ecs#IAMRoleArn", "traits": { - "smithy.api#documentation": "

The ARN of the IAM role to associate with this volume. This is the Amazon ECS\n\t\t\tinfrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We recommend\n\t\t\tusing the Amazon ECS-managed AmazonECSInfrastructureRolePolicyForVolumes IAM\n\t\t\tpolicy with this role. For more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\tGuide.

", + "smithy.api#documentation": "

The ARN of the IAM role to associate with this volume. This is the Amazon ECS\n\t\t\tinfrastructure IAM role that is used to manage your Amazon Web Services infrastructure. We\n\t\t\trecommend using the Amazon ECS-managed\n\t\t\t\tAmazonECSInfrastructureRolePolicyForVolumes IAM policy with this role.\n\t\t\tFor more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, @@ -15077,7 +15226,7 @@ } }, "traits": { - "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.\n\t\t\tThese settings are used to create each Amazon EBS volume, with one volume created for each\n\t\t\ttask.

" + "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on\n\t\t\tyour behalf. These settings are used to create each Amazon EBS volume, with one volume\n\t\t\tcreated for each task.

" } }, "com.amazonaws.ecs#TaskManagedEBSVolumeTerminationPolicy": { @@ -15086,13 +15235,13 @@ "deleteOnTermination": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether the volume should be deleted on when the task stops. If a value of\n\t\t\t\ttrue is specified, \u2028Amazon ECS deletes the Amazon EBS volume on your behalf when\n\t\t\tthe task goes into the STOPPED state. If no value is specified, the\n\t\t\t\u2028default value is true is used. When set to false, Amazon ECS\n\t\t\tleaves the volume in your \u2028account.

", + "smithy.api#documentation": "

Indicates whether the volume should be deleted on when the task stops. If a value of\n\t\t\t\ttrue is specified, \u2028Amazon ECS deletes the Amazon EBS volume on\n\t\t\tyour behalf when the task goes into the STOPPED state. If no value is\n\t\t\tspecified, the \u2028default value is true is used. When set to\n\t\t\t\tfalse, Amazon ECS leaves the volume in your \u2028account.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The termination policy for the Amazon EBS volume when the task exits. For more information,\n\t\t\tsee Amazon ECS volume termination policy.

" + "smithy.api#documentation": "

The termination policy for the Amazon EBS volume when the task exits. For more\n\t\t\tinformation, see Amazon ECS volume termination policy.

" } }, "com.amazonaws.ecs#TaskOverride": { @@ -15119,7 +15268,7 @@ "executionRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution role override for the task. For more information,\n\t\t\tsee Amazon ECS task\n\t\t\t\texecution IAM role in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the task execution role override for the task. For\n\t\t\tmore information, see Amazon ECS task\n\t\t\t\texecution IAM role in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "memory": { @@ -15131,13 +15280,13 @@ "taskRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role that containers in this task can assume. All containers in\n\t\t\tthis task are granted the permissions that are specified in this role. For more\n\t\t\tinformation, see IAM Role for Tasks\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role that containers in this task can assume.\n\t\t\tAll containers in this task are granted the permissions that are specified in this role.\n\t\t\tFor more information, see IAM Role for Tasks\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } }, "ephemeralStorage": { "target": "com.amazonaws.ecs#EphemeralStorage", "traits": { - "smithy.api#documentation": "

The ephemeral storage setting override for the task.

\n \n

This parameter is only supported for tasks hosted on Fargate that\n\t\t\t\tuse the following platform versions:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" + "smithy.api#documentation": "

The ephemeral storage setting override for the task.

\n \n

This parameter is only supported for tasks hosted on Fargate that use the\n\t\t\t\tfollowing platform versions:

\n
    \n
  • \n

    Linux platform version 1.4.0 or later.

    \n
  • \n
  • \n

    Windows platform version 1.0.0 or later.

    \n
  • \n
\n
" } } }, @@ -15169,19 +15318,19 @@ "clusterArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set exists\n\t\t\tin.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the cluster that the service that hosts the task set\n\t\t\texists in.

" } }, "startedBy": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The tag specified when a task set is started. If an CodeDeploy deployment created the task\n\t\t\tset, the startedBy parameter is CODE_DEPLOY. If an external\n\t\t\tdeployment created the task set, the startedBy field isn't used.

" + "smithy.api#documentation": "

The tag specified when a task set is started. If an CodeDeploy deployment created\n\t\t\tthe task set, the startedBy parameter is CODE_DEPLOY. If an\n\t\t\texternal deployment created the task set, the startedBy field isn't\n\t\t\tused.

" } }, "externalId": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The external ID associated with the task set.

\n

If an CodeDeploy deployment created a task set, the externalId parameter\n\t\t\tcontains the CodeDeploy deployment ID.

\n

If a task set is created for an external deployment and is associated with a service\n\t\t\tdiscovery registry, the externalId parameter contains the\n\t\t\t\tECS_TASK_SET_EXTERNAL_ID Cloud Map attribute.

" + "smithy.api#documentation": "

The external ID associated with the task set.

\n

If an CodeDeploy deployment created a task set, the externalId\n\t\t\tparameter contains the CodeDeploy deployment ID.

\n

If a task set is created for an external deployment and is associated with a service\n\t\t\tdiscovery registry, the externalId parameter contains the\n\t\t\t\tECS_TASK_SET_EXTERNAL_ID\n\t\t\tCloud Map\n\t\t\tattribute.

" } }, "status": { @@ -15232,7 +15381,7 @@ "launchType": { "target": "com.amazonaws.ecs#LaunchType", "traits": { - "smithy.api#documentation": "

The launch type the tasks in the task set are using. For more information, see Amazon ECS\n\t\t\t\tlaunch types in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The launch type the tasks in the task set are using. For more information, see Amazon\n\t\t\t\tECS launch types in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

" } }, "capacityProviderStrategy": { @@ -15244,7 +15393,7 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Fargate platform version where the tasks in the task set are running. A platform\n\t\t\tversion is only specified for tasks run on Fargate. For more information, see Fargate platform versions in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

The Fargate platform version where the tasks in the task set are running. A\n\t\t\tplatform version is only specified for tasks run on Fargate. For more\n\t\t\tinformation, see Fargate\n\t\t\t\tplatform versions in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

" } }, "platformFamily": { @@ -15292,7 +15441,7 @@ "tags": { "target": "com.amazonaws.ecs#Tags", "traits": { - "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n one value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n remember that other services may have restrictions on allowed characters.\n Generally allowed characters are: letters, numbers, and spaces representable in\n UTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n combination of such as a prefix for either keys or values as it is reserved for\n Amazon Web Services use. You cannot edit or delete tag keys or values with this prefix. Tags with\n this prefix do not count against your tags per resource limit.

    \n
  • \n
" + "smithy.api#documentation": "

The metadata that you apply to the task set to help you categorize and organize them.\n\t\t\tEach tag consists of a key and an optional value. You define both.

\n

The following basic restrictions apply to tags:

\n
    \n
  • \n

    Maximum number of tags per resource - 50

    \n
  • \n
  • \n

    For each resource, each tag key must be unique, and each tag key can have only\n\t\t\t\t\tone value.

    \n
  • \n
  • \n

    Maximum key length - 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length - 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    If your tagging schema is used across multiple services and resources,\n\t\t\t\t\tremember that other services may have restrictions on allowed characters.\n\t\t\t\t\tGenerally allowed characters are: letters, numbers, and spaces representable in\n\t\t\t\t\tUTF-8, and the following characters: + - = . _ : / @.

    \n
  • \n
  • \n

    Tag keys and values are case-sensitive.

    \n
  • \n
  • \n

    Do not use aws:, AWS:, or any upper or lowercase\n\t\t\t\t\tcombination of such as a prefix for either keys or values as it is reserved for\n\t\t\t\t\t\tAmazon Web\n\t\t\t\t\t\tServices use. You cannot edit or delete tag keys or values with\n\t\t\t\t\tthis prefix. Tags with this prefix do not count against your tags per resource\n\t\t\t\t\tlimit.

    \n
  • \n
" } }, "fargateEphemeralStorage": { @@ -15303,7 +15452,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about a set of Amazon ECS tasks in either an CodeDeploy or an EXTERNAL\n\t\t\tdeployment. An Amazon ECS task set includes details such as the desired number of tasks, how\n\t\t\tmany tasks are running, and whether the task set serves production traffic.

" + "smithy.api#documentation": "

Information about a set of Amazon ECS tasks in either an CodeDeploy or an\n\t\t\t\tEXTERNAL deployment. An Amazon ECS task set includes details such as\n\t\t\tthe desired number of tasks, how many tasks are running, and whether the task set serves\n\t\t\tproduction traffic.

" } }, "com.amazonaws.ecs#TaskSetField": { @@ -15398,7 +15547,7 @@ "managedEBSVolume": { "target": "com.amazonaws.ecs#TaskManagedEBSVolumeConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on your behalf.\n\t\t\tThese settings are used to create each Amazon EBS volume, with one volume created for each\n\t\t\ttask. The Amazon EBS volumes are visible in your account in the Amazon EC2 console once they are\n\t\t\tcreated.

" + "smithy.api#documentation": "

The configuration for the Amazon EBS volume that Amazon ECS creates and manages on\n\t\t\tyour behalf. These settings are used to create each Amazon EBS volume, with one volume\n\t\t\tcreated for each task. The Amazon EBS volumes are visible in your account in the Amazon\n\t\t\tEC2 console once they are created.

" } } }, @@ -15490,18 +15639,18 @@ "min": { "target": "com.amazonaws.ecs#BoxedDouble", "traits": { - "smithy.api#documentation": "

The minimum total local storage in GB. Instance types with less local storage are excluded from selection.

" + "smithy.api#documentation": "

The minimum total local storage in GB. Instance types with less local storage are\n\t\t\texcluded from selection.

" } }, "max": { "target": "com.amazonaws.ecs#BoxedDouble", "traits": { - "smithy.api#documentation": "

The maximum total local storage in GB. Instance types with more local storage are excluded from selection.

" + "smithy.api#documentation": "

The maximum total local storage in GB. Instance types with more local storage are\n\t\t\texcluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum total local storage in gigabytes (GB) for instance types with local storage. This is useful for workloads that require local storage for temporary data or caching.

" + "smithy.api#documentation": "

The minimum and maximum total local storage in gigabytes (GB) for instance types with\n\t\t\tlocal storage. This is useful for workloads that require local storage for temporary\n\t\t\tdata or caching.

" } }, "com.amazonaws.ecs#TransportProtocol": { @@ -15549,7 +15698,7 @@ } }, "traits": { - "smithy.api#documentation": "

The ulimit settings to pass to the container.

\n

Amazon ECS tasks hosted on Fargate use the default\n\t\t\t\t\t\t\tresource limit values set by the operating system with the exception of\n\t\t\t\t\t\t\tthe nofile resource limit parameter which Fargate\n\t\t\t\t\t\t\toverrides. The nofile resource limit sets a restriction on\n\t\t\t\t\t\t\tthe number of open files that a container can use. The default\n\t\t\t\t\t\t\t\tnofile soft limit is 65535 and the default hard limit\n\t\t\t\t\t\t\tis 65535.

\n

You can specify the ulimit settings for a container in a task\n\t\t\tdefinition.

" + "smithy.api#documentation": "

The ulimit settings to pass to the container.

\n

Amazon ECS tasks hosted on Fargate use the default resource limit values\n\t\t\tset by the operating system with the exception of the nofile resource limit\n\t\t\tparameter which Fargate overrides. The nofile resource limit sets a\n\t\t\trestriction on the number of open files that a container can use. The default\n\t\t\t\tnofile soft limit is 65535 and the default hard limit is\n\t\t\t\t65535.

\n

You can specify the ulimit settings for a container in a task\n\t\t\tdefinition.

" } }, "com.amazonaws.ecs#UlimitList": { @@ -15716,7 +15865,7 @@ "resourceArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the supported resources\n\t\t\tare Amazon ECS capacity providers, tasks, services, task definitions, clusters, and container\n\t\t\tinstances.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to delete tags from. Currently, the\n\t\t\tsupported resources are Amazon ECS capacity providers, tasks, services, task\n\t\t\tdefinitions, clusters, and container instances.

", "smithy.api#required": {} } }, @@ -15765,7 +15914,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the parameters for a capacity provider.

\n

These changes only apply to new Amazon ECS Managed Instances, or EC2 instances, not existing ones.

", + "smithy.api#documentation": "

Modifies the parameters for a capacity provider.

\n

These changes only apply to new Amazon ECS Managed Instances, or EC2 instances, not\n\t\t\texisting ones.

", "smithy.api#examples": [ { "title": "To update a capacity provider's parameters", @@ -15817,7 +15966,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the cluster that contains the capacity provider to update. Managed instances capacity providers are cluster-scoped and can only be updated within their associated cluster.

" + "smithy.api#documentation": "

The name of the cluster that contains the capacity provider to update. Managed\n\t\t\tinstances capacity providers are cluster-scoped and can only be updated within their\n\t\t\tassociated cluster.

" } }, "autoScalingGroupProvider": { @@ -15829,7 +15978,7 @@ "managedInstancesProvider": { "target": "com.amazonaws.ecs#UpdateManagedInstancesProviderConfiguration", "traits": { - "smithy.api#documentation": "

The updated configuration for the Amazon ECS Managed Instances provider. You can modify the infrastructure role, instance launch template, and tag propagation settings. Changes take effect for new instances launched after the update.

" + "smithy.api#documentation": "

The updated configuration for the Amazon ECS Managed Instances provider. You can\n\t\t\tmodify the infrastructure role, instance launch template, and tag propagation settings.\n\t\t\tChanges take effect for new instances launched after the update.

" } } }, @@ -16084,7 +16233,7 @@ "serviceConnectDefaults": { "target": "com.amazonaws.ecs#ClusterServiceConnectDefaultsRequest", "traits": { - "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default \n\tService Connect namespace, any new services with Service Connect turned on that are created in the cluster are added as\n\tclient services in the namespace. This setting only applies to new services that set the enabled parameter to\n\ttrue in the ServiceConnectConfiguration.\n\tYou can set the namespace of each service individually in the ServiceConnectConfiguration to override this default\n\tparameter.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Use this parameter to set a default Service Connect namespace. After you set a default\n\t\t\tService Connect namespace, any new services with Service Connect turned on that are\n\t\t\tcreated in the cluster are added as client services in the namespace. This setting only\n\t\t\tapplies to new services that set the enabled parameter to true\n\t\t\tin the ServiceConnectConfiguration. You can set the namespace of each\n\t\t\tservice individually in the ServiceConnectConfiguration to override this\n\t\t\tdefault parameter.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

" } } }, @@ -16179,7 +16328,7 @@ "settings": { "target": "com.amazonaws.ecs#ClusterSettings", "traits": { - "smithy.api#documentation": "

The setting to use by default for a cluster. This parameter is used to turn on CloudWatch\n\t\t\tContainer Insights for a cluster. If this value is specified, it overrides the\n\t\t\t\tcontainerInsights value set with PutAccountSetting or PutAccountSettingDefault.

\n \n

Currently, if you delete an existing cluster that does not have Container Insights\n\t\t\t\tturned on, and then create a new cluster with the same name with Container Insights\n\t\t\t\ttuned on, Container Insights will not actually be turned on. If you want to preserve\n\t\t\t\tthe same name for your existing cluster and turn on Container Insights, you must\n\t\t\t\twait 7 days before you can re-create it.

\n
", + "smithy.api#documentation": "

The setting to use by default for a cluster. This parameter is used to turn on\n\t\t\tCloudWatch Container Insights for a cluster. If this value is specified, it overrides\n\t\t\tthe containerInsights value set with PutAccountSetting or PutAccountSettingDefault.

\n \n

Currently, if you delete an existing cluster that does not have Container Insights\n\t\t\t\tturned on, and then create a new cluster with the same name with Container Insights\n\t\t\t\ttuned on, Container Insights will not actually be turned on. If you want to preserve\n\t\t\t\tthe same name for your existing cluster and turn on Container Insights, you must\n\t\t\t\twait 7 days before you can re-create it.

\n
", "smithy.api#required": {} } } @@ -16234,7 +16383,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the Amazon ECS container agent on a specified container instance. Updating the\n\t\t\tAmazon ECS container agent doesn't interrupt running tasks or services on the container\n\t\t\tinstance. The process for updating the agent differs depending on whether your container\n\t\t\tinstance was launched with the Amazon ECS-optimized AMI or another operating system.

\n \n

The UpdateContainerAgent API isn't supported for container instances\n\t\t\t\tusing the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container agent,\n\t\t\t\tyou can update the ecs-init package. This updates the agent. For more\n\t\t\t\tinformation, see Updating the\n\t\t\t\t\tAmazon ECS container agent in the Amazon Elastic Container Service Developer Guide.

\n
\n \n

Agent updates with the UpdateContainerAgent API operation do not\n\t\t\t\tapply to Windows container instances. We recommend that you launch new container\n\t\t\t\tinstances to update the agent version in your Windows clusters.

\n
\n

The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or Amazon\n\t\t\tLinux AMI with the ecs-init service installed and running. For help\n\t\t\tupdating the Amazon ECS container agent on other operating systems, see Manually updating the Amazon ECS container agent in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Updates the Amazon ECS container agent on a specified container instance. Updating the\n\t\t\tAmazon ECS container agent doesn't interrupt running tasks or services on the container\n\t\t\tinstance. The process for updating the agent differs depending on whether your container\n\t\t\tinstance was launched with the Amazon ECS-optimized AMI or another operating\n\t\t\tsystem.

\n \n

The UpdateContainerAgent API isn't supported for container instances\n\t\t\t\tusing the Amazon ECS-optimized Amazon Linux 2 (arm64) AMI. To update the container\n\t\t\t\tagent, you can update the ecs-init package. This updates the agent. For\n\t\t\t\tmore information, see Updating the\n\t\t\t\t\tAmazon ECS container agent in the Amazon Elastic Container\n\t\t\t\t\tService Developer Guide.

\n
\n \n

Agent updates with the UpdateContainerAgent API operation do not\n\t\t\t\tapply to Windows container instances. We recommend that you launch new container\n\t\t\t\tinstances to update the agent version in your Windows clusters.

\n
\n

The UpdateContainerAgent API requires an Amazon ECS-optimized AMI or\n\t\t\tAmazon Linux AMI with the ecs-init service installed and running. For help\n\t\t\tupdating the Amazon ECS container agent on other operating systems, see Manually updating the Amazon ECS container agent in the Amazon\n\t\t\t\tElastic Container Service Developer Guide.

", "smithy.api#examples": [ { "title": "To update the container agent version on a container instance", @@ -16264,7 +16413,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that your container instance is\n\t\t\trunning on. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that your container\n\t\t\tinstance is running on. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "containerInstance": { @@ -16316,7 +16465,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the status of an Amazon ECS container instance.

\n

Once a container instance has reached an ACTIVE state, you can change the\n\t\t\tstatus of a container instance to DRAINING to manually remove an instance\n\t\t\tfrom a cluster, for example to perform system updates, update the Docker daemon, or\n\t\t\tscale down the cluster size.

\n \n

A container instance can't be changed to DRAINING until it has\n\t\t\t\treached an ACTIVE status. If the instance is in any other status, an\n\t\t\t\terror will be received.

\n
\n

When you set a container instance to DRAINING, Amazon ECS prevents new tasks\n\t\t\tfrom being scheduled for placement on the container instance and replacement service\n\t\t\ttasks are started on other container instances in the cluster if the resources are\n\t\t\tavailable. Service tasks on the container instance that are in the PENDING\n\t\t\tstate are stopped immediately.

\n

Service tasks on the container instance that are in the RUNNING state are\n\t\t\tstopped and replaced according to the service's deployment configuration parameters,\n\t\t\t\tminimumHealthyPercent and maximumPercent. You can change\n\t\t\tthe deployment configuration of your service using UpdateService.

\n
    \n
  • \n

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during task replacement. For example,\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. If the\n\t\t\t\t\tminimum is 100%, the service scheduler can't remove existing tasks until the\n\t\t\t\t\treplacement tasks are considered healthy. Tasks for services that do not use a\n\t\t\t\t\tload balancer are considered healthy if they're in the RUNNING\n\t\t\t\t\tstate. Tasks for services that use a load balancer are considered healthy if\n\t\t\t\t\tthey're in the RUNNING state and are reported as healthy by the\n\t\t\t\t\tload balancer.

    \n
  • \n
  • \n

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during task replacement. You can use this to define the\n\t\t\t\t\treplacement batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four tasks to be\n\t\t\t\t\tdrained, provided that the cluster resources required to do this are available.\n\t\t\t\t\tIf the maximum is 100%, then replacement tasks can't start until the draining\n\t\t\t\t\ttasks have stopped.

    \n
  • \n
\n

Any PENDING or RUNNING tasks that do not belong to a service\n\t\t\taren't affected. You must wait for them to finish or stop them manually.

\n

A container instance has completed draining when it has no more RUNNING\n\t\t\ttasks. You can verify this using ListTasks.

\n

When a container instance has been drained, you can set a container instance to\n\t\t\t\tACTIVE status and once it has reached that status the Amazon ECS scheduler\n\t\t\tcan begin scheduling tasks on the instance again.

", + "smithy.api#documentation": "

Modifies the status of an Amazon ECS container instance.

\n

Once a container instance has reached an ACTIVE state, you can change the\n\t\t\tstatus of a container instance to DRAINING to manually remove an instance\n\t\t\tfrom a cluster, for example to perform system updates, update the Docker daemon, or\n\t\t\tscale down the cluster size.

\n \n

A container instance can't be changed to DRAINING until it has\n\t\t\t\treached an ACTIVE status. If the instance is in any other status, an\n\t\t\t\terror will be received.

\n
\n

When you set a container instance to DRAINING, Amazon ECS prevents new\n\t\t\ttasks from being scheduled for placement on the container instance and replacement\n\t\t\tservice tasks are started on other container instances in the cluster if the resources\n\t\t\tare available. Service tasks on the container instance that are in the\n\t\t\t\tPENDING state are stopped immediately.

\n

Service tasks on the container instance that are in the RUNNING state are\n\t\t\tstopped and replaced according to the service's deployment configuration parameters,\n\t\t\t\tminimumHealthyPercent and maximumPercent. You can change\n\t\t\tthe deployment configuration of your service using UpdateService.

\n
    \n
  • \n

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during task replacement. For example,\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. If the\n\t\t\t\t\tminimum is 100%, the service scheduler can't remove existing tasks until the\n\t\t\t\t\treplacement tasks are considered healthy. Tasks for services that do not use a\n\t\t\t\t\tload balancer are considered healthy if they're in the RUNNING\n\t\t\t\t\tstate. Tasks for services that use a load balancer are considered healthy if\n\t\t\t\t\tthey're in the RUNNING state and are reported as healthy by the\n\t\t\t\t\tload balancer.

    \n
  • \n
  • \n

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during task replacement. You can use this to define the\n\t\t\t\t\treplacement batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four tasks to be\n\t\t\t\t\tdrained, provided that the cluster resources required to do this are available.\n\t\t\t\t\tIf the maximum is 100%, then replacement tasks can't start until the draining\n\t\t\t\t\ttasks have stopped.

    \n
  • \n
\n

Any PENDING or RUNNING tasks that do not belong to a service\n\t\t\taren't affected. You must wait for them to finish or stop them manually.

\n

A container instance has completed draining when it has no more RUNNING\n\t\t\ttasks. You can verify this using ListTasks.

\n

When a container instance has been drained, you can set a container instance to\n\t\t\t\tACTIVE status and once it has reached that status the Amazon ECS\n\t\t\tscheduler can begin scheduling tasks on the instance again.

", "smithy.api#examples": [ { "title": "To update the state of a container instance", @@ -16493,7 +16642,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the container instance to\n\t\t\tupdate. If you do not specify a cluster, the default cluster is assumed.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tcontainer instance to update. If you do not specify a cluster, the default cluster is\n\t\t\tassumed.

" } }, "containerInstances": { @@ -16546,7 +16695,7 @@ } }, "traits": { - "smithy.api#documentation": "

There's already a current Amazon ECS container agent update in progress on the container\n\t\t\tinstance that's specified. If the container agent becomes disconnected while it's in a\n\t\t\ttransitional stage, such as PENDING or STAGING, the update\n\t\t\tprocess can get stuck in that state. However, when the agent reconnects, it resumes\n\t\t\twhere it stopped previously.

", + "smithy.api#documentation": "

There's already a current Amazon ECS container agent update in progress on the\n\t\t\tcontainer instance that's specified. If the container agent becomes disconnected while\n\t\t\tit's in a transitional stage, such as PENDING or STAGING, the\n\t\t\tupdate process can get stuck in that state. However, when the agent reconnects, it\n\t\t\tresumes where it stopped previously.

", "smithy.api#error": "client" } }, @@ -16556,26 +16705,26 @@ "infrastructureRoleArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The updated Amazon Resource Name (ARN) of the infrastructure role. The new role must have the necessary permissions to manage instances and access required Amazon Web Services services.

\n

For more information, see Amazon ECS infrastructure IAM role in the Amazon ECS Developer Guide.

", + "smithy.api#documentation": "

The updated Amazon Resource Name (ARN) of the infrastructure role. The new role must\n\t\t\thave the necessary permissions to manage instances and access required Amazon Web Services\n\t\t\tservices.

\n

For more information, see Amazon ECS\n\t\t\t\tinfrastructure IAM role in the Amazon ECS Developer\n\t\t\t\tGuide.

", "smithy.api#required": {} } }, "instanceLaunchTemplate": { "target": "com.amazonaws.ecs#InstanceLaunchTemplateUpdate", "traits": { - "smithy.api#documentation": "

The updated launch template configuration. Changes to the launch template affect new instances launched after the update, while existing instances continue to use their original configuration.

", + "smithy.api#documentation": "

The updated launch template configuration. Changes to the launch template affect new\n\t\t\tinstances launched after the update, while existing instances continue to use their\n\t\t\toriginal configuration.

", "smithy.api#required": {} } }, "propagateTags": { "target": "com.amazonaws.ecs#PropagateMITags", "traits": { - "smithy.api#documentation": "

The updated tag propagation setting. When changed, this affects only new instances launched after the update.

" + "smithy.api#documentation": "

The updated tag propagation setting. When changed, this affects only new instances\n\t\t\tlaunched after the update.

" } } }, "traits": { - "smithy.api#documentation": "

The updated configuration for a Amazon ECS Managed Instances provider. You can modify the infrastructure role, instance launch template, and tag propagation settings. Changes apply to new instances launched after the update.

" + "smithy.api#documentation": "

The updated configuration for a Amazon ECS Managed Instances provider. You can modify\n\t\t\tthe infrastructure role, instance launch template, and tag propagation settings. Changes\n\t\t\tapply to new instances launched after the update.

" } }, "com.amazonaws.ecs#UpdateService": { @@ -16622,7 +16771,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the parameters of a service.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision before authorization. When a task definition revision is not specified, authorization will occur using the latest revision of a task definition.

\n
\n

For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide. You can update\n\t\t\tyour volume configurations and trigger a new deployment.\n\t\t\t\tvolumeConfigurations is only supported for REPLICA service and not\n\t\t\tDAEMON service. If you leave volumeConfigurations\n null, it doesn't trigger a new deployment. For more information on volumes,\n\t\t\tsee Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

\n

For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For more\n\t\t\tinformation, see CreateDeployment in the CodeDeploy API Reference.

\n

For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

\n

You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when starting or\n\t\t\trunning a task, or when creating or updating a service. For more information, see Amazon EBS volumes in the Amazon Elastic Container Service Developer Guide.

\n

If you have updated the container image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

\n \n

If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

\n
\n

You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

\n
    \n
  • \n

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

    \n
  • \n
  • \n

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

    \n
  • \n
\n

When UpdateService\n\t\t\tstops a task during a deployment, the equivalent of docker stop is issued\n\t\t\tto the containers running in the task. This results in a SIGTERM and a\n\t\t\t30-second timeout. After this, SIGKILL is sent and the containers are\n\t\t\tforcibly stopped. If the container handles the SIGTERM gracefully and exits\n\t\t\twithin 30 seconds from receiving it, no SIGKILL is sent.

\n

When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

\n
    \n
  • \n

    Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

    \n
  • \n
  • \n

    By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

    \n
      \n
    • \n

      Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

      \n
    • \n
    • \n

      Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

      \n
    • \n
    \n
  • \n
\n

When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

\n
    \n
  • \n

    Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

    \n
  • \n
  • \n

    Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

    \n
  • \n
", + "smithy.api#documentation": "

Modifies the parameters of a service.

\n \n

On March 21, 2024, a change was made to resolve the task definition revision\n\t\t\t\tbefore authorization. When a task definition revision is not specified,\n\t\t\t\tauthorization will occur using the latest revision of a task definition.

\n
\n

For services using the rolling update (ECS) you can update the desired\n\t\t\tcount, deployment configuration, network configuration, load balancers, service\n\t\t\tregistries, enable ECS managed tags option, propagate tags option, task placement\n\t\t\tconstraints and strategies, and task definition. When you update any of these\n\t\t\tparameters, Amazon ECS starts new tasks with the new configuration.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when\n\t\t\tstarting or running a task, or when creating or updating a service. For more\n\t\t\tinformation, see Amazon EBS volumes in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide. You can update your volume\n\t\t\tconfigurations and trigger a new deployment. volumeConfigurations is only\n\t\t\tsupported for REPLICA service and not DAEMON service. If you leave\n\t\t\t\tvolumeConfigurations\n null, it doesn't trigger a new deployment. For more information on volumes,\n\t\t\tsee Amazon EBS volumes in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

For services using the blue/green (CODE_DEPLOY) deployment controller,\n\t\t\tonly the desired count, deployment configuration, health check grace period, task\n\t\t\tplacement constraints and strategies, enable ECS managed tags option, and propagate tags\n\t\t\tcan be updated using this API. If the network configuration, platform version, task\n\t\t\tdefinition, or load balancer need to be updated, create a new CodeDeploy deployment. For\n\t\t\tmore information, see CreateDeployment in the CodeDeploy API\n\t\t\tReference.

\n

For services using an external deployment controller, you can update only the desired\n\t\t\tcount, task placement constraints and strategies, health check grace period, enable ECS\n\t\t\tmanaged tags option, and propagate tags option, using this API. If the launch type, load\n\t\t\tbalancer, network configuration, platform version, or task definition need to be\n\t\t\tupdated, create a new task set For more information, see CreateTaskSet.

\n

You can add to or subtract from the number of instantiations of a task definition in a\n\t\t\tservice by specifying the cluster that the service is running in and a new\n\t\t\t\tdesiredCount parameter.

\n

You can attach Amazon EBS volumes to Amazon ECS tasks by configuring the volume when\n\t\t\tstarting or running a task, or when creating or updating a service. For more\n\t\t\tinformation, see Amazon EBS volumes in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

If you have updated the container image of your application, you can create a new task\n\t\t\tdefinition with that image and deploy it to your service. The service scheduler uses the\n\t\t\tminimum healthy percent and maximum percent parameters (in the service's deployment\n\t\t\tconfiguration) to determine the deployment strategy.

\n \n

If your updated Docker image uses the same tag as what is in the existing task\n\t\t\t\tdefinition for your service (for example, my_image:latest), you don't\n\t\t\t\tneed to create a new revision of your task definition. You can update the service\n\t\t\t\tusing the forceNewDeployment option. The new tasks launched by the\n\t\t\t\tdeployment pull the current image/tag combination from your repository when they\n\t\t\t\tstart.

\n
\n

You can also update the deployment configuration of a service. When a deployment is\n\t\t\ttriggered by updating the task definition of a service, the service scheduler uses the\n\t\t\tdeployment configuration parameters, minimumHealthyPercent and\n\t\t\t\tmaximumPercent, to determine the deployment strategy.

\n
    \n
  • \n

    If minimumHealthyPercent is below 100%, the scheduler can ignore\n\t\t\t\t\t\tdesiredCount temporarily during a deployment. For example, if\n\t\t\t\t\t\tdesiredCount is four tasks, a minimum of 50% allows the\n\t\t\t\t\tscheduler to stop two existing tasks before starting two new tasks. Tasks for\n\t\t\t\t\tservices that don't use a load balancer are considered healthy if they're in the\n\t\t\t\t\t\tRUNNING state. Tasks for services that use a load balancer are\n\t\t\t\t\tconsidered healthy if they're in the RUNNING state and are reported\n\t\t\t\t\tas healthy by the load balancer.

    \n
  • \n
  • \n

    The maximumPercent parameter represents an upper limit on the\n\t\t\t\t\tnumber of running tasks during a deployment. You can use it to define the\n\t\t\t\t\tdeployment batch size. For example, if desiredCount is four tasks,\n\t\t\t\t\ta maximum of 200% starts four new tasks before stopping the four older tasks\n\t\t\t\t\t(provided that the cluster resources required to do this are available).

    \n
  • \n
\n

When UpdateService\n\t\t\tstops a task during a deployment, the equivalent of docker stop is issued\n\t\t\tto the containers running in the task. This results in a SIGTERM and a\n\t\t\t30-second timeout. After this, SIGKILL is sent and the containers are\n\t\t\tforcibly stopped. If the container handles the SIGTERM gracefully and exits\n\t\t\twithin 30 seconds from receiving it, no SIGKILL is sent.

\n

When the service scheduler launches new tasks, it determines task placement in your\n\t\t\tcluster with the following logic.

\n
    \n
  • \n

    Determine which of the container instances in your cluster can support your\n\t\t\t\t\tservice's task definition. For example, they have the required CPU, memory,\n\t\t\t\t\tports, and container instance attributes.

    \n
  • \n
  • \n

    By default, the service scheduler attempts to balance tasks across\n\t\t\t\t\tAvailability Zones in this manner even though you can choose a different\n\t\t\t\t\tplacement strategy.

    \n
      \n
    • \n

      Sort the valid container instances by the fewest number of running\n\t\t\t\t\t\t\ttasks for this service in the same Availability Zone as the instance.\n\t\t\t\t\t\t\tFor example, if zone A has one running service task and zones B and C\n\t\t\t\t\t\t\teach have zero, valid container instances in either zone B or C are\n\t\t\t\t\t\t\tconsidered optimal for placement.

      \n
    • \n
    • \n

      Place the new service task on a valid container instance in an optimal\n\t\t\t\t\t\t\tAvailability Zone (based on the previous steps), favoring container\n\t\t\t\t\t\t\tinstances with the fewest number of running tasks for this\n\t\t\t\t\t\t\tservice.

      \n
    • \n
    \n
  • \n
\n

When the service scheduler stops running tasks, it attempts to maintain balance across\n\t\t\tthe Availability Zones in your cluster using the following logic:

\n
    \n
  • \n

    Sort the container instances by the largest number of running tasks for this\n\t\t\t\t\tservice in the same Availability Zone as the instance. For example, if zone A\n\t\t\t\t\thas one running service task and zones B and C each have two, container\n\t\t\t\t\tinstances in either zone B or C are considered optimal for termination.

    \n
  • \n
  • \n

    Stop the task on a container instance in an optimal Availability Zone (based\n\t\t\t\t\ton the previous steps), favoring container instances with the largest number of\n\t\t\t\t\trunning tasks for this service.

    \n
  • \n
", "smithy.api#examples": [ { "title": "To change the number of tasks in a service", @@ -16683,7 +16832,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies which task set in a service is the primary task set. Any parameters that are\n\t\t\tupdated on the primary task set in a service will transition to the service. This is\n\t\t\tused when a service uses the EXTERNAL deployment controller type. For more\n\t\t\tinformation, see Amazon ECS Deployment\n\t\t\t\tTypes in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Modifies which task set in a service is the primary task set. Any parameters that are\n\t\t\tupdated on the primary task set in a service will transition to the service. This is\n\t\t\tused when a service uses the EXTERNAL deployment controller type. For more\n\t\t\tinformation, see Amazon ECS Deployment\n\t\t\t\tTypes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

", "smithy.api#examples": [ { "title": "To update the primary task set for a service", @@ -16736,21 +16885,21 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset exists in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice that the task set exists in.

", "smithy.api#required": {} } }, "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that the task set exists in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that the task set\n\t\t\texists in.

", "smithy.api#required": {} } }, "primaryTaskSet": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the task set to set as the primary task set in the\n\t\t\tdeployment.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the task set to set as the\n\t\t\tprimary task set in the deployment.

", "smithy.api#required": {} } } @@ -16779,7 +16928,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that your service runs on.\n\t\t\tIf you do not specify a cluster, the default cluster is assumed.

\n

You can't change the cluster name.

" + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that your service\n\t\t\truns on. If you do not specify a cluster, the default cluster is assumed.

\n

You can't change the cluster name.

" } }, "service": { @@ -16798,13 +16947,13 @@ "taskDefinition": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision is\n\t\t\tnot specified, the latest ACTIVE revision is used. If you modify the task\n\t\t\tdefinition with UpdateService, Amazon ECS spawns a task with the new version of\n\t\t\tthe task definition and then stops an old task after the new version is running.

\n

This parameter triggers a new service deployment.

" + "smithy.api#documentation": "

The family and revision (family:revision) or\n\t\t\tfull ARN of the task definition to run in your service. If a revision is\n\t\t\tnot specified, the latest ACTIVE revision is used. If you modify the task\n\t\t\tdefinition with UpdateService, Amazon ECS spawns a task with the new\n\t\t\tversion of the task definition and then stops an old task after the new version is\n\t\t\trunning.

\n

This parameter triggers a new service deployment.

" } }, "capacityProviderStrategy": { "target": "com.amazonaws.ecs#CapacityProviderStrategy", "traits": { - "smithy.api#documentation": "

The details of a capacity provider strategy. You can set a capacity provider when you\n\t\t\tcreate a cluster, run a task, or update a service.

\n

When you use Fargate, the capacity providers are FARGATE or\n\t\t\t\tFARGATE_SPOT.

\n

When you use Amazon EC2, the capacity providers are Auto Scaling groups.

\n

You can change capacity providers for rolling deployments and blue/green\n\t\t\tdeployments.

\n

The following list provides the valid transitions:

\n
    \n
  • \n

    Update the Fargate launch type to an Auto Scaling group capacity provider.

    \n
  • \n
  • \n

    Update the Amazon EC2 launch type to a Fargate capacity provider.

    \n
  • \n
  • \n

    Update the Fargate capacity provider to an Auto Scaling group capacity provider.

    \n
  • \n
  • \n

    Update the Amazon EC2 capacity provider to a Fargate capacity provider.

    \n
  • \n
  • \n

    Update the Auto Scaling group or Fargate capacity provider back to the launch type.

    \n

    Pass an empty list in the capacityProviderStrategy parameter.

    \n
  • \n
\n

For information about Amazon Web Services CDK considerations, see Amazon Web Services CDK considerations.

\n

This parameter doesn't trigger a new service deployment.

" + "smithy.api#documentation": "

The details of a capacity provider strategy. You can set a capacity provider when you\n\t\t\tcreate a cluster, run a task, or update a service.

\n \n

If you want to use Amazon ECS Managed Instances, you must use the\n\t\t\t\t\tcapacityProviderStrategy request parameter.

\n
\n

When you use Fargate, the capacity providers are FARGATE or\n\t\t\t\tFARGATE_SPOT.

\n

When you use Amazon EC2, the capacity providers are Auto Scaling groups.

\n

You can change capacity providers for rolling deployments and blue/green\n\t\t\tdeployments.

\n

The following list provides the valid transitions:

\n
    \n
  • \n

    Update the Fargate launch type to an Auto Scaling group capacity\n\t\t\t\t\tprovider.

    \n
  • \n
  • \n

    Update the Amazon EC2 launch type to a Fargate capacity provider.

    \n
  • \n
  • \n

    Update the Fargate capacity provider to an Auto Scaling group capacity\n\t\t\t\t\tprovider.

    \n
  • \n
  • \n

    Update the Amazon EC2 capacity provider to a Fargate capacity provider.\n\t\t\t\t

    \n
  • \n
  • \n

    Update the Auto Scaling group or Fargate capacity provider back to the launch\n\t\t\t\t\ttype.

    \n

    Pass an empty list in the capacityProviderStrategy\n\t\t\t\t\tparameter.

    \n
  • \n
\n

For information about Amazon Web Services CDK considerations, see Amazon Web\n\t\t\t\t\tServices CDK considerations.

\n

This parameter doesn't trigger a new service deployment.

" } }, "deploymentConfiguration": { @@ -16816,7 +16965,7 @@ "availabilityZoneRebalancing": { "target": "com.amazonaws.ecs#AvailabilityZoneRebalancing", "traits": { - "smithy.api#documentation": "

Indicates whether to use Availability Zone rebalancing for the service.

\n

For more information, see Balancing an Amazon ECS service across Availability Zones in\n\t\t\tthe \n Amazon Elastic Container Service Developer Guide\n .

\n

The default behavior of AvailabilityZoneRebalancing differs between create and update requests:

\n
    \n
  • \n

    For create service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults the value to ENABLED.

    \n
  • \n
  • \n

    For update service requests, when no value is specified for AvailabilityZoneRebalancing, Amazon ECS defaults to the existing service’s AvailabilityZoneRebalancing value. If the service never had an AvailabilityZoneRebalancing value set, Amazon ECS treats this as DISABLED.

    \n
  • \n
\n

This parameter doesn't trigger a new service deployment.

" + "smithy.api#documentation": "

Indicates whether to use Availability Zone rebalancing for the service.

\n

For more information, see Balancing an Amazon\n\t\t\t\tECS service across Availability Zones in the \n Amazon\n\t\t\t\t\tElastic Container Service Developer Guide\n .

\n

The default behavior of AvailabilityZoneRebalancing differs between\n\t\t\tcreate and update requests:

\n
    \n
  • \n

    For create service requests, when no value is specified for\n\t\t\t\t\t\tAvailabilityZoneRebalancing, Amazon ECS defaults the value to\n\t\t\t\t\t\tENABLED.

    \n
  • \n
  • \n

    For update service requests, when no value is specified for\n\t\t\t\t\t\tAvailabilityZoneRebalancing, Amazon ECS defaults to the\n\t\t\t\t\texisting service’s AvailabilityZoneRebalancing value. If the\n\t\t\t\t\tservice never had an AvailabilityZoneRebalancing value set, Amazon\n\t\t\t\t\tECS treats this as DISABLED.

    \n
  • \n
\n

This parameter doesn't trigger a new service deployment.

" } }, "networkConfiguration": { @@ -16840,7 +16989,7 @@ "platformVersion": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The platform version that your tasks in the service run on. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If a platform version\n\t\t\tis not specified, the LATEST platform version is used. For more\n\t\t\tinformation, see Fargate Platform\n\t\t\t\tVersions in the Amazon Elastic Container Service Developer Guide.

\n

This parameter triggers a new service deployment.

" + "smithy.api#documentation": "

The platform version that your tasks in the service run on. A platform version is only\n\t\t\tspecified for tasks using the Fargate launch type. If a platform version is not\n\t\t\tspecified, the LATEST platform version is used. For more information, see\n\t\t\t\tFargate\n\t\t\t\tPlatform Versions in the Amazon Elastic Container Service\n\t\t\t\tDeveloper Guide.

\n

This parameter triggers a new service deployment.

" } }, "forceNewDeployment": { @@ -16853,7 +17002,7 @@ "healthCheckGracePeriodSeconds": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores unhealthy\n\t\t\tElastic Load Balancing, VPC Lattice, and container health checks after a task has first started. If you don't\n\t\t\tspecify a health check grace period value, the default value of 0 is used.\n\t\t\tIf you don't use any of the health checks, then\n\t\t\t\thealthCheckGracePeriodSeconds is unused.

\n

If your service's tasks take a while to start and respond to health checks, you can\n\t\t\tspecify a health check grace period of up to 2,147,483,647 seconds (about 69 years).\n\t\t\tDuring that time, the Amazon ECS service scheduler ignores health check status. This grace\n\t\t\tperiod can prevent the service scheduler from marking tasks as unhealthy and stopping\n\t\t\tthem before they have time to come up.

\n

If your service has more running tasks than desired, unhealthy tasks in the grace period might be stopped to reach the desired count.

\n

This parameter doesn't trigger a new service deployment.

" + "smithy.api#documentation": "

The period of time, in seconds, that the Amazon ECS service scheduler ignores\n\t\t\tunhealthy Elastic Load Balancing, VPC Lattice, and container health checks after a task\n\t\t\thas first started. If you don't specify a health check grace period value, the default\n\t\t\tvalue of 0 is used. If you don't use any of the health checks, then\n\t\t\t\thealthCheckGracePeriodSeconds is unused.

\n

If your service's tasks take a while to start and respond to health checks, you can\n\t\t\tspecify a health check grace period of up to 2,147,483,647 seconds (about 69 years).\n\t\t\tDuring that time, the Amazon ECS service scheduler ignores health check status. This\n\t\t\tgrace period can prevent the service scheduler from marking tasks as unhealthy and\n\t\t\tstopping them before they have time to come up.

\n

If your service has more running tasks than desired, unhealthy tasks in the grace\n\t\t\tperiod might be stopped to reach the desired count.

\n

This parameter doesn't trigger a new service deployment.

" } }, "deploymentController": { @@ -16868,13 +17017,13 @@ "enableECSManagedTags": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Determines whether to turn on Amazon ECS managed tags for the tasks in the service. For\n\t\t\tmore information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer Guide.

\n

Only tasks launched after the update will reflect the update. To update the tags on\n\t\t\tall tasks, set forceNewDeployment to true, so that Amazon ECS\n\t\t\tstarts new tasks with the updated tags.

\n

This parameter doesn't trigger a new service deployment.

" + "smithy.api#documentation": "

Determines whether to turn on Amazon ECS managed tags for the tasks in the service.\n\t\t\tFor more information, see Tagging Your Amazon ECS\n\t\t\t\tResources in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

\n

Only tasks launched after the update will reflect the update. To update the tags on\n\t\t\tall tasks, set forceNewDeployment to true, so that Amazon ECS\n\t\t\tstarts new tasks with the updated tags.

\n

This parameter doesn't trigger a new service deployment.

" } }, "loadBalancers": { "target": "com.amazonaws.ecs#LoadBalancers", "traits": { - "smithy.api#documentation": "\n

You must have a service-linked role when you update this property

\n
\n

A list of Elastic Load Balancing load balancer objects. It contains the load balancer name, the\n\t\t\tcontainer name, and the container port to access from the load balancer. The container\n\t\t\tname is as it appears in a container definition.

\n

When you add, update, or remove a load balancer configuration, Amazon ECS starts new tasks\n\t\t\twith the updated Elastic Load Balancing configuration, and then stops the old tasks when the new tasks\n\t\t\tare running.

\n

For services that use rolling updates, you can add, update, or remove Elastic Load Balancing target\n\t\t\tgroups. You can update from a single target group to multiple target groups and from\n\t\t\tmultiple target groups to a single target group.

\n

For services that use blue/green deployments, you can update Elastic Load Balancing target groups by\n\t\t\tusing \n CreateDeployment\n through CodeDeploy. Note that multiple target groups\n\t\t\tare not supported for blue/green deployments. For more information see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

\n

For services that use the external deployment controller, you can add, update, or\n\t\t\tremove load balancers by using CreateTaskSet.\n\t\t\tNote that multiple target groups are not supported for external deployments. For more\n\t\t\tinformation see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic Container Service Developer Guide.

\n

You can remove existing loadBalancers by passing an empty list.

\n

This parameter triggers a new service deployment.

" + "smithy.api#documentation": "\n

You must have a service-linked role when you update this property

\n
\n

A list of Elastic Load Balancing load balancer objects. It contains the load balancer\n\t\t\tname, the container name, and the container port to access from the load balancer. The\n\t\t\tcontainer name is as it appears in a container definition.

\n

When you add, update, or remove a load balancer configuration, Amazon ECS starts new\n\t\t\ttasks with the updated Elastic Load Balancing configuration, and then stops the old\n\t\t\ttasks when the new tasks are running.

\n

For services that use rolling updates, you can add, update, or remove Elastic Load\n\t\t\tBalancing target groups. You can update from a single target group to multiple target\n\t\t\tgroups and from multiple target groups to a single target group.

\n

For services that use blue/green deployments, you can update Elastic Load Balancing\n\t\t\ttarget groups by using \n CreateDeployment\n through CodeDeploy. Note that multiple target groups\n\t\t\tare not supported for blue/green deployments. For more information see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

For services that use the external deployment controller, you can add, update, or\n\t\t\tremove load balancers by using CreateTaskSet.\n\t\t\tNote that multiple target groups are not supported for external deployments. For more\n\t\t\tinformation see Register\n\t\t\t\tmultiple target groups with a service in the Amazon Elastic\n\t\t\t\tContainer Service Developer Guide.

\n

You can remove existing loadBalancers by passing an empty list.

\n

This parameter triggers a new service deployment.

" } }, "propagateTags": { @@ -16886,13 +17035,13 @@ "serviceRegistries": { "target": "com.amazonaws.ecs#ServiceRegistries", "traits": { - "smithy.api#documentation": "\n

You must have a service-linked role when you update this property.

\n

For more information about the role see the CreateService request\n\t\t\t\tparameter \n role\n .

\n
\n

The details for the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

\n

When you add, update, or remove the service registries configuration, Amazon ECS starts new\n\t\t\ttasks with the updated service registries configuration, and then stops the old tasks\n\t\t\twhen the new tasks are running.

\n

You can remove existing serviceRegistries by passing an empty\n\t\t\tlist.

\n

This parameter triggers a new service deployment.

" + "smithy.api#documentation": "\n

You must have a service-linked role when you update this property.

\n

For more information about the role see the CreateService request\n\t\t\t\tparameter \n role\n .

\n
\n

The details for the service discovery registries to assign to this service. For more\n\t\t\tinformation, see Service\n\t\t\t\tDiscovery.

\n

When you add, update, or remove the service registries configuration, Amazon ECS\n\t\t\tstarts new tasks with the updated service registries configuration, and then stops the\n\t\t\told tasks when the new tasks are running.

\n

You can remove existing serviceRegistries by passing an empty\n\t\t\tlist.

\n

This parameter triggers a new service deployment.

" } }, "serviceConnectConfiguration": { "target": "com.amazonaws.ecs#ServiceConnectConfiguration", "traits": { - "smithy.api#documentation": "

The configuration for this service to discover and connect to\n\tservices, and be discovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect\n\tto services in the namespace. Tasks can connect to services across all of the clusters in the namespace.\n\tTasks connect through a managed proxy container\n\tthat collects logs and metrics for increased visibility.\n\tOnly the tasks that Amazon ECS services create are supported with Service Connect.\n\tFor more information, see Service Connect in the Amazon Elastic Container Service Developer Guide.

\n

This parameter triggers a new service deployment.

" + "smithy.api#documentation": "

The configuration for this service to discover and connect to services, and be\n\t\t\tdiscovered by, and connected from, other services within a namespace.

\n

Tasks that run in a namespace can use short names to connect to services in the\n\t\t\tnamespace. Tasks can connect to services across all of the clusters in the namespace.\n\t\t\tTasks connect through a managed proxy container that collects logs and metrics for\n\t\t\tincreased visibility. Only the tasks that Amazon ECS services create are supported with\n\t\t\tService Connect. For more information, see Service Connect\n\t\t\tin the Amazon Elastic Container Service Developer Guide.

\n

This parameter triggers a new service deployment.

" } }, "volumeConfigurations": { @@ -16958,7 +17107,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the protection status of a task. You can set protectionEnabled to\n\t\t\t\ttrue to protect your task from termination during scale-in events from\n\t\t\t\tService\n\t\t\t\tAutoscaling or deployments.

\n

Task-protection, by default, expires after 2 hours at which point Amazon ECS clears the\n\t\t\t\tprotectionEnabled property making the task eligible for termination by\n\t\t\ta subsequent scale-in event.

\n

You can specify a custom expiration period for task protection from 1 minute to up to\n\t\t\t2,880 minutes (48 hours). To specify the custom expiration period, set the\n\t\t\t\texpiresInMinutes property. The expiresInMinutes property\n\t\t\tis always reset when you invoke this operation for a task that already has\n\t\t\t\tprotectionEnabled set to true. You can keep extending the\n\t\t\tprotection expiration period of a task by invoking this operation repeatedly.

\n

To learn more about Amazon ECS task protection, see Task scale-in\n\t\t\t\tprotection in the \n Amazon Elastic Container Service Developer Guide\n .

\n \n

This operation is only supported for tasks belonging to an Amazon ECS service. Invoking\n\t\t\t\tthis operation for a standalone task will result in an TASK_NOT_VALID\n\t\t\t\tfailure. For more information, see API failure\n\t\t\t\t\treasons.

\n
\n \n

If you prefer to set task protection from within the container, we recommend using\n\t\t\t\tthe Task scale-in protection endpoint.

\n
", + "smithy.api#documentation": "

Updates the protection status of a task. You can set protectionEnabled to\n\t\t\t\ttrue to protect your task from termination during scale-in events from\n\t\t\t\tService\n\t\t\t\tAutoscaling or deployments.

\n

Task-protection, by default, expires after 2 hours at which point Amazon ECS clears\n\t\t\tthe protectionEnabled property making the task eligible for termination by\n\t\t\ta subsequent scale-in event.

\n

You can specify a custom expiration period for task protection from 1 minute to up to\n\t\t\t2,880 minutes (48 hours). To specify the custom expiration period, set the\n\t\t\t\texpiresInMinutes property. The expiresInMinutes property\n\t\t\tis always reset when you invoke this operation for a task that already has\n\t\t\t\tprotectionEnabled set to true. You can keep extending the\n\t\t\tprotection expiration period of a task by invoking this operation repeatedly.

\n

To learn more about Amazon ECS task protection, see Task scale-in\n\t\t\t\tprotection in the \n Amazon Elastic Container Service\n\t\t\t\t\tDeveloper Guide\n .

\n \n

This operation is only supported for tasks belonging to an Amazon ECS service.\n\t\t\t\tInvoking this operation for a standalone task will result in an\n\t\t\t\t\tTASK_NOT_VALID failure. For more information, see API failure\n\t\t\t\t\treasons.

\n
\n \n

If you prefer to set task protection from within the container, we recommend using\n\t\t\t\tthe Task scale-in protection endpoint.

\n
", "smithy.api#examples": [ { "title": "To remove task scale-in protection", @@ -17032,7 +17181,7 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tsets exist in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice that the task sets exist in.

", "smithy.api#required": {} } }, @@ -17120,7 +17269,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies a task set. This is used when a service uses the EXTERNAL\n\t\t\tdeployment controller type. For more information, see Amazon ECS Deployment\n\t\t\t\tTypes in the Amazon Elastic Container Service Developer Guide.

", + "smithy.api#documentation": "

Modifies a task set. This is used when a service uses the EXTERNAL\n\t\t\tdeployment controller type. For more information, see Amazon ECS Deployment\n\t\t\t\tTypes in the Amazon Elastic Container Service Developer\n\t\t\t\tGuide.

", "smithy.api#examples": [ { "title": "To update a task set", @@ -17177,14 +17326,14 @@ "cluster": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the service that the task\n\t\t\tset is found in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the cluster that hosts the\n\t\t\tservice that the task set is found in.

", "smithy.api#required": {} } }, "service": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that the task set is found in.

", + "smithy.api#documentation": "

The short name or full Amazon Resource Name (ARN) of the service that the task set is\n\t\t\tfound in.

", "smithy.api#required": {} } }, @@ -17227,19 +17376,19 @@ "min": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The minimum number of vCPUs. Instance types with fewer vCPUs than this value are excluded from selection.

", + "smithy.api#documentation": "

The minimum number of vCPUs. Instance types with fewer vCPUs than this value are\n\t\t\texcluded from selection.

", "smithy.api#required": {} } }, "max": { "target": "com.amazonaws.ecs#BoxedInteger", "traits": { - "smithy.api#documentation": "

The maximum number of vCPUs. Instance types with more vCPUs than this value are excluded from selection.

" + "smithy.api#documentation": "

The maximum number of vCPUs. Instance types with more vCPUs than this value are\n\t\t\texcluded from selection.

" } } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum number of vCPUs for instance type selection. This allows you to specify a range of vCPU counts that meet your workload requirements.

" + "smithy.api#documentation": "

The minimum and maximum number of vCPUs for instance type selection. This allows you\n\t\t\tto specify a range of vCPU counts that meet your workload requirements.

" } }, "com.amazonaws.ecs#VersionConsistency": { @@ -17271,7 +17420,7 @@ "agentHash": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent\n\t\t\t GitHub repository.

" + "smithy.api#documentation": "

The Git commit hash for the Amazon ECS container agent build on the amazon-ecs-agent GitHub\n\t\t\trepository.

" } }, "dockerVersion": { @@ -17291,7 +17440,7 @@ "name": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers, underscores, and hyphens are allowed.

\n

When using a volume configured at launch, the name is required and must\n\t\t\talso be specified as the volume name in the ServiceVolumeConfiguration or\n\t\t\t\tTaskVolumeConfiguration parameter when creating your service or\n\t\t\tstandalone task.

\n

For all other types of volumes, this name is referenced in the\n\t\t\t\tsourceVolume parameter of the mountPoints object in the\n\t\t\tcontainer definition.

\n

When a volume is using the efsVolumeConfiguration, the name is\n\t\t\trequired.

" + "smithy.api#documentation": "

The name of the volume. Up to 255 letters (uppercase and lowercase), numbers,\n\t\t\tunderscores, and hyphens are allowed.

\n

When using a volume configured at launch, the name is required and must\n\t\t\talso be specified as the volume name in the ServiceVolumeConfiguration or\n\t\t\t\tTaskVolumeConfiguration parameter when creating your service or\n\t\t\tstandalone task.

\n

For all other types of volumes, this name is referenced in the\n\t\t\t\tsourceVolume parameter of the mountPoints object in the\n\t\t\tcontainer definition.

\n

When a volume is using the efsVolumeConfiguration, the name is\n\t\t\trequired.

" } }, "host": { @@ -17309,24 +17458,24 @@ "efsVolumeConfiguration": { "target": "com.amazonaws.ecs#EFSVolumeConfiguration", "traits": { - "smithy.api#documentation": "

This parameter is specified when you use an Amazon Elastic File System file system for task\n\t\t\tstorage.

" + "smithy.api#documentation": "

This parameter is specified when you use an Amazon Elastic File System file system for\n\t\t\ttask storage.

" } }, "fsxWindowsFileServerVolumeConfiguration": { "target": "com.amazonaws.ecs#FSxWindowsFileServerVolumeConfiguration", "traits": { - "smithy.api#documentation": "

This parameter is specified when you use Amazon FSx for Windows File Server file system for task\n\t\t\tstorage.

" + "smithy.api#documentation": "

This parameter is specified when you use Amazon FSx for Windows File Server file\n\t\t\tsystem for task storage.

" } }, "configuredAtLaunch": { "target": "com.amazonaws.ecs#BoxedBoolean", "traits": { - "smithy.api#documentation": "

Indicates whether the volume should be configured at launch time. This is used to\n\t\t\tcreate Amazon EBS volumes for standalone tasks or tasks created as part of a service. Each\n\t\t\ttask definition revision may only have one volume configured at launch in the volume\n\t\t\tconfiguration.

\n

To configure a volume at launch time, use this task definition revision and specify a\n\t\t\t\tvolumeConfigurations object when calling the\n\t\t\tCreateService, UpdateService, RunTask or\n\t\t\t\tStartTask APIs.

" + "smithy.api#documentation": "

Indicates whether the volume should be configured at launch time. This is used to\n\t\t\tcreate Amazon EBS volumes for standalone tasks or tasks created as part of a service.\n\t\t\tEach task definition revision may only have one volume configured at launch in the\n\t\t\tvolume configuration.

\n

To configure a volume at launch time, use this task definition revision and specify a\n\t\t\t\tvolumeConfigurations object when calling the\n\t\t\tCreateService, UpdateService, RunTask or\n\t\t\t\tStartTask APIs.

" } } }, "traits": { - "smithy.api#documentation": "

The data volume configuration for tasks launched using this task definition.\n\t\t\tSpecifying a volume configuration in a task definition is optional. The volume\n\t\t\tconfiguration may contain multiple volumes but only one volume configured at launch is\n\t\t\tsupported. Each volume defined in the volume configuration may only specify a\n\t\t\t\tname and one of either configuredAtLaunch,\n\t\t\t\tdockerVolumeConfiguration, efsVolumeConfiguration,\n\t\t\t\tfsxWindowsFileServerVolumeConfiguration, or host. If an\n\t\t\tempty volume configuration is specified, by default Amazon ECS uses a host volume. For more\n\t\t\tinformation, see Using data volumes in\n\t\t\t\ttasks.

" + "smithy.api#documentation": "

The data volume configuration for tasks launched using this task definition.\n\t\t\tSpecifying a volume configuration in a task definition is optional. The volume\n\t\t\tconfiguration may contain multiple volumes but only one volume configured at launch is\n\t\t\tsupported. Each volume defined in the volume configuration may only specify a\n\t\t\t\tname and one of either configuredAtLaunch,\n\t\t\t\tdockerVolumeConfiguration, efsVolumeConfiguration,\n\t\t\t\tfsxWindowsFileServerVolumeConfiguration, or host. If an\n\t\t\tempty volume configuration is specified, by default Amazon ECS uses a host volume. For\n\t\t\tmore information, see Using data volumes in\n\t\t\t\ttasks.

" } }, "com.amazonaws.ecs#VolumeFrom": { @@ -17374,20 +17523,20 @@ "targetGroupArn": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The full Amazon Resource Name (ARN) of the target group or groups associated with the VPC Lattice\n\t\t\tconfiguration that the Amazon ECS tasks will be registered to.

", + "smithy.api#documentation": "

The full Amazon Resource Name (ARN) of the target group or groups associated with the\n\t\t\tVPC Lattice configuration that the Amazon ECS tasks will be registered to.

", "smithy.api#required": {} } }, "portName": { "target": "com.amazonaws.ecs#String", "traits": { - "smithy.api#documentation": "

The name of the port mapping to register in the VPC Lattice target group. This is the name\n\t\t\tof the portMapping you defined in your task definition.

", + "smithy.api#documentation": "

The name of the port mapping to register in the VPC Lattice target group. This is the\n\t\t\tname of the portMapping you defined in your task definition.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

The VPC Lattice configuration for your service that holds the information for the target\n\t\t\tgroup(s) Amazon ECS tasks will be registered to.

" + "smithy.api#documentation": "

The VPC Lattice configuration for your service that holds the information for the\n\t\t\ttarget group(s) Amazon ECS tasks will be registered to.

" } }, "com.amazonaws.ecs#VpcLatticeConfigurations": { diff --git a/codegen/sdk-codegen/aws-models/efs.json b/codegen/sdk-codegen/aws-models/efs.json index aaa7eb096f6..c857775b338 100644 --- a/codegen/sdk-codegen/aws-models/efs.json +++ b/codegen/sdk-codegen/aws-models/efs.json @@ -2899,26 +2899,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -3633,53 +3633,27 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://efs-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" + "url": "https://elasticfilesystem-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://efs.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.us-gov-west-1.amazonaws.com" + "url": "https://elasticfilesystem.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -3789,27 +3763,53 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://efs-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticfilesystem-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://elasticfilesystem.eusc-de-east-1.amazonaws.eu" + "url": "https://efs.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://elasticfilesystem.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/eks-auth.json b/codegen/sdk-codegen/aws-models/eks-auth.json index 2a47d3dbd4c..459244ea916 100644 --- a/codegen/sdk-codegen/aws-models/eks-auth.json +++ b/codegen/sdk-codegen/aws-models/eks-auth.json @@ -223,20 +223,20 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/eks.json b/codegen/sdk-codegen/aws-models/eks.json index 7a2bd91984e..b8f9436593e 100644 --- a/codegen/sdk-codegen/aws-models/eks.json +++ b/codegen/sdk-codegen/aws-models/eks.json @@ -351,27 +351,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/elastic-beanstalk.json b/codegen/sdk-codegen/aws-models/elastic-beanstalk.json index a9819095ce1..2d8b3fbe53f 100644 --- a/codegen/sdk-codegen/aws-models/elastic-beanstalk.json +++ b/codegen/sdk-codegen/aws-models/elastic-beanstalk.json @@ -203,27 +203,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json b/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json index fc678096f53..981adaaee3b 100644 --- a/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json +++ b/codegen/sdk-codegen/aws-models/elastic-load-balancing-v2.json @@ -1231,7 +1231,7 @@ "MutualAuthentication": { "target": "com.amazonaws.elasticloadbalancingv2#MutualAuthenticationAttributes", "traits": { - "smithy.api#documentation": "

The mutual authentication configuration information.

" + "smithy.api#documentation": "

[HTTPS listeners] The mutual authentication configuration information.

" } } }, @@ -1538,7 +1538,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a rule for the specified listener. The listener must be associated with an\n Application Load Balancer.

\n

Each rule consists of a priority, one or more actions, and one or more conditions. Rules\n are evaluated in priority order, from the lowest value to the highest value. When the\n conditions for a rule are met, its actions are performed. If the conditions for no rules are\n met, the actions for the default rule are performed. For more information, see Listener rules in the Application Load Balancers Guide.

", + "smithy.api#documentation": "

Creates a rule for the specified listener. The listener must be associated with an\n Application Load Balancer.

\n

Each rule consists of a priority, one or more actions, one or more conditions, and\n up to two optional transforms. Rules are evaluated in priority order, from the lowest value \n to the highest value. When the conditions for a rule are met, its actions are performed. \n If the conditions for no rules are met, the actions for the default rule are performed. \n For more information, see Listener rules in the Application Load Balancers Guide.

", "smithy.api#examples": [ { "title": "To create a rule", @@ -1628,6 +1628,12 @@ "traits": { "smithy.api#documentation": "

The tags to assign to the rule.

" } + }, + "Transforms": { + "target": "com.amazonaws.elasticloadbalancingv2#RuleTransformList", + "traits": { + "smithy.api#documentation": "

The transforms to apply to requests that match this rule. You can add one host header rewrite transform \n and one URL rewrite transform.

" + } } }, "traits": { @@ -4257,27 +4263,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -5557,7 +5563,13 @@ "Values": { "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", "traits": { - "smithy.api#documentation": "

The host names. The maximum size of each name is 128 characters. The comparison is\n case insensitive. The following wildcard characters are supported: * (matches 0 or more\n characters) and ? (matches exactly 1 character). You must include at least one \".\" \n character. You can include only alphabetical characters after the final \".\" character.

\n

If you specify multiple strings, the condition is satisfied if one of the strings matches\n the host name.

" + "smithy.api#documentation": "

The host names. The maximum length of each string is 128 characters. The comparison is\n case insensitive. The following wildcard characters are supported: * (matches 0 or more\n characters) and ? (matches exactly 1 character). You must include at least one \".\" \n character. You can include only alphabetical characters after the final \".\" character.

\n

If you specify multiple strings, the condition is satisfied if one of the strings matches\n the host name.

" + } + }, + "RegexValues": { + "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", + "traits": { + "smithy.api#documentation": "

The regular expressions to compare against the host header. The maximum length of each string is 128 characters.

" } } }, @@ -5565,6 +5577,20 @@ "smithy.api#documentation": "

Information about a host header condition.

" } }, + "com.amazonaws.elasticloadbalancingv2#HostHeaderRewriteConfig": { + "type": "structure", + "members": { + "Rewrites": { + "target": "com.amazonaws.elasticloadbalancingv2#RewriteConfigList", + "traits": { + "smithy.api#documentation": "

The host header rewrite transform. Each transform consists of a regular expression to match and a replacement string.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a host header rewrite transform. This transform matches a pattern in the host header in an HTTP request and replaces it with the specified string.

" + } + }, "com.amazonaws.elasticloadbalancingv2#HttpCode": { "type": "string" }, @@ -5574,13 +5600,19 @@ "HttpHeaderName": { "target": "com.amazonaws.elasticloadbalancingv2#HttpHeaderConditionName", "traits": { - "smithy.api#documentation": "

The name of the HTTP header field. The maximum size is 40 characters. The header name is\n case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not\n supported.

\n

You can't use an HTTP header condition to specify the host header. Instead, use a host condition.

" + "smithy.api#documentation": "

The name of the HTTP header field. The maximum length is 40 characters. The header name is\n case insensitive. The allowed characters are specified by RFC 7230. Wildcards are not\n supported.

\n

You can't use an HTTP header condition to specify the host header. Instead, use a host condition.

" } }, "Values": { "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", "traits": { - "smithy.api#documentation": "

The strings to compare against the value of the HTTP header. The maximum size of\n each string is 128 characters. The comparison strings are case insensitive. The following\n wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1\n character).

\n

If the same header appears multiple times in the request, we search them in order until a\n match is found.

\n

If you specify multiple strings, the condition is satisfied if one of the strings matches\n the value of the HTTP header. To require that all of the strings are a match, create one\n condition per string.

" + "smithy.api#documentation": "

The strings to compare against the value of the HTTP header. The maximum length of\n each string is 128 characters. The comparison strings are case insensitive. The following\n wildcard characters are supported: * (matches 0 or more characters) and ? (matches exactly 1\n character).

\n

If the same header appears multiple times in the request, we search them in order until a\n match is found.

\n

If you specify multiple strings, the condition is satisfied if one of the strings matches\n the value of the HTTP header. To require that all of the strings are a match, create one\n condition per string.

" + } + }, + "RegexValues": { + "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", + "traits": { + "smithy.api#documentation": "

The regular expression to compare against the HTTP header. The maximum length of each string is 128 characters.

" } } }, @@ -5597,7 +5629,7 @@ "Values": { "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", "traits": { - "smithy.api#documentation": "

The name of the request method. The maximum size is 40 characters. The allowed characters\n are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not\n supported; therefore, the method name must be an exact match.

\n

If you specify multiple strings, the condition is satisfied if one of the strings matches\n the HTTP request method. We recommend that you route GET and HEAD requests in the same way,\n because the response to a HEAD request may be cached.

" + "smithy.api#documentation": "

The name of the request method. The maximum length is 40 characters. The allowed characters\n are A-Z, hyphen (-), and underscore (_). The comparison is case sensitive. Wildcards are not\n supported; therefore, the method name must be an exact match.

\n

If you specify multiple strings, the condition is satisfied if one of the strings matches\n the HTTP request method. We recommend that you route GET and HEAD requests in the same way,\n because the response to a HEAD request may be cached.

" } } }, @@ -5843,7 +5875,7 @@ "Name": { "target": "com.amazonaws.elasticloadbalancingv2#Name", "traits": { - "smithy.api#documentation": "

The name of the limit. The possible values are:

\n
    \n
  • \n

    application-load-balancers

    \n
  • \n
  • \n

    condition-values-per-alb-rule

    \n
  • \n
  • \n

    condition-wildcards-per-alb-rule

    \n
  • \n
  • \n

    gateway-load-balancers

    \n
  • \n
  • \n

    gateway-load-balancers-per-vpc

    \n
  • \n
  • \n

    geneve-target-groups

    \n
  • \n
  • \n

    listeners-per-application-load-balancer

    \n
  • \n
  • \n

    listeners-per-network-load-balancer

    \n
  • \n
  • \n

    network-load-balancers

    \n
  • \n
  • \n

    rules-per-application-load-balancer

    \n
  • \n
  • \n

    target-groups

    \n
  • \n
  • \n

    target-groups-per-action-on-application-load-balancer

    \n
  • \n
  • \n

    target-groups-per-action-on-network-load-balancer

    \n
  • \n
  • \n

    target-groups-per-application-load-balancer

    \n
  • \n
  • \n

    targets-per-application-load-balancer

    \n
  • \n
  • \n

    targets-per-availability-zone-per-gateway-load-balancer

    \n
  • \n
  • \n

    targets-per-availability-zone-per-network-load-balancer

    \n
  • \n
  • \n

    targets-per-network-load-balancer

    \n
  • \n
" + "smithy.api#documentation": "

The name of the limit.

" } }, "Max": { @@ -6165,7 +6197,7 @@ "Key": { "target": "com.amazonaws.elasticloadbalancingv2#LoadBalancerAttributeKey", "traits": { - "smithy.api#documentation": "

The name of the attribute.

\n

The following attributes are supported by all load balancers:

\n
    \n
  • \n

    \n deletion_protection.enabled - Indicates whether deletion protection is\n enabled. The value is true or false. The default is\n false.

    \n
  • \n
  • \n

    \n load_balancing.cross_zone.enabled - Indicates whether cross-zone load\n balancing is enabled. The possible values are true and false.\n The default for Network Load Balancers and Gateway Load Balancers is false. \n The default for Application Load Balancers is true, and can't be changed.

    \n
  • \n
\n

The following attributes are supported by both Application Load Balancers and Network Load\n Balancers:

\n
    \n
  • \n

    \n access_logs.s3.enabled - Indicates whether access logs are enabled. The\n value is true or false. The default is\n false.

    \n
  • \n
  • \n

    \n access_logs.s3.bucket - The name of the S3 bucket for the access logs.\n This attribute is required if access logs are enabled. The bucket must exist in the same\n region as the load balancer and have a bucket policy that grants Elastic Load Balancing\n permissions to write to the bucket.

    \n
  • \n
  • \n

    \n access_logs.s3.prefix - The prefix for the location in the S3 bucket for the\n access logs.

    \n
  • \n
  • \n

    \n ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the\n load balancer. It is set to false for internet-facing load balancers and\n true for internal load balancers, preventing unintended access to your\n internal load balancer through an internet gateway.

    \n
  • \n
  • \n

    \n zonal_shift.config.enabled - Indicates whether zonal shift is \n enabled. The possible values are true and false. The \n default is false.

    \n
  • \n
\n

The following attributes are supported by only Application Load Balancers:

\n
    \n
  • \n

    \n idle_timeout.timeout_seconds - The idle timeout value, in seconds. The\n valid range is 1-4000 seconds. The default is 60 seconds.

    \n
  • \n
  • \n

    \n client_keep_alive.seconds - The client keep alive value, in seconds. The \n valid range is 60-604800 seconds. The default is 3600 seconds.

    \n
  • \n
  • \n

    \n connection_logs.s3.enabled - Indicates whether connection logs are enabled. The\n value is true or false. The default is false.

    \n
  • \n
  • \n

    \n connection_logs.s3.bucket - The name of the S3 bucket for the connection logs.\n This attribute is required if connection logs are enabled. The bucket must exist in the same\n region as the load balancer and have a bucket policy that grants Elastic Load Balancing\n permissions to write to the bucket.

    \n
  • \n
  • \n

    \n connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the\n connection logs.

    \n
  • \n
  • \n

    \n routing.http.desync_mitigation_mode - Determines how the load balancer\n handles requests that might pose a security risk to your application. The possible values\n are monitor, defensive, and strictest. The default\n is defensive.

    \n
  • \n
  • \n

    \n routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP\n headers with invalid header fields are removed by the load balancer (true) or\n routed to targets (false). The default is false.

    \n
  • \n
  • \n

    \n routing.http.preserve_host_header.enabled - Indicates whether the\n Application Load Balancer should preserve the Host header in the HTTP request\n and send it to the target without any change. The possible values are true\n and false. The default is false.

    \n
  • \n
  • \n

    \n routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates\n whether the two headers (x-amzn-tls-version and\n x-amzn-tls-cipher-suite), which contain information about the negotiated\n TLS version and cipher suite, are added to the client request before sending it to the\n target. The x-amzn-tls-version header has information about the TLS protocol\n version negotiated with the client, and the x-amzn-tls-cipher-suite header\n has information about the cipher suite negotiated with the client. Both headers are in\n OpenSSL format. The possible values for the attribute are true and\n false. The default is false.

    \n
  • \n
  • \n

    \n routing.http.xff_client_port.enabled - Indicates whether the\n X-Forwarded-For header should preserve the source port that the client used\n to connect to the load balancer. The possible values are true and\n false. The default is false.

    \n
  • \n
  • \n

    \n routing.http.xff_header_processing.mode - Enables you to modify,\n preserve, or remove the X-Forwarded-For header in the HTTP request before the\n Application Load Balancer sends the request to the target. The possible values are\n append, preserve, and remove. The default is\n append.

    \n
      \n
    • \n

      If the value is append, the Application Load Balancer adds the client\n IP address (of the last hop) to the X-Forwarded-For header in the HTTP\n request before it sends it to targets.

      \n
    • \n
    • \n

      If the value is preserve the Application Load Balancer preserves the\n X-Forwarded-For header in the HTTP request, and sends it to targets\n without any change.

      \n
    • \n
    • \n

      If the value is remove, the Application Load Balancer removes the\n X-Forwarded-For header in the HTTP request before it sends it to\n targets.

      \n
    • \n
    \n
  • \n
  • \n

    \n routing.http2.enabled - Indicates whether HTTP/2 is enabled. The possible\n values are true and false. The default is true.\n Elastic Load Balancing requires that message header names contain only alphanumeric\n characters and hyphens.

    \n
  • \n
  • \n

    \n waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load\n balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The\n default is false.

    \n
  • \n
\n

The following attributes are supported by only Network Load Balancers:

\n
    \n
  • \n

    \n dns_record.client_routing_policy - Indicates how traffic is \n distributed among the load balancer Availability Zones. The possible values are \n availability_zone_affinity with 100 percent zonal affinity, \n partial_availability_zone_affinity with 85 percent zonal affinity, \n and any_availability_zone with 0 percent zonal affinity.

    \n
  • \n
  • \n

    \n secondary_ips.auto_assigned.per_subnet - The number of secondary\n IP addresses to configure for your load balancer nodes. Use to address port \n allocation errors if you can't add targets. The valid range is 0 to 7. The \n default is 0. After you set this value, you can't decrease it.

    \n
  • \n
" + "smithy.api#documentation": "

The name of the attribute.

\n

The following attributes are supported by all load balancers:

\n
    \n
  • \n

    \n deletion_protection.enabled - Indicates whether deletion protection is\n enabled. The value is true or false. The default is\n false.

    \n
  • \n
  • \n

    \n load_balancing.cross_zone.enabled - Indicates whether cross-zone load\n balancing is enabled. The possible values are true and false.\n The default for Network Load Balancers and Gateway Load Balancers is false. \n The default for Application Load Balancers is true, and can't be changed.

    \n
  • \n
\n

The following attributes are supported by both Application Load Balancers and Network Load\n Balancers:

\n
    \n
  • \n

    \n access_logs.s3.enabled - Indicates whether access logs are enabled. The\n value is true or false. The default is\n false.

    \n
  • \n
  • \n

    \n access_logs.s3.bucket - The name of the S3 bucket for the access logs.\n This attribute is required if access logs are enabled. The bucket must exist in the same\n region as the load balancer and have a bucket policy that grants Elastic Load Balancing\n permissions to write to the bucket.

    \n
  • \n
  • \n

    \n access_logs.s3.prefix - The prefix for the location in the S3 bucket for the\n access logs.

    \n
  • \n
  • \n

    \n ipv6.deny_all_igw_traffic - Blocks internet gateway (IGW) access to the\n load balancer. It is set to false for internet-facing load balancers and\n true for internal load balancers, preventing unintended access to your\n internal load balancer through an internet gateway.

    \n
  • \n
  • \n

    \n zonal_shift.config.enabled - Indicates whether zonal shift is \n enabled. The possible values are true and false. The \n default is false.

    \n
  • \n
\n

The following attributes are supported by only Application Load Balancers:

\n
    \n
  • \n

    \n idle_timeout.timeout_seconds - The idle timeout value, in seconds. The\n valid range is 1-4000 seconds. The default is 60 seconds.

    \n
  • \n
  • \n

    \n client_keep_alive.seconds - The client keep alive value, in seconds. The \n valid range is 60-604800 seconds. The default is 3600 seconds.

    \n
  • \n
  • \n

    \n connection_logs.s3.enabled - Indicates whether connection logs are enabled. The\n value is true or false. The default is false.

    \n
  • \n
  • \n

    \n connection_logs.s3.bucket - The name of the S3 bucket for the connection logs.\n This attribute is required if connection logs are enabled. The bucket must exist in the same\n region as the load balancer and have a bucket policy that grants Elastic Load Balancing\n permissions to write to the bucket.

    \n
  • \n
  • \n

    \n connection_logs.s3.prefix - The prefix for the location in the S3 bucket for the\n connection logs.

    \n
  • \n
  • \n

    \n routing.http.desync_mitigation_mode - Determines how the load balancer\n handles requests that might pose a security risk to your application. The possible values\n are monitor, defensive, and strictest. The default\n is defensive.

    \n
  • \n
  • \n

    \n routing.http.drop_invalid_header_fields.enabled - Indicates whether HTTP\n headers with invalid header fields are removed by the load balancer (true) or\n routed to targets (false). The default is false.

    \n
  • \n
  • \n

    \n routing.http.preserve_host_header.enabled - Indicates whether the\n Application Load Balancer should preserve the Host header in the HTTP request\n and send it to the target without any change. The possible values are true\n and false. The default is false.

    \n
  • \n
  • \n

    \n routing.http.x_amzn_tls_version_and_cipher_suite.enabled - Indicates\n whether the two headers (x-amzn-tls-version and\n x-amzn-tls-cipher-suite), which contain information about the negotiated\n TLS version and cipher suite, are added to the client request before sending it to the\n target. The x-amzn-tls-version header has information about the TLS protocol\n version negotiated with the client, and the x-amzn-tls-cipher-suite header\n has information about the cipher suite negotiated with the client. Both headers are in\n OpenSSL format. The possible values for the attribute are true and\n false. The default is false.

    \n
  • \n
  • \n

    \n routing.http.xff_client_port.enabled - Indicates whether the\n X-Forwarded-For header should preserve the source port that the client used\n to connect to the load balancer. The possible values are true and\n false. The default is false.

    \n
  • \n
  • \n

    \n routing.http.xff_header_processing.mode - Enables you to modify,\n preserve, or remove the X-Forwarded-For header in the HTTP request before the\n Application Load Balancer sends the request to the target. The possible values are\n append, preserve, and remove. The default is\n append.

    \n
      \n
    • \n

      If the value is append, the Application Load Balancer adds the client\n IP address (of the last hop) to the X-Forwarded-For header in the HTTP\n request before it sends it to targets.

      \n
    • \n
    • \n

      If the value is preserve the Application Load Balancer preserves the\n X-Forwarded-For header in the HTTP request, and sends it to targets\n without any change.

      \n
    • \n
    • \n

      If the value is remove, the Application Load Balancer removes the\n X-Forwarded-For header in the HTTP request before it sends it to\n targets.

      \n
    • \n
    \n
  • \n
  • \n

    \n routing.http2.enabled - Indicates whether clients can connect to the load\n balancer using HTTP/2. If true, clients can connect using HTTP/2 or HTTP/1.1.\n However, all client requests are subject to the stricter HTTP/2 header validation rules.\n For example, message header names must contain only alphanumeric characters and hyphens.\n If false, clients must connect using HTTP/1.1. The default is\n true.

    \n
  • \n
  • \n

    \n waf.fail_open.enabled - Indicates whether to allow a WAF-enabled load\n balancer to route requests to targets if it is unable to forward the request to Amazon Web Services WAF. The possible values are true and false. The\n default is false.

    \n
  • \n
\n

The following attributes are supported by only Network Load Balancers:

\n
    \n
  • \n

    \n dns_record.client_routing_policy - Indicates how traffic is \n distributed among the load balancer Availability Zones. The possible values are \n availability_zone_affinity with 100 percent zonal affinity, \n partial_availability_zone_affinity with 85 percent zonal affinity, \n and any_availability_zone with 0 percent zonal affinity.

    \n
  • \n
  • \n

    \n secondary_ips.auto_assigned.per_subnet - The number of secondary\n IP addresses to configure for your load balancer nodes. Use to address port \n allocation errors if you can't add targets. The valid range is 0 to 7. The \n default is 0. After you set this value, you can't decrease it.

    \n
  • \n
" } }, "Value": { @@ -6795,7 +6827,7 @@ "MutualAuthentication": { "target": "com.amazonaws.elasticloadbalancingv2#MutualAuthenticationAttributes", "traits": { - "smithy.api#documentation": "

The mutual authentication configuration information.

" + "smithy.api#documentation": "

[HTTPS listeners] The mutual authentication configuration information.

" } } }, @@ -7105,6 +7137,18 @@ "traits": { "smithy.api#documentation": "

The actions.

" } + }, + "Transforms": { + "target": "com.amazonaws.elasticloadbalancingv2#RuleTransformList", + "traits": { + "smithy.api#documentation": "

The transforms to apply to requests that match this rule. You can add one host header rewrite transform \n and one URL rewrite transform. If you specify Transforms, you can't specify ResetTransforms.

" + } + }, + "ResetTransforms": { + "target": "com.amazonaws.elasticloadbalancingv2#ResetTransforms", + "traits": { + "smithy.api#documentation": "

Indicates whether to remove all transforms from the rule. If you specify ResetTransforms, \n you can't specify Transforms.

" + } } }, "traits": { @@ -7304,7 +7348,7 @@ "HealthCheckEnabled": { "target": "com.amazonaws.elasticloadbalancingv2#HealthCheckEnabled", "traits": { - "smithy.api#documentation": "

Indicates whether health checks are enabled.

" + "smithy.api#documentation": "

Indicates whether health checks are enabled. If the target type is lambda,\n health checks are disabled by default but can be enabled. If the target type is\n instance, ip, or alb, health checks are always\n enabled and can't be disabled.

" } }, "HealthCheckIntervalSeconds": { @@ -7522,7 +7566,13 @@ "Values": { "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", "traits": { - "smithy.api#documentation": "

The path patterns to compare against the request URL. The maximum size of each\n string is 128 characters. The comparison is case sensitive. The following wildcard characters\n are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

\n

If you specify multiple strings, the condition is satisfied if one of them matches the\n request URL. The path pattern is compared only to the path of the URL, not to its query\n string. To compare against the query string, use a query string condition.

" + "smithy.api#documentation": "

The path patterns to compare against the request URL. The maximum length of each\n string is 128 characters. The comparison is case sensitive. The following wildcard characters\n are supported: * (matches 0 or more characters) and ? (matches exactly 1 character).

\n

If you specify multiple strings, the condition is satisfied if one of them matches the\n request URL. The path pattern is compared only to the path of the URL, not to its query\n string. To compare against the query string, use a query string condition.

" + } + }, + "RegexValues": { + "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", + "traits": { + "smithy.api#documentation": "

The regular expressions to compare against the request URL. The maximum length of each string is 128 characters.

" } } }, @@ -7640,7 +7690,7 @@ "Values": { "target": "com.amazonaws.elasticloadbalancingv2#QueryStringKeyValuePairList", "traits": { - "smithy.api#documentation": "

The key/value pairs or values to find in the query string. The maximum size of\n each string is 128 characters. The comparison is case insensitive. The following wildcard\n characters are supported: * (matches 0 or more characters) and ? (matches exactly 1\n character). To search for a literal '*' or '?' character in a query string, you must escape\n these characters in Values using a '\\' character.

\n

If you specify multiple key/value pairs or values, the condition is satisfied if one of\n them is found in the query string.

" + "smithy.api#documentation": "

The key/value pairs or values to find in the query string. The maximum length of\n each string is 128 characters. The comparison is case insensitive. The following wildcard\n characters are supported: * (matches 0 or more characters) and ? (matches exactly 1\n character). To search for a literal '*' or '?' character in a query string, you must escape\n these characters in Values using a '\\' character.

\n

If you specify multiple key/value pairs or values, the condition is satisfied if one of\n them is found in the query string.

" } } }, @@ -8064,6 +8114,9 @@ "com.amazonaws.elasticloadbalancingv2#ResetCapacityReservation": { "type": "boolean" }, + "com.amazonaws.elasticloadbalancingv2#ResetTransforms": { + "type": "boolean" + }, "com.amazonaws.elasticloadbalancingv2#ResourceArn": { "type": "string" }, @@ -8199,6 +8252,36 @@ } } }, + "com.amazonaws.elasticloadbalancingv2#RewriteConfig": { + "type": "structure", + "members": { + "Regex": { + "target": "com.amazonaws.elasticloadbalancingv2#StringValue", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The regular expression to match in the input string. The maximum length of the string is 1,024 characters.

", + "smithy.api#required": {} + } + }, + "Replace": { + "target": "com.amazonaws.elasticloadbalancingv2#StringValue", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The replacement string to use when rewriting the matched input. The maximum length of the string is 1,024 characters. \n You can specify capture groups in the regular expression (for example, $1 and $2).

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a rewrite transform. This transform matches a pattern and replaces it with the specified string.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#RewriteConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#RewriteConfig" + } + }, "com.amazonaws.elasticloadbalancingv2#Rule": { "type": "structure", "members": { @@ -8231,6 +8314,12 @@ "traits": { "smithy.api#documentation": "

Indicates whether this is the default rule.

" } + }, + "Transforms": { + "target": "com.amazonaws.elasticloadbalancingv2#RuleTransformList", + "traits": { + "smithy.api#documentation": "

The transforms for the rule.

" + } } }, "traits": { @@ -8296,6 +8385,12 @@ "traits": { "smithy.api#documentation": "

Information for a source IP condition. Specify only when Field is\n source-ip.

" } + }, + "RegexValues": { + "target": "com.amazonaws.elasticloadbalancingv2#ListOfString", + "traits": { + "smithy.api#documentation": "

The regular expressions to match against the condition field. The maximum length of each string is 128 characters.\n Specify only when Field is http-header, host-header, or path-pattern.

" + } } }, "traits": { @@ -8360,6 +8455,40 @@ "smithy.api#documentation": "

Information about the priorities for the rules for a listener.

" } }, + "com.amazonaws.elasticloadbalancingv2#RuleTransform": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.elasticloadbalancingv2#TransformTypeEnum", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The type of transform.

\n
    \n
  • \n

    \n host-header-rewrite - Rewrite the host header.

    \n
  • \n
  • \n

    \n url-rewrite - Rewrite the request URL.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "HostHeaderRewriteConfig": { + "target": "com.amazonaws.elasticloadbalancingv2#HostHeaderRewriteConfig", + "traits": { + "smithy.api#documentation": "

Information about a host header rewrite transform. This transform modifies the host header in an HTTP request.\n Specify only when Type is host-header-rewrite.

" + } + }, + "UrlRewriteConfig": { + "target": "com.amazonaws.elasticloadbalancingv2#UrlRewriteConfig", + "traits": { + "smithy.api#documentation": "

Information about a URL rewrite transform. This transform modifies the request URL.\n Specify only when Type is url-rewrite.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a transform to apply to requests that match a rule. Transforms are applied to requests before they are sent to targets.

" + } + }, + "com.amazonaws.elasticloadbalancingv2#RuleTransformList": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticloadbalancingv2#RuleTransform" + } + }, "com.amazonaws.elasticloadbalancingv2#Rules": { "type": "list", "member": { @@ -8674,7 +8803,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables the Availability Zones for the specified public subnets for the specified\n Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets replace the\n previously enabled subnets.

\n

When you specify subnets for a Network Load Balancer, or Gateway Load Balancer you must include all subnets that\n were enabled previously, with their existing configurations, plus any additional\n subnets.

", + "smithy.api#documentation": "

Enables the Availability Zones for the specified public subnets for the specified\n Application Load Balancer, Network Load Balancer or Gateway Load Balancer. The specified subnets \n replace the previously enabled subnets.

", "smithy.api#examples": [ { "title": "To enable Availability Zones for a load balancer", @@ -8716,7 +8845,7 @@ "Subnets": { "target": "com.amazonaws.elasticloadbalancingv2#Subnets", "traits": { - "smithy.api#documentation": "

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You\n must specify either subnets or subnet mappings.

\n

[Application Load Balancers] You must specify subnets from at least two Availability\n Zones.

\n

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

\n

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local\n Zones.

\n

[Network Load Balancers and Gateway Load Balancers] You can specify subnets from one or more \n Availability Zones.

" + "smithy.api#documentation": "

The IDs of the public subnets. You can specify only one subnet per Availability Zone. You\n must specify either subnets or subnet mappings.

\n

[Application Load Balancers] You must specify subnets from at least two Availability\n Zones.

\n

[Application Load Balancers on Outposts] You must specify one Outpost subnet.

\n

[Application Load Balancers on Local Zones] You can specify subnets from one or more Local\n Zones.

\n

[Network Load Balancers] You can specify subnets from one or more Availability Zones.

\n

[Gateway Load Balancers] You can specify subnets from one or more Availability Zones.\n You must include all subnets that were enabled previously, with their existing configurations, \n plus any additional subnets.

" } }, "SubnetMappings": { @@ -9821,6 +9950,23 @@ "com.amazonaws.elasticloadbalancingv2#TotalRevokedEntries": { "type": "long" }, + "com.amazonaws.elasticloadbalancingv2#TransformTypeEnum": { + "type": "enum", + "members": { + "HOST_HEADER_REWRITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "host-header-rewrite" + } + }, + "URL_REWRITE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "url-rewrite" + } + } + } + }, "com.amazonaws.elasticloadbalancingv2#TrustStore": { "type": "structure", "members": { @@ -10070,6 +10216,20 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.elasticloadbalancingv2#UrlRewriteConfig": { + "type": "structure", + "members": { + "Rewrites": { + "target": "com.amazonaws.elasticloadbalancingv2#RewriteConfigList", + "traits": { + "smithy.api#documentation": "

The URL rewrite transform to apply to the request. The transform consists of a regular expression to match and a replacement string.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information about a URL rewrite transform. This transform matches a pattern in the request URL and replaces it with the specified string.

" + } + }, "com.amazonaws.elasticloadbalancingv2#VpcId": { "type": "string" }, diff --git a/codegen/sdk-codegen/aws-models/elastic-load-balancing.json b/codegen/sdk-codegen/aws-models/elastic-load-balancing.json index 99a8419b6b3..38c503fa37b 100644 --- a/codegen/sdk-codegen/aws-models/elastic-load-balancing.json +++ b/codegen/sdk-codegen/aws-models/elastic-load-balancing.json @@ -2559,27 +2559,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/elastic-transcoder.json b/codegen/sdk-codegen/aws-models/elastic-transcoder.json index 585c9ec0965..70fd8df35d1 100644 --- a/codegen/sdk-codegen/aws-models/elastic-transcoder.json +++ b/codegen/sdk-codegen/aws-models/elastic-transcoder.json @@ -1283,27 +1283,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/elasticache.json b/codegen/sdk-codegen/aws-models/elasticache.json index 9743caf4c4f..88b759d7eb7 100644 --- a/codegen/sdk-codegen/aws-models/elasticache.json +++ b/codegen/sdk-codegen/aws-models/elasticache.json @@ -472,27 +472,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/elasticsearch-service.json b/codegen/sdk-codegen/aws-models/elasticsearch-service.json index ea63903b946..864a44a9072 100644 --- a/codegen/sdk-codegen/aws-models/elasticsearch-service.json +++ b/codegen/sdk-codegen/aws-models/elasticsearch-service.json @@ -534,27 +534,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/emr-containers.json b/codegen/sdk-codegen/aws-models/emr-containers.json index 973c14f7f5e..5fe3663b7f1 100644 --- a/codegen/sdk-codegen/aws-models/emr-containers.json +++ b/codegen/sdk-codegen/aws-models/emr-containers.json @@ -171,27 +171,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/emr-serverless.json b/codegen/sdk-codegen/aws-models/emr-serverless.json index 599f972b373..6e5f796c66c 100644 --- a/codegen/sdk-codegen/aws-models/emr-serverless.json +++ b/codegen/sdk-codegen/aws-models/emr-serverless.json @@ -144,7 +144,7 @@ "identityCenterConfiguration": { "target": "com.amazonaws.emrserverless#IdentityCenterConfiguration", "traits": { - "smithy.api#documentation": "

The IAM Identity Center configuration applied to enable trusted identity propagation.

" + "smithy.api#documentation": "

The IAM Identity Center configuration applied to enable trusted identity propagation.

" } } }, @@ -482,27 +482,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -1919,10 +1919,16 @@ "traits": { "smithy.api#documentation": "

The ARN of the EMR Serverless created IAM Identity Center Application that provides trusted-identity propagation.

" } + }, + "userBackgroundSessionsEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Enables user background sessions for this application so Livy sessions can continue running after users log out of their interactive notebook or their Identity Center sessions expire.

" + } } }, "traits": { - "smithy.api#documentation": "

The IAM Identity Center Configuration that includes the Identify Center instance and application ARNs that provide trusted-identity propagation.

" + "smithy.api#documentation": "

The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.

" } }, "com.amazonaws.emrserverless#IdentityCenterConfigurationInput": { @@ -1933,10 +1939,16 @@ "traits": { "smithy.api#documentation": "

The ARN of the IAM Identity Center instance.

" } + }, + "userBackgroundSessionsEnabled": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Enables user background sessions for this application so Livy sessions can continue running after users log out of their interactive notebook or their Identity Center sessions expire.

" + } } }, "traits": { - "smithy.api#documentation": "

Specifies the IAM Identity Center configuration used to enable or disable trusted identity propagation. When provided, this configuration determines how the application interacts with IAM Identity Center for user authentication and access control.

" + "smithy.api#documentation": "

The IAM Identity Center Configuration accepts the Identity Center instance parameter required to enable trusted identity propagation. This configuration allows identity propagation between integrated services and the Identity Center instance.

" } }, "com.amazonaws.emrserverless#IdentityCenterInstanceArn": { diff --git a/codegen/sdk-codegen/aws-models/emr.json b/codegen/sdk-codegen/aws-models/emr.json index 3a97db8ab2f..64fffb26e84 100644 --- a/codegen/sdk-codegen/aws-models/emr.json +++ b/codegen/sdk-codegen/aws-models/emr.json @@ -3030,27 +3030,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -5044,6 +5044,12 @@ "smithy.api#enumValue": "RESIZING" } }, + "RECONFIGURING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RECONFIGURING" + } + }, "SUSPENDED": { "target": "smithy.api#Unit", "traits": { diff --git a/codegen/sdk-codegen/aws-models/entityresolution.json b/codegen/sdk-codegen/aws-models/entityresolution.json index 3c22231bed7..e48e5dd0d52 100644 --- a/codegen/sdk-codegen/aws-models/entityresolution.json +++ b/codegen/sdk-codegen/aws-models/entityresolution.json @@ -155,27 +155,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/eventbridge.json b/codegen/sdk-codegen/aws-models/eventbridge.json index 1432f4af891..3eceea562cd 100644 --- a/codegen/sdk-codegen/aws-models/eventbridge.json +++ b/codegen/sdk-codegen/aws-models/eventbridge.json @@ -229,32 +229,32 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "EndpointId": { "required": false, "documentation": "Operation parameter for EndpointId", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/evidently.json b/codegen/sdk-codegen/aws-models/evidently.json index 1168325eaec..6d7004de3a9 100644 --- a/codegen/sdk-codegen/aws-models/evidently.json +++ b/codegen/sdk-codegen/aws-models/evidently.json @@ -1349,27 +1349,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/evs.json b/codegen/sdk-codegen/aws-models/evs.json index b236ed9823f..b847acc0d35 100644 --- a/codegen/sdk-codegen/aws-models/evs.json +++ b/codegen/sdk-codegen/aws-models/evs.json @@ -70,27 +70,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/finspace-data.json b/codegen/sdk-codegen/aws-models/finspace-data.json index 822b4b5760b..d1102e15eea 100644 --- a/codegen/sdk-codegen/aws-models/finspace-data.json +++ b/codegen/sdk-codegen/aws-models/finspace-data.json @@ -149,27 +149,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/finspace.json b/codegen/sdk-codegen/aws-models/finspace.json index a9eab40ad05..56be9a1baa8 100644 --- a/codegen/sdk-codegen/aws-models/finspace.json +++ b/codegen/sdk-codegen/aws-models/finspace.json @@ -205,27 +205,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/firehose.json b/codegen/sdk-codegen/aws-models/firehose.json index 0fb62c3d4f7..ca4c797119b 100644 --- a/codegen/sdk-codegen/aws-models/firehose.json +++ b/codegen/sdk-codegen/aws-models/firehose.json @@ -3157,27 +3157,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/fis.json b/codegen/sdk-codegen/aws-models/fis.json index 41372da9856..a6ce77cb482 100644 --- a/codegen/sdk-codegen/aws-models/fis.json +++ b/codegen/sdk-codegen/aws-models/fis.json @@ -2824,27 +2824,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/fms.json b/codegen/sdk-codegen/aws-models/fms.json index 784fefc4f77..eea40849551 100644 --- a/codegen/sdk-codegen/aws-models/fms.json +++ b/codegen/sdk-codegen/aws-models/fms.json @@ -197,27 +197,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/forecast.json b/codegen/sdk-codegen/aws-models/forecast.json index fcf6ba79e43..ba4bead0000 100644 --- a/codegen/sdk-codegen/aws-models/forecast.json +++ b/codegen/sdk-codegen/aws-models/forecast.json @@ -306,27 +306,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/forecastquery.json b/codegen/sdk-codegen/aws-models/forecastquery.json index 9f12ce31ab9..6b8d2d85f39 100644 --- a/codegen/sdk-codegen/aws-models/forecastquery.json +++ b/codegen/sdk-codegen/aws-models/forecastquery.json @@ -61,27 +61,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/frauddetector.json b/codegen/sdk-codegen/aws-models/frauddetector.json index 29693a187aa..df758884c5c 100644 --- a/codegen/sdk-codegen/aws-models/frauddetector.json +++ b/codegen/sdk-codegen/aws-models/frauddetector.json @@ -349,27 +349,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/freetier.json b/codegen/sdk-codegen/aws-models/freetier.json index 85918b5762e..409c1cf7888 100644 --- a/codegen/sdk-codegen/aws-models/freetier.json +++ b/codegen/sdk-codegen/aws-models/freetier.json @@ -39,20 +39,20 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/fsx.json b/codegen/sdk-codegen/aws-models/fsx.json index e4437592e0d..469ce430e12 100644 --- a/codegen/sdk-codegen/aws-models/fsx.json +++ b/codegen/sdk-codegen/aws-models/fsx.json @@ -210,27 +210,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/gamelift.json b/codegen/sdk-codegen/aws-models/gamelift.json index 5bc71cefc64..abf7cf589a6 100644 --- a/codegen/sdk-codegen/aws-models/gamelift.json +++ b/codegen/sdk-codegen/aws-models/gamelift.json @@ -11487,27 +11487,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/gameliftstreams.json b/codegen/sdk-codegen/aws-models/gameliftstreams.json index 5600c86ecb3..acca39c15e4 100644 --- a/codegen/sdk-codegen/aws-models/gameliftstreams.json +++ b/codegen/sdk-codegen/aws-models/gameliftstreams.json @@ -58,7 +58,7 @@ "ec2:DescribeRegions" ] }, - "smithy.api#documentation": "

Add locations that can host stream sessions. You configure locations and their corresponding capacity for each stream group. Creating a stream group in a location that's nearest to your end users can help minimize latency and improve quality.

This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions.

", + "smithy.api#documentation": "

Add locations that can host stream sessions. To add a location, the stream group must be in ACTIVE status. You configure locations and their corresponding capacity for each stream group. Creating a stream group in a location that's nearest to your end users can help minimize latency and improve quality.

This operation provisions stream capacity at the specified locations. By default, all locations have 1 or 2 capacity, depending on the stream class option: 2 for 'High' and 1 for 'Ultra' and 'Win2022'. This operation also copies the content files of all associated applications to an internal S3 bucket at each location. This allows Amazon GameLift Streams to host performant stream sessions.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -303,7 +303,7 @@ "Status": { "target": "com.amazonaws.gameliftstreams#ApplicationStatus", "traits": { - "smithy.api#documentation": "

The current status of the application resource. Possible statuses include the following:

  • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

  • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

  • READY: The application is ready to deploy in a stream group.

  • ERROR: An error occurred when setting up the application. See StatusReason for more information.

  • DELETING: Amazon GameLift Streams is in the process of deleting the application.

" + "smithy.api#documentation": "

The current status of the application resource. Possible statuses include the following:

  • INITIALIZED: Amazon GameLift Streams has received the request and is initiating the work flow to create an application.

  • PROCESSING: The create application work flow is in process. Amazon GameLift Streams is copying the content and caching for future deployment in a stream group.

  • READY: The application is ready to deploy in a stream group.

  • ERROR: An error occurred when setting up the application. For more information about the error, call GetApplication and refer to StatusReason.

  • DELETING: Amazon GameLift Streams is in the process of deleting the application.

" } }, "CreatedAt": { @@ -555,7 +555,7 @@ "ExecutablePath": { "target": "com.amazonaws.gameliftstreams#ExecutablePath", "traits": { - "smithy.api#documentation": "

The path and file name of the executable file that launches the content for streaming. Enter a path value that is relative to the location set in ApplicationSourceUri.

", + "smithy.api#documentation": "

The relative path and file name of the executable file that Amazon GameLift Streams will stream. Specify a path relative to the location set in ApplicationSourceUri. The file must be contained within the application's root folder. For Windows applications, the file must be a valid Windows executable or batch file with a filename ending in .exe, .cmd, or .bat. For Linux applications, the file must be a valid Linux binary executable or a script that contains an initial interpreter line starting with a shebang ('#!').

", "smithy.api#required": {} } }, @@ -624,7 +624,7 @@ "ExecutablePath": { "target": "com.amazonaws.gameliftstreams#ExecutablePath", "traits": { - "smithy.api#documentation": "

The path and file name of the executable file that launches the content for streaming.

" + "smithy.api#documentation": "

The relative path and file name of the executable file that launches the content for streaming.

" } }, "ApplicationLogPaths": { @@ -740,7 +740,7 @@ "gameliftstreams:TagResource" ] }, - "smithy.api#documentation": "

Manage how Amazon GameLift Streams streams your applications by using a stream group. A stream group is a collection of resources that Amazon GameLift Streams uses to stream your application to end-users. When you create a stream group, you specify an application to stream by default and the type of hardware to use, such as the graphical processing unit (GPU). You can also link additional applications, which allows you to stream those applications using this stream group. Depending on your expected users, you also scale the number of concurrent streams you want to support at one time, and in what locations.

Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

  • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location.

  • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location.

To adjust the capacity of any ACTIVE stream group, call UpdateStreamGroup.

If the request is successful, Amazon GameLift Streams begins creating the stream group. Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to ACTIVATING. When the stream group reaches ACTIVE status, you can start stream sessions by using StartStreamSession. To check the stream group's status, call GetStreamGroup.

", + "smithy.api#documentation": "

Stream groups manage how Amazon GameLift Streams allocates resources and handles concurrent streams, allowing you to effectively manage capacity and costs. Within a stream group, you specify an application to stream, streaming locations and their capacity, and the stream class you want to use when streaming applications to your end-users. A stream class defines the hardware configuration of the compute resources that Amazon GameLift Streams will use when streaming, such as the CPU, GPU, and memory.

Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

  • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location.

  • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location.

Values for capacity must be whole number multiples of the tenancy value of the stream group's stream class.

To adjust the capacity of any ACTIVE stream group, call UpdateStreamGroup.

If the CreateStreamGroup request is successful, Amazon GameLift Streams assigns a unique ID to the stream group resource and sets the status to ACTIVATING. It can take a few minutes for Amazon GameLift Streams to finish creating the stream group while it searches for unallocated compute resources and provisions them. When complete, the stream group status will be ACTIVE and you can start stream sessions by using StartStreamSession. To check the stream group's status, call GetStreamGroup.

Stream groups should be recreated every 3-4 weeks to pick up important service updates and fixes. Stream groups that are older than 180 days can no longer be updated with new application associations. Stream groups expire when they are 365 days old, at which point they can no longer stream sessions. The exact expiration date is indicated by the date value in the ExpiresAt field.

", "smithy.api#http": { "code": 201, "method": "POST", @@ -847,7 +847,7 @@ "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" + "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information.

  • EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" } }, "StatusReason": { @@ -871,6 +871,13 @@ "smithy.api#documentation": "

A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

" } }, + "ExpiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group.

" + } + }, "AssociatedApplications": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { @@ -1162,7 +1169,7 @@ } } }, - "smithy.api#documentation": "

When you disassociate, or unlink, an application from a stream group, you can no longer stream this application by using that stream group's allocated compute resources. Any streams in process will continue until they terminate, which helps avoid interrupting an end-user's stream. Amazon GameLift Streams will not initiate new streams in the stream group using the disassociated application. The disassociate action does not affect the stream capacity of a stream group.

If you disassociate the default application, Amazon GameLift Streams will automatically choose a new default application from the remaining associated applications. To change which application is the default application, call UpdateStreamGroup and specify a new DefaultApplicationIdentifier.

", + "smithy.api#documentation": "

When you disassociate, or unlink, an application from a stream group, you can no longer stream this application by using that stream group's allocated compute resources. Any streams in process will continue until they terminate, which helps avoid interrupting an end-user's stream. Amazon GameLift Streams will not initiate new streams in the stream group using the disassociated application. The disassociate action does not affect the stream capacity of a stream group. To disassociate an application, the stream group must be in ACTIVE status.

If you disassociate the default application, Amazon GameLift Streams will automatically choose a new default application from the remaining associated applications. To change which application is the default application, call UpdateStreamGroup and specify a new DefaultApplicationIdentifier.

", "smithy.api#http": { "code": 200, "method": "POST", @@ -1537,19 +1544,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -1910,7 +1917,7 @@ "ExecutablePath": { "target": "com.amazonaws.gameliftstreams#ExecutablePath", "traits": { - "smithy.api#documentation": "

The path and file name of the executable file that launches the content for streaming.

" + "smithy.api#documentation": "

The relative path and file name of the executable file that launches the content for streaming.

" } }, "ApplicationLogPaths": { @@ -2166,7 +2173,7 @@ "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" + "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information.

  • EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" } }, "StatusReason": { @@ -2190,6 +2197,13 @@ "smithy.api#documentation": "

A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

" } }, + "ExpiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group.

" + } + }, "AssociatedApplications": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { @@ -2345,13 +2359,13 @@ "Status": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatus", "traits": { - "smithy.api#documentation": "

The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

  • ACTIVATING: The stream session is starting and preparing to stream.

  • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

  • ERROR: The stream session failed to activate.

  • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

  • TERMINATING: The stream session is ending.

  • TERMINATED: The stream session has ended.

" + "smithy.api#documentation": "

The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

  • ACTIVATING: The stream session is starting and preparing to stream.

  • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

  • ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information.

  • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

  • TERMINATING: The stream session is ending.

  • TERMINATED: The stream session has ended.

" } }, "StatusReason": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatusReason", "traits": { - "smithy.api#documentation": "

A short description of the reason the stream session is in ERROR status.

" + "smithy.api#documentation": "

A short description of the reason the stream session is in ERROR status or TERMINATED status.

ERROR status reasons:

  • applicationLogS3DestinationError: Could not write the application log to the Amazon S3 bucket that is configured for the streaming application. Make sure the bucket still exists.

  • internalError: An internal service error occurred. Start a new stream session to continue streaming.

  • invalidSignalRequest: The WebRTC signal request that was sent is not valid. When starting or reconnecting to a stream session, use generateSignalRequest in the Amazon GameLift Streams Web SDK to generate a new signal request.

  • placementTimeout: Amazon GameLift Streams could not find available stream capacity to start a stream session. Increase the stream capacity in the stream group or wait until capacity becomes available.

TERMINATED status reasons:

  • apiTerminated: The stream session was terminated by an API call to TerminateStreamSession.

  • applicationExit: The streaming application exited or crashed. The stream session was terminated because the application is no longer running.

  • connectionTimeout: The stream session was terminated because the client failed to connect within the connection timeout period specified by ConnectionTimeoutSeconds.

  • idleTimeout: The stream session was terminated because it exceeded the idle timeout period of 60 minutes with no user input activity.

  • maxSessionLengthTimeout: The stream session was terminated because it exceeded the maximum session length timeout period specified by SessionLengthSeconds.

  • reconnectionTimeout: The stream session was terminated because the client failed to reconnect within the reconnection timeout period specified by ConnectionTimeoutSeconds after losing connection.

" } }, "Protocol": { @@ -3027,7 +3041,7 @@ "AlwaysOnCapacity": { "target": "com.amazonaws.gameliftstreams#AlwaysOnCapacity", "traits": { - "smithy.api#documentation": "

The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location.

" + "smithy.api#documentation": "

The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location.

" } }, "OnDemandCapacity": { @@ -3096,7 +3110,7 @@ "target": "com.amazonaws.gameliftstreams#AlwaysOnCapacity", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location.

" + "smithy.api#documentation": "

The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location.

" } }, "OnDemandCapacity": { @@ -3110,21 +3124,21 @@ "target": "com.amazonaws.gameliftstreams#CapacityValue", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

This value is the total number of compute resources that you request for a stream group. This includes resources that Amazon GameLift Streams has either already provisioned or is working to provision. You request capacity for each location in a stream group.

" + "smithy.api#documentation": "

This value is the always-on capacity that you most recently requested for a stream group. You request capacity separately for each location in a stream group. In response to an increase in requested capacity, Amazon GameLift Streams attempts to provision compute resources to make the stream group's allocated capacity meet requested capacity. When always-on capacity is decreased, it can take a few minutes to deprovision allocated capacity to match the requested capacity.

" } }, "AllocatedCapacity": { "target": "com.amazonaws.gameliftstreams#CapacityValue", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

This value is the number of compute resources that a stream group has provisioned and is ready to stream. It includes resources that are currently streaming and resources that are idle and ready to respond to stream requests.

" + "smithy.api#documentation": "

This value is the stream capacity that Amazon GameLift Streams has provisioned in a stream group that can respond immediately to stream requests. It includes resources that are currently streaming and resources that are idle and ready to respond to stream requests. You pay for this capacity whether it's in use or not. After making changes to capacity, it can take a few minutes for the allocated capacity count to reflect the change while compute resources are allocated or deallocated. Similarly, when allocated on-demand capacity is no longer needed, it can take a few minutes for Amazon GameLift Streams to spin down the allocated capacity.

" } }, "IdleCapacity": { "target": "com.amazonaws.gameliftstreams#CapacityValue", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

This value is the amount of allocated capacity that is not currently streaming. It represents the stream group's availability to respond to new stream requests, but not including on-demand capacity.

" + "smithy.api#documentation": "

This value is the amount of allocated capacity that is not currently streaming. It represents the stream group's ability to respond immediately to new stream requests with near-instant startup time.

" } } }, @@ -3225,7 +3239,7 @@ } } }, - "smithy.api#documentation": "

Removes a set of remote locations from this stream group. Amazon GameLift Streams works to release allocated compute resources in these location. Thus, stream sessions can no longer start from these locations by using this stream group. Amazon GameLift Streams also deletes the content files of all associated applications that were in Amazon GameLift Streams's internal S3 bucket at this location.

You cannot remove the region where you initially created this stream group, known as the primary location. However, you can set the stream capacity to zero.

", + "smithy.api#documentation": "

Removes a set of remote locations from this stream group. To remove a location, the stream group must be in ACTIVE status. When you remove a location, Amazon GameLift Streams releases allocated compute resources in that location. Stream sessions can no longer start from removed locations in a stream group. Amazon GameLift Streams also deletes the content files of all associated applications that were in Amazon GameLift Streams's internal Amazon S3 bucket at this location.

You cannot remove the Amazon Web Services Region location where you initially created this stream group, known as the primary location. However, you can set the stream capacity to zero to avoid incurring costs for allocated compute resources in that location.

", "smithy.api#http": { "code": 204, "method": "DELETE", @@ -3453,7 +3467,7 @@ } } }, - "smithy.api#documentation": "

This action initiates a new stream session and outputs connection information that clients can use to access the stream. A stream session refers to an instance of a stream that Amazon GameLift Streams transmits from the server to the end-user. A stream session runs on a compute resource that a stream group has allocated. The start stream session process works as follows:

  1. Prerequisites:

    • You must have a stream group in ACTIVE state

    • You must have idle or on-demand capacity in a stream group in the location you want to stream from

    • You must have at least one application associated to the stream group (use AssociateApplications if needed)

  2. Start stream request:

    • Your backend server calls StartStreamSession to initiate connection

    • Amazon GameLift Streams creates the stream session resource, assigns an Amazon Resource Name (ARN) value, and begins searching for available stream capacity to run the stream

    • Session transitions to ACTIVATING status

  3. Placement completion:

    • If Amazon GameLift Streams is successful in finding capacity for the stream, the stream session status changes to ACTIVE status and StartStreamSession returns stream connection information

    • If Amazon GameLift Streams was not successful in finding capacity within the placement timeout period (defined according to the capacity type and platform type), the stream session status changes to ERROR status and StartStreamSession returns a StatusReason of placementTimeout

  4. Connection completion:

    • Provide the new connection information to the requesting client

    • Client must establish connection within ConnectionTimeoutSeconds (specified in StartStreamSession parameters)

    • Session terminates automatically if client fails to connect in time

For more information about the stream session lifecycle, see Stream sessions in the Amazon GameLift Streams Developer Guide.

Timeouts to be aware of that affect a stream session:

  • Placement timeout: The amount of time that Amazon GameLift Streams has to find capacity for a stream request. Placement timeout varies based on the capacity type used to fulfill your stream request:

    • Always-on capacity: 75 seconds

    • On-demand capacity:

      • Linux/Proton runtimes: 90 seconds

      • Windows runtime: 10 minutes

  • Connection timeout: The amount of time that Amazon GameLift Streams waits for a client to connect to a stream session in ACTIVE status, or reconnect to a stream session in PENDING_CLIENT_RECONNECTION status, the latter of which occurs when a client disconnects or loses connection from a stream session. If no client connects before the timeout, Amazon GameLift Streams terminates the stream session. This value is specified by ConnectionTimeoutSeconds in the StartStreamSession parameters.

  • Idle timeout: A stream session will be terminated if no user input has been received for 60 minutes.

  • Maximum session length: A stream session will be terminated after this amount of time has elapsed since it started, regardless of any existing client connections. This value is specified by SessionLengthSeconds in the StartStreamSession parameters.

To start a new stream session, specify a stream group ID and application ID, along with the transport protocol and signal request to use with the stream session.

For stream groups that have multiple locations, provide a set of locations ordered by priority using a Locations parameter. Amazon GameLift Streams will start a single stream session in the next available location. An application must be finished replicating to a remote location before the remote location can host a stream.

To reconnect to a stream session after a client disconnects or loses connection, use CreateStreamSessionConnection.

", + "smithy.api#documentation": "

This action initiates a new stream session and outputs connection information that clients can use to access the stream. A stream session refers to an instance of a stream that Amazon GameLift Streams transmits from the server to the end-user. A stream session runs on a compute resource that a stream group has allocated. The start stream session process works as follows:

  1. Prerequisites:

    • You must have a stream group in ACTIVE status

    • You must have idle or on-demand capacity in a stream group in the location you want to stream from

    • You must have at least one application associated to the stream group (use AssociateApplications if needed)

  2. Start stream request:

    • Your backend server calls StartStreamSession to initiate connection

    • Amazon GameLift Streams creates the stream session resource, assigns an Amazon Resource Name (ARN) value, and begins searching for available stream capacity to run the stream

    • Session transitions to ACTIVATING status

  3. Placement completion:

    • If Amazon GameLift Streams is successful in finding capacity for the stream, the stream session status changes to ACTIVE status and StartStreamSession returns stream connection information

    • If Amazon GameLift Streams was not successful in finding capacity within the placement timeout period (defined according to the capacity type and platform type), the stream session status changes to ERROR status and StartStreamSession returns a StatusReason of placementTimeout

  4. Connection completion:

    • Provide the new connection information to the requesting client

    • Client must establish connection within ConnectionTimeoutSeconds (specified in StartStreamSession parameters)

    • Session terminates automatically if client fails to connect in time

For more information about the stream session lifecycle, see Stream sessions in the Amazon GameLift Streams Developer Guide.

Timeouts to be aware of that affect a stream session:

  • Placement timeout: The amount of time that Amazon GameLift Streams has to find capacity for a stream request. Placement timeout varies based on the capacity type used to fulfill your stream request:

    • Always-on capacity: 75 seconds

    • On-demand capacity:

      • Linux/Proton runtimes: 90 seconds

      • Windows runtime: 10 minutes

  • Connection timeout: The amount of time that Amazon GameLift Streams waits for a client to connect to a stream session in ACTIVE status, or reconnect to a stream session in PENDING_CLIENT_RECONNECTION status, the latter of which occurs when a client disconnects or loses connection from a stream session. If no client connects before the timeout, Amazon GameLift Streams terminates the stream session. This value is specified by ConnectionTimeoutSeconds in the StartStreamSession parameters.

  • Idle timeout: A stream session will be terminated if no user input has been received for 60 minutes.

  • Maximum session length: A stream session will be terminated after this amount of time has elapsed since it started, regardless of any existing client connections. This value is specified by SessionLengthSeconds in the StartStreamSession parameters.

To start a new stream session, specify a stream group ID and application ID, along with the transport protocol and signal request to use with the stream session.

For stream groups that have multiple locations, provide a set of locations ordered by priority using a Locations parameter. Amazon GameLift Streams will start a single stream session in the next available location. An application must be finished replicating to a remote location before the remote location can host a stream.

To reconnect to a stream session after a client disconnects or loses connection, use CreateStreamSessionConnection.

", "smithy.api#http": { "code": 201, "method": "POST", @@ -3577,13 +3591,13 @@ "Status": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatus", "traits": { - "smithy.api#documentation": "

The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

  • ACTIVATING: The stream session is starting and preparing to stream.

  • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

  • ERROR: The stream session failed to activate.

  • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

  • TERMINATING: The stream session is ending.

  • TERMINATED: The stream session has ended.

" + "smithy.api#documentation": "

The current status of the stream session. A stream session is ready for a client to connect when in ACTIVE status.

  • ACTIVATING: The stream session is starting and preparing to stream.

  • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

  • ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information.

  • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

  • TERMINATING: The stream session is ending.

  • TERMINATED: The stream session has ended.

" } }, "StatusReason": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatusReason", "traits": { - "smithy.api#documentation": "

A short description of the reason the stream session is in ERROR status.

" + "smithy.api#documentation": "

A short description of the reason the stream session is in ERROR status or TERMINATED status.

ERROR status reasons:

  • applicationLogS3DestinationError: Could not write the application log to the Amazon S3 bucket that is configured for the streaming application. Make sure the bucket still exists.

  • internalError: An internal service error occurred. Start a new stream session to continue streaming.

  • invalidSignalRequest: The WebRTC signal request that was sent is not valid. When starting or reconnecting to a stream session, use generateSignalRequest in the Amazon GameLift Streams Web SDK to generate a new signal request.

  • placementTimeout: Amazon GameLift Streams could not find available stream capacity to start a stream session. Increase the stream capacity in the stream group or wait until capacity becomes available.

TERMINATED status reasons:

  • apiTerminated: The stream session was terminated by an API call to TerminateStreamSession.

  • applicationExit: The streaming application exited or crashed. The stream session was terminated because the application is no longer running.

  • connectionTimeout: The stream session was terminated because the client failed to connect within the connection timeout period specified by ConnectionTimeoutSeconds.

  • idleTimeout: The stream session was terminated because it exceeded the idle timeout period of 60 minutes with no user input activity.

  • maxSessionLengthTimeout: The stream session was terminated because it exceeded the maximum session length timeout period specified by SessionLengthSeconds.

  • reconnectionTimeout: The stream session was terminated because the client failed to reconnect within the reconnection timeout period specified by ConnectionTimeoutSeconds after losing connection.

" } }, "Protocol": { @@ -3780,6 +3794,9 @@ "CreatedAt": { "target": "smithy.api#Timestamp" }, + "ExpiresAt": { + "target": "smithy.api#Timestamp" + }, "Tags": { "target": "com.amazonaws.gameliftstreams#Tags" }, @@ -3858,6 +3875,12 @@ "traits": { "smithy.api#enumValue": "DELETING" } + }, + "EXPIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXPIRED" + } } } }, @@ -3916,7 +3939,7 @@ "Status": { "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { - "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" + "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information.

  • EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" } }, "CreatedAt": { @@ -3930,6 +3953,12 @@ "traits": { "smithy.api#documentation": "

A timestamp that indicates when this resource was last updated. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

" } + }, + "ExpiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group.

" + } } }, "traits": { @@ -4021,6 +4050,42 @@ "traits": { "smithy.api#enumValue": "applicationLogS3DestinationError" } + }, + "APPLICATION_EXIT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "applicationExit" + } + }, + "CONNECTION_TIMEOUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "connectionTimeout" + } + }, + "RECONNECTION_TIMEOUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "reconnectionTimeout" + } + }, + "MAX_SESSION_LENGTH_TIMEOUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "maxSessionLengthTimeout" + } + }, + "IDLE_TIMEOUT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "idleTimeout" + } + }, + "API_TERMINATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "apiTerminated" + } } } }, @@ -4042,7 +4107,7 @@ "Status": { "target": "com.amazonaws.gameliftstreams#StreamSessionStatus", "traits": { - "smithy.api#documentation": "

The current status of the stream session resource.

  • ACTIVATING: The stream session is starting and preparing to stream.

  • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

  • ERROR: The stream session failed to activate.

  • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

  • TERMINATING: The stream session is ending.

  • TERMINATED: The stream session has ended.

" + "smithy.api#documentation": "

The current status of the stream session resource.

  • ACTIVATING: The stream session is starting and preparing to stream.

  • ACTIVE: The stream session is ready and waiting for a client connection. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches ACTIVE state to establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • CONNECTED: The stream session has a connected client. A session will automatically terminate if there is no user input for 60 minutes, or if the maximum length of a session specified by SessionLengthSeconds in StartStreamSession is exceeded.

  • ERROR: The stream session failed to activate. See StatusReason (returned by GetStreamSession and StartStreamSession) for more information.

  • PENDING_CLIENT_RECONNECTION: A client has recently disconnected and the stream session is waiting for the client to reconnect. A client has ConnectionTimeoutSeconds (specified in StartStreamSession) from when the session reaches PENDING_CLIENT_RECONNECTION state to re-establish a connection. If no client connects within this timeframe, the session automatically terminates.

  • RECONNECTING: A client has initiated a reconnect to a session that was in PENDING_CLIENT_RECONNECTION state.

  • TERMINATING: The stream session is ending.

  • TERMINATED: The stream session has ended.

" } }, "Protocol": { @@ -4474,7 +4539,7 @@ "ExecutablePath": { "target": "com.amazonaws.gameliftstreams#ExecutablePath", "traits": { - "smithy.api#documentation": "

The path and file name of the executable file that launches the content for streaming.

" + "smithy.api#documentation": "

The relative path and file name of the executable file that launches the content for streaming.

" } }, "ApplicationLogPaths": { @@ -4583,7 +4648,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to update a StreamGroup" }, - "smithy.api#documentation": "

Updates the configuration settings for an Amazon GameLift Streams stream group resource. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.

Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

  • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 when creating a stream group or adding a location.

  • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location.

To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group.

", + "smithy.api#documentation": "

Updates the configuration settings for an Amazon GameLift Streams stream group resource. To update a stream group, it must be in ACTIVE status. You can change the description, the set of locations, and the requested capacity of a stream group per location. If you want to change the stream class, create a new stream group.

Stream capacity represents the number of concurrent streams that can be active at a time. You set stream capacity per location, per stream group. There are two types of capacity, always-on and on-demand:

  • Always-on: The streaming capacity that is allocated and ready to handle stream requests without delay. You pay for this capacity whether it's in use or not. Best for quickest time from streaming request to streaming session. Default is 1 (2 for high stream classes) when creating a stream group or adding a location.

  • On-demand: The streaming capacity that Amazon GameLift Streams can allocate in response to stream requests, and then de-allocate when the session has terminated. This offers a cost control measure at the expense of a greater startup time (typically under 5 minutes). Default is 0 when creating a stream group or adding a location.

Values for capacity must be whole number multiples of the tenancy value of the stream group's stream class.

To update a stream group, specify the stream group's Amazon Resource Name (ARN) and provide the new values. If the request is successful, Amazon GameLift Streams returns the complete updated metadata for the stream group. Expired stream groups cannot be updated.

", "smithy.api#http": { "code": 200, "method": "PATCH", @@ -4676,7 +4741,7 @@ "target": "com.amazonaws.gameliftstreams#StreamGroupStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • ERROR: An error occurred when the stream group deployed. See StatusReason for more information.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" + "smithy.api#documentation": "

The current status of the stream group resource. Possible statuses include the following:

  • ACTIVATING: The stream group is deploying and isn't ready to host streams.

  • ACTIVE: The stream group is ready to host streams.

  • ACTIVE_WITH_ERRORS: One or more locations in the stream group are in an error state. Verify the details of individual locations and remove any locations which are in error.

  • DELETING: Amazon GameLift Streams is in the process of deleting the stream group.

  • ERROR: An error occurred when the stream group deployed. See StatusReason (returned by CreateStreamGroup, GetStreamGroup, and UpdateStreamGroup) for more information.

  • EXPIRED: The stream group is expired and can no longer host streams. This typically occurs when a stream group is 365 days old, as indicated by the value of ExpiresAt. Create a new stream group to resume streaming capabilities.

  • UPDATING_LOCATIONS: One or more locations in the stream group are in the process of updating (either activating or deleting).

" } }, "StatusReason": { @@ -4700,6 +4765,13 @@ "smithy.api#documentation": "

A timestamp that indicates when this resource was created. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC).

" } }, + "ExpiresAt": { + "target": "smithy.api#Timestamp", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

The time at which this stream group expires. Timestamps are expressed using in ISO8601 format, such as: 2022-12-27T22:29:40+00:00 (UTC). After this time, you will no longer be able to update this stream group or use it to start stream sessions. Only Get and Delete operations will work on an expired stream group.

" + } + }, "AssociatedApplications": { "target": "com.amazonaws.gameliftstreams#ArnList", "traits": { diff --git a/codegen/sdk-codegen/aws-models/geo-maps.json b/codegen/sdk-codegen/aws-models/geo-maps.json index 2be30a77f6b..d0f3055623a 100644 --- a/codegen/sdk-codegen/aws-models/geo-maps.json +++ b/codegen/sdk-codegen/aws-models/geo-maps.json @@ -55,6 +55,17 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.geomaps#ContourDensity": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "MEDIUM", + "value": "Medium" + } + ] + } + }, "com.amazonaws.geomaps#CountryCode": { "type": "string", "traits": { @@ -96,7 +107,7 @@ "target": "com.amazonaws.geomaps#GetGlyphsResponse" }, "traits": { - "smithy.api#documentation": "

GetGlyphs returns the map's glyphs.

", + "smithy.api#documentation": "

GetGlyphs returns the map's glyphs.

For more information, see Style labels with glyphs in the Amazon Location Service Developer Guide.

", "smithy.api#http": { "uri": "/glyphs/{FontStack}/{FontUnicodeRange}", "method": "GET" @@ -137,8 +148,11 @@ "FontUnicodeRange": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A Unicode range of characters to download glyphs for. This must be aligned to multiples of 256.

Example: 0-255.pdf

", + "smithy.api#documentation": "

A Unicode range of characters to download glyphs for. This must be aligned to multiples of 256.

Example: 0-255.pbf

", "smithy.api#httpLabel": {}, + "smithy.api#length": { + "max": 50 + }, "smithy.api#pattern": "^[0-9]+-[0-9]+\\.pbf$", "smithy.api#required": {} } @@ -193,7 +207,7 @@ "target": "com.amazonaws.geomaps#GetSpritesResponse" }, "traits": { - "smithy.api#documentation": "

GetSprites returns the map's sprites.

", + "smithy.api#documentation": "

GetSprites returns the map's sprites.

For more information, see Style iconography with sprites in the Amazon Location Service Developer Guide.

", "smithy.api#http": { "uri": "/styles/{Style}/{ColorScheme}/{Variant}/sprites/{FileName}", "method": "GET" @@ -320,7 +334,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

GetStaticMap provides high-quality static map images with customizable options. You can modify the map's appearance and overlay additional information. It's an ideal solution for applications requiring tailored static map snapshots.

", + "smithy.api#documentation": "

GetStaticMap provides high-quality static map images with customizable options. You can modify the map's appearance and overlay additional information. It's an ideal solution for applications requiring tailored static map snapshots.

For more information, see the following topics in the Amazon Location Service Developer Guide:

", "smithy.api#http": { "uri": "/static/{FileName}", "method": "GET" @@ -354,21 +368,27 @@ "BoundingBox": { "target": "com.amazonaws.geomaps#PositionListString", "traits": { - "smithy.api#documentation": "

Takes in two pairs of coordinates, [Lon, Lat], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image.

Example: -123.17075,49.26959,-123.08125,49.31429

", - "smithy.api#httpQuery": "bounding-box" + "smithy.api#documentation": "

Takes in two pairs of coordinates in World Geodetic System (WGS 84) format: [longitude, latitude], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image.

Example: -123.17075,49.26959,-123.08125,49.31429

", + "smithy.api#httpQuery": "bounding-box", + "smithy.api#length": { + "max": 100 + } } }, "BoundedPositions": { "target": "com.amazonaws.geomaps#PositionListString", "traits": { - "smithy.api#documentation": "

Takes in two or more pair of coordinates, [Lon, Lat], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates.

Cannot be used with Zoom and or Radius

Example: 97.170451,78.039098,99.045536,27.176178

", - "smithy.api#httpQuery": "bounded-positions" + "smithy.api#documentation": "

Takes in two or more pair of coordinates in World Geodetic System (WGS 84) format: [longitude, latitude], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates.

Cannot be used with Zoom and or Radius

Example: 97.170451,78.039098,99.045536,27.176178

", + "smithy.api#httpQuery": "bounded-positions", + "smithy.api#length": { + "max": 2000 + } } }, "Center": { "target": "com.amazonaws.geomaps#PositionString", "traits": { - "smithy.api#documentation": "

Takes in a pair of coordinates, [Lon, Lat], which becomes the center point of the image. This parameter requires that either zoom or radius is set.

Cannot be used with Zoom and or Radius

Example: 49.295,-123.108

", + "smithy.api#documentation": "

Takes in a pair of coordinates in World Geodetic System (WGS 84) format: [longitude, latitude], which becomes the center point of the image. This parameter requires that either zoom or radius is set.

Cannot be used with Zoom and or Radius

Example: 49.295,-123.108

", "smithy.api#httpQuery": "center" } }, @@ -437,7 +457,11 @@ "target": "com.amazonaws.geomaps#SensitiveInteger", "traits": { "smithy.api#documentation": "

Applies additional space (in pixels) around overlay feature to prevent them from being cut or obscured.

Value for max and min is determined by:

Min: 1

Max: min(height, width)/4

Example: 100

", - "smithy.api#httpQuery": "padding" + "smithy.api#httpQuery": "padding", + "smithy.api#range": { + "min": 0, + "max": 350 + } } }, "PoliticalView": { @@ -567,7 +591,7 @@ "target": "com.amazonaws.geomaps#GetStyleDescriptorResponse" }, "traits": { - "smithy.api#documentation": "

GetStyleDescriptor returns information about the style.

", + "smithy.api#documentation": "

GetStyleDescriptor returns information about the style.

For more information, see Style dynamic maps in the Amazon Location Service Developer Guide.

", "smithy.api#http": { "uri": "/styles/{Style}/descriptor", "method": "GET" @@ -615,6 +639,34 @@ "smithy.api#httpQuery": "political-view" } }, + "Terrain": { + "target": "com.amazonaws.geomaps#Terrain", + "traits": { + "smithy.api#documentation": "

Adjusts how physical terrain details are rendered on the map.

The following terrain styles are currently supported:

  • Hillshade: Displays the physical terrain details through shading and highlighting of elevation change and geographic features.

This parameter is valid only for the Standard map style.

", + "smithy.api#httpQuery": "terrain" + } + }, + "ContourDensity": { + "target": "com.amazonaws.geomaps#ContourDensity", + "traits": { + "smithy.api#documentation": "

Displays the shape and steepness of terrain features using elevation lines. The density value controls how densely the available contour line information is rendered on the map.

This parameter is valid only for the Standard map style.

", + "smithy.api#httpQuery": "contour-density" + } + }, + "Traffic": { + "target": "com.amazonaws.geomaps#Traffic", + "traits": { + "smithy.api#documentation": "

Displays real-time traffic information overlay on map, such as incident events and flow events.

This parameter is valid only for the Standard map style.

", + "smithy.api#httpQuery": "traffic" + } + }, + "TravelModes": { + "target": "com.amazonaws.geomaps#TravelModeList", + "traits": { + "smithy.api#documentation": "

Renders additional map information relevant to selected travel modes. Information for multiple travel modes can be displayed simultaneously, although this increases the overall information density rendered on the map.

This parameter is valid only for the Standard map style.

", + "smithy.api#httpQuery": "travel-modes" + } + }, "Key": { "target": "com.amazonaws.geomaps#ApiKey", "traits": { @@ -690,7 +742,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

GetTile returns a tile. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level.

", + "smithy.api#documentation": "

GetTile returns a tile. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level.

For more information, see Tiles in the Amazon Location Service Developer Guide.

", "smithy.api#http": { "uri": "/tiles/{Tileset}/{Z}/{X}/{Y}", "method": "GET" @@ -719,6 +771,13 @@ "com.amazonaws.geomaps#GetTileRequest": { "type": "structure", "members": { + "AdditionalFeatures": { + "target": "com.amazonaws.geomaps#TileAdditionalFeatureList", + "traits": { + "smithy.api#documentation": "

A list of optional additional parameters such as map styles that can be requested for each result.

", + "smithy.api#httpQuery": "additional-features" + } + }, "Tileset": { "target": "com.amazonaws.geomaps#Tileset", "traits": { @@ -732,6 +791,9 @@ "traits": { "smithy.api#documentation": "

The zoom value for the map tile.

", "smithy.api#httpLabel": {}, + "smithy.api#length": { + "max": 2 + }, "smithy.api#pattern": "\\d+", "smithy.api#required": {} } @@ -741,6 +803,9 @@ "traits": { "smithy.api#documentation": "

The X axis value for the map tile. Must be between 0 and 19.

", "smithy.api#httpLabel": {}, + "smithy.api#length": { + "max": 7 + }, "smithy.api#pattern": "\\d+", "smithy.api#required": {} } @@ -750,6 +815,9 @@ "traits": { "smithy.api#documentation": "

The Y axis value for the map tile.

", "smithy.api#httpLabel": {}, + "smithy.api#length": { + "max": 7 + }, "smithy.api#pattern": "\\d+", "smithy.api#required": {} } @@ -979,26 +1047,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -1995,7 +2063,8 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 7 + "min": 7, + "max": 7000 }, "smithy.api#pattern": "^(-?\\d{1,3}(\\.\\d{1,14})?,-?\\d{1,2}(\\.\\d{1,14})?)(,(-?\\d{1,3}(\\.\\d{1,14})?,-?\\d{1,2}(\\.\\d{1,14})?))*$", "smithy.api#sensitive": {} @@ -2105,6 +2174,17 @@ ] } }, + "com.amazonaws.geomaps#Terrain": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "HILLSHADE", + "value": "Hillshade" + } + ] + } + }, "com.amazonaws.geomaps#ThrottlingException": { "type": "structure", "members": { @@ -2123,6 +2203,45 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.geomaps#TileAdditionalFeature": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "CONTOUR_LINES", + "value": "ContourLines", + "documentation": "Map elevation contour lines." + }, + { + "name": "HILLSHADE", + "value": "Hillshade", + "documentation": "Map hillshading details for shading elevation changes." + }, + { + "name": "LOGISTICS", + "value": "Logistics", + "documentation": "Map logistics details, including advanced pois and road networks." + }, + { + "name": "TRANSIT", + "value": "Transit", + "documentation": "Map transit details." + } + ] + } + }, + "com.amazonaws.geomaps#TileAdditionalFeatureList": { + "type": "list", + "member": { + "target": "com.amazonaws.geomaps#TileAdditionalFeature" + }, + "traits": { + "smithy.api#length": { + "max": 4 + }, + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.geomaps#Tileset": { "type": "string", "traits": { @@ -2133,6 +2252,44 @@ "smithy.api#pattern": "^[-.\\w]+$" } }, + "com.amazonaws.geomaps#Traffic": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "ALL", + "value": "All" + } + ] + } + }, + "com.amazonaws.geomaps#TravelMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "name": "TRANSIT", + "value": "Transit" + }, + { + "name": "TRUCK", + "value": "Truck" + } + ] + } + }, + "com.amazonaws.geomaps#TravelModeList": { + "type": "list", + "member": { + "target": "com.amazonaws.geomaps#TravelMode" + }, + "traits": { + "smithy.api#length": { + "max": 2 + }, + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.geomaps#ValidationException": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/geo-places.json b/codegen/sdk-codegen/aws-models/geo-places.json index 4e0751610e4..7a440254991 100644 --- a/codegen/sdk-codegen/aws-models/geo-places.json +++ b/codegen/sdk-codegen/aws-models/geo-places.json @@ -2865,26 +2865,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/geo-routes.json b/codegen/sdk-codegen/aws-models/geo-routes.json index 79a93431947..99600e2c8b3 100644 --- a/codegen/sdk-codegen/aws-models/geo-routes.json +++ b/codegen/sdk-codegen/aws-models/geo-routes.json @@ -8972,26 +8972,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/glacier.json b/codegen/sdk-codegen/aws-models/glacier.json index 7f0d5ab0358..a80d976a53d 100644 --- a/codegen/sdk-codegen/aws-models/glacier.json +++ b/codegen/sdk-codegen/aws-models/glacier.json @@ -1965,27 +1965,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/global-accelerator.json b/codegen/sdk-codegen/aws-models/global-accelerator.json index 483f4d47163..2139c9898a5 100644 --- a/codegen/sdk-codegen/aws-models/global-accelerator.json +++ b/codegen/sdk-codegen/aws-models/global-accelerator.json @@ -3261,27 +3261,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/glue.json b/codegen/sdk-codegen/aws-models/glue.json index 44b405b9e5d..c8f0c19a70f 100644 --- a/codegen/sdk-codegen/aws-models/glue.json +++ b/codegen/sdk-codegen/aws-models/glue.json @@ -10912,6 +10912,12 @@ "traits": { "smithy.api#documentation": "

A list of Identity Center scopes that define the permissions and access levels for the Glue configuration.

" } + }, + "UserBackgroundSessionsEnabled": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

Specifies whether users can run background sessions when using Identity Center authentication with Glue services.

" + } } }, "traits": { @@ -22327,6 +22333,12 @@ "traits": { "smithy.api#documentation": "

A list of Identity Center scopes that define the permissions and access levels for the Glue configuration.

" } + }, + "UserBackgroundSessionsEnabled": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

Indicates whether users can run background sessions when using Identity Center authentication with Glue services.

" + } } }, "traits": { @@ -45573,6 +45585,12 @@ "traits": { "smithy.api#documentation": "

A list of Identity Center scopes that define the updated permissions and access levels for the Glue configuration.

" } + }, + "UserBackgroundSessionsEnabled": { + "target": "com.amazonaws.glue#NullableBoolean", + "traits": { + "smithy.api#documentation": "

Specifies whether users can run background sessions when using Identity Center authentication with Glue services.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/grafana.json b/codegen/sdk-codegen/aws-models/grafana.json index 681001013af..666ac831207 100644 --- a/codegen/sdk-codegen/aws-models/grafana.json +++ b/codegen/sdk-codegen/aws-models/grafana.json @@ -84,27 +84,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/greengrass.json b/codegen/sdk-codegen/aws-models/greengrass.json index 084907acdd5..590fc91931d 100644 --- a/codegen/sdk-codegen/aws-models/greengrass.json +++ b/codegen/sdk-codegen/aws-models/greengrass.json @@ -5513,27 +5513,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/greengrassv2.json b/codegen/sdk-codegen/aws-models/greengrassv2.json index 4167c2ca023..42b22da2037 100644 --- a/codegen/sdk-codegen/aws-models/greengrassv2.json +++ b/codegen/sdk-codegen/aws-models/greengrassv2.json @@ -2788,27 +2788,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/groundstation.json b/codegen/sdk-codegen/aws-models/groundstation.json index 84a518f601e..ffc81e2dee1 100644 --- a/codegen/sdk-codegen/aws-models/groundstation.json +++ b/codegen/sdk-codegen/aws-models/groundstation.json @@ -72,7 +72,7 @@ "reservedCpuCores": { "target": "com.amazonaws.groundstation#AgentCpuCoresList", "traits": { - "smithy.api#documentation": "\n

This field should not be used. Use agentCpuCores instead.

\n
\n

List of CPU cores reserved for processes other than the agent running on the EC2 instance.

" + "smithy.api#documentation": "

This field should not be used. Use agentCpuCores instead.

List of CPU cores reserved for processes other than the agent running on the EC2 instance.

" } }, "agentCpuCores": { @@ -186,7 +186,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about how AWS Ground Station should configure an\n antenna for downlink during a contact.

" + "smithy.api#documentation": "

Information about how AWS Ground Station should configure an antenna for downlink during a contact.

" } }, "com.amazonaws.groundstation#AntennaDownlinkDemodDecodeConfig": { @@ -314,6 +314,155 @@ "smithy.api#documentation": "

Information about AwsGroundStationAgentEndpoint.

" } }, + "com.amazonaws.groundstation#AzElEphemeris": { + "type": "structure", + "members": { + "groundStation": { + "target": "com.amazonaws.groundstation#GroundStationName", + "traits": { + "smithy.api#documentation": "

The ground station name for which you're providing azimuth elevation data.

This ephemeris is specific to this ground station and can't be used at other locations.

", + "smithy.api#required": {} + } + }, + "data": { + "target": "com.amazonaws.groundstation#AzElSegmentsData", + "traits": { + "smithy.api#documentation": "

Azimuth elevation segment data.

You can provide data inline in the request or through an Amazon S3 object reference.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Azimuth elevation ephemeris data.

Use this ephemeris type to provide pointing angles directly, rather than satellite orbital elements. Use this when you need precise antenna pointing but have imprecise or unknown satellite trajectory information.

The azimuth elevation data specifies the antenna pointing direction at specific times relative to a ground station location. AWS Ground Station uses 4th order Lagrange interpolation to compute pointing angles between the provided data points.

AWS Ground Station automatically filters interpolated pointing angles, including only those that are above the site mask elevation of the specified ground station.

For more detail about providing azimuth elevation ephemerides to AWS Ground Station, see the azimuth elevation ephemeris section of the AWS Ground Station User Guide.

" + } + }, + "com.amazonaws.groundstation#AzElEphemerisFilter": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.groundstation#Uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier of the azimuth elevation ephemeris.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Filter for selecting contacts that use a specific AzElEphemeris.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.groundstation#Ephemeris", + "ids": { + "ephemerisId": "id" + } + } + ] + } + }, + "com.amazonaws.groundstation#AzElProgramTrackSettings": { + "type": "structure", + "members": { + "ephemerisId": { + "target": "com.amazonaws.groundstation#Uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier of the azimuth elevation ephemeris.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Program track settings for AzElEphemeris.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.groundstation#Ephemeris" + } + ] + } + }, + "com.amazonaws.groundstation#AzElSegment": { + "type": "structure", + "members": { + "referenceEpoch": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The reference time for this segment in ISO 8601 format in Coordinated Universal Time (UTC).

All time values within the segment's AzElSegment$azElList are specified as offsets in atomic seconds from this reference epoch.

Example: 2024-01-15T12:00:00.000Z

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "validTimeRange": { + "target": "com.amazonaws.groundstation#ISO8601TimeRange", + "traits": { + "smithy.api#documentation": "

The valid time range for this segment.

Specifies the start and end timestamps in ISO 8601 format in Coordinated Universal Time (UTC). The segment's pointing data must cover this entire time range.

", + "smithy.api#required": {} + } + }, + "azElList": { + "target": "com.amazonaws.groundstation#TimeAzElList", + "traits": { + "smithy.api#documentation": "

List of time-tagged azimuth elevation data points.

Must contain at least five points to support 4th order Lagrange interpolation. Points must be in chronological order with no duplicates.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

A time segment containing azimuth elevation pointing data.

Each segment defines a continuous time period with pointing angle data points. AWS Ground Station uses 4th order Lagrange interpolation between the provided points, so each segment must contain at least five data points.

" + } + }, + "com.amazonaws.groundstation#AzElSegmentList": { + "type": "list", + "member": { + "target": "com.amazonaws.groundstation#AzElSegment" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.groundstation#AzElSegments": { + "type": "structure", + "members": { + "angleUnit": { + "target": "com.amazonaws.groundstation#AngleUnits", + "traits": { + "smithy.api#documentation": "

The unit of measure for azimuth and elevation angles. All angles in all segments must use the same unit.

", + "smithy.api#required": {} + } + }, + "azElSegmentList": { + "target": "com.amazonaws.groundstation#AzElSegmentList", + "traits": { + "smithy.api#documentation": "

List of azimuth elevation segments.

Must contain between 1 and 100 segments. Segments must be in chronological order with no overlaps.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Azimuth elevation segment collection.

Contains five or more time-ordered segments that define antenna pointing angles over the ephemeris validity period.

" + } + }, + "com.amazonaws.groundstation#AzElSegmentsData": { + "type": "union", + "members": { + "s3Object": { + "target": "com.amazonaws.groundstation#S3Object", + "traits": { + "smithy.api#documentation": "

The Amazon S3 object containing azimuth elevation segment data.

The Amazon S3 object must contain JSON-formatted azimuth elevation data matching the AzElSegments structure.

" + } + }, + "azElData": { + "target": "com.amazonaws.groundstation#AzElSegments", + "traits": { + "smithy.api#documentation": "

Azimuth elevation segment data provided directly in the request.

Use this option for smaller datasets or when Amazon S3 access is not available.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Container for azimuth elevation segment data.

Specify either AzElSegmentsData$s3Object to reference data in Amazon S3, or AzElSegmentsData$azElData to provide data inline.

" + } + }, "com.amazonaws.groundstation#BandwidthUnits": { "type": "enum", "members": { @@ -386,7 +535,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#CapabilityArn": { @@ -809,7 +959,7 @@ "uplinkEchoConfig": { "target": "com.amazonaws.groundstation#UplinkEchoConfig", "traits": { - "smithy.api#documentation": "

Information about an uplink echo Config.

\n

Parameters from the AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig is used in a contact.

" + "smithy.api#documentation": "

Information about an uplink echo Config.

Parameters from the AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig is used in a contact.

" } }, "s3RecordingConfig": { @@ -820,7 +970,7 @@ } }, "traits": { - "smithy.api#documentation": "

Object containing the parameters of a Config.

\n

See the subtype definitions for what each type of Config contains.

" + "smithy.api#documentation": "

Object containing the parameters of a Config.

See the subtype definitions for what each type of Config contains.

" } }, "com.amazonaws.groundstation#ConnectionDetails": { @@ -953,13 +1103,19 @@ "visibilityStartTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

\n Projected time in UTC your satellite will rise above the\n receive mask.\n This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was\n active during contact execution for completed contacts.\n This field is not present for contacts with a SCHEDULING or SCHEDULED status.\n

" + "smithy.api#documentation": "

Projected time in UTC your satellite will rise above the receive mask. This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was active during contact execution for completed contacts. This field is not present for contacts with a SCHEDULING or SCHEDULED status.

" } }, "visibilityEndTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

\n Projected time in UTC your satellite will set below the\n receive mask.\n This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was\n active during contact execution for completed contacts.\n This field is not present for contacts with a SCHEDULING or SCHEDULED status.\n

" + "smithy.api#documentation": "

Projected time in UTC your satellite will set below the receive mask. This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was active during contact execution for completed contacts. This field is not present for contacts with a SCHEDULING or SCHEDULED status.

" + } + }, + "ephemeris": { + "target": "com.amazonaws.groundstation#EphemerisResponseData", + "traits": { + "smithy.api#documentation": "

The ephemeris that determines antenna pointing for the contact.

" } } }, @@ -1098,7 +1254,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a Config with the specified configData parameters.

\n

Only one type of configData can be specified.

", + "smithy.api#documentation": "

Creates a Config with the specified configData parameters.

Only one type of configData can be specified.

", "smithy.api#http": { "method": "POST", "uri": "/config" @@ -1130,7 +1286,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#CreateDataflowEndpointGroup": { @@ -1153,7 +1310,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects.

\n

The name field in each endpoint is used in your mission profile DataflowEndpointConfig \n to specify which endpoints to use during a contact.

\n

When a contact uses multiple DataflowEndpointConfig objects, each Config \n must match a DataflowEndpoint in the same group.

", + "smithy.api#documentation": "

Creates a DataflowEndpoint group containing the specified list of DataflowEndpoint objects.

The name field in each endpoint is used in your mission profile DataflowEndpointConfig to specify which endpoints to use during a contact.

When a contact uses multiple DataflowEndpointConfig objects, each Config must match a DataflowEndpoint in the same group.

", "smithy.api#http": { "method": "POST", "uri": "/dataflowEndpointGroup" @@ -1166,7 +1323,7 @@ "endpointDetails": { "target": "com.amazonaws.groundstation#EndpointDetailsList", "traits": { - "smithy.api#documentation": "

Endpoint details of each endpoint in the dataflow endpoint group.\n\n All dataflow endpoints within a single dataflow endpoint group must be of the same type.\n You cannot mix \n AWS Ground Station Agent endpoints with\n Dataflow endpoints in the same group.\n If your use case requires both types of endpoints, you must create separate dataflow endpoint\n groups for each type.\n

", + "smithy.api#documentation": "

Endpoint details of each endpoint in the dataflow endpoint group. All dataflow endpoints within a single dataflow endpoint group must be of the same type. You cannot mix AWS Ground Station Agent endpoints with Dataflow endpoints in the same group. If your use case requires both types of endpoints, you must create separate dataflow endpoint groups for each type.

", "smithy.api#required": {} } }, @@ -1190,7 +1347,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#CreateEphemeris": { @@ -1213,7 +1371,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an Ephemeris with the specified EphemerisData.

", + "smithy.api#documentation": "

Create an ephemeris with your specified EphemerisData.

", "smithy.api#http": { "method": "POST", "uri": "/ephemeris" @@ -1226,20 +1384,19 @@ "satelliteId": { "target": "com.amazonaws.groundstation#Uuid", "traits": { - "smithy.api#documentation": "

AWS Ground Station satellite ID for this ephemeris.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The satellite ID that associates this ephemeris with a satellite in AWS Ground Station.

" } }, "enabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Whether to set the ephemeris status to ENABLED after validation.

\n

Setting this to false will set the ephemeris status to DISABLED after validation.

" + "smithy.api#documentation": "

Set to true to enable the ephemeris after validation. Set to false to keep it disabled.

" } }, "priority": { "target": "com.amazonaws.groundstation#CustomerEphemerisPriority", "traits": { - "smithy.api#documentation": "

Customer-provided priority score to establish the order in which overlapping ephemerides should be used.

\n

The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.

\n

Priority must be 1 or greater

" + "smithy.api#documentation": "

A priority score that determines which ephemeris to use when multiple ephemerides overlap.

Higher numbers take precedence. The default is 1. Must be 1 or greater.

" } }, "expirationTime": { @@ -1251,14 +1408,14 @@ "name": { "target": "com.amazonaws.groundstation#SafeName", "traits": { - "smithy.api#documentation": "

A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.

", + "smithy.api#documentation": "

A name that you can use to identify the ephemeris.

", "smithy.api#required": {} } }, "kmsKeyArn": { "target": "com.amazonaws.groundstation#KeyArn", "traits": { - "smithy.api#documentation": "

The ARN of a KMS key used to encrypt the ephemeris in Ground Station.

" + "smithy.api#documentation": "

The ARN of the KMS key to use for encrypting the ephemeris.

" } }, "ephemeris": { @@ -1273,6 +1430,9 @@ "smithy.api#documentation": "

Tags assigned to an ephemeris.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#CreateMissionProfile": { @@ -1295,7 +1455,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a mission profile.

\n

\n dataflowEdges is a list of lists of strings. Each lower level list of strings\n has two elements: a from ARN and a to ARN.

", + "smithy.api#documentation": "

Creates a mission profile.

dataflowEdges is a list of lists of strings. Each lower level list of strings has two elements: a from ARN and a to ARN.

", "smithy.api#http": { "method": "POST", "uri": "/missionprofile" @@ -1334,7 +1494,7 @@ "dataflowEdges": { "target": "com.amazonaws.groundstation#DataflowEdgeList", "traits": { - "smithy.api#documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from\n Config and a to\n Config.

", + "smithy.api#documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

", "smithy.api#required": {} } }, @@ -1365,7 +1525,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#Criticality": { @@ -1660,7 +1821,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#DeleteDataflowEndpointGroup": { @@ -1704,7 +1866,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#DeleteEphemeris": { @@ -1722,12 +1885,15 @@ { "target": "com.amazonaws.groundstation#InvalidParameterException" }, + { + "target": "com.amazonaws.groundstation#ResourceInUseException" + }, { "target": "com.amazonaws.groundstation#ResourceNotFoundException" } ], "traits": { - "smithy.api#documentation": "

Deletes an ephemeris

", + "smithy.api#documentation": "

Delete an ephemeris.

", "smithy.api#http": { "method": "DELETE", "uri": "/ephemeris/{ephemerisId}" @@ -1746,6 +1912,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#DeleteMissionProfile": { @@ -1789,7 +1958,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#DemodulationConfig": { @@ -1896,7 +2066,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#DescribeContactResponse": { @@ -1989,18 +2160,31 @@ "visibilityStartTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

\n Projected time in UTC your satellite will rise above the\n receive mask.\n This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was\n active during contact execution for completed contacts.\n

" + "smithy.api#documentation": "

Projected time in UTC your satellite will rise above the receive mask. This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was active during contact execution for completed contacts.

" } }, "visibilityEndTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

\n Projected time in UTC your satellite will set below the\n receive mask.\n This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was\n active during contact execution for completed contacts.\n

" + "smithy.api#documentation": "

Projected time in UTC your satellite will set below the receive mask. This time is based on the satellite's current active ephemeris for future contacts and the ephemeris that was active during contact execution for completed contacts.

" + } + }, + "trackingOverrides": { + "target": "com.amazonaws.groundstation#TrackingOverrides", + "traits": { + "smithy.api#documentation": "

Tracking configuration overrides specified when the contact was reserved.

" + } + }, + "ephemeris": { + "target": "com.amazonaws.groundstation#EphemerisResponseData", + "traits": { + "smithy.api#documentation": "

The ephemeris that determines antenna pointing directions for the contact.

" } } }, "traits": { "smithy.api#documentation": "

", + "smithy.api#output": {}, "smithy.api#references": [ { "resource": "com.amazonaws.groundstation#Contact" @@ -2028,7 +2212,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes an existing ephemeris.

", + "smithy.api#documentation": "

Retrieve information about an existing ephemeris.

", "smithy.api#http": { "method": "GET", "uri": "/ephemeris/{ephemerisId}" @@ -2047,6 +2231,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#DescribeEphemerisResponse": { @@ -2073,7 +2260,7 @@ "priority": { "target": "com.amazonaws.groundstation#EphemerisPriority", "traits": { - "smithy.api#documentation": "

Customer-provided priority score to establish the order in which overlapping ephemerides should be used.

\n

The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.

\n

Priority must be 1 or greater

" + "smithy.api#documentation": "

A priority score that determines which ephemeris to use when multiple ephemerides overlap.

Higher numbers take precedence. The default is 1. Must be 1 or greater.

" } }, "creationTime": { @@ -2091,7 +2278,7 @@ "name": { "target": "com.amazonaws.groundstation#SafeName", "traits": { - "smithy.api#documentation": "

A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.

" + "smithy.api#documentation": "

A name that you can use to identify the ephemeris.

" } }, "tags": { @@ -2109,11 +2296,18 @@ "invalidReason": { "target": "com.amazonaws.groundstation#EphemerisInvalidReason", "traits": { - "smithy.api#documentation": "

Reason that an ephemeris failed validation. Only provided for ephemerides with INVALID status.

" + "smithy.api#documentation": "

Reason that an ephemeris failed validation. Appears only when the status is INVALID.

" + } + }, + "errorReasons": { + "target": "com.amazonaws.groundstation#EphemerisErrorReasonList", + "traits": { + "smithy.api#documentation": "

Detailed error information for ephemerides with INVALID status.

Provides specific error codes and messages to help diagnose validation failures.

" } } }, "traits": { + "smithy.api#output": {}, "smithy.api#references": [ { "resource": "com.amazonaws.groundstation#Ephemeris" @@ -2371,38 +2565,322 @@ } } }, - "com.amazonaws.groundstation#EphemerisData": { - "type": "union", + "com.amazonaws.groundstation#EphemerisData": { + "type": "union", + "members": { + "tle": { + "target": "com.amazonaws.groundstation#TLEEphemeris" + }, + "oem": { + "target": "com.amazonaws.groundstation#OEMEphemeris" + }, + "azEl": { + "target": "com.amazonaws.groundstation#AzElEphemeris" + } + }, + "traits": { + "smithy.api#documentation": "

Ephemeris data.

" + } + }, + "com.amazonaws.groundstation#EphemerisDescription": { + "type": "structure", + "members": { + "sourceS3Object": { + "target": "com.amazonaws.groundstation#S3Object", + "traits": { + "smithy.api#documentation": "

Source Amazon S3 object used for the ephemeris.

" + } + }, + "ephemerisData": { + "target": "com.amazonaws.groundstation#UnboundedString", + "traits": { + "smithy.api#documentation": "

Supplied ephemeris data.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Description of ephemeris.

" + } + }, + "com.amazonaws.groundstation#EphemerisErrorCode": { + "type": "enum", + "members": { + "INTERNAL_ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERNAL_ERROR" + } + }, + "MISMATCHED_SATCAT_ID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MISMATCHED_SATCAT_ID" + } + }, + "OEM_VERSION_UNSUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OEM_VERSION_UNSUPPORTED" + } + }, + "ORIGINATOR_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ORIGINATOR_MISSING" + } + }, + "CREATION_DATE_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CREATION_DATE_MISSING" + } + }, + "OBJECT_NAME_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OBJECT_NAME_MISSING" + } + }, + "OBJECT_ID_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OBJECT_ID_MISSING" + } + }, + "REF_FRAME_UNSUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REF_FRAME_UNSUPPORTED" + } + }, + "REF_FRAME_EPOCH_UNSUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REF_FRAME_EPOCH_UNSUPPORTED" + } + }, + "TIME_SYSTEM_UNSUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_SYSTEM_UNSUPPORTED" + } + }, + "CENTER_BODY_UNSUPPORTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CENTER_BODY_UNSUPPORTED" + } + }, + "INTERPOLATION_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERPOLATION_MISSING" + } + }, + "INTERPOLATION_DEGREE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INTERPOLATION_DEGREE_INVALID" + } + }, + "AZ_EL_SEGMENT_LIST_MISSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_LIST_MISSING" + } + }, + "INSUFFICIENT_TIME_AZ_EL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_TIME_AZ_EL" + } + }, + "START_TIME_IN_FUTURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "START_TIME_IN_FUTURE" + } + }, + "END_TIME_IN_PAST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "END_TIME_IN_PAST" + } + }, + "EXPIRATION_TIME_TOO_EARLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXPIRATION_TIME_TOO_EARLY" + } + }, + "START_TIME_METADATA_TOO_EARLY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "START_TIME_METADATA_TOO_EARLY" + } + }, + "STOP_TIME_METADATA_TOO_LATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_TIME_METADATA_TOO_LATE" + } + }, + "AZ_EL_SEGMENT_END_TIME_BEFORE_START_TIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_END_TIME_BEFORE_START_TIME" + } + }, + "AZ_EL_SEGMENT_TIMES_OVERLAP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_TIMES_OVERLAP" + } + }, + "AZ_EL_SEGMENTS_OUT_OF_ORDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENTS_OUT_OF_ORDER" + } + }, + "TIME_AZ_EL_ITEMS_OUT_OF_ORDER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_AZ_EL_ITEMS_OUT_OF_ORDER" + } + }, + "MEAN_MOTION_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MEAN_MOTION_INVALID" + } + }, + "TIME_AZ_EL_AZ_RADIAN_RANGE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_AZ_EL_AZ_RADIAN_RANGE_INVALID" + } + }, + "TIME_AZ_EL_EL_RADIAN_RANGE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_AZ_EL_EL_RADIAN_RANGE_INVALID" + } + }, + "TIME_AZ_EL_AZ_DEGREE_RANGE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_AZ_EL_AZ_DEGREE_RANGE_INVALID" + } + }, + "TIME_AZ_EL_EL_DEGREE_RANGE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_AZ_EL_EL_DEGREE_RANGE_INVALID" + } + }, + "TIME_AZ_EL_ANGLE_UNITS_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TIME_AZ_EL_ANGLE_UNITS_INVALID" + } + }, + "INSUFFICIENT_KMS_PERMISSIONS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INSUFFICIENT_KMS_PERMISSIONS" + } + }, + "FILE_FORMAT_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FILE_FORMAT_INVALID" + } + }, + "AZ_EL_SEGMENT_REFERENCE_EPOCH_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_REFERENCE_EPOCH_INVALID" + } + }, + "AZ_EL_SEGMENT_START_TIME_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_START_TIME_INVALID" + } + }, + "AZ_EL_SEGMENT_END_TIME_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_END_TIME_INVALID" + } + }, + "AZ_EL_SEGMENT_VALID_TIME_RANGE_INVALID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_VALID_TIME_RANGE_INVALID" + } + }, + "AZ_EL_SEGMENT_END_TIME_TOO_LATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_SEGMENT_END_TIME_TOO_LATE" + } + }, + "AZ_EL_TOTAL_DURATION_EXCEEDED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL_TOTAL_DURATION_EXCEEDED" + } + } + } + }, + "com.amazonaws.groundstation#EphemerisErrorReason": { + "type": "structure", "members": { - "tle": { - "target": "com.amazonaws.groundstation#TLEEphemeris" + "errorCode": { + "target": "com.amazonaws.groundstation#EphemerisErrorCode", + "traits": { + "smithy.api#documentation": "

The error code identifying the type of validation failure.

See the Troubleshooting Invalid Ephemerides guide for error code details.

", + "smithy.api#required": {} + } }, - "oem": { - "target": "com.amazonaws.groundstation#OEMEphemeris" + "errorMessage": { + "target": "com.amazonaws.groundstation#ErrorString", + "traits": { + "smithy.api#documentation": "

A human-readable message describing the validation failure.

Provides specific details about what failed and may include suggestions for remediation.

", + "smithy.api#required": {} + } } }, "traits": { - "smithy.api#documentation": "

Ephemeris data.

" + "smithy.api#documentation": "

Detailed error information for ephemeris validation failures.

Provides an error code and descriptive message to help diagnose and resolve validation issues.

" } }, - "com.amazonaws.groundstation#EphemerisDescription": { - "type": "structure", + "com.amazonaws.groundstation#EphemerisErrorReasonList": { + "type": "list", + "member": { + "target": "com.amazonaws.groundstation#EphemerisErrorReason" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.groundstation#EphemerisFilter": { + "type": "union", "members": { - "sourceS3Object": { - "target": "com.amazonaws.groundstation#S3Object", - "traits": { - "smithy.api#documentation": "

Source S3 object used for the ephemeris.

" - } - }, - "ephemerisData": { - "target": "com.amazonaws.groundstation#UnboundedString", + "azEl": { + "target": "com.amazonaws.groundstation#AzElEphemerisFilter", "traits": { - "smithy.api#documentation": "

Supplied ephemeris data.

" + "smithy.api#documentation": "

Filter for AzElEphemeris.

" } } }, "traits": { - "smithy.api#documentation": "

Description of ephemeris.

" + "smithy.api#documentation": "

Filter for selecting contacts that use a specific ephemeris\".

" } }, "com.amazonaws.groundstation#EphemerisIdResponse": { @@ -2465,6 +2943,12 @@ "smithy.api#documentation": "

The AWS Ground Station ephemeris ID.

" } }, + "ephemerisType": { + "target": "com.amazonaws.groundstation#EphemerisType", + "traits": { + "smithy.api#documentation": "

The type of ephemeris.

" + } + }, "status": { "target": "com.amazonaws.groundstation#EphemerisStatus", "traits": { @@ -2474,7 +2958,7 @@ "priority": { "target": "com.amazonaws.groundstation#EphemerisPriority", "traits": { - "smithy.api#documentation": "

Customer-provided priority score to establish the order in which overlapping ephemerides should be used.

\n

The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.

\n

Priority must be 1 or greater

" + "smithy.api#documentation": "

A priority score that determines which ephemeris to use when multiple ephemerides overlap.

Higher numbers take precedence. The default is 1. Must be 1 or greater.

" } }, "enabled": { @@ -2492,13 +2976,13 @@ "name": { "target": "com.amazonaws.groundstation#SafeName", "traits": { - "smithy.api#documentation": "

A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.

" + "smithy.api#documentation": "

A name that you can use to identify the ephemeris.

" } }, "sourceS3Object": { "target": "com.amazonaws.groundstation#S3Object", "traits": { - "smithy.api#documentation": "

Source S3 object used for the ephemeris.

" + "smithy.api#documentation": "

Source Amazon S3 object used for the ephemeris.

" } } }, @@ -2519,19 +3003,19 @@ "ephemerisId": { "target": "com.amazonaws.groundstation#Uuid", "traits": { - "smithy.api#documentation": "

UUID of a customer-provided ephemeris.

\n

This field is not populated for default ephemerides from Space Track.

" + "smithy.api#documentation": "

UUID of a customer-provided ephemeris.

This field is not populated for default ephemerides from Space Track.

" } }, "epoch": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The epoch of a default, ephemeris from Space Track in UTC.

\n

This field is not populated for customer-provided ephemerides.

" + "smithy.api#documentation": "

The epoch of a default, ephemeris from Space Track in UTC.

This field is not populated for customer-provided ephemerides.

" } }, "name": { "target": "com.amazonaws.groundstation#SafeName", "traits": { - "smithy.api#documentation": "

A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.

\n

A name is only returned for customer-provider ephemerides that have a name associated.

" + "smithy.api#documentation": "

A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.

A name is only returned for customer-provider ephemerides that have a name associated.

" } } }, @@ -2548,6 +3032,32 @@ } } }, + "com.amazonaws.groundstation#EphemerisResponseData": { + "type": "structure", + "members": { + "ephemerisId": { + "target": "com.amazonaws.groundstation#Uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier of the ephemeris. Appears only for custom ephemerides.

" + } + }, + "ephemerisType": { + "target": "com.amazonaws.groundstation#EphemerisType", + "traits": { + "smithy.api#documentation": "

Type of ephemeris.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Ephemeris data for a contact.

", + "smithy.api#references": [ + { + "resource": "com.amazonaws.groundstation#Ephemeris" + } + ] + } + }, "com.amazonaws.groundstation#EphemerisSource": { "type": "enum", "members": { @@ -2618,6 +3128,35 @@ } } }, + "com.amazonaws.groundstation#EphemerisType": { + "type": "enum", + "members": { + "TLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "TLE" + } + }, + "OEM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "OEM" + } + }, + "AZ_EL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AZ_EL" + } + }, + "SERVICE_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE_MANAGED" + } + } + } + }, "com.amazonaws.groundstation#EphemerisTypeDescription": { "type": "union", "members": { @@ -2626,12 +3165,24 @@ }, "oem": { "target": "com.amazonaws.groundstation#EphemerisDescription" + }, + "azEl": { + "target": "com.amazonaws.groundstation#EphemerisDescription" } }, "traits": { "smithy.api#documentation": "

" } }, + "com.amazonaws.groundstation#ErrorString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1000 + } + } + }, "com.amazonaws.groundstation#Frequency": { "type": "structure", "members": { @@ -2660,7 +3211,7 @@ "value": { "target": "smithy.api#Double", "traits": { - "smithy.api#documentation": "

Frequency bandwidth value. AWS Ground Station currently has the following bandwidth limitations:

\n
    \n
  • \n

    For AntennaDownlinkDemodDecodeconfig, valid values are between 125 kHz to 650 MHz.

    \n
  • \n
  • \n

    For AntennaDownlinkconfig, valid values are between 10 kHz to 54 MHz.

    \n
  • \n
  • \n

    For AntennaUplinkConfig, valid values are between 10 kHz to 54 MHz.

    \n
  • \n
", + "smithy.api#documentation": "

Frequency bandwidth value. AWS Ground Station currently has the following bandwidth limitations:

  • For AntennaDownlinkDemodDecodeconfig, valid values are between 125 kHz to 650 MHz.

  • For AntennaDownlinkconfig, valid values are between 10 kHz to 54 MHz.

  • For AntennaUplinkConfig, valid values are between 10 kHz to 54 MHz.

", "smithy.api#required": {} } }, @@ -2719,7 +3270,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

For use by AWS Ground Station Agent and shouldn't be called directly.

\n
\n

Gets the latest configuration information for a registered agent.

", + "smithy.api#documentation": "

For use by AWS Ground Station Agent and shouldn't be called directly.

Gets the latest configuration information for a registered agent.

", "smithy.api#http": { "method": "GET", "uri": "/agent/{agentId}/configuration" @@ -2738,6 +3289,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#GetAgentConfigurationResponse": { @@ -2755,6 +3309,9 @@ "smithy.api#documentation": "

Tasking document for agent.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.groundstation#GetConfig": { @@ -2777,7 +3334,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns Config information.

\n

Only one Config response can be returned.

", + "smithy.api#documentation": "

Returns Config information.

Only one Config response can be returned.

", "smithy.api#http": { "method": "GET", "uri": "/config/{configType}/{configId}" @@ -2806,7 +3363,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#GetConfigResponse": { @@ -2822,7 +3380,7 @@ "configArn": { "target": "com.amazonaws.groundstation#ConfigArn", "traits": { - "smithy.api#documentation": "

ARN of a Config\n

", + "smithy.api#documentation": "

ARN of a Config

", "smithy.api#required": {} } }, @@ -2854,7 +3412,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#GetDataflowEndpointGroup": { @@ -2898,7 +3457,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#GetDataflowEndpointGroupResponse": { @@ -2942,7 +3502,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#GetMinuteUsage": { @@ -2992,7 +3553,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#GetMinuteUsageResponse": { @@ -3030,7 +3592,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#GetMissionProfile": { @@ -3074,7 +3637,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#GetMissionProfileResponse": { @@ -3125,7 +3689,7 @@ "dataflowEdges": { "target": "com.amazonaws.groundstation#DataflowEdgeList", "traits": { - "smithy.api#documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from\n Config and a to\n Config.

" + "smithy.api#documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

" } }, "trackingConfigArn": { @@ -3155,6 +3719,7 @@ }, "traits": { "smithy.api#documentation": "

", + "smithy.api#output": {}, "smithy.api#references": [ { "resource": "com.amazonaws.groundstation#MissionProfile" @@ -3203,7 +3768,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#GetSatelliteResponse": { @@ -3304,7 +3870,7 @@ "name": "groundstation" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that\n enables you to control satellite communications, downlink and process satellite data, and\n scale your satellite operations efficiently and cost-effectively without having\n to build or manage your own ground station infrastructure.

", + "smithy.api#documentation": "

Welcome to the AWS Ground Station API Reference. AWS Ground Station is a fully managed service that enables you to control satellite communications, downlink and process satellite data, and scale your satellite operations efficiently and cost-effectively without having to build or manage your own ground station infrastructure.

", "smithy.api#title": "AWS Ground Station", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -3313,27 +3879,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -4118,6 +4684,30 @@ } } }, + "com.amazonaws.groundstation#ISO8601TimeRange": { + "type": "structure", + "members": { + "startTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

Start time in ISO 8601 format in Coordinated Universal Time (UTC).

Example: 2026-11-15T10:28:48.000Z

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + }, + "endTime": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

End time in ISO 8601 format in Coordinated Universal Time (UTC).

Example: 2024-01-15T12:00:00.000Z

", + "smithy.api#required": {}, + "smithy.api#timestampFormat": "date-time" + } + } + }, + "traits": { + "smithy.api#documentation": "

Time range specified using ISO 8601 format timestamps.

" + } + }, "com.amazonaws.groundstation#InstanceId": { "type": "string", "traits": { @@ -4321,7 +4911,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListConfigsResponse": { @@ -4341,7 +4932,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListContacts": { @@ -4364,7 +4956,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of contacts.

\n

If statusList contains AVAILABLE, the request must include\n groundStation, missionprofileArn, and satelliteArn.\n

", + "smithy.api#documentation": "

Returns a list of contacts.

If statusList contains AVAILABLE, the request must include groundStation, missionprofileArn, and satelliteArn.

", "smithy.api#http": { "method": "POST", "uri": "/contacts" @@ -4431,10 +5023,17 @@ "traits": { "smithy.api#documentation": "

ARN of a mission profile.

" } + }, + "ephemeris": { + "target": "com.amazonaws.groundstation#EphemerisFilter", + "traits": { + "smithy.api#documentation": "

Filter for selecting contacts that use a specific ephemeris\".

" + } } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListContactsResponse": { @@ -4454,7 +5053,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListDataflowEndpointGroups": { @@ -4510,7 +5110,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListDataflowEndpointGroupsResponse": { @@ -4530,7 +5131,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListEphemerides": { @@ -4553,7 +5155,7 @@ } ], "traits": { - "smithy.api#documentation": "

List existing ephemerides.

", + "smithy.api#documentation": "

List your existing ephemerides.

", "smithy.api#http": { "method": "POST", "uri": "/ephemerides" @@ -4564,7 +5166,10 @@ "outputToken": "nextToken", "items": "ephemerides" }, - "smithy.api#readonly": {} + "smithy.api#readonly": {}, + "smithy.api#suppress": [ + "HttpMethodSemantics" + ] } }, "com.amazonaws.groundstation#ListEphemeridesRequest": { @@ -4573,21 +5178,26 @@ "satelliteId": { "target": "com.amazonaws.groundstation#Uuid", "traits": { - "smithy.api#documentation": "

The AWS Ground Station satellite ID to list ephemeris for.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The AWS Ground Station satellite ID to list ephemeris for.

" + } + }, + "ephemerisType": { + "target": "com.amazonaws.groundstation#EphemerisType", + "traits": { + "smithy.api#documentation": "

Filter ephemerides by type. If not specified, all ephemeris types will be returned.

" } }, "startTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The start time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the startTime and endTime.

", + "smithy.api#documentation": "

The start time for the list operation in UTC. Returns ephemerides with expiration times within your specified time range.

", "smithy.api#required": {} } }, "endTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

The end time to list in UTC. The operation will return an ephemeris if its expiration time is within the time range defined by the startTime and endTime.

", + "smithy.api#documentation": "

The end time for the list operation in UTC. Returns ephemerides with expiration times within your specified time range.

", "smithy.api#required": {} } }, @@ -4611,6 +5221,9 @@ "smithy.api#httpQuery": "nextToken" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListEphemeridesResponse": { @@ -4628,6 +5241,9 @@ "smithy.api#documentation": "

List of ephemerides.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListGroundStations": { @@ -4710,7 +5326,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListMissionProfiles": { @@ -4766,7 +5383,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListMissionProfilesResponse": { @@ -4786,7 +5404,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListSatellites": { @@ -4842,7 +5461,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListSatellitesResponse": { @@ -4862,7 +5482,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ListTagsForResource": { @@ -4906,7 +5527,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#ListTagsForResourceResponse": { @@ -4920,7 +5542,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#MissionProfile": { @@ -5033,18 +5656,18 @@ "s3Object": { "target": "com.amazonaws.groundstation#S3Object", "traits": { - "smithy.api#documentation": "

Identifies the S3 object to be used as the ephemeris.

" + "smithy.api#documentation": "

The Amazon S3 object that contains the ephemeris data.

" } }, "oemData": { "target": "com.amazonaws.groundstation#UnboundedString", "traits": { - "smithy.api#documentation": "

The data for an OEM ephemeris, supplied directly in the request rather than through an S3 object.

" + "smithy.api#documentation": "

OEM data that you provide directly instead of using an Amazon S3 object.

" } } }, "traits": { - "smithy.api#documentation": "

\n Ephemeris data in Orbit Ephemeris Message (OEM) format.\n

\n

\n AWS Ground Station processes OEM Customer Provided Ephemerides according to the CCSDS standard with some extra restrictions. OEM files should be in KVN format. For more detail about the OEM format that AWS Ground Station supports, see OEM ephemeris format in the AWS Ground Station user guide.\n

" + "smithy.api#documentation": "

Ephemeris data in Orbit Ephemeris Message (OEM) format.

AWS Ground Station processes OEM ephemerides according to the CCSDS standard with some extra restrictions. OEM files should be in KVN format. For more detail about the OEM format that AWS Ground Station supports, see OEM ephemeris format in the AWS Ground Station user guide.

" } }, "com.amazonaws.groundstation#PaginationMaxResults": { @@ -5098,6 +5721,20 @@ } } }, + "com.amazonaws.groundstation#ProgramTrackSettings": { + "type": "union", + "members": { + "azEl": { + "target": "com.amazonaws.groundstation#AzElProgramTrackSettings", + "traits": { + "smithy.api#documentation": "

Program track settings for AzElEphemeris.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Program track settings for an antenna during a contact.

" + } + }, "com.amazonaws.groundstation#RangedConnectionDetails": { "type": "structure", "members": { @@ -5165,7 +5802,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

For use by AWS Ground Station Agent and shouldn't be called directly.

\n
\n

Registers a new agent with AWS Ground Station.

", + "smithy.api#documentation": "

For use by AWS Ground Station Agent and shouldn't be called directly.

Registers a new agent with AWS Ground Station.

", "smithy.api#http": { "method": "POST", "uri": "/agent" @@ -5195,6 +5832,9 @@ "smithy.api#documentation": "

Tags assigned to an Agent.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#RegisterAgentResponse": { @@ -5206,6 +5846,9 @@ "smithy.api#documentation": "

UUID of registered agent.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.groundstation#ReserveContact": { @@ -5223,6 +5866,9 @@ { "target": "com.amazonaws.groundstation#InvalidParameterException" }, + { + "target": "com.amazonaws.groundstation#ResourceLimitExceededException" + }, { "target": "com.amazonaws.groundstation#ResourceNotFoundException" } @@ -5248,8 +5894,7 @@ "satelliteArn": { "target": "com.amazonaws.groundstation#satelliteArn", "traits": { - "smithy.api#documentation": "

ARN of a satellite

", - "smithy.api#required": {} + "smithy.api#documentation": "

ARN of a satellite

" } }, "startTime": { @@ -5278,10 +5923,30 @@ "traits": { "smithy.api#documentation": "

Tags assigned to a contact.

" } + }, + "trackingOverrides": { + "target": "com.amazonaws.groundstation#TrackingOverrides", + "traits": { + "smithy.api#documentation": "

Tracking configuration overrides for the contact.

" + } } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} + } + }, + "com.amazonaws.groundstation#ResourceInUseException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String" + } + }, + "traits": { + "smithy.api#documentation": "

The specified resource is in use by non-terminal state contacts and cannot be modified or deleted.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 } }, "com.amazonaws.groundstation#ResourceLimitExceededException": { @@ -5357,12 +6022,12 @@ "version": { "target": "com.amazonaws.groundstation#S3VersionId", "traits": { - "smithy.api#documentation": "

For versioned S3 objects, the version to use for the ephemeris.

" + "smithy.api#documentation": "

For versioned Amazon S3 objects, the version to use for the ephemeris.

" } } }, "traits": { - "smithy.api#documentation": "

Object stored in S3 containing ephemeris data.

" + "smithy.api#documentation": "

Object stored in Amazon S3 containing ephemeris data.

" } }, "com.amazonaws.groundstation#S3ObjectKey": { @@ -5591,7 +6256,7 @@ "configDetails": { "target": "com.amazonaws.groundstation#ConfigDetails", "traits": { - "smithy.api#documentation": "

Additional details for a Config, if type is dataflow-endpoint or antenna-downlink-demod-decode\n

" + "smithy.api#documentation": "

Additional details for a Config, if type is dataflow-endpoint or antenna-downlink-demod-decode

" } }, "dataflowSourceRegion": { @@ -5618,7 +6283,7 @@ "bandwidth": { "target": "com.amazonaws.groundstation#FrequencyBandwidth", "traits": { - "smithy.api#documentation": "

Bandwidth of a spectral Config. AWS Ground Station currently has the following bandwidth limitations:

\n
    \n
  • \n

    For AntennaDownlinkDemodDecodeconfig, valid values are between 125 kHz to 650 MHz.

    \n
  • \n
  • \n

    For AntennaDownlinkconfig valid values are between 10 kHz to 54 MHz.

    \n
  • \n
  • \n

    For AntennaUplinkConfig, valid values are between 10 kHz to 54 MHz.

    \n
  • \n
", + "smithy.api#documentation": "

Bandwidth of a spectral Config. AWS Ground Station currently has the following bandwidth limitations:

  • For AntennaDownlinkDemodDecodeconfig, valid values are between 125 kHz to 650 MHz.

  • For AntennaDownlinkconfig valid values are between 10 kHz to 54 MHz.

  • For AntennaUplinkConfig, valid values are between 10 kHz to 54 MHz.

", "smithy.api#required": {} } }, @@ -5674,7 +6339,7 @@ "validTimeRange": { "target": "com.amazonaws.groundstation#TimeRange", "traits": { - "smithy.api#documentation": "

The valid time range for the TLE. Gaps or overlap are not permitted.

", + "smithy.api#documentation": "

The valid time range for the TLE. Time ranges must be continuous without gaps or overlaps.

", "smithy.api#required": {} } } @@ -5701,18 +6366,18 @@ "s3Object": { "target": "com.amazonaws.groundstation#S3Object", "traits": { - "smithy.api#documentation": "

Identifies the S3 object to be used as the ephemeris.

" + "smithy.api#documentation": "

The Amazon S3 object that contains the ephemeris data.

" } }, "tleData": { "target": "com.amazonaws.groundstation#TLEDataList", "traits": { - "smithy.api#documentation": "

The data for a TLE ephemeris, supplied directly in the request rather than through an S3 object.

" + "smithy.api#documentation": "

TLE data that you provide directly instead of using an Amazon S3 object.

" } } }, "traits": { - "smithy.api#documentation": "

Two-line element set (TLE) ephemeris.

" + "smithy.api#documentation": "

Two-line element set (TLE) ephemeris.

For more detail about providing Two-line element sets to AWS Ground Station, see the TLE section of the AWS Ground Station user guide.

" } }, "com.amazonaws.groundstation#TagKeys": { @@ -5774,14 +6439,16 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#TagResourceResponse": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#TagsMap": { @@ -5793,20 +6460,60 @@ "target": "smithy.api#String" } }, + "com.amazonaws.groundstation#TimeAzEl": { + "type": "structure", + "members": { + "dt": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

Time offset in atomic seconds from the segment's reference epoch.

All dt values within a segment must be in ascending order with no duplicates.

dt values may be:

  • negative

  • expressed as fractions of a second

  • expressed in scientific notation

", + "smithy.api#required": {} + } + }, + "az": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

Azimuth angle at the specified time.

Valid ranges by unit:

  • DEGREE_ANGLE: -180 to 360 degrees, measured clockwise from true north

  • RADIAN: -π to 2π radians, measured clockwise from true north

", + "smithy.api#required": {} + } + }, + "el": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

Elevation angle at the specified time.

Valid ranges by unit:

  • DEGREE_ANGLE: -90 to 90 degrees, where 0 is the horizon, 90 is zenith, and negative values are below the horizon

  • RADIAN: -π/2 to π/2 radians, where 0 is the horizon, π/2 is zenith, and negative values are below the horizon

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Time-tagged azimuth elevation pointing data.

Specifies the antenna pointing direction at a specific time offset from the segment's reference epoch.

" + } + }, + "com.amazonaws.groundstation#TimeAzElList": { + "type": "list", + "member": { + "target": "com.amazonaws.groundstation#TimeAzEl" + }, + "traits": { + "smithy.api#length": { + "min": 5 + } + } + }, "com.amazonaws.groundstation#TimeRange": { "type": "structure", "members": { "startTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

Time in UTC at which the time range starts.

", + "smithy.api#documentation": "

Unix epoch timestamp in UTC at which the time range starts.

", "smithy.api#required": {} } }, "endTime": { "target": "smithy.api#Timestamp", "traits": { - "smithy.api#documentation": "

Time in UTC at which the time range ends.

", + "smithy.api#documentation": "

Unix epoch timestamp in UTC at which the time range ends.

", "smithy.api#required": {} } } @@ -5847,7 +6554,22 @@ } }, "traits": { - "smithy.api#documentation": "

Object that determines whether tracking should be used during a contact\n executed with this Config in the mission profile.

" + "smithy.api#documentation": "

Object that determines whether tracking should be used during a contact executed with this Config in the mission profile.

" + } + }, + "com.amazonaws.groundstation#TrackingOverrides": { + "type": "structure", + "members": { + "programTrackSettings": { + "target": "com.amazonaws.groundstation#ProgramTrackSettings", + "traits": { + "smithy.api#documentation": "

Program track settings to override for antenna tracking during the contact.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Overrides the default tracking configuration on an antenna during a contact.

" } }, "com.amazonaws.groundstation#UnboundedString": { @@ -5908,14 +6630,16 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#UntagResourceResponse": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#output": {} } }, "com.amazonaws.groundstation#UpdateAgentStatus": { @@ -5938,7 +6662,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

For use by AWS Ground Station Agent and shouldn't be called directly.

\n \n

Update the status of the agent.

", + "smithy.api#documentation": "

For use by AWS Ground Station Agent and shouldn't be called directly.

Update the status of the agent.

", "smithy.api#http": { "method": "PUT", "uri": "/agent/{agentId}" @@ -5978,6 +6702,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#UpdateAgentStatusResponse": { @@ -5990,6 +6717,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.groundstation#UpdateConfig": { @@ -6012,7 +6742,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the Config used when scheduling contacts.

\n

Updating a Config will not update the execution parameters\n for existing future contacts scheduled with this Config.

", + "smithy.api#documentation": "

Updates the Config used when scheduling contacts.

Updating a Config will not update the execution parameters for existing future contacts scheduled with this Config.

", "smithy.api#http": { "method": "PUT", "uri": "/config/{configType}/{configId}" @@ -6055,7 +6785,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#UpdateEphemeris": { @@ -6078,7 +6809,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an existing ephemeris

", + "smithy.api#documentation": "

Update an existing ephemeris.

", "smithy.api#http": { "method": "PUT", "uri": "/ephemeris/{ephemerisId}" @@ -6100,22 +6831,25 @@ "enabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Whether the ephemeris is enabled or not. Changing this value will not require the ephemeris to be re-validated.

", + "smithy.api#documentation": "

Enable or disable the ephemeris. Changing this value doesn't require re-validation.

", "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.groundstation#SafeName", "traits": { - "smithy.api#documentation": "

A name string associated with the ephemeris. Used as a human-readable identifier for the ephemeris.

" + "smithy.api#documentation": "

A name that you can use to identify the ephemeris.

" } }, "priority": { "target": "com.amazonaws.groundstation#EphemerisPriority", "traits": { - "smithy.api#documentation": "

Customer-provided priority score to establish the order in which overlapping ephemerides should be used.

\n

The default for customer-provided ephemeris priority is 1, and higher numbers take precedence.

\n

Priority must be 1 or greater

" + "smithy.api#documentation": "

A priority score that determines which ephemeris to use when multiple ephemerides overlap.

Higher numbers take precedence. The default is 1. Must be 1 or greater.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.groundstation#UpdateMissionProfile": { @@ -6138,7 +6872,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a mission profile.

\n

Updating a mission profile will not update the execution parameters\n for existing future contacts.

", + "smithy.api#documentation": "

Updates a mission profile.

Updating a mission profile will not update the execution parameters for existing future contacts.

", "smithy.api#http": { "method": "PUT", "uri": "/missionprofile/{missionProfileId}" @@ -6184,7 +6918,7 @@ "dataflowEdges": { "target": "com.amazonaws.groundstation#DataflowEdgeList", "traits": { - "smithy.api#documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from\n Config and a to\n Config.

" + "smithy.api#documentation": "

A list of lists of ARNs. Each list of ARNs is an edge, with a from Config and a to Config.

" } }, "trackingConfigArn": { @@ -6207,7 +6941,8 @@ } }, "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

", + "smithy.api#input": {} } }, "com.amazonaws.groundstation#UplinkEchoConfig": { @@ -6229,7 +6964,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about an uplink echo Config.

\n

Parameters from the AntennaUplinkConfig, corresponding to the \n specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig \n is used in a contact.

" + "smithy.api#documentation": "

Information about an uplink echo Config.

Parameters from the AntennaUplinkConfig, corresponding to the specified AntennaUplinkConfigArn, are used when this UplinkEchoConfig is used in a contact.

" } }, "com.amazonaws.groundstation#UplinkSpectrumConfig": { diff --git a/codegen/sdk-codegen/aws-models/guardduty.json b/codegen/sdk-codegen/aws-models/guardduty.json index aca6f85898f..249d657235d 100644 --- a/codegen/sdk-codegen/aws-models/guardduty.json +++ b/codegen/sdk-codegen/aws-models/guardduty.json @@ -8464,27 +8464,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -11330,7 +11330,7 @@ "NextToken": { "target": "com.amazonaws.guardduty#String", "traits": { - "smithy.api#documentation": "

You can use this parameter when paginating results. Set the value \n of this parameter to null on your first call to the list action. \n For subsequent calls to the action, fill nextToken in the request \n with the value of NextToken from the previous response to \n continue listing data.

", + "smithy.api#documentation": "

You can use this parameter when paginating results. Set the value \n of this parameter to null on your first call to the list action. \n For subsequent calls to the action, fill nextToken in the request \n with the value of NextToken from the previous response to \n continue listing data. The default page size is 100 plans.

", "smithy.api#httpQuery": "nextToken", "smithy.api#jsonName": "nextToken" } @@ -17500,7 +17500,7 @@ } }, "Comments": { - "target": "com.amazonaws.guardduty#String", + "target": "com.amazonaws.guardduty#SensitiveString", "traits": { "smithy.api#documentation": "

Additional feedback about the GuardDuty findings.

", "smithy.api#jsonName": "comments" diff --git a/codegen/sdk-codegen/aws-models/health.json b/codegen/sdk-codegen/aws-models/health.json index 33b9d9fa45b..0aa7ae06fe7 100644 --- a/codegen/sdk-codegen/aws-models/health.json +++ b/codegen/sdk-codegen/aws-models/health.json @@ -97,27 +97,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/healthlake.json b/codegen/sdk-codegen/aws-models/healthlake.json index bbeca7a7bf1..d6d41cb9800 100644 --- a/codegen/sdk-codegen/aws-models/healthlake.json +++ b/codegen/sdk-codegen/aws-models/healthlake.json @@ -1048,27 +1048,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iam.json b/codegen/sdk-codegen/aws-models/iam.json index 3961912f674..47f9b6f21da 100644 --- a/codegen/sdk-codegen/aws-models/iam.json +++ b/codegen/sdk-codegen/aws-models/iam.json @@ -551,26 +551,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -1869,85 +1869,43 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://iam.us-gov.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://iam.us-gov.amazonaws.com" + "url": "https://iam-fips.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://iam.us-gov.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://iam.us-gov.amazonaws.com" + "url": "https://iam.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -2121,43 +2079,85 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://iam-fips.amazonaws.eu" + "url": "https://iam.us-gov.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://iam.us-gov.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://iam.eusc-de-east-1.amazonaws.eu" + "url": "https://iam.us-gov.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://iam.us-gov.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } @@ -2381,6 +2381,9 @@ "target": "smithy.api#Unit" }, "errors": [ + { + "target": "com.amazonaws.iam#ConcurrentModificationException" + }, { "target": "com.amazonaws.iam#InvalidInputException" }, @@ -12963,6 +12966,9 @@ "target": "smithy.api#Unit" }, "errors": [ + { + "target": "com.amazonaws.iam#ConcurrentModificationException" + }, { "target": "com.amazonaws.iam#InvalidInputException" }, @@ -15780,6 +15786,9 @@ "target": "smithy.api#Unit" }, "errors": [ + { + "target": "com.amazonaws.iam#ConcurrentModificationException" + }, { "target": "com.amazonaws.iam#InvalidInputException" }, @@ -15941,6 +15950,9 @@ "target": "com.amazonaws.iam#UpdateSAMLProviderResponse" }, "errors": [ + { + "target": "com.amazonaws.iam#ConcurrentModificationException" + }, { "target": "com.amazonaws.iam#InvalidInputException" }, @@ -17857,6 +17869,48 @@ "traits": { "smithy.api#enumValue": "GlobalEndpointTokenVersion" } + }, + "AssumeRolePolicySizeQuota": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AssumeRolePolicySizeQuota" + } + }, + "InstanceProfiles": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InstanceProfiles" + } + }, + "InstanceProfilesQuota": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "InstanceProfilesQuota" + } + }, + "Providers": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Providers" + } + }, + "RolePolicySizeQuota": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RolePolicySizeQuota" + } + }, + "Roles": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Roles" + } + }, + "RolesQuota": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RolesQuota" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/identitystore.json b/codegen/sdk-codegen/aws-models/identitystore.json index c9ca65ae86c..34ce8fd44e1 100644 --- a/codegen/sdk-codegen/aws-models/identitystore.json +++ b/codegen/sdk-codegen/aws-models/identitystore.json @@ -64,27 +64,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/imagebuilder.json b/codegen/sdk-codegen/aws-models/imagebuilder.json index f4d8dfd4b9b..a67ee2feb0b 100644 --- a/codegen/sdk-codegen/aws-models/imagebuilder.json +++ b/codegen/sdk-codegen/aws-models/imagebuilder.json @@ -14379,27 +14379,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/inspector-scan.json b/codegen/sdk-codegen/aws-models/inspector-scan.json index 967763635a6..d6426720a05 100644 --- a/codegen/sdk-codegen/aws-models/inspector-scan.json +++ b/codegen/sdk-codegen/aws-models/inspector-scan.json @@ -45,27 +45,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/inspector.json b/codegen/sdk-codegen/aws-models/inspector.json index bf03c4ff65d..df9ac03a6f5 100644 --- a/codegen/sdk-codegen/aws-models/inspector.json +++ b/codegen/sdk-codegen/aws-models/inspector.json @@ -3465,27 +3465,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/inspector2.json b/codegen/sdk-codegen/aws-models/inspector2.json index f3bc36228c3..bd736dc95e4 100644 --- a/codegen/sdk-codegen/aws-models/inspector2.json +++ b/codegen/sdk-codegen/aws-models/inspector2.json @@ -10282,27 +10282,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/internetmonitor.json b/codegen/sdk-codegen/aws-models/internetmonitor.json index a0eb47ba44c..e3f35916235 100644 --- a/codegen/sdk-codegen/aws-models/internetmonitor.json +++ b/codegen/sdk-codegen/aws-models/internetmonitor.json @@ -1507,27 +1507,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/invoicing.json b/codegen/sdk-codegen/aws-models/invoicing.json index 7daadcfe049..3f84cd6594a 100644 --- a/codegen/sdk-codegen/aws-models/invoicing.json +++ b/codegen/sdk-codegen/aws-models/invoicing.json @@ -1162,19 +1162,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iot-data-plane.json b/codegen/sdk-codegen/aws-models/iot-data-plane.json index 26e4f7731d6..0fc81d1573e 100644 --- a/codegen/sdk-codegen/aws-models/iot-data-plane.json +++ b/codegen/sdk-codegen/aws-models/iot-data-plane.json @@ -510,27 +510,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iot-events-data.json b/codegen/sdk-codegen/aws-models/iot-events-data.json index 70a385f2c9e..89800fc0f5e 100644 --- a/codegen/sdk-codegen/aws-models/iot-events-data.json +++ b/codegen/sdk-codegen/aws-models/iot-events-data.json @@ -1658,27 +1658,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iot-events.json b/codegen/sdk-codegen/aws-models/iot-events.json index 016e8cb7d15..672fa41b79d 100644 --- a/codegen/sdk-codegen/aws-models/iot-events.json +++ b/codegen/sdk-codegen/aws-models/iot-events.json @@ -2721,27 +2721,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iot-jobs-data-plane.json b/codegen/sdk-codegen/aws-models/iot-jobs-data-plane.json index 3483e1b0efa..25f3aa3d2a8 100644 --- a/codegen/sdk-codegen/aws-models/iot-jobs-data-plane.json +++ b/codegen/sdk-codegen/aws-models/iot-jobs-data-plane.json @@ -481,27 +481,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iot-managed-integrations.json b/codegen/sdk-codegen/aws-models/iot-managed-integrations.json index 208c2448854..13cc7d7ebda 100644 --- a/codegen/sdk-codegen/aws-models/iot-managed-integrations.json +++ b/codegen/sdk-codegen/aws-models/iot-managed-integrations.json @@ -254,7 +254,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^[/a-zA-Z0-9\\._ ]+$" + "smithy.api#pattern": "^[/a-zA-Z0-9\\._ -]+$" } }, "com.amazonaws.iotmanagedintegrations#ActionReference": { @@ -536,7 +536,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^[/a-zA-Z0-9\\._ ]+$" + "smithy.api#pattern": "^[/a-zA-Z0-9\\._ -]+$" } }, "com.amazonaws.iotmanagedintegrations#CapabilityProperties": { @@ -787,6 +787,16 @@ "smithy.api#pattern": "^(0|[1-9][0-9]*)$" } }, + "com.amazonaws.iotmanagedintegrations#CertificatePem": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 65536 + }, + "smithy.api#pattern": "^[\\s\\S]*$" + } + }, "com.amazonaws.iotmanagedintegrations#ClaimCertificate": { "type": "string", "traits": { @@ -1375,6 +1385,9 @@ { "target": "com.amazonaws.iotmanagedintegrations#ThrottlingException" }, + { + "target": "com.amazonaws.iotmanagedintegrations#UnauthorizedException" + }, { "target": "com.amazonaws.iotmanagedintegrations#ValidationException" } @@ -1633,9 +1646,15 @@ { "target": "com.amazonaws.iotmanagedintegrations#InternalServerException" }, + { + "target": "com.amazonaws.iotmanagedintegrations#ResourceNotFoundException" + }, { "target": "com.amazonaws.iotmanagedintegrations#ThrottlingException" }, + { + "target": "com.amazonaws.iotmanagedintegrations#UnauthorizedException" + }, { "target": "com.amazonaws.iotmanagedintegrations#ValidationException" } @@ -1750,7 +1769,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create a product credential locker. This operation will trigger the creation of all the manufacturing resources including the Wi-Fi setup key pair and device certificate.

", + "smithy.api#documentation": "

Create a credential locker.

This operation will not trigger the creation of all the manufacturing resources.

", "smithy.api#http": { "method": "POST", "uri": "/credential-lockers", @@ -1843,7 +1862,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create a destination. IoT managed integrations uses the destination to determine where to deliver notifications for a device.

", + "smithy.api#documentation": "

Create a notification destination such as Kinesis Data Streams that receive events and notifications from Managed integrations. Managed integrations uses the destination to determine where to deliver notifications.

", "smithy.api#http": { "method": "POST", "uri": "/destinations", @@ -2045,7 +2064,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a protocol-specific format.

", + "smithy.api#documentation": "

Creates a managed thing. A managed thing contains the device identifier, protocol supported, and capabilities of the device in a data model format defined by Managed integrations.

", "smithy.api#http": { "method": "POST", "uri": "/managed-things", @@ -2325,7 +2344,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create an over-the-air (OTA) task to update a device.

", + "smithy.api#documentation": "

Create an over-the-air (OTA) task to target a device.

", "smithy.api#http": { "method": "POST", "uri": "/ota-tasks", @@ -2832,7 +2851,7 @@ } ], "traits": { - "smithy.api#documentation": "

Remove a third party account and related devices from an end user.

", + "smithy.api#documentation": "

Remove a third-party account association for an end user.

You must first call the DeregisterAccountAssociation to remove the connection between the managed thing and the third-party account before calling the DeleteAccountAssociation API.

", "smithy.api#http": { "method": "DELETE", "uri": "/account-associations/{AccountAssociationId}", @@ -2879,6 +2898,9 @@ { "target": "com.amazonaws.iotmanagedintegrations#ThrottlingException" }, + { + "target": "com.amazonaws.iotmanagedintegrations#UnauthorizedException" + }, { "target": "com.amazonaws.iotmanagedintegrations#ValidationException" } @@ -2935,7 +2957,7 @@ } ], "traits": { - "smithy.api#documentation": "

Delete a connector destination for connecting a cloud-to-cloud (C2C) connector to the customer's Amazon Web Services account.

", + "smithy.api#documentation": "

Delete a connector destination linked to a cloud-to-cloud (C2C) connector.

Deletion can't be done if the account association has used this connector destination.

", "smithy.api#http": { "method": "DELETE", "uri": "/connector-destinations/{Identifier}", @@ -3040,7 +3062,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a customer-managed destination specified by id.

", + "smithy.api#documentation": "

Deletes a notification destination specified by name.

", "smithy.api#http": { "method": "DELETE", "uri": "/destinations/{Name}", @@ -3154,7 +3176,7 @@ } ], "traits": { - "smithy.api#documentation": "

Delete a managed thing. If a controller is deleted, all of the devices connected to it will have their status changed to PENDING. It is not possible to remove a cloud device.

", + "smithy.api#documentation": "

Delete a managed thing. For direct-connected and hub-connected devices connecting with Managed integrations via a controller, all of the devices connected to it will have their status changed to PENDING. It is not possible to remove a cloud-to-cloud device.

", "smithy.api#http": { "method": "DELETE", "uri": "/managed-things/{Identifier}", @@ -3458,7 +3480,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deregisters an account association, removing the connection between a managed thing and a third-party account.

", + "smithy.api#documentation": "

Deregister an account association from a managed thing.

", "smithy.api#http": { "method": "PUT", "uri": "/managed-thing-associations/deregister", @@ -4212,7 +4234,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^[/a-zA-Z0-9\\._ ]+$" + "smithy.api#pattern": "^[/a-zA-Z0-9\\._ -]+$" } }, "com.amazonaws.iotmanagedintegrations#EventType": { @@ -4494,7 +4516,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets all the information about a connector for a connector developer.

", + "smithy.api#documentation": "

Get configuration details for a cloud connector.

", "smithy.api#examples": [ { "title": "GetCloudConnector happy path for TP Link to get connector resource", @@ -4655,7 +4677,7 @@ } ], "traits": { - "smithy.api#documentation": "

Get a connector destination of a cloud-to-cloud (C2C) connector connecting to a customer's Amazon Web Services account.

", + "smithy.api#documentation": "

Get connector destination details linked to a cloud-to-cloud (C2C) connector.

", "smithy.api#http": { "method": "GET", "uri": "/connector-destinations/{Identifier}", @@ -5072,7 +5094,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets a destination by ID.

", + "smithy.api#documentation": "

Gets a destination by name.

", "smithy.api#http": { "method": "GET", "uri": "/destinations/{Name}", @@ -5539,7 +5561,7 @@ } ], "traits": { - "smithy.api#documentation": "

Get the attributes and capabilities associated with a managed thing.

", + "smithy.api#documentation": "

Get details of a managed thing including its attributes and capabilities.

", "smithy.api#http": { "method": "GET", "uri": "/managed-things/{Identifier}", @@ -5669,6 +5691,112 @@ "smithy.api#output": {} } }, + "com.amazonaws.iotmanagedintegrations#GetManagedThingCertificate": { + "type": "operation", + "input": { + "target": "com.amazonaws.iotmanagedintegrations#GetManagedThingCertificateRequest" + }, + "output": { + "target": "com.amazonaws.iotmanagedintegrations#GetManagedThingCertificateResponse" + }, + "errors": [ + { + "target": "com.amazonaws.iotmanagedintegrations#AccessDeniedException" + }, + { + "target": "com.amazonaws.iotmanagedintegrations#InternalServerException" + }, + { + "target": "com.amazonaws.iotmanagedintegrations#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.iotmanagedintegrations#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.iotmanagedintegrations#ThrottlingException" + }, + { + "target": "com.amazonaws.iotmanagedintegrations#UnauthorizedException" + }, + { + "target": "com.amazonaws.iotmanagedintegrations#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves the certificate PEM for a managed IoT thing.

", + "smithy.api#examples": [ + { + "title": "Get managed thing certificate", + "input": { + "Identifier": "example-managed-thing-id" + }, + "output": { + "ManagedThingId": "example-managed-thing-id", + "CertificatePem": "-----BEGIN CERTIFICATE-----\nMIIBkTCB+wIJAKHHH...\n-----END CERTIFICATE-----" + } + } + ], + "smithy.api#http": { + "method": "GET", + "uri": "/managed-things-certificate/{Identifier}", + "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetManagedThingCertificateNotFound", + "params": { + "Identifier": "nonExistentId" + }, + "expect": { + "failure": { + "errorId": "com.amazonaws.iotmanagedintegrations#ResourceNotFoundException" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + } + } + ] + } + }, + "com.amazonaws.iotmanagedintegrations#GetManagedThingCertificateRequest": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.iotmanagedintegrations#ManagedThingId", + "traits": { + "smithy.api#documentation": "

The identifier of the managed thing.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.iotmanagedintegrations#GetManagedThingCertificateResponse": { + "type": "structure", + "members": { + "ManagedThingId": { + "target": "com.amazonaws.iotmanagedintegrations#ManagedThingId", + "traits": { + "smithy.api#documentation": "

The identifier of the managed thing.

" + } + }, + "CertificatePem": { + "target": "com.amazonaws.iotmanagedintegrations#CertificatePem", + "traits": { + "smithy.api#documentation": "

The PEM-encoded certificate for the managed thing.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.iotmanagedintegrations#GetManagedThingConnectivityData": { "type": "operation", "input": { @@ -6178,7 +6306,7 @@ } ], "traits": { - "smithy.api#documentation": "

Get a notification configuration.

", + "smithy.api#documentation": "

Get a notification configuration for a specified event type.

", "smithy.api#http": { "method": "GET", "uri": "/notification-configurations/{EventType}", @@ -6288,7 +6416,7 @@ } ], "traits": { - "smithy.api#documentation": "

Get the over-the-air (OTA) task.

", + "smithy.api#documentation": "

Get details of the over-the-air (OTA) task by its task id.

", "smithy.api#http": { "method": "GET", "uri": "/ota-tasks/{Identifier}", @@ -6643,7 +6771,7 @@ "target": "com.amazonaws.iotmanagedintegrations#ProvisioningProfileId", "traits": { "aws.cloudformation#cfnMutability": "read", - "smithy.api#documentation": "

The provisioning profile id..

" + "smithy.api#documentation": "

The provisioning profile id.

" } }, "ClaimCertificate": { @@ -6690,7 +6818,7 @@ } ], "traits": { - "smithy.api#documentation": "

Get the runtime log configuration for a specific managed thing or for all managed things as a group.

", + "smithy.api#documentation": "

Get the runtime log configuration for a specific managed thing.

", "smithy.api#http": { "method": "GET", "uri": "/runtime-log-configurations/{ManagedThingId}", @@ -7194,19 +7322,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -7633,7 +7761,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of connectors based on permissions.

", + "smithy.api#documentation": "

Returns a list of connectors filtered by its Lambda Amazon Resource Name (ARN) and type.

", "smithy.api#examples": [ { "title": "ListCloudConnectors happy path to get a list of connector resources", @@ -8023,7 +8151,7 @@ } ], "traits": { - "smithy.api#documentation": "

List all destination names under one Amazon Web Services account.

", + "smithy.api#documentation": "

List all notification destinations.

", "smithy.api#http": { "method": "GET", "uri": "/destinations", @@ -9897,6 +10025,9 @@ { "target": "com.amazonaws.iotmanagedintegrations#GetManagedThingCapabilities" }, + { + "target": "com.amazonaws.iotmanagedintegrations#GetManagedThingCertificate" + }, { "target": "com.amazonaws.iotmanagedintegrations#GetManagedThingConnectivityData" }, @@ -11356,7 +11487,7 @@ "min": 1, "max": 128 }, - "smithy.api#pattern": "^[/a-zA-Z0-9\\._ ]+$" + "smithy.api#pattern": "^[/a-zA-Z0-9\\._ -]+$" } }, "com.amazonaws.iotmanagedintegrations#ProvisioningProfileArn": { @@ -11960,7 +12091,7 @@ } ], "traits": { - "smithy.api#documentation": "

Reset a runtime log configuration for a specific managed thing or for all managed things as a group.

", + "smithy.api#documentation": "

Reset a runtime log configuration for a specific managed thing.

", "smithy.api#http": { "method": "DELETE", "uri": "/runtime-log-configurations/{ManagedThingId}", @@ -12666,7 +12797,7 @@ "TraceId": { "target": "com.amazonaws.iotmanagedintegrations#TraceId", "traits": { - "smithy.api#documentation": "

The trace request identifier used to correlate a command request and response. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner.

" + "smithy.api#documentation": "

The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch.

" } }, "Devices": { @@ -12786,7 +12917,7 @@ "TraceId": { "target": "com.amazonaws.iotmanagedintegrations#TraceId", "traits": { - "smithy.api#documentation": "

The trace request identifier. This is specified by the device owner, but will be generated by IoT managed integrations if not provided by the device owner.

" + "smithy.api#documentation": "

The trace request identifier. This is generated by IoT managed integrations and can be used to trace this command and its related operations in CloudWatch.

" } } }, @@ -12965,7 +13096,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is passed as a message to the controller telling it to start the discovery.

", + "smithy.api#documentation": "

This API is used to start device discovery for hub-connected and third-party-connected devices. The authentication material (install code) is delivered as a message to the controller instructing it to start the discovery.

", "smithy.api#http": { "method": "POST", "uri": "/device-discoveries", @@ -13580,6 +13711,9 @@ { "target": "com.amazonaws.iotmanagedintegrations#ThrottlingException" }, + { + "target": "com.amazonaws.iotmanagedintegrations#UnauthorizedException" + }, { "target": "com.amazonaws.iotmanagedintegrations#ValidationException" } @@ -13754,7 +13888,7 @@ } ], "traits": { - "smithy.api#documentation": "

Update a destination specified by id.

", + "smithy.api#documentation": "

Update a destination specified by name.

", "smithy.api#http": { "method": "PUT", "uri": "/destinations/{Name}", diff --git a/codegen/sdk-codegen/aws-models/iot-wireless.json b/codegen/sdk-codegen/aws-models/iot-wireless.json index 22a362b472f..39f355b4472 100644 --- a/codegen/sdk-codegen/aws-models/iot-wireless.json +++ b/codegen/sdk-codegen/aws-models/iot-wireless.json @@ -16519,27 +16519,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iot.json b/codegen/sdk-codegen/aws-models/iot.json index 81f891a8ea8..715424889e3 100644 --- a/codegen/sdk-codegen/aws-models/iot.json +++ b/codegen/sdk-codegen/aws-models/iot.json @@ -871,27 +871,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iotanalytics.json b/codegen/sdk-codegen/aws-models/iotanalytics.json index 6c50427af6d..87ae9e41fb6 100644 --- a/codegen/sdk-codegen/aws-models/iotanalytics.json +++ b/codegen/sdk-codegen/aws-models/iotanalytics.json @@ -157,27 +157,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iotdeviceadvisor.json b/codegen/sdk-codegen/aws-models/iotdeviceadvisor.json index 7036ca6687f..c637443df21 100644 --- a/codegen/sdk-codegen/aws-models/iotdeviceadvisor.json +++ b/codegen/sdk-codegen/aws-models/iotdeviceadvisor.json @@ -770,27 +770,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iotfleethub.json b/codegen/sdk-codegen/aws-models/iotfleethub.json deleted file mode 100644 index e81218fd4d0..00000000000 --- a/codegen/sdk-codegen/aws-models/iotfleethub.json +++ /dev/null @@ -1,1768 +0,0 @@ -{ - "smithy": "2.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, - "shapes": { - "com.amazonaws.iotfleethub#AWSIoTFleetHub": { - "type": "service", - "version": "2020-11-03", - "operations": [ - { - "target": "com.amazonaws.iotfleethub#CreateApplication" - }, - { - "target": "com.amazonaws.iotfleethub#DeleteApplication" - }, - { - "target": "com.amazonaws.iotfleethub#DescribeApplication" - }, - { - "target": "com.amazonaws.iotfleethub#ListApplications" - }, - { - "target": "com.amazonaws.iotfleethub#ListTagsForResource" - }, - { - "target": "com.amazonaws.iotfleethub#TagResource" - }, - { - "target": "com.amazonaws.iotfleethub#UntagResource" - }, - { - "target": "com.amazonaws.iotfleethub#UpdateApplication" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "IoTFleetHub", - "arnNamespace": "iotfleethub", - "cloudFormationName": "IoTFleetHub", - "cloudTrailEventSource": "iotfleethub.amazonaws.com", - "endpointPrefix": "api.fleethub.iot" - }, - "aws.auth#sigv4": { - "name": "iotfleethub" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

With Fleet Hub for IoT Device Management you can build stand-alone web applications for monitoring the health of your device fleets.

", - "smithy.api#title": "AWS IoT Fleet Hub", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://api.fleethub.iot.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://api.fleethub.iot.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.iotfleethub#ApplicationState": { - "type": "enum", - "members": { - "CREATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATING" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETING" - } - }, - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVE" - } - }, - "CREATE_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATE_FAILED" - } - }, - "DELETE_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETE_FAILED" - } - } - } - }, - "com.amazonaws.iotfleethub#ApplicationSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.iotfleethub#ApplicationSummary" - } - }, - "com.amazonaws.iotfleethub#ApplicationSummary": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.iotfleethub#Id", - "traits": { - "smithy.api#documentation": "

The unique Id of the web application.

", - "smithy.api#required": {} - } - }, - "applicationName": { - "target": "com.amazonaws.iotfleethub#Name", - "traits": { - "smithy.api#documentation": "

The name of the web application.

", - "smithy.api#required": {} - } - }, - "applicationDescription": { - "target": "com.amazonaws.iotfleethub#Description", - "traits": { - "smithy.api#documentation": "

An optional description of the web application.

" - } - }, - "applicationUrl": { - "target": "com.amazonaws.iotfleethub#Url", - "traits": { - "smithy.api#documentation": "

The URL of the web application.

", - "smithy.api#required": {} - } - }, - "applicationCreationDate": { - "target": "com.amazonaws.iotfleethub#Timestamp", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The date (in Unix epoch time) when the web application was created.

" - } - }, - "applicationLastUpdateDate": { - "target": "com.amazonaws.iotfleethub#Timestamp", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The date (in Unix epoch time) when the web application was last updated.

" - } - }, - "applicationState": { - "target": "com.amazonaws.iotfleethub#ApplicationState", - "traits": { - "smithy.api#documentation": "

The current state of the web application.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A summary of information about a Fleet Hub for IoT Device Management web application.

" - } - }, - "com.amazonaws.iotfleethub#Arn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1600 - }, - "smithy.api#pattern": "^arn:[!-~]+$" - } - }, - "com.amazonaws.iotfleethub#ClientRequestToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": "^[a-zA-Z0-9-_]+$" - } - }, - "com.amazonaws.iotfleethub#ConflictException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.iotfleethub#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The request conflicts with the current state of the resource.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.iotfleethub#CreateApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#CreateApplicationRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#CreateApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#LimitExceededException" - }, - { - "target": "com.amazonaws.iotfleethub#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates a Fleet Hub for IoT Device Management web application.

\n

When creating a Fleet Hub application, you must create an organization instance of\n IAM Identity Center if you don't already have one. The Fleet Hub application you create must also be in\n the same Amazon Web Services Region of the organization instance of IAM Identity Center. For more information see Enabling\n IAM Identity Center and Organization instances of IAM Identity Center.

", - "smithy.api#http": { - "method": "POST", - "uri": "/applications", - "code": 201 - } - } - }, - "com.amazonaws.iotfleethub#CreateApplicationRequest": { - "type": "structure", - "members": { - "applicationName": { - "target": "com.amazonaws.iotfleethub#Name", - "traits": { - "smithy.api#documentation": "

The name of the web application.

", - "smithy.api#required": {} - } - }, - "applicationDescription": { - "target": "com.amazonaws.iotfleethub#Description", - "traits": { - "smithy.api#documentation": "

An optional description of the web application.

" - } - }, - "clientToken": { - "target": "com.amazonaws.iotfleethub#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. \n Don't reuse this client token if a new idempotent request is required.

", - "smithy.api#idempotencyToken": {} - } - }, - "roleArn": { - "target": "com.amazonaws.iotfleethub#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the role that the web application assumes when it interacts with Amazon Web Services IoT Core.

\n \n

The name of the role must be in the form AWSIotFleetHub_random_string\n .

\n
", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.iotfleethub#TagMap", - "traits": { - "smithy.api#documentation": "

A set of key/value pairs that you can use to manage the web application resource.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#CreateApplicationResponse": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.iotfleethub#Id", - "traits": { - "smithy.api#documentation": "

The unique Id of the web application.

", - "smithy.api#required": {} - } - }, - "applicationArn": { - "target": "com.amazonaws.iotfleethub#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the web application.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#DeleteApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#DeleteApplicationRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#DeleteApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.iotfleethub#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes a Fleet Hub for IoT Device Management web application.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/applications/{applicationId}", - "code": 204 - } - } - }, - "com.amazonaws.iotfleethub#DeleteApplicationRequest": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.iotfleethub#Id", - "traits": { - "smithy.api#documentation": "

The unique Id of the web application.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "clientToken": { - "target": "com.amazonaws.iotfleethub#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. \n Don't reuse this client token if a new idempotent request is required.

", - "smithy.api#httpQuery": "clientToken", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#DeleteApplicationResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#DescribeApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#DescribeApplicationRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#DescribeApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.iotfleethub#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "

Gets information about a Fleet Hub for IoT Device Management web application.

", - "smithy.api#http": { - "method": "GET", - "uri": "/applications/{applicationId}", - "code": 200 - } - } - }, - "com.amazonaws.iotfleethub#DescribeApplicationRequest": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.iotfleethub#Id", - "traits": { - "smithy.api#documentation": "

The unique Id of the web application.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#DescribeApplicationResponse": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.iotfleethub#Id", - "traits": { - "smithy.api#documentation": "

The unique Id of the web application.

", - "smithy.api#required": {} - } - }, - "applicationArn": { - "target": "com.amazonaws.iotfleethub#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the web application.

", - "smithy.api#required": {} - } - }, - "applicationName": { - "target": "com.amazonaws.iotfleethub#Name", - "traits": { - "smithy.api#documentation": "

The name of the web application.

", - "smithy.api#required": {} - } - }, - "applicationDescription": { - "target": "com.amazonaws.iotfleethub#Description", - "traits": { - "smithy.api#documentation": "

An optional description of the web application.

" - } - }, - "applicationUrl": { - "target": "com.amazonaws.iotfleethub#Url", - "traits": { - "smithy.api#documentation": "

The URL of the web application.

", - "smithy.api#required": {} - } - }, - "applicationState": { - "target": "com.amazonaws.iotfleethub#ApplicationState", - "traits": { - "smithy.api#documentation": "

The current state of the web application.

", - "smithy.api#required": {} - } - }, - "applicationCreationDate": { - "target": "com.amazonaws.iotfleethub#Timestamp", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The date (in Unix epoch time) when the application was created.

", - "smithy.api#required": {} - } - }, - "applicationLastUpdateDate": { - "target": "com.amazonaws.iotfleethub#Timestamp", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The date (in Unix epoch time) when the application was last updated.

", - "smithy.api#required": {} - } - }, - "roleArn": { - "target": "com.amazonaws.iotfleethub#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the role that the web application assumes when it interacts with Amazon Web Services IoT Core.

", - "smithy.api#required": {} - } - }, - "ssoClientId": { - "target": "com.amazonaws.iotfleethub#SsoClientId", - "traits": { - "smithy.api#documentation": "

The Id of the single sign-on client that you use to authenticate and authorize users on the web application.

" - } - }, - "errorMessage": { - "target": "com.amazonaws.iotfleethub#ErrorMessage", - "traits": { - "smithy.api#documentation": "

A message that explains any failures included in the applicationState response field. This message \n explains failures in the CreateApplication and DeleteApplication actions.

" - } - }, - "tags": { - "target": "com.amazonaws.iotfleethub#TagMap", - "traits": { - "smithy.api#documentation": "

A set of key/value pairs that you can use to manage the web application resource.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#Description": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^[ -~]*$" - } - }, - "com.amazonaws.iotfleethub#ErrorMessage": { - "type": "string" - }, - "com.amazonaws.iotfleethub#Id": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 36, - "max": 36 - }, - "smithy.api#pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$" - } - }, - "com.amazonaws.iotfleethub#InternalFailureException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.iotfleethub#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

An unexpected error has occurred.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 - } - }, - "com.amazonaws.iotfleethub#InvalidRequestException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.iotfleethub#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The request is not valid.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.iotfleethub#LimitExceededException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.iotfleethub#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

A limit has been exceeded.

", - "smithy.api#error": "client", - "smithy.api#httpError": 410 - } - }, - "com.amazonaws.iotfleethub#ListApplications": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#ListApplicationsRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#ListApplicationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "

Gets a list of Fleet Hub for IoT Device Management web applications for the current account.

", - "smithy.api#http": { - "method": "GET", - "uri": "/applications", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "applicationSummaries" - } - } - }, - "com.amazonaws.iotfleethub#ListApplicationsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.iotfleethub#NextToken", - "traits": { - "smithy.api#documentation": "

A token used to get the next set of results.

", - "smithy.api#httpQuery": "nextToken" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#ListApplicationsResponse": { - "type": "structure", - "members": { - "applicationSummaries": { - "target": "com.amazonaws.iotfleethub#ApplicationSummaries", - "traits": { - "smithy.api#documentation": "

An array of objects that provide summaries of information about the web applications in the list.

" - } - }, - "nextToken": { - "target": "com.amazonaws.iotfleethub#NextToken", - "traits": { - "smithy.api#documentation": "

A token used to get the next set of results.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the tags for the specified resource.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.iotfleethub#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.iotfleethub#ResourceArn", - "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "tags": { - "target": "com.amazonaws.iotfleethub#TagMap", - "traits": { - "smithy.api#documentation": "

The list of tags assigned to the resource.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#Name": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - }, - "smithy.api#pattern": "^[ -~]*$" - } - }, - "com.amazonaws.iotfleethub#NextToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^[A-Za-z0-9+/=]+$" - } - }, - "com.amazonaws.iotfleethub#ResourceArn": { - "type": "string" - }, - "com.amazonaws.iotfleethub#ResourceNotFoundException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.iotfleethub#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource does not exist.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.iotfleethub#SsoClientId": { - "type": "string" - }, - "com.amazonaws.iotfleethub#TagKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - } - }, - "com.amazonaws.iotfleethub#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.iotfleethub#TagKey" - } - }, - "com.amazonaws.iotfleethub#TagMap": { - "type": "map", - "key": { - "target": "com.amazonaws.iotfleethub#TagKey" - }, - "value": { - "target": "com.amazonaws.iotfleethub#TagValue" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 50 - } - } - }, - "com.amazonaws.iotfleethub#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#TagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Adds to or modifies the tags of the specified resource. Tags are metadata which can be used to manage a resource.

", - "smithy.api#http": { - "method": "POST", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.iotfleethub#TagResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.iotfleethub#ResourceArn", - "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.iotfleethub#TagMap", - "traits": { - "smithy.api#documentation": "

The new or modified tags for the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#TagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#TagValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - } - } - }, - "com.amazonaws.iotfleethub#ThrottlingException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.iotfleethub#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The rate exceeds the limit.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.iotfleethub#Timestamp": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.iotfleethub#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#UntagResourceRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#UntagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Removes the specified tags (metadata) from the resource.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.iotfleethub#UntagResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.iotfleethub#ResourceArn", - "traits": { - "smithy.api#documentation": "

The ARN of the resource.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "tagKeys": { - "target": "com.amazonaws.iotfleethub#TagKeyList", - "traits": { - "smithy.api#documentation": "

A list of the keys of the tags to be removed from the resource.

", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#UntagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#UpdateApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.iotfleethub#UpdateApplicationRequest" - }, - "output": { - "target": "com.amazonaws.iotfleethub#UpdateApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.iotfleethub#ConflictException" - }, - { - "target": "com.amazonaws.iotfleethub#InternalFailureException" - }, - { - "target": "com.amazonaws.iotfleethub#InvalidRequestException" - }, - { - "target": "com.amazonaws.iotfleethub#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.iotfleethub#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "

Updates information about a Fleet Hub for IoT Device Management web application.

", - "smithy.api#http": { - "method": "PATCH", - "uri": "/applications/{applicationId}", - "code": 202 - } - } - }, - "com.amazonaws.iotfleethub#UpdateApplicationRequest": { - "type": "structure", - "members": { - "applicationId": { - "target": "com.amazonaws.iotfleethub#Id", - "traits": { - "smithy.api#documentation": "

The unique Id of the web application.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "applicationName": { - "target": "com.amazonaws.iotfleethub#Name", - "traits": { - "smithy.api#documentation": "

The name of the web application.

" - } - }, - "applicationDescription": { - "target": "com.amazonaws.iotfleethub#Description", - "traits": { - "smithy.api#documentation": "

An optional description of the web application.

" - } - }, - "clientToken": { - "target": "com.amazonaws.iotfleethub#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

A unique case-sensitive identifier that you can provide to ensure the idempotency of the request. \n Don't reuse this client token if a new idempotent request is required.

", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.iotfleethub#UpdateApplicationResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.iotfleethub#Url": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "^https\\://\\S+$" - } - } - } -} diff --git a/codegen/sdk-codegen/aws-models/iotfleetwise.json b/codegen/sdk-codegen/aws-models/iotfleetwise.json index ed261a00f63..1367b003f33 100644 --- a/codegen/sdk-codegen/aws-models/iotfleetwise.json +++ b/codegen/sdk-codegen/aws-models/iotfleetwise.json @@ -4490,27 +4490,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iotsecuretunneling.json b/codegen/sdk-codegen/aws-models/iotsecuretunneling.json index 29ade33739e..3dad1c6ddc1 100644 --- a/codegen/sdk-codegen/aws-models/iotsecuretunneling.json +++ b/codegen/sdk-codegen/aws-models/iotsecuretunneling.json @@ -298,27 +298,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iotsitewise.json b/codegen/sdk-codegen/aws-models/iotsitewise.json index cf1139cfaab..e65b449b2da 100644 --- a/codegen/sdk-codegen/aws-models/iotsitewise.json +++ b/codegen/sdk-codegen/aws-models/iotsitewise.json @@ -377,27 +377,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iotthingsgraph.json b/codegen/sdk-codegen/aws-models/iotthingsgraph.json index 40894b2b5ec..ba1b30ee6df 100644 --- a/codegen/sdk-codegen/aws-models/iotthingsgraph.json +++ b/codegen/sdk-codegen/aws-models/iotthingsgraph.json @@ -2215,27 +2215,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/iottwinmaker.json b/codegen/sdk-codegen/aws-models/iottwinmaker.json index eb2702dcec1..a80197c4e90 100644 --- a/codegen/sdk-codegen/aws-models/iottwinmaker.json +++ b/codegen/sdk-codegen/aws-models/iottwinmaker.json @@ -144,27 +144,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ivs-realtime.json b/codegen/sdk-codegen/aws-models/ivs-realtime.json index 0ea2a8136a9..e546705a2a3 100644 --- a/codegen/sdk-codegen/aws-models/ivs-realtime.json +++ b/codegen/sdk-codegen/aws-models/ivs-realtime.json @@ -235,27 +235,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ivs.json b/codegen/sdk-codegen/aws-models/ivs.json index 9458a345675..8598db4c996 100644 --- a/codegen/sdk-codegen/aws-models/ivs.json +++ b/codegen/sdk-codegen/aws-models/ivs.json @@ -166,27 +166,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ivschat.json b/codegen/sdk-codegen/aws-models/ivschat.json index 628e90dc552..6d377e63a18 100644 --- a/codegen/sdk-codegen/aws-models/ivschat.json +++ b/codegen/sdk-codegen/aws-models/ivschat.json @@ -112,27 +112,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kafka.json b/codegen/sdk-codegen/aws-models/kafka.json index 877214bd085..36f39773c3c 100644 --- a/codegen/sdk-codegen/aws-models/kafka.json +++ b/codegen/sdk-codegen/aws-models/kafka.json @@ -4078,27 +4078,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kafkaconnect.json b/codegen/sdk-codegen/aws-models/kafkaconnect.json index a0f206c14fe..d84eb90ce2f 100644 --- a/codegen/sdk-codegen/aws-models/kafkaconnect.json +++ b/codegen/sdk-codegen/aws-models/kafkaconnect.json @@ -2261,27 +2261,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kendra-ranking.json b/codegen/sdk-codegen/aws-models/kendra-ranking.json index 1dd40ee9e39..eca064f4233 100644 --- a/codegen/sdk-codegen/aws-models/kendra-ranking.json +++ b/codegen/sdk-codegen/aws-models/kendra-ranking.json @@ -82,20 +82,20 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kendra.json b/codegen/sdk-codegen/aws-models/kendra.json index 8e38892454c..2acf9536ea0 100644 --- a/codegen/sdk-codegen/aws-models/kendra.json +++ b/codegen/sdk-codegen/aws-models/kendra.json @@ -253,27 +253,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/keyspaces.json b/codegen/sdk-codegen/aws-models/keyspaces.json index 991f7b5b572..9be3743ca0f 100644 --- a/codegen/sdk-codegen/aws-models/keyspaces.json +++ b/codegen/sdk-codegen/aws-models/keyspaces.json @@ -1569,27 +1569,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/keyspacesstreams.json b/codegen/sdk-codegen/aws-models/keyspacesstreams.json index e11e93c3035..16f8f1b82d3 100644 --- a/codegen/sdk-codegen/aws-models/keyspacesstreams.json +++ b/codegen/sdk-codegen/aws-models/keyspacesstreams.json @@ -667,19 +667,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.json b/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.json index c1e67759e3d..95a1619bcab 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.json +++ b/codegen/sdk-codegen/aws-models/kinesis-analytics-v2.json @@ -4088,27 +4088,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-analytics.json b/codegen/sdk-codegen/aws-models/kinesis-analytics.json index 6a38a93aa4d..a6a24d9ad33 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-analytics.json +++ b/codegen/sdk-codegen/aws-models/kinesis-analytics.json @@ -1951,27 +1951,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-video-archived-media.json b/codegen/sdk-codegen/aws-models/kinesis-video-archived-media.json index b216ff22e6f..411a455f852 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-video-archived-media.json +++ b/codegen/sdk-codegen/aws-models/kinesis-video-archived-media.json @@ -73,27 +73,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-video-media.json b/codegen/sdk-codegen/aws-models/kinesis-video-media.json index 24c92d928ca..ae825083b87 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-video-media.json +++ b/codegen/sdk-codegen/aws-models/kinesis-video-media.json @@ -58,27 +58,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-video-signaling.json b/codegen/sdk-codegen/aws-models/kinesis-video-signaling.json index b3ed8640bbd..16e29dff168 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-video-signaling.json +++ b/codegen/sdk-codegen/aws-models/kinesis-video-signaling.json @@ -61,27 +61,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-video-webrtc-storage.json b/codegen/sdk-codegen/aws-models/kinesis-video-webrtc-storage.json index c8768a8f820..d4effd08d8a 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-video-webrtc-storage.json +++ b/codegen/sdk-codegen/aws-models/kinesis-video-webrtc-storage.json @@ -43,27 +43,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis-video.json b/codegen/sdk-codegen/aws-models/kinesis-video.json index 64781c286f7..56f5ec61cf6 100644 --- a/codegen/sdk-codegen/aws-models/kinesis-video.json +++ b/codegen/sdk-codegen/aws-models/kinesis-video.json @@ -1847,27 +1847,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/kinesis.json b/codegen/sdk-codegen/aws-models/kinesis.json index e30bf4547f8..3c394065520 100644 --- a/codegen/sdk-codegen/aws-models/kinesis.json +++ b/codegen/sdk-codegen/aws-models/kinesis.json @@ -330,6 +330,12 @@ "traits": { "smithy.api#documentation": "

A set of up to 50 key-value pairs to use to create the tags. A tag consists of a required key and an optional value.

" } + }, + "MaxRecordSizeInKiB": { + "target": "com.amazonaws.kinesis#MaxRecordSizeInKiB", + "traits": { + "smithy.api#documentation": "

The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream.

" + } } }, "traits": { @@ -342,7 +348,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 1048576 + "max": 10485760 } } }, @@ -1775,6 +1781,9 @@ { "target": "com.amazonaws.kinesis#UntagResource" }, + { + "target": "com.amazonaws.kinesis#UpdateMaxRecordSize" + }, { "target": "com.amazonaws.kinesis#UpdateShardCount" }, @@ -1814,47 +1823,47 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "StreamARN": { "required": false, "documentation": "The ARN of the Kinesis stream", - "type": "String" + "type": "string" }, "OperationType": { "required": false, "documentation": "Internal parameter to distinguish between Control/Data plane API and accordingly generate control/data plane endpoint", - "type": "String" + "type": "string" }, "ConsumerARN": { "required": false, "documentation": "The ARN of the Kinesis consumer", - "type": "String" + "type": "string" }, "ResourceARN": { "required": false, "documentation": "The ARN of the Kinesis resource", - "type": "String" + "type": "string" } }, "rules": [ @@ -6264,6 +6273,15 @@ "smithy.api#output": {} } }, + "com.amazonaws.kinesis#MaxRecordSizeInKiB": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1024, + "max": 10240 + } + } + }, "com.amazonaws.kinesis#MergeShards": { "type": "operation", "input": { @@ -6518,7 +6536,7 @@ } ], "traits": { - "smithy.api#documentation": "

Writes a single data record into an Amazon Kinesis data stream. Call\n PutRecord to send data into the stream for real-time ingestion and\n subsequent processing, one record at a time. Each shard can support writes up to 1,000\n records per second, up to a maximum data write total of 1 MiB per second.

\n \n

When invoking this API, you must use either the StreamARN or the\n StreamName parameter, or both. It is recommended that you use the\n StreamARN input parameter when you invoke this API.

\n
\n

You must specify the name of the stream that captures, stores, and transports the\n data; a partition key; and the data blob itself.

\n

The data blob can be any type of data; for example, a segment from a log file,\n geographic/location data, website clickstream data, and so on.

\n

The partition key is used by Kinesis Data Streams to distribute data across shards.\n Kinesis Data Streams segregates the data records that belong to a stream into multiple\n shards, using the partition key associated with each data record to determine the shard\n to which a given data record belongs.

\n

Partition keys are Unicode strings, with a maximum length limit of 256 characters for\n each key. An MD5 hash function is used to map partition keys to 128-bit integer values\n and to map associated data records to shards using the hash key ranges of the shards.\n You can override hashing the partition key to determine the shard by explicitly\n specifying a hash value using the ExplicitHashKey parameter. For more\n information, see Adding Data to a Stream in the Amazon Kinesis Data Streams\n Developer Guide.

\n

\n PutRecord returns the shard ID of where the data record was placed and the\n sequence number that was assigned to the data record.

\n

Sequence numbers increase over time and are specific to a shard within a stream, not\n across all shards within a stream. To guarantee strictly increasing ordering, write\n serially to a shard and use the SequenceNumberForOrdering parameter. For\n more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams\n Developer Guide.

\n \n

After you write a record to a stream, you cannot modify that record or its order\n within the stream.

\n
\n

If a PutRecord request cannot be processed because of insufficient\n provisioned throughput on the shard involved in the request, PutRecord\n throws ProvisionedThroughputExceededException.

\n

By default, data records are accessible for 24 hours from the time that they are added\n to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", + "smithy.api#documentation": "

Writes a single data record into an Amazon Kinesis data stream. Call\n PutRecord to send data into the stream for real-time ingestion and\n subsequent processing, one record at a time. Each shard can support writes up to 1,000\n records per second, up to a maximum data write total of 10 MiB per second.

\n \n

When invoking this API, you must use either the StreamARN or the\n StreamName parameter, or both. It is recommended that you use the\n StreamARN input parameter when you invoke this API.

\n
\n

You must specify the name of the stream that captures, stores, and transports the\n data; a partition key; and the data blob itself.

\n

The data blob can be any type of data; for example, a segment from a log file,\n geographic/location data, website clickstream data, and so on.

\n

The partition key is used by Kinesis Data Streams to distribute data across shards.\n Kinesis Data Streams segregates the data records that belong to a stream into multiple\n shards, using the partition key associated with each data record to determine the shard\n to which a given data record belongs.

\n

Partition keys are Unicode strings, with a maximum length limit of 256 characters for\n each key. An MD5 hash function is used to map partition keys to 128-bit integer values\n and to map associated data records to shards using the hash key ranges of the shards.\n You can override hashing the partition key to determine the shard by explicitly\n specifying a hash value using the ExplicitHashKey parameter. For more\n information, see Adding Data to a Stream in the Amazon Kinesis Data Streams\n Developer Guide.

\n

\n PutRecord returns the shard ID of where the data record was placed and the\n sequence number that was assigned to the data record.

\n

Sequence numbers increase over time and are specific to a shard within a stream, not\n across all shards within a stream. To guarantee strictly increasing ordering, write\n serially to a shard and use the SequenceNumberForOrdering parameter. For\n more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams\n Developer Guide.

\n \n

After you write a record to a stream, you cannot modify that record or its order\n within the stream.

\n
\n

If a PutRecord request cannot be processed because of insufficient\n provisioned throughput on the shard involved in the request, PutRecord\n throws ProvisionedThroughputExceededException.

\n

By default, data records are accessible for 24 hours from the time that they are added\n to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", "smithy.rules#staticContextParams": { "OperationType": { "value": "data" @@ -6649,7 +6667,7 @@ } ], "traits": { - "smithy.api#documentation": "

Writes multiple data records into a Kinesis data stream in a single call (also\n referred to as a PutRecords request). Use this operation to send data into\n the stream for data ingestion and processing.

\n \n

When invoking this API, you must use either the StreamARN or the\n StreamName parameter, or both. It is recommended that you use the\n StreamARN input parameter when you invoke this API.

\n
\n

Each PutRecords request can support up to 500 records. Each record in the\n request can be as large as 1 MiB, up to a limit of 5 MiB for the entire request,\n including partition keys. Each shard can support writes up to 1,000 records per second,\n up to a maximum data write total of 1 MiB per second.

\n

You must specify the name of the stream that captures, stores, and transports the\n data; and an array of request Records, with each record in the array\n requiring a partition key and data blob. The record size limit applies to the total size\n of the partition key and data blob.

\n

The data blob can be any type of data; for example, a segment from a log file,\n geographic/location data, website clickstream data, and so on.

\n

The partition key is used by Kinesis Data Streams as input to a hash function that\n maps the partition key and associated data to a specific shard. An MD5 hash function is\n used to map partition keys to 128-bit integer values and to map associated data records\n to shards. As a result of this hashing mechanism, all data records with the same\n partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams\n Developer Guide.

\n

Each record in the Records array may include an optional parameter,\n ExplicitHashKey, which overrides the partition key to shard mapping.\n This parameter allows a data producer to determine explicitly the shard where the record\n is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis\n Data Streams Developer Guide.

\n

The PutRecords response includes an array of response\n Records. Each record in the response array directly correlates with a\n record in the request array using natural ordering, from the top to the bottom of the\n request and response. The response Records array always includes the same\n number of records as the request array.

\n

The response Records array includes both successfully and unsuccessfully\n processed records. Kinesis Data Streams attempts to process all records in each\n PutRecords request. A single record failure does not stop the\n processing of subsequent records. As a result, PutRecords doesn't guarantee the ordering\n of records. If you need to read records in the same order they are written to the\n stream, use PutRecord instead of PutRecords, and write to\n the same shard.

\n

A successfully processed record includes ShardId and\n SequenceNumber values. The ShardId parameter identifies\n the shard in the stream where the record is stored. The SequenceNumber\n parameter is an identifier assigned to the put record, unique to all records in the\n stream.

\n

An unsuccessfully processed record includes ErrorCode and\n ErrorMessage values. ErrorCode reflects the type of error\n and can be one of the following values:\n ProvisionedThroughputExceededException or InternalFailure.\n ErrorMessage provides more detailed information about the\n ProvisionedThroughputExceededException exception including the account\n ID, stream name, and shard ID of the record that was throttled. For more information\n about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis\n Data Streams Developer Guide.

\n \n

After you write a record to a stream, you cannot modify that record or its order\n within the stream.

\n
\n

By default, data records are accessible for 24 hours from the time that they are added\n to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", + "smithy.api#documentation": "

Writes multiple data records into a Kinesis data stream in a single call (also\n referred to as a PutRecords request). Use this operation to send data into\n the stream for data ingestion and processing.

\n \n

When invoking this API, you must use either the StreamARN or the\n StreamName parameter, or both. It is recommended that you use the\n StreamARN input parameter when you invoke this API.

\n
\n

Each PutRecords request can support up to 500 records. Each record in the\n request can be as large as 10 MiB, up to a limit of 10 MiB for the entire request,\n including partition keys. Each shard can support writes up to 1,000 records per second,\n up to a maximum data write total of 1 MB per second.

\n

You must specify the name of the stream that captures, stores, and transports the\n data; and an array of request Records, with each record in the array\n requiring a partition key and data blob. The record size limit applies to the total size\n of the partition key and data blob.

\n

The data blob can be any type of data; for example, a segment from a log file,\n geographic/location data, website clickstream data, and so on.

\n

The partition key is used by Kinesis Data Streams as input to a hash function that\n maps the partition key and associated data to a specific shard. An MD5 hash function is\n used to map partition keys to 128-bit integer values and to map associated data records\n to shards. As a result of this hashing mechanism, all data records with the same\n partition key map to the same shard within the stream. For more information, see Adding Data to a Stream in the Amazon Kinesis Data Streams\n Developer Guide.

\n

Each record in the Records array may include an optional parameter,\n ExplicitHashKey, which overrides the partition key to shard mapping.\n This parameter allows a data producer to determine explicitly the shard where the record\n is stored. For more information, see Adding Multiple Records with PutRecords in the Amazon Kinesis\n Data Streams Developer Guide.

\n

The PutRecords response includes an array of response\n Records. Each record in the response array directly correlates with a\n record in the request array using natural ordering, from the top to the bottom of the\n request and response. The response Records array always includes the same\n number of records as the request array.

\n

The response Records array includes both successfully and unsuccessfully\n processed records. Kinesis Data Streams attempts to process all records in each\n PutRecords request. A single record failure does not stop the\n processing of subsequent records. As a result, PutRecords doesn't guarantee the ordering\n of records. If you need to read records in the same order they are written to the\n stream, use PutRecord instead of PutRecords, and write to\n the same shard.

\n

A successfully processed record includes ShardId and\n SequenceNumber values. The ShardId parameter identifies\n the shard in the stream where the record is stored. The SequenceNumber\n parameter is an identifier assigned to the put record, unique to all records in the\n stream.

\n

An unsuccessfully processed record includes ErrorCode and\n ErrorMessage values. ErrorCode reflects the type of error\n and can be one of the following values:\n ProvisionedThroughputExceededException or InternalFailure.\n ErrorMessage provides more detailed information about the\n ProvisionedThroughputExceededException exception including the account\n ID, stream name, and shard ID of the record that was throttled. For more information\n about partially successful responses, see Adding Multiple Records with PutRecords in the Amazon Kinesis\n Data Streams Developer Guide.

\n \n

After you write a record to a stream, you cannot modify that record or its order\n within the stream.

\n
\n

By default, data records are accessible for 24 hours from the time that they are added\n to a stream. You can use IncreaseStreamRetentionPeriod or DecreaseStreamRetentionPeriod to modify this retention period.

", "smithy.rules#staticContextParams": { "OperationType": { "value": "data" @@ -7742,6 +7760,12 @@ "traits": { "smithy.api#documentation": "

The number of enhanced fan-out consumers registered with the stream.

" } + }, + "MaxRecordSizeInKiB": { + "target": "com.amazonaws.kinesis#MaxRecordSizeInKiB", + "traits": { + "smithy.api#documentation": "

The maximum record size of a single record in kibibyte (KiB) that you can write to, and read from a stream.

" + } } }, "traits": { @@ -8229,6 +8253,67 @@ "smithy.api#input": {} } }, + "com.amazonaws.kinesis#UpdateMaxRecordSize": { + "type": "operation", + "input": { + "target": "com.amazonaws.kinesis#UpdateMaxRecordSizeInput" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.kinesis#AccessDeniedException" + }, + { + "target": "com.amazonaws.kinesis#InvalidArgumentException" + }, + { + "target": "com.amazonaws.kinesis#LimitExceededException" + }, + { + "target": "com.amazonaws.kinesis#ResourceInUseException" + }, + { + "target": "com.amazonaws.kinesis#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.kinesis#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

This allows you to update the MaxRecordSize of a single record that you can write to, and read from a stream. You can ingest and digest single records up to 10240 KiB.

", + "smithy.rules#staticContextParams": { + "OperationType": { + "value": "control" + } + } + } + }, + "com.amazonaws.kinesis#UpdateMaxRecordSizeInput": { + "type": "structure", + "members": { + "StreamARN": { + "target": "com.amazonaws.kinesis#StreamARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the stream for the MaxRecordSize update.

", + "smithy.rules#contextParam": { + "name": "StreamARN" + } + } + }, + "MaxRecordSizeInKiB": { + "target": "com.amazonaws.kinesis#MaxRecordSizeInKiB", + "traits": { + "smithy.api#documentation": "

The maximum record size of a single record in KiB that you can write to, and read from a stream. Specify a value between 1024 and 10240 KiB (1 to 10 MiB). If you specify a value that is out of this range, UpdateMaxRecordSize sends back an ValidationException message.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.kinesis#UpdateShardCount": { "type": "operation", "input": { diff --git a/codegen/sdk-codegen/aws-models/kms.json b/codegen/sdk-codegen/aws-models/kms.json index a270bb7af8c..0adea2648ff 100644 --- a/codegen/sdk-codegen/aws-models/kms.json +++ b/codegen/sdk-codegen/aws-models/kms.json @@ -32,6 +32,16 @@ "com.amazonaws.kms#AWSAccountIdType": { "type": "string" }, + "com.amazonaws.kms#AccountIdType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 12, + "max": 12 + }, + "smithy.api#pattern": "^[0-9]{12}$" + } + }, "com.amazonaws.kms#AlgorithmSpec": { "type": "enum", "members": { @@ -787,6 +797,12 @@ "smithy.api#documentation": "

Specifies the name of the Amazon VPC endpoint service for interface endpoints that is used to\n communicate with your external key store proxy (XKS proxy). This parameter is required when\n the value of CustomKeyStoreType is EXTERNAL_KEY_STORE and the value\n of XksProxyConnectivity is VPC_ENDPOINT_SERVICE.

\n

The Amazon VPC endpoint service must fulfill all\n requirements for use with an external key store.

\n

\n Uniqueness requirements:\n

\n
    \n
  • \n

    External key stores with VPC_ENDPOINT_SERVICE connectivity can share an\n Amazon VPC, but each external key store must have its own VPC endpoint service and private DNS\n name.

    \n
  • \n
" } }, + "XksProxyVpcEndpointServiceOwner": { + "target": "com.amazonaws.kms#AccountIdType", + "traits": { + "smithy.api#documentation": "

Specifies the Amazon Web Services account ID that owns the Amazon VPC service endpoint for the interface that\n is used to communicate with your external key store proxy (XKS proxy). This parameter is\n optional. If not provided, the Amazon Web Services account ID calling the action will be used.

" + } + }, "XksProxyAuthenticationCredential": { "target": "com.amazonaws.kms#XksProxyAuthenticationCredentialType", "traits": { @@ -1845,7 +1861,7 @@ } ], "traits": { - "smithy.api#documentation": "

Derives a shared secret using a key agreement algorithm.

\n \n

You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions\n only) KMS key pair with a KeyUsage\n value of KEY_AGREEMENT to call DeriveSharedSecret.

\n
\n

DeriveSharedSecret uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) to establish a\n key agreement between two peers by deriving a shared secret from their elliptic curve\n public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to\n derive a symmetric key that can encrypt and decrypt data that is sent between the two peers,\n or that can generate and verify HMACs. KMS recommends that you follow NIST\n recommendations for key derivation when using the raw shared secret to derive a\n symmetric key.

\n

The following workflow demonstrates how to establish key agreement over an insecure\n communication channel using DeriveSharedSecret.

\n
    \n
  1. \n

    \n Alice calls CreateKey to create an\n asymmetric KMS key pair with a KeyUsage value of\n KEY_AGREEMENT.

    \n

    The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China\n Regions only) key spec.

    \n
  2. \n
  3. \n

    \n Bob creates an elliptic curve key pair.

    \n

    Bob can call CreateKey to create an asymmetric KMS key pair or\n generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended\n elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.

    \n
  4. \n
  5. \n

    Alice and Bob exchange their public keys through an\n insecure communication channel (like the internet).

    \n

    Use GetPublicKey to download the public key of your asymmetric KMS\n key pair.

    \n \n

    KMS strongly recommends verifying that the public key you receive came from the\n expected party before using it to derive a shared secret.

    \n
    \n
  6. \n
  7. \n

    \n Alice calls DeriveSharedSecret.

    \n

    KMS uses the private key from the KMS key pair generated in Step 1, Bob's public key, and the Elliptic Curve Cryptography Cofactor\n Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair\n never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.

    \n
  8. \n
  9. \n

    \n Bob uses the Elliptic Curve Cryptography Cofactor\n Diffie-Hellman Primitive to calculate the same raw secret using his private key and\n Alice's public key.

    \n
  10. \n
\n

To derive a shared secret you must provide a key agreement algorithm, the private key of\n the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key\n pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China\n Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a\n key pair generated outside of KMS, but both key pairs must be on the same elliptic\n curve.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:DeriveSharedSecret (key policy)

\n

\n Related operations:\n

\n \n

\n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

", + "smithy.api#documentation": "

Derives a shared secret using a key agreement algorithm.

\n \n

You must use an asymmetric NIST-recommended elliptic curve (ECC) or SM2 (China Regions\n only) KMS key pair with a KeyUsage value of KEY_AGREEMENT to call\n DeriveSharedSecret.

\n
\n

DeriveSharedSecret uses the Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive (ECDH) to establish a\n key agreement between two peers by deriving a shared secret from their elliptic curve\n public-private key pairs. You can use the raw shared secret that DeriveSharedSecret returns to\n derive a symmetric key that can encrypt and decrypt data that is sent between the two peers,\n or that can generate and verify HMACs. KMS recommends that you follow NIST\n recommendations for key derivation when using the raw shared secret to derive a\n symmetric key.

\n

The following workflow demonstrates how to establish key agreement over an insecure\n communication channel using DeriveSharedSecret.

\n
    \n
  1. \n

    \n Alice calls CreateKey to create an\n asymmetric KMS key pair with a KeyUsage value of\n KEY_AGREEMENT.

    \n

    The asymmetric KMS key must use a NIST-recommended elliptic curve (ECC) or SM2 (China\n Regions only) key spec.

    \n
  2. \n
  3. \n

    \n Bob creates an elliptic curve key pair.

    \n

    Bob can call CreateKey to create an asymmetric KMS key pair or\n generate a key pair outside of KMS. Bob's key pair must use the same NIST-recommended\n elliptic curve (ECC) or SM2 (China Regions ony) curve as Alice.

    \n
  4. \n
  5. \n

    Alice and Bob exchange their public keys through an\n insecure communication channel (like the internet).

    \n

    Use GetPublicKey to download the public key of your asymmetric KMS\n key pair.

    \n \n

    KMS strongly recommends verifying that the public key you receive came from the\n expected party before using it to derive a shared secret.

    \n
    \n
  6. \n
  7. \n

    \n Alice calls DeriveSharedSecret.

    \n

    KMS uses the private key from the KMS key pair generated in Step 1, Bob's public key, and the Elliptic Curve Cryptography Cofactor\n Diffie-Hellman Primitive to derive the shared secret. The private key in your KMS key pair\n never leaves KMS unencrypted. DeriveSharedSecret returns the raw shared secret.

    \n
  8. \n
  9. \n

    \n Bob uses the Elliptic Curve Cryptography Cofactor\n Diffie-Hellman Primitive to calculate the same raw secret using his private key and\n Alice's public key.

    \n
  10. \n
\n

To derive a shared secret you must provide a key agreement algorithm, the private key of\n the caller's asymmetric NIST-recommended elliptic curve or SM2 (China Regions only) KMS key\n pair, and the public key from your peer's NIST-recommended elliptic curve or SM2 (China\n Regions only) key pair. The public key can be from another asymmetric KMS key pair or from a\n key pair generated outside of KMS, but both key pairs must be on the same elliptic\n curve.

\n

The KMS key that you use for this operation must be in a compatible key state. For\ndetails, see Key states of KMS keys in the Key Management Service Developer Guide.

\n

\n Cross-account use: Yes. To perform this operation with a KMS key in a different Amazon Web Services account, specify\n the key ARN or alias ARN in the value of the KeyId parameter.

\n

\n Required permissions: kms:DeriveSharedSecret (key policy)

\n

\n Related operations:\n

\n \n

\n Eventual consistency: The KMS API follows an eventual consistency model. \n For more information, see KMS eventual consistency.

", "smithy.api#examples": [ { "title": "To derive a shared secret", @@ -7649,27 +7665,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -9150,6 +9166,12 @@ "smithy.api#documentation": "

Changes the name that KMS uses to identify the Amazon VPC endpoint service for your external\n key store proxy (XKS proxy). This parameter is valid when the CustomKeyStoreType\n is EXTERNAL_KEY_STORE and the XksProxyConnectivity is\n VPC_ENDPOINT_SERVICE.

\n

To change this value, the external key store must be disconnected.

" } }, + "XksProxyVpcEndpointServiceOwner": { + "target": "com.amazonaws.kms#AccountIdType", + "traits": { + "smithy.api#documentation": "

Changes the Amazon Web Services account ID that KMS uses to identify the Amazon VPC endpoint service for\n your external key store proxy (XKS proxy). This parameter is optional. If not specified, the current\n Amazon Web Services account ID for the VPC endpoint service will not be updated.

\n

To change this value, the external key store must be disconnected.

" + } + }, "XksProxyAuthenticationCredential": { "target": "com.amazonaws.kms#XksProxyAuthenticationCredentialType", "traits": { @@ -9771,6 +9793,12 @@ "traits": { "smithy.api#documentation": "

The Amazon VPC endpoint service used to communicate with the external key store proxy. This\n field appears only when the external key store proxy uses an Amazon VPC endpoint service to\n communicate with KMS.

" } + }, + "VpcEndpointServiceOwner": { + "target": "com.amazonaws.kms#AccountIdType", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID that owns the Amazon VPC endpoint service used to communicate with the\n external key store proxy (XKS). This field appears only when the XKS uses an VPC endpoint\n service to communicate with KMS.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/lakeformation.json b/codegen/sdk-codegen/aws-models/lakeformation.json index b9c62148ad2..ce7dc414edf 100644 --- a/codegen/sdk-codegen/aws-models/lakeformation.json +++ b/codegen/sdk-codegen/aws-models/lakeformation.json @@ -235,27 +235,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lambda.json b/codegen/sdk-codegen/aws-models/lambda.json index c2ab67a80db..73229552869 100644 --- a/codegen/sdk-codegen/aws-models/lambda.json +++ b/codegen/sdk-codegen/aws-models/lambda.json @@ -169,27 +169,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -1769,13 +1769,13 @@ "FunctionUrlAuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Control access to Lambda function URLs.

" } }, "InvokedViaFunctionUrl": { "target": "com.amazonaws.lambda#InvokedViaFunctionUrl", "traits": { - "smithy.api#documentation": "

Restricts the lambda:InvokeFunction action to calls coming from a function URL. When set to true, this prevents the principal from invoking the function by any means other than the function URL. For more information, see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

Restricts the lambda:InvokeFunction action to function URL calls. When set to true, this prevents the principal from invoking the function by any means other than the function URL. For more information, see Control access to Lambda function URLs.

" } } }, @@ -3131,7 +3131,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Control access to Lambda function URLs.

", "smithy.api#required": {} } }, @@ -3172,7 +3172,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Control access to Lambda function URLs.

", "smithy.api#required": {} } }, @@ -3486,7 +3486,7 @@ } } }, - "smithy.api#documentation": "

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted. This doesn't require the user to have explicit permissions for DeleteAlias.

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

", + "smithy.api#documentation": "

Deletes a Lambda function. To delete a specific function version, use the Qualifier parameter. Otherwise, all versions and aliases are deleted. This doesn't require the user to have explicit permissions for DeleteAlias.

A deleted Lambda function cannot be recovered. Ensure that you specify the correct function name and version before deleting.

To delete Lambda event source mappings that invoke a function, use DeleteEventSourceMapping. For Amazon Web Services services and resources that invoke your function directly, delete the trigger in the service where you originally configured it.

", "smithy.api#examples": [ { "title": "To delete a version of a Lambda function", @@ -6650,7 +6650,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Control access to Lambda function URLs.

", "smithy.api#required": {} } }, @@ -7608,7 +7608,7 @@ "Payload": { "target": "com.amazonaws.lambda#Blob", "traits": { - "smithy.api#documentation": "

The JSON that you want to provide to your Lambda function as input.

You can enter the JSON directly. For example, --payload '{ \"key\": \"value\" }'. You can also specify a file path. For example, --payload file://payload.json.

", + "smithy.api#documentation": "

The JSON that you want to provide to your Lambda function as input. The maximum payload size is 6 MB for synchronous invocations and 1 MB for asynchronous invocations.

You can enter the JSON directly. For example, --payload '{ \"key\": \"value\" }'. You can also specify a file path. For example, --payload file://payload.json.

", "smithy.api#httpPayload": {} } }, @@ -7769,6 +7769,9 @@ { "target": "com.amazonaws.lambda#ResourceNotReadyException" }, + { + "target": "com.amazonaws.lambda#SerializedRequestEntityTooLargeException" + }, { "target": "com.amazonaws.lambda#ServiceException" }, @@ -7805,7 +7808,7 @@ } } }, - "smithy.api#documentation": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

", + "smithy.api#documentation": "

Invokes a Lambda function. You can invoke a function synchronously (and wait for the response), or asynchronously. By default, Lambda invokes your function synchronously (i.e. theInvocationType is RequestResponse). To invoke a function asynchronously, set InvocationType to Event. Lambda passes the ClientContext object to your function for synchronous invocations only.

For synchronous invocations, the maximum payload size is 6 MB. For asynchronous invocations, the maximum payload size is 1 MB.

For synchronous invocation, details about the function response, including errors, are included in the response body and headers. For either invocation type, you can find more information in the execution log and trace.

When an error occurs, your function may be invoked multiple times. Retry behavior varies by error type, client, event source, and invocation type. For example, if you invoke a function asynchronously and it returns an error, Lambda executes the function up to two more times. For more information, see Error handling and automatic retries in Lambda.

For asynchronous invocation, Lambda adds events to a queue before sending them to your function. If your function does not have enough capacity to keep up with the queue, events may be lost. Occasionally, your function may receive the same event multiple times, even if no error occurs. To retain events that were not processed, configure your function with a dead-letter queue.

The status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your function from executing, such as permissions errors, quota errors, or issues with your function's code and configuration. For example, Lambda returns TooManyRequestsException if running the function would cause you to exceed a concurrency limit at either the account level (ConcurrentInvocationLimitExceeded) or function level (ReservedFunctionConcurrentInvocationLimitExceeded).

For functions with a long timeout, your client might disconnect during synchronous invocation while it waits for a response. Configure your HTTP client, SDK, firewall, proxy, or operating system to allow for long connections with timeout or keep-alive settings.

This operation requires permission for the lambda:InvokeFunction action. For details on how to set up permissions for cross-account invocations, see Granting function access to other accounts.

", "smithy.api#examples": [ { "title": "To invoke a Lambda function", @@ -7893,7 +7896,7 @@ } }, "smithy.api#deprecated": {}, - "smithy.api#documentation": "

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

If you do use the InvokeAsync action, note that it doesn't support the use of X-Ray active tracing. Trace ID is not propagated to the function, even if X-Ray active tracing is turned on.

", + "smithy.api#documentation": "

For asynchronous function invocation, use Invoke.

Invokes a function asynchronously.

The payload limit is 256KB. For larger payloads, for up to 1MB, use Invoke.

If you do use the InvokeAsync action, note that it doesn't support the use of X-Ray active tracing. Trace ID is not propagated to the function, even if X-Ray active tracing is turned on.

", "smithy.api#examples": [ { "title": "To invoke a Lambda function asynchronously", @@ -8070,6 +8073,9 @@ { "target": "com.amazonaws.lambda#ResourceNotReadyException" }, + { + "target": "com.amazonaws.lambda#SerializedRequestEntityTooLargeException" + }, { "target": "com.amazonaws.lambda#ServiceException" }, @@ -10632,7 +10638,7 @@ "Destination": { "target": "com.amazonaws.lambda#DestinationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination resource.

To retain records of unsuccessful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.

To retain records of failed invocations from Kinesis, DynamoDB, self-managed Kafka or Amazon MSK, you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination resource.

To retain records of unsuccessful asynchronous invocations, you can configure an Amazon SNS topic, Amazon SQS queue, Amazon S3 bucket, Lambda function, or Amazon EventBridge event bus as the destination.

Amazon SNS destinations have a message size limit of 256 KB. If the combined size of the function request and response payload exceeds the limit, Lambda will drop the payload when sending OnFailure event to the destination. For details on this behavior, refer to Retaining records of asynchronous invocations.

To retain records of failed invocations from Kinesis, DynamoDB, self-managed Kafka or Amazon MSK, you can configure an Amazon SNS topic, Amazon SQS queue, or Amazon S3 bucket as the destination.

" } } }, @@ -10646,7 +10652,7 @@ "Destination": { "target": "com.amazonaws.lambda#DestinationArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination resource.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the destination resource.

Amazon SNS destinations have a message size limit of 256 KB. If the combined size of the function request and response payload exceeds the limit, Lambda will drop the payload when sending OnFailure event to the destination. For details on this behavior, refer to Retaining records of asynchronous invocations.

" } } }, @@ -12492,6 +12498,24 @@ "traits": { "smithy.api#enumValue": "nodejs22.x" } + }, + "java25": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "java25" + } + }, + "nodejs24x": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "nodejs24.x" + } + }, + "python314": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "python3.14" + } } } }, @@ -12669,6 +12693,25 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.lambda#SerializedRequestEntityTooLargeException": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.lambda#String", + "traits": { + "smithy.api#documentation": "

The error type.

" + } + }, + "message": { + "target": "com.amazonaws.lambda#String" + } + }, + "traits": { + "smithy.api#documentation": "

The processed request payload exceeded the Invoke request body size limit for asynchronous invocations. While the event payload may be under 1 MB, the size after internal serialization exceeds the maximum allowed size for asynchronous invocations.

", + "smithy.api#error": "client", + "smithy.api#httpError": 413 + } + }, "com.amazonaws.lambda#ServiceException": { "type": "structure", "members": { @@ -14576,7 +14619,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

" + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Control access to Lambda function URLs.

" } }, "Cors": { @@ -14616,7 +14659,7 @@ "AuthType": { "target": "com.amazonaws.lambda#FunctionUrlAuthType", "traits": { - "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Security and auth model for Lambda function URLs.

", + "smithy.api#documentation": "

The type of authentication that your function URL uses. Set to AWS_IAM if you want to restrict access to authenticated users only. Set to NONE if you want to bypass IAM authentication to create a public endpoint. For more information, see Control access to Lambda function URLs.

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/launch-wizard.json b/codegen/sdk-codegen/aws-models/launch-wizard.json index 4c9d121a8be..16baedfcf6d 100644 --- a/codegen/sdk-codegen/aws-models/launch-wizard.json +++ b/codegen/sdk-codegen/aws-models/launch-wizard.json @@ -1083,27 +1083,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lex-model-building-service.json b/codegen/sdk-codegen/aws-models/lex-model-building-service.json index 52f86d2b690..611a66567b7 100644 --- a/codegen/sdk-codegen/aws-models/lex-model-building-service.json +++ b/codegen/sdk-codegen/aws-models/lex-model-building-service.json @@ -182,27 +182,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lex-models-v2.json b/codegen/sdk-codegen/aws-models/lex-models-v2.json index c17af38dd19..0620c4122c0 100644 --- a/codegen/sdk-codegen/aws-models/lex-models-v2.json +++ b/codegen/sdk-codegen/aws-models/lex-models-v2.json @@ -13743,27 +13743,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lex-runtime-service.json b/codegen/sdk-codegen/aws-models/lex-runtime-service.json index b6dea1c6383..0145e9f6767 100644 --- a/codegen/sdk-codegen/aws-models/lex-runtime-service.json +++ b/codegen/sdk-codegen/aws-models/lex-runtime-service.json @@ -71,27 +71,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lex-runtime-v2.json b/codegen/sdk-codegen/aws-models/lex-runtime-v2.json index 50ad73df35e..9694c8b4157 100644 --- a/codegen/sdk-codegen/aws-models/lex-runtime-v2.json +++ b/codegen/sdk-codegen/aws-models/lex-runtime-v2.json @@ -82,27 +82,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json b/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json index 7b4818028eb..ff933637f3f 100644 --- a/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json +++ b/codegen/sdk-codegen/aws-models/license-manager-linux-subscriptions.json @@ -440,27 +440,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/license-manager-user-subscriptions.json b/codegen/sdk-codegen/aws-models/license-manager-user-subscriptions.json index 3b5d693cf37..884469736f6 100644 --- a/codegen/sdk-codegen/aws-models/license-manager-user-subscriptions.json +++ b/codegen/sdk-codegen/aws-models/license-manager-user-subscriptions.json @@ -978,27 +978,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/license-manager.json b/codegen/sdk-codegen/aws-models/license-manager.json index 7d3c714c828..0e6cd484556 100644 --- a/codegen/sdk-codegen/aws-models/license-manager.json +++ b/codegen/sdk-codegen/aws-models/license-manager.json @@ -208,27 +208,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lightsail.json b/codegen/sdk-codegen/aws-models/lightsail.json index fb4cb1a1953..e844bc6317e 100644 --- a/codegen/sdk-codegen/aws-models/lightsail.json +++ b/codegen/sdk-codegen/aws-models/lightsail.json @@ -1445,6 +1445,12 @@ "traits": { "smithy.api#documentation": "

An object that describes the access log configuration for the bucket.

" } + }, + "cors": { + "target": "com.amazonaws.lightsail#BucketCorsConfig", + "traits": { + "smithy.api#documentation": "

An array of cross-origin resource sharing (CORS) rules that identify origins and the HTTP methods that can be executed on your bucket. This field is only included in the response when CORS configuration is requested or when updating CORS configuration. For more information, see Configuring cross-origin resource sharing (CORS).

" + } } }, "traits": { @@ -1538,6 +1544,117 @@ "target": "com.amazonaws.lightsail#BucketBundle" } }, + "com.amazonaws.lightsail#BucketCorsAllowedHeaders": { + "type": "list", + "member": { + "target": "com.amazonaws.lightsail#string" + } + }, + "com.amazonaws.lightsail#BucketCorsAllowedMethod": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(DELETE|GET|HEAD|POST|PUT)$" + } + }, + "com.amazonaws.lightsail#BucketCorsAllowedMethods": { + "type": "list", + "member": { + "target": "com.amazonaws.lightsail#BucketCorsAllowedMethod" + } + }, + "com.amazonaws.lightsail#BucketCorsAllowedOrigins": { + "type": "list", + "member": { + "target": "com.amazonaws.lightsail#string" + } + }, + "com.amazonaws.lightsail#BucketCorsConfig": { + "type": "structure", + "members": { + "rules": { + "target": "com.amazonaws.lightsail#BucketCorsRules", + "traits": { + "smithy.api#documentation": "

A set of origins and methods (cross-origin access that you want to allow). You can add up to 20 rules to the configuration. The total size is limited to 64 KB.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the cross-origin resource sharing (CORS) configuration for a Lightsail bucket. CORS defines a way for client web applications that are loaded in one domain to interact with resources in a different domain.\n For more information, see Configuring cross-origin resource sharing (CORS).

" + } + }, + "com.amazonaws.lightsail#BucketCorsExposeHeaders": { + "type": "list", + "member": { + "target": "com.amazonaws.lightsail#string" + } + }, + "com.amazonaws.lightsail#BucketCorsRule": { + "type": "structure", + "members": { + "id": { + "target": "com.amazonaws.lightsail#BucketCorsRuleId", + "traits": { + "smithy.api#documentation": "

A unique identifier for the CORS rule. The ID value can be up to 255 characters long. The IDs help you find a rule in the configuration.

" + } + }, + "allowedMethods": { + "target": "com.amazonaws.lightsail#BucketCorsAllowedMethods", + "traits": { + "smithy.api#documentation": "

The HTTP methods that are allowed when accessing the bucket from the specified origin. Each CORS rule must identify at least one origin and one method.

\n

You can use the following HTTP methods:

\n
    \n
  • \n

    \n GET - Retrieves data from the server, such as downloading files or viewing content.

    \n
  • \n
  • \n

    \n PUT - Uploads or replaces data on the server, such as uploading new files.

    \n
  • \n
  • \n

    \n POST - Sends data to the server for processing, such as submitting forms or creating new resources.

    \n
  • \n
  • \n

    \n DELETE - Removes data from the server, such as deleting files or resources.

    \n
  • \n
  • \n

    \n HEAD - Retrieves only the headers from the server without the actual content, useful for checking if a resource exists.

    \n
  • \n
", + "smithy.api#required": {} + } + }, + "allowedOrigins": { + "target": "com.amazonaws.lightsail#BucketCorsAllowedOrigins", + "traits": { + "smithy.api#documentation": "

One or more origins you want customers to be able to access the bucket from. Each CORS rule must identify at least one origin and one method.

", + "smithy.api#required": {} + } + }, + "allowedHeaders": { + "target": "com.amazonaws.lightsail#BucketCorsAllowedHeaders", + "traits": { + "smithy.api#documentation": "

Headers that are specified in the Access-Control-Request-Headers header. These headers are allowed in a preflight OPTIONS request. In response to any preflight OPTIONS request, Amazon S3 returns any requested headers that are allowed.

" + } + }, + "exposeHeaders": { + "target": "com.amazonaws.lightsail#BucketCorsExposeHeaders", + "traits": { + "smithy.api#documentation": "

One or more headers in the response that you want customers to be able to access from their applications (for example, from a JavaScript XMLHttpRequest object).

" + } + }, + "maxAgeSeconds": { + "target": "com.amazonaws.lightsail#integer", + "traits": { + "smithy.api#documentation": "

The time in seconds that your browser is to cache the preflight response for the specified resource. A CORS rule can have only one maxAgeSeconds element.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a cross-origin resource sharing (CORS) rule for a Lightsail bucket. CORS rules specify which origins are allowed to access the bucket, which HTTP methods are allowed, and other access control information. For more information, see Configuring cross-origin resource sharing (CORS).

" + } + }, + "com.amazonaws.lightsail#BucketCorsRuleId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + } + } + }, + "com.amazonaws.lightsail#BucketCorsRules": { + "type": "list", + "member": { + "target": "com.amazonaws.lightsail#BucketCorsRule" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 20 + } + } + }, "com.amazonaws.lightsail#BucketList": { "type": "list", "member": { @@ -5155,7 +5272,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a Lightsail load balancer. To learn more about deciding whether to load balance\n your application, see Configure your Lightsail instances for load balancing. You can create up to 5\n load balancers per AWS Region in your account.

\n

When you create a load balancer, you can specify a unique name and port settings. To\n change additional load balancer settings, use the UpdateLoadBalancerAttribute\n operation.

\n

The create load balancer operation supports tag-based access control via\n request tags. For more information, see the Amazon Lightsail Developer Guide.

", + "smithy.api#documentation": "

Creates a Lightsail load balancer. To learn more about deciding whether to load balance\n your application, see Configure your Lightsail instances for load balancing. You can create up to 10\n load balancers per AWS Region in your account.

\n

When you create a load balancer, you can specify a unique name and port settings. To\n change additional load balancer settings, use the UpdateLoadBalancerAttribute\n operation.

\n

The create load balancer operation supports tag-based access control via\n request tags. For more information, see the Amazon Lightsail Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/ls/api/2016-11-28/CreateLoadBalancer", @@ -9420,6 +9537,12 @@ "traits": { "smithy.api#documentation": "

A Boolean value that indicates whether to include Lightsail instances that were given\n access to the bucket using the SetResourceAccessForBucket\n action.

" } + }, + "includeCors": { + "target": "com.amazonaws.lightsail#boolean", + "traits": { + "smithy.api#documentation": "

A Boolean value that indicates whether to include Lightsail bucket CORS configuration in the response. For more information, see Configuring cross-origin resource sharing (CORS).

\n \n

This parameter is only supported when getting a single bucket with bucketName specified. The default value for this parameter is False.

\n
" + } } }, "traits": { @@ -16121,27 +16244,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -23129,6 +23252,12 @@ "traits": { "smithy.api#documentation": "

An object that describes the access log configuration for the bucket.

" } + }, + "cors": { + "target": "com.amazonaws.lightsail#BucketCorsConfig", + "traits": { + "smithy.api#documentation": "

Sets the cross-origin resource sharing (CORS) configuration for your bucket. If a CORS configuration exists, it is replaced with the specified configuration. For AWS CLI operations, this parameter can also be passed as a file. For more information, see Configuring cross-origin resource sharing (CORS).

\n \n

CORS information is only returned in a response when you update the CORS policy.

\n
" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/location.json b/codegen/sdk-codegen/aws-models/location.json index 0468ed3ec63..1092ee7d555 100644 --- a/codegen/sdk-codegen/aws-models/location.json +++ b/codegen/sdk-codegen/aws-models/location.json @@ -13,11 +13,49 @@ } }, "traits": { - "smithy.api#documentation": "

The request was denied because of insufficient access or permissions. Check with an\n administrator to verify your permissions.

", + "smithy.api#documentation": "

The request was denied because of insufficient access or permissions. Check with an administrator to verify your permissions.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } }, + "com.amazonaws.location#AndroidApp": { + "type": "structure", + "members": { + "Package": { + "target": "com.amazonaws.location#AndroidPackageName", + "traits": { + "smithy.api#documentation": "

Unique package name for an Android app.

", + "smithy.api#required": {} + } + }, + "CertificateFingerprint": { + "target": "com.amazonaws.location#Sha1CertificateFingerprint", + "traits": { + "smithy.api#documentation": "

20 byte SHA-1 certificate fingerprint associated with the Android app signing certificate.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Unique identifying information for an Android app. Consists of a package name and a 20 byte SHA-1 certificate fingerprint.

" + } + }, + "com.amazonaws.location#AndroidAppList": { + "type": "list", + "member": { + "target": "com.amazonaws.location#AndroidApp" + } + }, + "com.amazonaws.location#AndroidPackageName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^([A-Za-z][A-Za-z\\d_]*\\.)+[A-Za-z][A-Za-z\\d_]*$" + } + }, "com.amazonaws.location#ApiKey": { "type": "string", "traits": { @@ -98,7 +136,7 @@ "AllowActions": { "target": "com.amazonaws.location#ApiKeyActionList", "traits": { - "smithy.api#documentation": "

A list of allowed actions that an API key resource grants permissions to\n perform. You must have at least one action for each type of resource. For example,\n if you have a place resource, you must include at least one place action.

\n

The following are valid values for the actions.

\n
    \n
  • \n

    \n Map actions\n

    \n
      \n
    • \n

      \n geo:GetMap* - Allows all actions needed for map rendering.

      \n
    • \n
    • \n

      \n geo-maps:GetTile - Allows retrieving map tiles.

      \n
    • \n
    • \n

      \n geo-maps:GetStaticMap - Allows retrieving static map images.

      \n
    • \n
    • \n

      \n geo-maps:* - Allows all actions related to map functionalities.

      \n
    • \n
    \n
  • \n
  • \n

    \n Place actions\n

    \n
      \n
    • \n

      \n geo:SearchPlaceIndexForText - Allows geocoding.

      \n
    • \n
    • \n

      \n geo:SearchPlaceIndexForPosition - Allows reverse geocoding.

      \n
    • \n
    • \n

      \n geo:SearchPlaceIndexForSuggestions - Allows generating suggestions from text.

      \n
    • \n
    • \n

      \n GetPlace - Allows finding a place by place ID.

      \n
    • \n
    • \n

      \n geo-places:Geocode - Allows geocoding using place information.

      \n
    • \n
    • \n

      \n geo-places:ReverseGeocode - Allows reverse geocoding from location coordinates.

      \n
    • \n
    • \n

      \n geo-places:SearchNearby - Allows searching for places near a location.

      \n
    • \n
    • \n

      \n geo-places:SearchText - Allows searching for places based on text input.

      \n
    • \n
    • \n

      \n geo-places:Autocomplete - Allows auto-completion of place names based on text input.

      \n
    • \n
    • \n

      \n geo-places:Suggest - Allows generating suggestions for places based on partial input.

      \n
    • \n
    • \n

      \n geo-places:GetPlace - Allows finding a place by its ID.

      \n
    • \n
    • \n

      \n geo-places:* - Allows all actions related to place services.

      \n
    • \n
    \n
  • \n
  • \n

    \n Route actions\n

    \n
      \n
    • \n

      \n geo:CalculateRoute - Allows point to point routing.

      \n
    • \n
    • \n

      \n geo:CalculateRouteMatrix - Allows calculating a matrix of routes.

      \n
    • \n
    • \n

      \n geo-routes:CalculateRoutes - Allows calculating multiple routes between points.

      \n
    • \n
    • \n

      \n geo-routes:CalculateRouteMatrix - Allows calculating a matrix of routes between points.

      \n
    • \n
    • \n

      \n geo-routes:CalculateIsolines - Allows calculating isolines for a given area.

      \n
    • \n
    • \n

      \n geo-routes:OptimizeWaypoints - Allows optimizing the order of waypoints in a route.

      \n
    • \n
    • \n

      \n geo-routes:SnapToRoads - Allows snapping a route to the nearest roads.

      \n
    • \n
    • \n

      \n geo-routes:* - Allows all actions related to routing functionalities.

      \n
    • \n
    \n
  • \n
\n \n

You must use these strings exactly. For example, to provide access to map \n rendering, the only valid action is geo:GetMap* as an input to \n the list. [\"geo:GetMap*\"] is valid but\n [\"geo:GetMapTile\"] is not. Similarly, you cannot use\n [\"geo:SearchPlaceIndexFor*\"] - you must list each of the Place\n actions separately.

\n
", + "smithy.api#documentation": "

A list of allowed actions that an API key resource grants permissions to perform. You must have at least one action for each type of resource. For example, if you have a place resource, you must include at least one place action.

The following are valid values for the actions.

  • Map actions

    • geo:GetMap* - Allows all actions needed for map rendering.

    • geo-maps:GetTile - Allows retrieving map tiles.

    • geo-maps:GetStaticMap - Allows retrieving static map images.

    • geo-maps:* - Allows all actions related to map functionalities.

  • Place actions

    • geo:SearchPlaceIndexForText - Allows geocoding.

    • geo:SearchPlaceIndexForPosition - Allows reverse geocoding.

    • geo:SearchPlaceIndexForSuggestions - Allows generating suggestions from text.

    • GetPlace - Allows finding a place by place ID.

    • geo-places:Geocode - Allows geocoding using place information.

    • geo-places:ReverseGeocode - Allows reverse geocoding from location coordinates.

    • geo-places:SearchNearby - Allows searching for places near a location.

    • geo-places:SearchText - Allows searching for places based on text input.

    • geo-places:Autocomplete - Allows auto-completion of place names based on text input.

    • geo-places:Suggest - Allows generating suggestions for places based on partial input.

    • geo-places:GetPlace - Allows finding a place by its ID.

    • geo-places:* - Allows all actions related to place services.

  • Route actions

    • geo:CalculateRoute - Allows point to point routing.

    • geo:CalculateRouteMatrix - Allows calculating a matrix of routes.

    • geo-routes:CalculateRoutes - Allows calculating multiple routes between points.

    • geo-routes:CalculateRouteMatrix - Allows calculating a matrix of routes between points.

    • geo-routes:CalculateIsolines - Allows calculating isolines for a given area.

    • geo-routes:OptimizeWaypoints - Allows optimizing the order of waypoints in a route.

    • geo-routes:SnapToRoads - Allows snapping a route to the nearest roads.

    • geo-routes:* - Allows all actions related to routing functionalities.

You must use these strings exactly. For example, to provide access to map rendering, the only valid action is geo:GetMap* as an input to the list. [\"geo:GetMap*\"] is valid but [\"geo:GetMapTile\"] is not. Similarly, you cannot use [\"geo:SearchPlaceIndexFor*\"] - you must list each of the Place actions separately.

", "smithy.api#length": { "min": 1, "max": 24 @@ -109,7 +147,7 @@ "AllowResources": { "target": "com.amazonaws.location#GeoArnList", "traits": { - "smithy.api#documentation": "

A list of allowed resource ARNs that a API key bearer can perform actions on.

\n
    \n
  • \n

    The ARN must be the correct ARN for a map, place, or route ARN. You may \n include wildcards in the resource-id to match multiple resources of the \n same type.

    \n
  • \n
  • \n

    The resources must be in the same partition, \n region, and account-id as the key that is being \n created.

    \n
  • \n
  • \n

    Other than wildcards, you must include the full ARN, including the \n arn, partition, service,\n region, account-id and resource-id\n delimited by colons (:).

    \n
  • \n
  • \n

    No spaces allowed, even with wildcards. For example,\n arn:aws:geo:region:account-id:map/ExampleMap*.

    \n
  • \n
\n

For more information about ARN format, see Amazon Resource Names\n (ARNs).

", + "smithy.api#documentation": "

A list of allowed resource ARNs that a API key bearer can perform actions on.

  • The ARN must be the correct ARN for a map, place, or route ARN. You may include wildcards in the resource-id to match multiple resources of the same type.

  • The resources must be in the same partition, region, and account-id as the key that is being created.

  • Other than wildcards, you must include the full ARN, including the arn, partition, service, region, account-id and resource-id delimited by colons (:).

  • No spaces allowed, even with wildcards. For example, arn:aws:geo:region:account-id:map/ExampleMap*.

For more information about ARN format, see Amazon Resource Names (ARNs).

", "smithy.api#length": { "min": 1, "max": 8 @@ -120,16 +158,67 @@ "AllowReferers": { "target": "com.amazonaws.location#RefererPatternList", "traits": { - "smithy.api#documentation": "

An optional list of allowed HTTP referers for which requests must originate from.\n Requests using this API key from other domains will not be allowed.

\n

Requirements:

\n
    \n
  • \n

    Contain only alphanumeric characters (A–Z, a–z, 0–9) or any symbols in this\n list $\\-._+!*`(),;/?:@=&\n

    \n
  • \n
  • \n

    May contain a percent (%) if followed by 2 hexadecimal digits (A-F, a-f, 0-9);\n this is used for URL encoding purposes.

    \n
  • \n
  • \n

    May contain wildcard characters question mark (?) and asterisk (*).

    \n

    Question mark (?) will replace any single character (including hexadecimal\n digits).

    \n

    Asterisk (*) will replace any multiple characters (including multiple\n hexadecimal digits).

    \n
  • \n
  • \n

    No spaces allowed. For example, https://example.com.

    \n
  • \n
", + "smithy.api#documentation": "

An optional list of allowed HTTP referers for which requests must originate from. Requests using this API key from other domains will not be allowed.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9) or any symbols in this list $\\-._+!*`(),;/?:@=&

  • May contain a percent (%) if followed by 2 hexadecimal digits (A-F, a-f, 0-9); this is used for URL encoding purposes.

  • May contain wildcard characters question mark (?) and asterisk (*).

    Question mark (?) will replace any single character (including hexadecimal digits).

    Asterisk (*) will replace any multiple characters (including multiple hexadecimal digits).

  • No spaces allowed. For example, https://example.com.

", "smithy.api#length": { - "min": 1, + "min": 0, + "max": 5 + } + } + }, + "AllowAndroidApps": { + "target": "com.amazonaws.location#AndroidAppList", + "traits": { + "smithy.api#documentation": "

An optional list of allowed Android applications for which requests must originate from. Requests using this API key from other sources will not be allowed.

", + "smithy.api#length": { + "min": 0, + "max": 5 + } + } + }, + "AllowAppleApps": { + "target": "com.amazonaws.location#AppleAppList", + "traits": { + "smithy.api#documentation": "

An optional list of allowed Apple applications for which requests must originate from. Requests using this API key from other sources will not be allowed.

", + "smithy.api#length": { + "min": 0, "max": 5 } } } }, "traits": { - "smithy.api#documentation": "

API Restrictions on the allowed actions, resources, and referers for an API key\n resource.

" + "smithy.api#documentation": "

API Restrictions on the allowed actions, resources, and referers for an API key resource.

" + } + }, + "com.amazonaws.location#AppleApp": { + "type": "structure", + "members": { + "BundleId": { + "target": "com.amazonaws.location#AppleBundleId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the app across all Apple platforms (iOS, macOS, tvOS, watchOS, etc.)

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Unique identifying information for an Apple app (iOS, macOS, tvOS and watchOS). Consists of an Apple Bundle ID.

" + } + }, + "com.amazonaws.location#AppleAppList": { + "type": "list", + "member": { + "target": "com.amazonaws.location#AppleApp" + } + }, + "com.amazonaws.location#AppleBundleId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 155 + }, + "smithy.api#pattern": "^[A-Za-z0-9\\-]+(\\.[A-Za-z0-9\\-]+)+$" } }, "com.amazonaws.location#Arn": { @@ -181,7 +270,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Creates an association between a geofence collection and a tracker resource. This\n allows the tracker resource to communicate location data to the linked geofence\n collection.

\n

You can associate up to five geofence collections to each tracker resource.

\n \n

Currently not supported — Cross-account configurations, such as creating associations between a tracker resource in one account and a geofence collection in another account.

\n
", + "smithy.api#documentation": "

Creates an association between a geofence collection and a tracker resource. This allows the tracker resource to communicate location data to the linked geofence collection.

You can associate up to five geofence collections to each tracker resource.

Currently not supported — Cross-account configurations, such as creating associations between a tracker resource in one account and a geofence collection in another account.

", "smithy.api#endpoint": { "hostPrefix": "cp.tracking." }, @@ -205,7 +294,7 @@ "ConsumerArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection to be associated to tracker\n resource. Used when you need to specify a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection to be associated to tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

", "smithy.api#required": {} } } @@ -302,7 +391,7 @@ "DeviceIds": { "target": "com.amazonaws.location#DeviceIdsList", "traits": { - "smithy.api#documentation": "

Devices whose position history you want to delete.

\n
    \n
  • \n

    For example, for two devices:\n “DeviceIds” : [DeviceId1,DeviceId2]\n

    \n
  • \n
", + "smithy.api#documentation": "

Devices whose position history you want to delete.

  • For example, for two devices: “DeviceIds” : [DeviceId1,DeviceId2]

", "smithy.api#length": { "min": 1, "max": 100 @@ -351,7 +440,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Deletes a batch of geofences from a geofence collection.

\n \n

This operation deletes the resource permanently.

\n
", + "smithy.api#documentation": "

Deletes a batch of geofences from a geofence collection.

This operation deletes the resource permanently.

", "smithy.api#endpoint": { "hostPrefix": "geofencing." }, @@ -380,7 +469,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains error details for each geofence that failed to delete from the geofence\n collection.

" + "smithy.api#documentation": "

Contains error details for each geofence that failed to delete from the geofence collection.

" } }, "com.amazonaws.location#BatchDeleteGeofenceErrorList": { @@ -452,7 +541,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Evaluates device positions against the geofence geometries from a given geofence\n collection.

\n

This operation always returns an empty response because geofences are asynchronously\n evaluated. The evaluation determines if the device has entered or exited a geofenced\n area, and then publishes one of the following events to Amazon EventBridge:

\n
    \n
  • \n

    \n ENTER if Amazon Location determines that the tracked device has entered\n a geofenced area.

    \n
  • \n
  • \n

    \n EXIT if Amazon Location determines that the tracked device has exited a\n geofenced area.

    \n
  • \n
\n \n

The last geofence that a device was observed within is tracked for 30 days after\n the most recent device position update.

\n
\n \n

Geofence evaluation uses the given device position. It does not account for the\n optional Accuracy of a DevicePositionUpdate.

\n
\n \n

The DeviceID is used as a string to represent the device. You do not\n need to have a Tracker associated with the\n DeviceID.

\n
", + "smithy.api#documentation": "

Evaluates device positions against the geofence geometries from a given geofence collection.

This operation always returns an empty response because geofences are asynchronously evaluated. The evaluation determines if the device has entered or exited a geofenced area, and then publishes one of the following events to Amazon EventBridge:

  • ENTER if Amazon Location determines that the tracked device has entered a geofenced area.

  • EXIT if Amazon Location determines that the tracked device has exited a geofenced area.

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.

The DeviceID is used as a string to represent the device. You do not need to have a Tracker associated with the DeviceID.

", "smithy.api#endpoint": { "hostPrefix": "geofencing." }, @@ -475,7 +564,7 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specifies a timestamp for when the error occurred in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

Specifies a timestamp for when the error occurred in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, @@ -488,7 +577,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains error details for each device that failed to evaluate its position against\n the geofences in a given geofence collection.

" + "smithy.api#documentation": "

Contains error details for each device that failed to evaluate its position against the geofences in a given geofence collection.

" } }, "com.amazonaws.location#BatchEvaluateGeofencesErrorList": { @@ -503,7 +592,7 @@ "CollectionName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The geofence collection used in evaluating the position of devices against its\n geofences.

", + "smithy.api#documentation": "

The geofence collection used in evaluating the position of devices against its geofences.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -511,7 +600,7 @@ "DevicePositionUpdates": { "target": "com.amazonaws.location#DevicePositionUpdateList", "traits": { - "smithy.api#documentation": "

Contains device details for each device to be evaluated against the given geofence\n collection.

", + "smithy.api#documentation": "

Contains device details for each device to be evaluated against the given geofence collection.

", "smithy.api#length": { "min": 1, "max": 10 @@ -527,7 +616,7 @@ "Errors": { "target": "com.amazonaws.location#BatchEvaluateGeofencesErrorList", "traits": { - "smithy.api#documentation": "

Contains error details for each device that failed to evaluate its position against\n the given geofence collection.

", + "smithy.api#documentation": "

Contains error details for each device that failed to evaluate its position against the given geofence collection.

", "smithy.api#required": {} } } @@ -616,7 +705,7 @@ "DeviceIds": { "target": "com.amazonaws.location#IdList", "traits": { - "smithy.api#documentation": "

Devices whose position you want to retrieve.

\n
    \n
  • \n

    For example, for two devices:\n device-ids=DeviceId1&device-ids=DeviceId2\n

    \n
  • \n
", + "smithy.api#documentation": "

Devices whose position you want to retrieve.

  • For example, for two devices: device-ids=DeviceId1&device-ids=DeviceId2

", "smithy.api#length": { "min": 1, "max": 10 @@ -632,14 +721,14 @@ "Errors": { "target": "com.amazonaws.location#BatchGetDevicePositionErrorList", "traits": { - "smithy.api#documentation": "

Contains error details for each device that failed to send its position to the tracker\n resource.

", + "smithy.api#documentation": "

Contains error details for each device that failed to send its position to the tracker resource.

", "smithy.api#required": {} } }, "DevicePositions": { "target": "com.amazonaws.location#DevicePositionList", "traits": { - "smithy.api#documentation": "

Contains device position details such as the device ID, position, and timestamps for\n when the position was received and sampled.

", + "smithy.api#documentation": "

Contains device position details such as the device ID, position, and timestamps for when the position was received and sampled.

", "smithy.api#required": {} } } @@ -723,7 +812,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

A batch request for storing geofence geometries into a given geofence collection, or\n updates the geometry of an existing geofence if a geofence ID is included in the\n request.

", + "smithy.api#documentation": "

A batch request for storing geofence geometries into a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.

", "smithy.api#endpoint": { "hostPrefix": "geofencing." }, @@ -752,7 +841,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains error details for each geofence that failed to be stored in a given geofence\n collection.

" + "smithy.api#documentation": "

Contains error details for each geofence that failed to be stored in a given geofence collection.

" } }, "com.amazonaws.location#BatchPutGeofenceErrorList": { @@ -798,14 +887,14 @@ "Geometry": { "target": "com.amazonaws.location#GeofenceGeometry", "traits": { - "smithy.api#documentation": "

Contains the details to specify the position of the geofence. Can be a circle, a\n polygon, or a multipolygon. Polygon and MultiPolygon\n geometries can be defined using their respective parameters, or encoded in Geobuf format\n using the Geobuf parameter. Including multiple geometry types in the same\n request will return a validation error.

\n \n

The geofence Polygon and MultiPolygon formats support a\n maximum of 1,000 total vertices. The Geobuf format supports a maximum\n of 100,000 vertices.

\n
", + "smithy.api#documentation": "

Contains the details to specify the position of the geofence. Can be a circle, a polygon, or a multipolygon. Polygon and MultiPolygon geometries can be defined using their respective parameters, or encoded in Geobuf format using the Geobuf parameter. Including multiple geometry types in the same request will return a validation error.

The geofence Polygon and MultiPolygon formats support a maximum of 1,000 total vertices. The Geobuf format supports a maximum of 100,000 vertices.

", "smithy.api#required": {} } }, "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

Associates one of more properties with the geofence. A property is a key-value pair\n stored with the geofence and added to any geofence event triggered with that\n geofence.

\n

Format: \"key\" : \"value\"\n

" + "smithy.api#documentation": "

Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \"key\" : \"value\"

" } } }, @@ -832,7 +921,7 @@ "Errors": { "target": "com.amazonaws.location#BatchPutGeofenceErrorList", "traits": { - "smithy.api#documentation": "

Contains additional error details for each geofence that failed to be stored in a\n geofence collection.

", + "smithy.api#documentation": "

Contains additional error details for each geofence that failed to be stored in a geofence collection.

", "smithy.api#required": {} } } @@ -851,20 +940,20 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence was stored in a geofence collection in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains a summary of each geofence that was successfully stored in a given geofence\n collection.

" + "smithy.api#documentation": "

Contains a summary of each geofence that was successfully stored in a given geofence collection.

" } }, "com.amazonaws.location#BatchPutGeofenceSuccessList": { @@ -900,7 +989,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Uploads position update data for one or more devices to a tracker resource (up to \n 10 devices per batch). Amazon Location uses the data when it reports the last known device \n position and position history. Amazon Location retains location data for 30 days.

\n \n

Position updates are handled based on the PositionFiltering \n property of the tracker. When PositionFiltering is set to \n TimeBased, updates are evaluated against linked geofence collections, \n and location data is stored at a maximum of one position per 30 second interval. \n If your update frequency is more often than every 30 seconds, only one update per \n 30 seconds is stored for each unique device ID.

\n

When PositionFiltering is set to DistanceBased \n filtering, location data is stored and evaluated against linked geofence \n collections only if the device has moved more than 30 m (98.4 ft).

\n

When PositionFiltering is set to AccuracyBased \n filtering, location data is stored and evaluated against linked geofence \n collections only if the device has moved more than the measured accuracy. For \n example, if two consecutive updates from a device have a horizontal accuracy of \n 5 m and 10 m, the second update is neither stored or evaluated if the device has \n moved less than 15 m. If PositionFiltering is set to \n AccuracyBased filtering, Amazon Location uses the default value \n { \"Horizontal\": 0} when accuracy is not provided on a\n DevicePositionUpdate.

\n
", + "smithy.api#documentation": "

Uploads position update data for one or more devices to a tracker resource (up to 10 devices per batch). Amazon Location uses the data when it reports the last known device position and position history. Amazon Location retains location data for 30 days.

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

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.

", "smithy.api#endpoint": { "hostPrefix": "tracking." }, @@ -923,20 +1012,20 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device position was determined. Uses ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "Error": { "target": "com.amazonaws.location#BatchItemError", "traits": { - "smithy.api#documentation": "

Contains details related to the error code such as the error code and error\n message.

", + "smithy.api#documentation": "

Contains details related to the error code such as the error code and error message.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains error details for each device that failed to update its position.

" + "smithy.api#documentation": "

Contains error details for each device that failed to update its position.

" } }, "com.amazonaws.location#BatchUpdateDevicePositionErrorList": { @@ -975,7 +1064,7 @@ "Errors": { "target": "com.amazonaws.location#BatchUpdateDevicePositionErrorList", "traits": { - "smithy.api#documentation": "

Contains error details for each device that failed to update its position.

", + "smithy.api#documentation": "

Contains error details for each device that failed to update its position.

", "smithy.api#required": {} } } @@ -1023,7 +1112,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Calculates a route given the following required parameters:\n DeparturePosition and DestinationPosition. Requires that\n you first create a\n route calculator resource.

\n

By default, a request that doesn't specify a departure time uses the best time of day\n to travel with the best traffic conditions when calculating the route.

\n

Additional options include:

\n
    \n
  • \n

    \n Specifying a\n departure time using either DepartureTime or\n DepartNow. This calculates a route based on predictive traffic\n data at the given time.

    \n \n

    You can't specify both DepartureTime and\n DepartNow in a single request. Specifying both parameters\n returns a validation error.

    \n
    \n
  • \n
  • \n

    \n Specifying a travel\n mode using TravelMode sets the transportation mode used to calculate\n the routes. This also lets you specify additional route preferences in\n CarModeOptions if traveling by Car, or\n TruckModeOptions if traveling by Truck.

    \n \n

    If you specify walking for the travel mode and your data \n provider is Esri, the start and destination must be within 40km.

    \n
    \n
  • \n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to CalculateRoutes or CalculateIsolines unless you require Grab data.

  • CalculateRoute is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 CalculateRoutes operation gives better results for point-to-point routing, while the version 2 CalculateIsolines operation adds support for calculating service areas and travel time envelopes.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

Calculates a route given the following required parameters: DeparturePosition and DestinationPosition. Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating the route.

Additional options include:

  • Specifying a departure time using either DepartureTime or DepartNow. This calculates a route based on predictive traffic data at the given time.

    You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error.

  • Specifying a travel mode using TravelMode sets the transportation mode used to calculate the routes. This also lets you specify additional route preferences in CarModeOptions if traveling by Car, or TruckModeOptions if traveling by Truck.

    If you specify walking for the travel mode and your data provider is Esri, the start and destination must be within 40km.

", "smithy.api#endpoint": { "hostPrefix": "routes." }, @@ -1038,20 +1127,20 @@ "type": "structure", "members": { "AvoidFerries": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Avoids ferries when calculating routes.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Avoids ferries when calculating routes.

Default Value: false

Valid Values: false | true

" } }, "AvoidTolls": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Avoids tolls when calculating routes.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Avoids tolls when calculating routes.

Default Value: false

Valid Values: false | true

" } } }, "traits": { - "smithy.api#documentation": "

Contains details about additional route preferences for requests that specify\n TravelMode as Car.

" + "smithy.api#documentation": "

Contains details about additional route preferences for requests that specify TravelMode as Car.

" } }, "com.amazonaws.location#CalculateRouteMatrix": { @@ -1080,7 +1169,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Calculates a route\n matrix given the following required parameters:\n DeparturePositions and DestinationPositions.\n CalculateRouteMatrix calculates routes and returns the travel time and\n travel distance from each departure position to each destination position in the\n request. For example, given departure positions A and B, and destination positions X and\n Y, CalculateRouteMatrix will return time and distance for routes from A to\n X, A to Y, B to X, and B to Y (in that order). The number of results returned (and\n routes calculated) will be the number of DeparturePositions times the\n number of DestinationPositions.

\n \n

Your account is charged for each route calculated, not the number of\n requests.

\n
\n

Requires that you first create a\n route calculator resource.

\n

By default, a request that doesn't specify a departure time uses the best time of day\n to travel with the best traffic conditions when calculating routes.

\n

Additional options include:

\n
    \n
  • \n

    \n Specifying a\n departure time using either DepartureTime or\n DepartNow. This calculates routes based on predictive traffic\n data at the given time.

    \n \n

    You can't specify both DepartureTime and\n DepartNow in a single request. Specifying both parameters\n returns a validation error.

    \n
    \n
  • \n
  • \n

    \n Specifying a travel\n mode using TravelMode sets the transportation mode used to calculate\n the routes. This also lets you specify additional route preferences in\n CarModeOptions if traveling by Car, or\n TruckModeOptions if traveling by Truck.

    \n
  • \n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the V2 CalculateRouteMatrix unless you require Grab data.

  • This version of CalculateRouteMatrix is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 CalculateRouteMatrix operation gives better results for matrix routing calculations.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Routes V2 API Reference or the Developer Guide.

Calculates a route matrix given the following required parameters: DeparturePositions and DestinationPositions. CalculateRouteMatrix calculates routes and returns the travel time and travel distance from each departure position to each destination position in the request. For example, given departure positions A and B, and destination positions X and Y, CalculateRouteMatrix will return time and distance for routes from A to X, A to Y, B to X, and B to Y (in that order). The number of results returned (and routes calculated) will be the number of DeparturePositions times the number of DestinationPositions.

Your account is charged for each route calculated, not the number of requests.

Requires that you first create a route calculator resource.

By default, a request that doesn't specify a departure time uses the best time of day to travel with the best traffic conditions when calculating routes.

Additional options include:

  • Specifying a departure time using either DepartureTime or DepartNow. This calculates routes based on predictive traffic data at the given time.

    You can't specify both DepartureTime and DepartNow in a single request. Specifying both parameters returns a validation error.

  • Specifying a travel mode using TravelMode sets the transportation mode used to calculate the routes. This also lets you specify additional route preferences in CarModeOptions if traveling by Car, or TruckModeOptions if traveling by Truck.

", "smithy.api#endpoint": { "hostPrefix": "routes." }, @@ -1097,7 +1186,7 @@ "CalculatorName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The name of the route calculator resource that you want to use to calculate the route\n matrix.

", + "smithy.api#documentation": "

The name of the route calculator resource that you want to use to calculate the route matrix.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1105,7 +1194,7 @@ "DeparturePositions": { "target": "com.amazonaws.location#PositionList", "traits": { - "smithy.api#documentation": "

The list of departure (origin) positions for the route matrix. An array of points,\n each of which is itself a 2-value array defined in WGS 84 format:\n [longitude, latitude]. For example, [-123.115,\n 49.285].

\n \n

Depending on the data provider selected in the route calculator resource there may\n be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer\n Guide.

\n
\n \n

For route calculators that use Esri as the data provider, if you specify a\n departure that's not located on a road, Amazon Location moves the\n position to the nearest road. The snapped value is available in the\n result in SnappedDeparturePositions.

\n
\n

Valid Values: [-180 to 180,-90 to 90]\n

", + "smithy.api#documentation": "

The list of departure (origin) positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-123.115, 49.285].

Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

For route calculators that use Esri as the data provider, if you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDeparturePositions.

Valid Values: [-180 to 180,-90 to 90]

", "smithy.api#length": { "min": 1, "max": 350 @@ -1116,7 +1205,7 @@ "DestinationPositions": { "target": "com.amazonaws.location#PositionList", "traits": { - "smithy.api#documentation": "

The list of destination positions for the route matrix. An array of points, each of\n which is itself a 2-value array defined in WGS 84 format:\n [longitude, latitude]. For example, [-122.339,\n 47.615]\n

\n \n

Depending on the data provider selected in the route calculator resource there may\n be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer\n Guide.

\n
\n \n

For route calculators that use Esri as the data provider, if you specify a\n destination that's not located on a road, Amazon Location moves the\n position to the nearest road. The snapped value is available in the\n result in SnappedDestinationPositions.

\n
\n

Valid Values: [-180 to 180,-90 to 90]\n

", + "smithy.api#documentation": "

The list of destination positions for the route matrix. An array of points, each of which is itself a 2-value array defined in WGS 84 format: [longitude, latitude]. For example, [-122.339, 47.615]

Depending on the data provider selected in the route calculator resource there may be additional restrictions on the inputs you can choose. See Position restrictions in the Amazon Location Service Developer Guide.

For route calculators that use Esri as the data provider, if you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road. The snapped value is available in the result in SnappedDestinationPositions.

Valid Values: [-180 to 180,-90 to 90]

", "smithy.api#length": { "min": 1, "max": 350 @@ -1127,43 +1216,43 @@ "TravelMode": { "target": "com.amazonaws.location#TravelMode", "traits": { - "smithy.api#documentation": "

Specifies the mode of transport when calculating a route. Used in estimating the speed\n of travel and road compatibility.

\n

The TravelMode you specify also determines how you specify route\n preferences:

\n
    \n
  • \n

    If traveling by Car use the CarModeOptions\n parameter.

    \n
  • \n
  • \n

    If traveling by Truck use the TruckModeOptions\n parameter.

    \n
  • \n
\n \n

\n Bicycle or Motorcycle are only valid when using\n Grab as a data provider, and only within Southeast Asia.

\n

\n Truck is not available for Grab.

\n

For more information about using Grab as a data provider, see GrabMaps in the Amazon Location Service Developer Guide.

\n
\n

Default Value: Car\n

" + "smithy.api#documentation": "

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility.

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Bicycle or Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more information about using Grab as a data provider, see GrabMaps in the Amazon Location Service Developer Guide.

Default Value: Car

" } }, "DepartureTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specifies the desired time of departure. Uses the given time to calculate the route\n matrix. You can't set both DepartureTime and DepartNow. If\n neither is set, the best time of day to travel with the best traffic conditions is used\n to calculate the route matrix.

\n \n

Setting a departure time in the past returns a 400\n ValidationException error.

\n
\n
    \n
  • \n

    In ISO\n 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example,\n 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
" + "smithy.api#documentation": "

Specifies the desired time of departure. Uses the given time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

Setting a departure time in the past returns a 400 ValidationException error.

  • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

" } }, "DepartNow": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Sets the time of departure as the current time. Uses the current time to calculate the\n route matrix. You can't set both DepartureTime and DepartNow.\n If neither is set, the best time of day to travel with the best traffic conditions is\n used to calculate the route matrix.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Sets the time of departure as the current time. Uses the current time to calculate the route matrix. You can't set both DepartureTime and DepartNow. If neither is set, the best time of day to travel with the best traffic conditions is used to calculate the route matrix.

Default Value: false

Valid Values: false | true

" } }, "DistanceUnit": { "target": "com.amazonaws.location#DistanceUnit", "traits": { - "smithy.api#documentation": "

Set the unit system to specify the distance.

\n

Default Value: Kilometers\n

" + "smithy.api#documentation": "

Set the unit system to specify the distance.

Default Value: Kilometers

" } }, "CarModeOptions": { "target": "com.amazonaws.location#CalculateRouteCarModeOptions", "traits": { - "smithy.api#documentation": "

Specifies route preferences when traveling by Car, such as avoiding\n routes that use ferries or tolls.

\n

Requirements: TravelMode must be specified as Car.

" + "smithy.api#documentation": "

Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car.

" } }, "TruckModeOptions": { "target": "com.amazonaws.location#CalculateRouteTruckModeOptions", "traits": { - "smithy.api#documentation": "

Specifies route preferences when traveling by Truck, such as avoiding\n routes that use ferries or tolls, and truck specifications to consider when choosing an\n optimal road.

\n

Requirements: TravelMode must be specified as Truck.

" + "smithy.api#documentation": "

Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck.

" } }, "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -1175,14 +1264,14 @@ "RouteMatrix": { "target": "com.amazonaws.location#RouteMatrix", "traits": { - "smithy.api#documentation": "

The calculated route matrix containing the results for all pairs of\n DeparturePositions to DestinationPositions. Each row\n corresponds to one entry in DeparturePositions. Each entry in the row\n corresponds to the route from that entry in DeparturePositions to an entry\n in DestinationPositions.

", + "smithy.api#documentation": "

The calculated route matrix containing the results for all pairs of DeparturePositions to DestinationPositions. Each row corresponds to one entry in DeparturePositions. Each entry in the row corresponds to the route from that entry in DeparturePositions to an entry in DestinationPositions.

", "smithy.api#required": {} } }, "SnappedDeparturePositions": { "target": "com.amazonaws.location#PositionList", "traits": { - "smithy.api#documentation": "

For routes calculated using an Esri route calculator resource, departure positions are\n snapped to the closest road. For Esri route calculator resources, this returns the list\n of departure/origin positions used for calculation of the\n RouteMatrix.

", + "smithy.api#documentation": "

For routes calculated using an Esri route calculator resource, departure positions are snapped to the closest road. For Esri route calculator resources, this returns the list of departure/origin positions used for calculation of the RouteMatrix.

", "smithy.api#length": { "min": 1, "max": 350 @@ -1192,7 +1281,7 @@ "SnappedDestinationPositions": { "target": "com.amazonaws.location#PositionList", "traits": { - "smithy.api#documentation": "

The list of destination positions for the route matrix used for calculation of the\n RouteMatrix.

", + "smithy.api#documentation": "

The list of destination positions for the route matrix used for calculation of the RouteMatrix.

", "smithy.api#length": { "min": 1, "max": 350 @@ -1202,7 +1291,7 @@ "Summary": { "target": "com.amazonaws.location#CalculateRouteMatrixSummary", "traits": { - "smithy.api#documentation": "

Contains information about the route matrix, DataSource,\n DistanceUnit, RouteCount and\n ErrorCount.

", + "smithy.api#documentation": "

Contains information about the route matrix, DataSource, DistanceUnit, RouteCount and ErrorCount.

", "smithy.api#required": {} } } @@ -1217,14 +1306,14 @@ "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The data provider of traffic and road network data used to calculate the routes.\n Indicates one of the available providers:

\n
    \n
  • \n

    \n Esri\n

    \n
  • \n
  • \n

    \n Grab\n

    \n
  • \n
  • \n

    \n Here\n

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data\n providers.

", + "smithy.api#documentation": "

The data provider of traffic and road network data used to calculate the routes. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, "RouteCount": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The count of cells in the route matrix. Equal to the number of\n DeparturePositions multiplied by the number of\n DestinationPositions.

", + "smithy.api#documentation": "

The count of cells in the route matrix. Equal to the number of DeparturePositions multiplied by the number of DestinationPositions.

", "smithy.api#range": { "min": 1, "max": 160000 @@ -1235,7 +1324,7 @@ "ErrorCount": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The count of error results in the route matrix. If this number is 0, all routes were\n calculated successfully.

", + "smithy.api#documentation": "

The count of error results in the route matrix. If this number is 0, all routes were calculated successfully.

", "smithy.api#range": { "min": 1, "max": 160000 @@ -1261,7 +1350,7 @@ "CalculatorName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The name of the route calculator resource that you want to use to calculate the route.\n

", + "smithy.api#documentation": "

The name of the route calculator resource that you want to use to calculate the route.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1269,21 +1358,21 @@ "DeparturePosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The start position for the route. Defined in World Geodetic\n System (WGS 84) format:\n [longitude, latitude].

\n
    \n
  • \n

    For example, [-123.115, 49.285]\n

    \n
  • \n
\n \n

If you specify a departure that's not located on a road, Amazon Location moves the position\n to the nearest road. If Esri is the provider for your route calculator,\n specifying a route that is longer than 400 km returns a 400\n RoutesValidationException error.

\n
\n

Valid Values: [-180 to 180,-90 to 90]\n

", + "smithy.api#documentation": "

The start position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

  • For example, [-123.115, 49.285]

If you specify a departure that's not located on a road, Amazon Location moves the position to the nearest road. If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

", "smithy.api#required": {} } }, "DestinationPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The finish position for the route. Defined in World Geodetic\n System (WGS 84) format:\n [longitude, latitude].

\n
    \n
  • \n

    For example, [-122.339, 47.615]\n

    \n
  • \n
\n \n

If you specify a destination that's not located on a road, Amazon Location moves the position\n to the nearest road.

\n
\n

Valid Values: [-180 to 180,-90 to 90]\n

", + "smithy.api#documentation": "

The finish position for the route. Defined in World Geodetic System (WGS 84) format: [longitude, latitude].

  • For example, [-122.339, 47.615]

If you specify a destination that's not located on a road, Amazon Location moves the position to the nearest road.

Valid Values: [-180 to 180,-90 to 90]

", "smithy.api#required": {} } }, "WaypointPositions": { "target": "com.amazonaws.location#WaypointPositionList", "traits": { - "smithy.api#documentation": "

Specifies an ordered list of up to 23 intermediate positions to include along a route\n between the departure position and destination position.

\n
    \n
  • \n

    For example, from the DeparturePosition\n [-123.115, 49.285], the route follows the order that the waypoint\n positions are given [[-122.757, 49.0021],[-122.349, 47.620]]\n

    \n
  • \n
\n \n

If you specify a waypoint position that's not located on a road, Amazon Location moves the position\n to the nearest road.

\n

Specifying more than 23 waypoints returns a 400 ValidationException\n error.

\n

If Esri is the provider for your route calculator, specifying a route that is\n longer than 400 km returns a 400 RoutesValidationException\n error.

\n
\n

Valid Values: [-180 to 180,-90 to 90]\n

", + "smithy.api#documentation": "

Specifies an ordered list of up to 23 intermediate positions to include along a route between the departure position and destination position.

  • For example, from the DeparturePosition [-123.115, 49.285], the route follows the order that the waypoint positions are given [[-122.757, 49.0021],[-122.349, 47.620]]

If you specify a waypoint position that's not located on a road, Amazon Location moves the position to the nearest road.

Specifying more than 23 waypoints returns a 400 ValidationException error.

If Esri is the provider for your route calculator, specifying a route that is longer than 400 km returns a 400 RoutesValidationException error.

Valid Values: [-180 to 180,-90 to 90]

", "smithy.api#length": { "max": 23 } @@ -1292,49 +1381,49 @@ "TravelMode": { "target": "com.amazonaws.location#TravelMode", "traits": { - "smithy.api#documentation": "

Specifies the mode of transport when calculating a route. Used in estimating the speed\n of travel and road compatibility. You can choose Car, Truck, \n Walking, Bicycle or Motorcycle as options for \n the TravelMode.

\n \n

\n Bicycle and Motorcycle are only valid when using Grab as\n a data provider, and only within Southeast Asia.

\n

\n Truck is not available for Grab.

\n

For more details on the using Grab for routing, including areas of coverage, see\n GrabMaps in the Amazon Location Service Developer Guide.

\n
\n

The TravelMode you specify also determines how you specify route\n preferences:

\n
    \n
  • \n

    If traveling by Car use the CarModeOptions\n parameter.

    \n
  • \n
  • \n

    If traveling by Truck use the TruckModeOptions\n parameter.

    \n
  • \n
\n

Default Value: Car\n

" + "smithy.api#documentation": "

Specifies the mode of transport when calculating a route. Used in estimating the speed of travel and road compatibility. You can choose Car, Truck, Walking, Bicycle or Motorcycle as options for the TravelMode.

Bicycle and Motorcycle are only valid when using Grab as a data provider, and only within Southeast Asia.

Truck is not available for Grab.

For more details on the using Grab for routing, including areas of coverage, see GrabMaps in the Amazon Location Service Developer Guide.

The TravelMode you specify also determines how you specify route preferences:

  • If traveling by Car use the CarModeOptions parameter.

  • If traveling by Truck use the TruckModeOptions parameter.

Default Value: Car

" } }, "DepartureTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specifies the desired time of departure. Uses the given time to calculate the route.\n Otherwise, the best time of day to travel with the best traffic conditions is used to\n calculate the route.

\n
    \n
  • \n

    In ISO\n 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example,\n 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
" + "smithy.api#documentation": "

Specifies the desired time of departure. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

  • In ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. For example, 2020–07-2T12:15:20.000Z+01:00

" } }, "DepartNow": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Sets the time of departure as the current time. Uses the current time to calculate a\n route. Otherwise, the best time of day to travel with the best traffic conditions is\n used to calculate the route.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Sets the time of departure as the current time. Uses the current time to calculate a route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

Default Value: false

Valid Values: false | true

" } }, "DistanceUnit": { "target": "com.amazonaws.location#DistanceUnit", "traits": { - "smithy.api#documentation": "

Set the unit system to specify the distance.

\n

Default Value: Kilometers\n

" + "smithy.api#documentation": "

Set the unit system to specify the distance.

Default Value: Kilometers

" } }, "IncludeLegGeometry": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Set to include the geometry details in the result for each path between a pair of\n positions.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Set to include the geometry details in the result for each path between a pair of positions.

Default Value: false

Valid Values: false | true

" } }, "CarModeOptions": { "target": "com.amazonaws.location#CalculateRouteCarModeOptions", "traits": { - "smithy.api#documentation": "

Specifies route preferences when traveling by Car, such as avoiding\n routes that use ferries or tolls.

\n

Requirements: TravelMode must be specified as Car.

" + "smithy.api#documentation": "

Specifies route preferences when traveling by Car, such as avoiding routes that use ferries or tolls.

Requirements: TravelMode must be specified as Car.

" } }, "TruckModeOptions": { "target": "com.amazonaws.location#CalculateRouteTruckModeOptions", "traits": { - "smithy.api#documentation": "

Specifies route preferences when traveling by Truck, such as avoiding\n routes that use ferries or tolls, and truck specifications to consider when choosing an\n optimal road.

\n

Requirements: TravelMode must be specified as Truck.

" + "smithy.api#documentation": "

Specifies route preferences when traveling by Truck, such as avoiding routes that use ferries or tolls, and truck specifications to consider when choosing an optimal road.

Requirements: TravelMode must be specified as Truck.

" } }, "ArrivalTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specifies the desired time of arrival. Uses the given time to calculate the route. \n Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

\n \n

ArrivalTime is not supported Esri.

\n
" + "smithy.api#documentation": "

Specifies the desired time of arrival. Uses the given time to calculate the route. Otherwise, the best time of day to travel with the best traffic conditions is used to calculate the route.

ArrivalTime is not supported Esri.

" } }, "OptimizeFor": { @@ -1346,7 +1435,7 @@ "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -1358,20 +1447,20 @@ "Legs": { "target": "com.amazonaws.location#LegList", "traits": { - "smithy.api#documentation": "

Contains details about each path between a pair of positions included along a route\n such as: StartPosition, EndPosition, Distance,\n DurationSeconds, Geometry, and Steps. The\n number of legs returned corresponds to one fewer than the total number of positions in\n the request.

\n

For example, a route with a departure position and destination position returns one\n leg with the positions snapped to a nearby\n road:

\n
    \n
  • \n

    The StartPosition is the departure position.

    \n
  • \n
  • \n

    The EndPosition is the destination position.

    \n
  • \n
\n

A route with a waypoint between the departure and destination position returns two\n legs with the positions snapped to a nearby road:

\n
    \n
  • \n

    Leg 1: The StartPosition is the departure position . The\n EndPosition is the waypoint positon.

    \n
  • \n
  • \n

    Leg 2: The StartPosition is the waypoint position. The\n EndPosition is the destination position.

    \n
  • \n
", + "smithy.api#documentation": "

Contains details about each path between a pair of positions included along a route such as: StartPosition, EndPosition, Distance, DurationSeconds, Geometry, and Steps. The number of legs returned corresponds to one fewer than the total number of positions in the request.

For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road:

  • The StartPosition is the departure position.

  • The EndPosition is the destination position.

A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road:

  • Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon.

  • Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.

", "smithy.api#required": {} } }, "Summary": { "target": "com.amazonaws.location#CalculateRouteSummary", "traits": { - "smithy.api#documentation": "

Contains information about the whole route, such as: RouteBBox,\n DataSource, Distance, DistanceUnit, and\n DurationSeconds.

", + "smithy.api#documentation": "

Contains information about the whole route, such as: RouteBBox, DataSource, Distance, DistanceUnit, and DurationSeconds.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Returns the result of the route calculation. Metadata includes legs and route\n summary.

" + "smithy.api#documentation": "

Returns the result of the route calculation. Metadata includes legs and route summary.

" } }, "com.amazonaws.location#CalculateRouteSummary": { @@ -1380,21 +1469,21 @@ "RouteBBox": { "target": "com.amazonaws.location#BoundingBox", "traits": { - "smithy.api#documentation": "

Specifies a geographical box surrounding a route. Used to zoom into a route when\n displaying it in a map. For example, [min x, min y, max x, max y].

\n

The first 2 bbox parameters describe the lower southwest corner:

\n
    \n
  • \n

    The first bbox position is the X coordinate or longitude of the\n lower southwest corner.

    \n
  • \n
  • \n

    The second bbox position is the Y coordinate or latitude of the\n lower southwest corner.

    \n
  • \n
\n

The next 2 bbox parameters describe the upper northeast corner:

\n
    \n
  • \n

    The third bbox position is the X coordinate, or longitude of the\n upper northeast corner.

    \n
  • \n
  • \n

    The fourth bbox position is the Y coordinate, or latitude of the\n upper northeast corner.

    \n
  • \n
", + "smithy.api#documentation": "

Specifies a geographical box surrounding a route. Used to zoom into a route when displaying it in a map. For example, [min x, min y, max x, max y].

The first 2 bbox parameters describe the lower southwest corner:

  • The first bbox position is the X coordinate or longitude of the lower southwest corner.

  • The second bbox position is the Y coordinate or latitude of the lower southwest corner.

The next 2 bbox parameters describe the upper northeast corner:

  • The third bbox position is the X coordinate, or longitude of the upper northeast corner.

  • The fourth bbox position is the Y coordinate, or latitude of the upper northeast corner.

", "smithy.api#required": {} } }, "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The data provider of traffic and road network data used to calculate the route.\n Indicates one of the available providers:

\n
    \n
  • \n

    \n Esri\n

    \n
  • \n
  • \n

    \n Grab\n

    \n
  • \n
  • \n

    \n Here\n

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The data provider of traffic and road network data used to calculate the route. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, "Distance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The total distance covered by the route. The sum of the distance travelled between\n every stop on the route.

\n \n

If Esri is the data source for the route calculator, the route distance can’t be\n greater than 400 km. If the route exceeds 400 km, the response is a 400\n RoutesValidationException error.

\n
", + "smithy.api#documentation": "

The total distance covered by the route. The sum of the distance travelled between every stop on the route.

If Esri is the data source for the route calculator, the route distance can’t be greater than 400 km. If the route exceeds 400 km, the response is a 400 RoutesValidationException error.

", "smithy.api#range": { "min": 0 }, @@ -1402,9 +1491,9 @@ } }, "DurationSeconds": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The total travel time for the route measured in seconds. The sum of the travel time\n between every stop on the\n route.

", + "smithy.api#documentation": "

The total travel time for the route measured in seconds. The sum of the travel time between every stop on the route.

", "smithy.api#range": { "min": 0 }, @@ -1427,32 +1516,32 @@ "type": "structure", "members": { "AvoidFerries": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Avoids ferries when calculating routes.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Avoids ferries when calculating routes.

Default Value: false

Valid Values: false | true

" } }, "AvoidTolls": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

Avoids tolls when calculating routes.

\n

Default Value: false\n

\n

Valid Values: false | true\n

" + "smithy.api#documentation": "

Avoids tolls when calculating routes.

Default Value: false

Valid Values: false | true

" } }, "Dimensions": { "target": "com.amazonaws.location#TruckDimensions", "traits": { - "smithy.api#documentation": "

Specifies the truck's dimension specifications including length, height, width, and\n unit of measurement. Used to avoid roads that can't support the truck's\n dimensions.

" + "smithy.api#documentation": "

Specifies the truck's dimension specifications including length, height, width, and unit of measurement. Used to avoid roads that can't support the truck's dimensions.

" } }, "Weight": { "target": "com.amazonaws.location#TruckWeight", "traits": { - "smithy.api#documentation": "

Specifies the truck's weight specifications including total weight and unit of\n measurement. Used to avoid roads that can't support the truck's weight.

" + "smithy.api#documentation": "

Specifies the truck's weight specifications including total weight and unit of measurement. Used to avoid roads that can't support the truck's weight.

" } } }, "traits": { - "smithy.api#documentation": "

Contains details about additional route preferences for requests that specify\n TravelMode as Truck.

" + "smithy.api#documentation": "

Contains details about additional route preferences for requests that specify TravelMode as Truck.

" } }, "com.amazonaws.location#CellSignals": { @@ -1480,14 +1569,14 @@ "Center": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

A single point geometry, specifying the center of the circle, using WGS 84\n coordinates, in the form [longitude, latitude].

", + "smithy.api#documentation": "

A single point geometry, specifying the center of the circle, using WGS 84 coordinates, in the form [longitude, latitude].

", "smithy.api#required": {} } }, "Radius": { "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The radius of the circle in meters. Must be greater than zero and no \n larger than 100,000 (100 kilometers).

", + "smithy.api#documentation": "

The radius of the circle in meters. Must be greater than zero and no larger than 100,000 (100 kilometers).

", "smithy.api#required": {} } } @@ -1595,7 +1684,7 @@ "CollectionName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

A custom name for the geofence collection.

\n

Requirements:

\n
    \n
  • \n

    Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods\n (.), and underscores (_).

    \n
  • \n
  • \n

    Must be a unique geofence collection name.

    \n
  • \n
  • \n

    No spaces allowed. For example, ExampleGeofenceCollection.

    \n
  • \n
", + "smithy.api#documentation": "

A custom name for the geofence collection.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique geofence collection name.

  • No spaces allowed. For example, ExampleGeofenceCollection.

", "smithy.api#required": {} } }, @@ -1606,7 +1695,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is\n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "PricingPlanDataSource": { @@ -1628,14 +1717,14 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to the geofence collection. A tag is a key-value pair helps\n manage, identify, search, and filter your resources by labelling them.

\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource

    \n
  • \n
  • \n

    Each resource tag must be unique with a maximum of one value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters:\n + - = . _ : / @.

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
" + "smithy.api#documentation": "

Applies one or more tags to the geofence collection. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \"aws:\" as a prefix for a key.

" } }, "KmsKeyId": { "target": "com.amazonaws.location#KmsKeyId", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

A key identifier for an Amazon Web Services KMS customer\n managed key. Enter a key ID, key ARN, alias name, or alias ARN.

" + "smithy.api#documentation": "

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

" } } } @@ -1653,14 +1742,14 @@ "CollectionArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you\n need to specify a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence collection was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } } @@ -1696,7 +1785,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Creates an API key resource in your Amazon Web Services account, which lets you grant\n actions for Amazon Location resources to the API key bearer.

\n \n

For more information, see Using API keys.

\n
", + "smithy.api#documentation": "

Creates an API key resource in your Amazon Web Services account, which lets you grant actions for Amazon Location resources to the API key bearer.

For more information, see Use API keys to authenticate in the Amazon Location Service Developer Guide.

", "smithy.api#endpoint": { "hostPrefix": "cp.metadata." }, @@ -1713,7 +1802,7 @@ "KeyName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

A custom name for the API key resource.

\n

Requirements:

\n
    \n
  • \n

    Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods\n (.), and underscores (_).

    \n
  • \n
  • \n

    Must be a unique API key name.

    \n
  • \n
  • \n

    No spaces allowed. For example, ExampleAPIKey.

    \n
  • \n
", + "smithy.api#documentation": "

A custom name for the API key resource.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique API key name.

  • No spaces allowed. For example, ExampleAPIKey.

", "smithy.api#required": {} } }, @@ -1733,19 +1822,19 @@ "ExpireTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The optional timestamp for when the API key resource will expire in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ. One of NoExpiry or\n ExpireTime must be set.

" + "smithy.api#documentation": "

The optional timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. One of NoExpiry or ExpireTime must be set.

" } }, "NoExpiry": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Optionally set to true to set no expiration time for the API key. One of\n NoExpiry or ExpireTime must be set.

" + "smithy.api#documentation": "

Optionally set to true to set no expiration time for the API key. One of NoExpiry or ExpireTime must be set.

" } }, "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to the map resource. A tag is a key-value pair that helps\n manage, identify, search, and filter your resources by labelling them.

\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource

    \n
  • \n
  • \n

    Each resource tag must be unique with a maximum of one value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters:\n + - = . _ : / @.

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
" + "smithy.api#documentation": "

Applies one or more tags to the map resource. A tag is a key-value pair that helps manage, identify, search, and filter your resources by labelling them.

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \"aws:\" as a prefix for a key.

" } } } @@ -1756,14 +1845,14 @@ "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The key value/string of an API key. This value is used when making API calls to\n authorize the call. For example, see GetMapGlyphs.

", + "smithy.api#documentation": "

The key value/string of an API key. This value is used when making API calls to authorize the call. For example, see GetMapGlyphs.

", "smithy.api#required": {} } }, "KeyArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify\n a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:key/ExampleKey\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:key/ExampleKey

", "smithy.api#required": {} } }, @@ -1777,7 +1866,7 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the API key resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -1812,7 +1901,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a map resource in your Amazon Web Services account, which provides map tiles of different\n styles sourced from global location data providers.

\n \n

If your application is tracking or routing assets you use in your business, such \n as delivery vehicles or employees, you must not use Esri as your geolocation \n provider. See section 82 of the Amazon Web Services\n service terms for more details.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data.

  • CreateMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Maps API version 2 has a simplified interface that can be used without creating or managing map resources.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Creates a map resource in your Amazon Web Services account, which provides map tiles of different styles sourced from global location data providers.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

", "smithy.api#endpoint": { "hostPrefix": "cp.maps." }, @@ -1830,7 +1919,7 @@ "target": "com.amazonaws.location#ResourceName", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

The name for the map resource.

\n

Requirements:

\n
    \n
  • \n

    Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

    \n
  • \n
  • \n

    Must be a unique map resource name.

    \n
  • \n
  • \n

    No spaces allowed. For example, ExampleMap.

    \n
  • \n
", + "smithy.api#documentation": "

The name for the map resource.

Requirements:

  • Must contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique map resource name.

  • No spaces allowed. For example, ExampleMap.

", "smithy.api#required": {} } }, @@ -1838,7 +1927,7 @@ "target": "com.amazonaws.location#MapConfiguration", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

Specifies the MapConfiguration, including the map style, for the \n map resource that you create. The map style defines the look of maps and the data \n provider for your map resource.

", + "smithy.api#documentation": "

Specifies the MapConfiguration, including the map style, for the map resource that you create. The map style defines the look of maps and the data provider for your map resource.

", "smithy.api#required": {} } }, @@ -1849,7 +1938,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is \n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "Description": { @@ -1861,7 +1950,7 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to the map resource. A tag is a key-value pair helps manage,\n identify, search, and filter your resources by labelling them.

\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource

    \n
  • \n
  • \n

    Each resource tag must be unique with a maximum of one value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : /\n @.

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
" + "smithy.api#documentation": "

Applies one or more tags to the map resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \"aws:\" as a prefix for a key.

" } } } @@ -1879,14 +1968,14 @@ "MapArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the map resource. Used to specify a resource across\n all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:map/ExampleMap\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the map resource. Used to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the map resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -1921,7 +2010,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a place index resource in your Amazon Web Services account. Use a place index resource to\n geocode addresses and other text queries by using the\n SearchPlaceIndexForText operation, and reverse geocode coordinates by\n using the SearchPlaceIndexForPosition operation, and enable autosuggestions\n by using the SearchPlaceIndexForSuggestions operation.

\n \n

If your application is tracking or routing assets you use in your business, such \n as delivery vehicles or employees, you must not use Esri as your geolocation \n provider. See section 82 of the Amazon Web Services\n service terms for more details.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data.

  • CreatePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Places API version 2 has a simplified interface that can be used without creating or managing place index resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Places V2 API Reference or the Developer Guide.

Creates a place index resource in your Amazon Web Services 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 enable autosuggestions by using the SearchPlaceIndexForSuggestions operation.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

", "smithy.api#endpoint": { "hostPrefix": "cp.places." }, @@ -1938,7 +2027,7 @@ "IndexName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The name of the place index resource.

\n

Requirements:

\n
    \n
  • \n

    Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods\n (.), and underscores (_).

    \n
  • \n
  • \n

    Must be a unique place index resource name.

    \n
  • \n
  • \n

    No spaces allowed. For example, ExamplePlaceIndex.

    \n
  • \n
", + "smithy.api#documentation": "

The name of the place index resource.

Requirements:

  • Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).

  • Must be a unique place index resource name.

  • No spaces allowed. For example, ExamplePlaceIndex.

", "smithy.api#required": {} } }, @@ -1946,7 +2035,7 @@ "target": "smithy.api#String", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

Specifies the geospatial data provider for the new place index.

\n \n

This field is case-sensitive. Enter the valid values as shown. For example,\n entering HERE returns an error.

\n
\n

Valid values include:

\n \n

For additional information , see Data\n providers on the Amazon Location Service developer guide.

", + "smithy.api#documentation": "

Specifies the geospatial data provider for the new place index.

This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

Valid values include:

For additional information , see Data providers on the Amazon Location Service developer guide.

", "smithy.api#required": {} } }, @@ -1957,7 +2046,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is\n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "Description": { @@ -1975,7 +2064,7 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to the place index resource. A tag is a key-value pair that\n helps you manage, identify, search, and filter your resources.

\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource.

    \n
  • \n
  • \n

    Each tag key must be unique and must have exactly one associated value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8.

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8.

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters:\n + - = . _ : / @

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
" + "smithy.api#documentation": "

Applies one or more tags to the place index resource. A tag is a key-value pair that helps you manage, identify, search, and filter your resources.

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource.

  • Each tag key must be unique and must have exactly one associated value.

  • Maximum key length: 128 Unicode characters in UTF-8.

  • Maximum value length: 256 Unicode characters in UTF-8.

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @

  • Cannot use \"aws:\" as a prefix for a key.

" } } } @@ -1993,14 +2082,14 @@ "IndexArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the place index resource. Used to specify a\n resource across Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the place index resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -2035,7 +2124,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a route calculator resource in your Amazon Web Services account.

\n

You can send requests to a route calculator resource to estimate travel time,\n distance, and get directions. A route calculator sources traffic and road network data\n from your chosen data provider.

\n \n

If your application is tracking or routing assets you use in your business, such \n as delivery vehicles or employees, you must not use Esri as your geolocation \n provider. See section 82 of the Amazon Web Services\n service terms for more details.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data.

  • CreateRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Routes V2 API Reference or the Developer Guide.

Creates a route calculator resource in your Amazon Web Services account.

You can send requests to a route calculator resource to estimate travel time, distance, and get directions. A route calculator sources traffic and road network data from your chosen data provider.

If your application is tracking or routing assets you use in your business, such as delivery vehicles or employees, you must not use Esri as your geolocation provider. See section 82 of the Amazon Web Services service terms for more details.

", "smithy.api#endpoint": { "hostPrefix": "cp.routes." }, @@ -2052,7 +2141,7 @@ "CalculatorName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The name of the route calculator resource.

\n

Requirements:

\n
    \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-), periods (.),\n and underscores (_).

    \n
  • \n
  • \n

    Must be a unique Route calculator resource name.

    \n
  • \n
  • \n

    No spaces allowed. For example, ExampleRouteCalculator.

    \n
  • \n
", + "smithy.api#documentation": "

The name of the route calculator resource.

Requirements:

  • Can use alphanumeric characters (A–Z, a–z, 0–9) , hyphens (-), periods (.), and underscores (_).

  • Must be a unique Route calculator resource name.

  • No spaces allowed. For example, ExampleRouteCalculator.

", "smithy.api#required": {} } }, @@ -2060,7 +2149,7 @@ "target": "smithy.api#String", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

Specifies the data provider of traffic and road network data.

\n \n

This field is case-sensitive. Enter the valid values as shown. For example,\n entering HERE returns an error.

\n
\n

Valid values include:

\n \n

For additional information , see Data\n providers on the Amazon Location Service Developer Guide.

", + "smithy.api#documentation": "

Specifies the data provider of traffic and road network data.

This field is case-sensitive. Enter the valid values as shown. For example, entering HERE returns an error.

Valid values include:

For additional information , see Data providers on the Amazon Location Service Developer Guide.

", "smithy.api#required": {} } }, @@ -2071,7 +2160,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is\n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "Description": { @@ -2083,7 +2172,7 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to the route calculator resource. A tag is a key-value pair\n helps manage, identify, search, and filter your resources by labelling them.

\n
    \n
  • \n

    For example: { \"tag1\" : \"value1\", \"tag2\" :\n \"value2\"}

    \n
  • \n
\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource

    \n
  • \n
  • \n

    Each resource tag must be unique with a maximum of one value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters:\n + - = . _ : / @.

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
" + "smithy.api#documentation": "

Applies one or more tags to the route calculator resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

  • For example: { \"tag1\" : \"value1\", \"tag2\" : \"value2\"}

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \"aws:\" as a prefix for a key.

" } } } @@ -2094,21 +2183,21 @@ "CalculatorName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The name of the route calculator resource.

\n
    \n
  • \n

    For example, ExampleRouteCalculator.

    \n
  • \n
", + "smithy.api#documentation": "

The name of the route calculator resource.

  • For example, ExampleRouteCalculator.

", "smithy.api#required": {} } }, "CalculatorArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the route calculator resource. Use the ARN when you\n specify a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:route-calculator/ExampleCalculator\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the route calculator resource. Use the ARN when you specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the route calculator resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

\n
    \n
  • \n

    For example, 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
", + "smithy.api#documentation": "

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

", "smithy.api#required": {} } } @@ -2144,7 +2233,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Creates a tracker resource in your Amazon Web Services account, which lets you retrieve current and\n historical location of devices.

", + "smithy.api#documentation": "

Creates a tracker resource in your Amazon Web Services account, which lets you retrieve current and historical location of devices.

", "smithy.api#endpoint": { "hostPrefix": "cp.tracking." }, @@ -2161,7 +2250,7 @@ "TrackerName": { "target": "com.amazonaws.location#ResourceName", "traits": { - "smithy.api#documentation": "

The name for the tracker resource.

\n

Requirements:

\n
    \n
  • \n

    Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).

    \n
  • \n
  • \n

    Must be a unique tracker resource name.

    \n
  • \n
  • \n

    No spaces allowed. For example, ExampleTracker.

    \n
  • \n
", + "smithy.api#documentation": "

The name for the tracker resource.

Requirements:

  • Contain only alphanumeric characters (A-Z, a-z, 0-9) , hyphens (-), periods (.), and underscores (_).

  • Must be a unique tracker resource name.

  • No spaces allowed. For example, ExampleTracker.

", "smithy.api#required": {} } }, @@ -2172,14 +2261,14 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is \n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "KmsKeyId": { "target": "com.amazonaws.location#KmsKeyId", "traits": { "aws.cloudformation#cfnMutability": "create-and-read", - "smithy.api#documentation": "

A key identifier for an \n Amazon Web Services \n KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

" + "smithy.api#documentation": "

A key identifier for an Amazon Web Services KMS customer managed key. Enter a key ID, key ARN, alias name, or alias ARN.

" } }, "PricingPlanDataSource": { @@ -2201,25 +2290,25 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to the tracker resource. A tag is a key-value pair helps\n manage, identify, search, and filter your resources by labelling them.

\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource

    \n
  • \n
  • \n

    Each resource tag must be unique with a maximum of one value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters:\n + - = . _ : / @.

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
" + "smithy.api#documentation": "

Applies one or more tags to the tracker resource. A tag is a key-value pair helps manage, identify, search, and filter your resources by labelling them.

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource

  • Each resource tag must be unique with a maximum of one value.

  • Maximum key length: 128 Unicode characters in UTF-8

  • Maximum value length: 256 Unicode characters in UTF-8

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.

  • Cannot use \"aws:\" as a prefix for a key.

" } }, "PositionFiltering": { "target": "com.amazonaws.location#PositionFiltering", "traits": { - "smithy.api#documentation": "

Specifies the position filtering for the tracker resource.

\n

Valid values:

\n
    \n
  • \n

    \n TimeBased - Location updates are evaluated against linked geofence collections, \n but not every location update is stored. If your update frequency is more often than 30 seconds, \n only one update per 30 seconds is stored for each unique device ID.\n

    \n
  • \n
  • \n

    \n DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are \n ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored.\n This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through.\n Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.\n

    \n
  • \n
  • \n

    \n AccuracyBased - If the device has moved less than the measured accuracy,\n location updates are ignored. For example, if two consecutive updates from a device\n have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device\n has moved less than 15 m. Ignored location updates are neither evaluated against\n linked geofence collections, nor stored. This can reduce the effects of GPS noise\n when displaying device trajectories on a map, and can help control your costs by reducing the\n number of geofence evaluations.\n

    \n
  • \n
\n

This field is optional. If not specified, the default value is TimeBased.

" + "smithy.api#documentation": "

Specifies the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

  • DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are ignored. Location updates within this area are neither evaluated against linked geofence collections, nor stored. 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 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.

" } }, "EventBridgeEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Whether to enable position UPDATE events from this tracker to be sent to \n EventBridge.

\n \n

You do not need enable this feature to get ENTER and \n EXIT events for geofences with this tracker. Those events are\n always sent to EventBridge.

\n
" + "smithy.api#documentation": "

Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

" } }, "KmsKeyEnableGeospatialQueries": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Enables GeospatialQueries for a tracker that uses a Amazon Web Services\n KMS customer managed key.

\n

This parameter is only used if you are using a KMS customer managed key.

\n \n

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. \n This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

\n

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to \n true when creating or updating a Tracker.

\n
" + "smithy.api#documentation": "

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

" } } } @@ -2237,14 +2326,14 @@ "TrackerArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify\n a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:tracker/ExampleTracker\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -2277,12 +2366,12 @@ "IntendedUse": { "target": "com.amazonaws.location#IntendedUse", "traits": { - "smithy.api#documentation": "

Specifies how the results of an operation will be stored by the caller.

\n

Valid values include:

\n
    \n
  • \n

    \n SingleUse specifies that the results won't be stored.

    \n
  • \n
  • \n

    \n Storage specifies that the result can be cached or stored in a\n database.

    \n
  • \n
\n

Default value: SingleUse\n

" + "smithy.api#documentation": "

Specifies how the results of an operation will be stored by the caller.

Valid values include:

  • SingleUse specifies that the results won't be stored.

  • Storage specifies that the result can be cached or stored in a database.

Default value: SingleUse

" } } }, "traits": { - "smithy.api#documentation": "

Specifies the data storage option chosen for requesting Places.

\n \n

When using Amazon Location Places:

\n
    \n
  • \n

    If using HERE Technologies as a data provider, you can't store results for\n locations in Japan by setting IntendedUse to\n Storage. parameter.

    \n
  • \n
  • \n

    Under the MobileAssetTracking or\n MobilAssetManagement pricing plan, you can't store results\n from your place index resources by setting IntendedUse to\n Storage. This returns a validation exception error.

    \n
  • \n
\n

For more information, see the AWS Service Terms for Amazon Location Service.

\n
" + "smithy.api#documentation": "

Specifies the data storage option chosen for requesting Places.

When using Amazon Location Places:

  • If using HERE Technologies as a data provider, you can't store results for locations in Japan by setting IntendedUse to Storage. parameter.

  • Under the MobileAssetTracking or MobilAssetManagement pricing plan, you can't store results from your place index resources by setting IntendedUse to Storage. This returns a validation exception error.

For more information, see the AWS Service Terms for Amazon Location Service.

" } }, "com.amazonaws.location#DeleteGeofenceCollection": { @@ -2312,7 +2401,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Deletes a geofence collection from your Amazon Web Services account.

\n \n

This operation deletes the resource permanently. If the geofence collection is the\n target of a tracker resource, the devices will no longer be monitored.

\n
", + "smithy.api#documentation": "

Deletes a geofence collection from your Amazon Web Services account.

This operation deletes the resource permanently. If the geofence collection is the target of a tracker resource, the devices will no longer be monitored.

", "smithy.api#endpoint": { "hostPrefix": "cp.geofencing." }, @@ -2367,7 +2456,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Deletes the specified API key. The API key must have been deactivated more than\n 90 days previously.

", + "smithy.api#documentation": "

Deletes the specified API key. The API key must have been deactivated more than 90 days previously.

For more information, see Use API keys to authenticate in the Amazon Location Service Developer Guide.

", "smithy.api#endpoint": { "hostPrefix": "cp.metadata." }, @@ -2392,7 +2481,7 @@ "ForceDelete": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

ForceDelete bypasses an API key's expiry conditions and deletes the key. Set the parameter true to delete the key or to false to not preemptively delete the API key.

\n

Valid values: true, or false.

\n

Required: No

\n \n

This action is irreversible. Only use ForceDelete if you are certain the key is no longer in use.

\n
", + "smithy.api#documentation": "

ForceDelete bypasses an API key's expiry conditions and deletes the key. Set the parameter true to delete the key or to false to not preemptively delete the API key.

Valid values: true, or false.

Required: No

This action is irreversible. Only use ForceDelete if you are certain the key is no longer in use.

", "smithy.api#httpQuery": "forceDelete" } } @@ -2428,7 +2517,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a map resource from your Amazon Web Services account.

\n \n

This operation deletes the resource permanently. If the map is being used in an application,\n the map may not render.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data.

  • DeleteMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Maps API version 2 has a simplified interface that can be used without creating or managing map resources.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Deletes a map resource from your Amazon Web Services account.

This operation deletes the resource permanently. If the map is being used in an application, the map may not render.

", "smithy.api#endpoint": { "hostPrefix": "cp.maps." }, @@ -2483,7 +2572,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a place index resource from your Amazon Web Services account.

\n \n

This operation deletes the resource permanently.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data.

  • DeletePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Places API version 2 has a simplified interface that can be used without creating or managing place index resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Places V2 API Reference or the Developer Guide.

Deletes a place index resource from your Amazon Web Services account.

This operation deletes the resource permanently.

", "smithy.api#endpoint": { "hostPrefix": "cp.places." }, @@ -2538,7 +2627,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a route calculator resource from your Amazon Web Services account.

\n \n

This operation deletes the resource permanently.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data.

  • DeleteRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Routes V2 API Reference or the Developer Guide.

Deletes a route calculator resource from your Amazon Web Services account.

This operation deletes the resource permanently.

", "smithy.api#endpoint": { "hostPrefix": "cp.routes." }, @@ -2594,7 +2683,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Deletes a tracker resource from your Amazon Web Services account.

\n \n

This operation deletes the resource permanently. If the tracker resource is in use, you may\n encounter an error. Make sure that the target resource isn't a dependency for your\n applications.

\n
", + "smithy.api#documentation": "

Deletes a tracker resource from your Amazon Web Services account.

This operation deletes the resource permanently. If the tracker resource is in use, you may encounter an error. Make sure that the target resource isn't a dependency for your applications.

", "smithy.api#endpoint": { "hostPrefix": "cp.tracking." }, @@ -2686,7 +2775,7 @@ "CollectionArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you\n need to specify a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

", "smithy.api#required": {} } }, @@ -2720,7 +2809,7 @@ "KmsKeyId": { "target": "com.amazonaws.location#KmsKeyId", "traits": { - "smithy.api#documentation": "

A key identifier for an Amazon Web Services KMS customer\n managed key assigned to the Amazon Location resource

" + "smithy.api#documentation": "

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource

" } }, "Tags": { @@ -2732,14 +2821,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence collection was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, @@ -2782,7 +2871,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Retrieves the API key resource details.

", + "smithy.api#documentation": "

Retrieves the API key resource details.

For more information, see Use API keys to authenticate in the Amazon Location Service Developer Guide.

", "smithy.api#endpoint": { "hostPrefix": "cp.metadata." }, @@ -2820,7 +2909,7 @@ "KeyArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify\n a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:key/ExampleKey\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:key/ExampleKey

", "smithy.api#required": {} } }, @@ -2840,21 +2929,21 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the API key resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the API key resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "ExpireTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the API key resource will expire in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the API key resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the API key resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, @@ -2898,7 +2987,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the map resource details.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data.

  • DescribeMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Maps API version 2 has a simplified interface that can be used without creating or managing map resources.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Retrieves the map resource details.

", "smithy.api#endpoint": { "hostPrefix": "cp.maps." }, @@ -2935,7 +3024,7 @@ "MapArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the map resource. Used to specify a resource across\n all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:map/ExampleMap\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the map resource. Used to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

", "smithy.api#required": {} } }, @@ -2980,14 +3069,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the map resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the map resource was last update in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the map resource was last update in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -3019,7 +3108,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the place index resource details.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data.

  • DescribePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Places API version 2 has a simplified interface that can be used without creating or managing place index resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Places V2 API Reference or the Developer Guide.

Retrieves the place index resource details.

", "smithy.api#endpoint": { "hostPrefix": "cp.places." }, @@ -3056,7 +3145,7 @@ "IndexArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the place index resource. Used to specify a\n resource across Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place-index/ExamplePlaceIndex

", "smithy.api#required": {} } }, @@ -3080,21 +3169,21 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the place index resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the place index resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The data provider of geospatial data. Values can be one of the following:

\n
    \n
  • \n

    \n Esri\n

    \n
  • \n
  • \n

    \n Grab\n

    \n
  • \n
  • \n

    \n Here\n

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The data provider of geospatial data. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, @@ -3139,7 +3228,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the route calculator resource details.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data.

  • DescribeRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Routes V2 API Reference or the Developer Guide.

Retrieves the route calculator resource details.

", "smithy.api#endpoint": { "hostPrefix": "cp.routes." }, @@ -3176,7 +3265,7 @@ "CalculatorArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you\n specify a resource across Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:route-calculator/ExampleCalculator\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Route calculator resource. Use the ARN when you specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:route-calculator/ExampleCalculator

", "smithy.api#required": {} } }, @@ -3200,21 +3289,21 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the route calculator resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

\n
    \n
  • \n

    For example, 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
", + "smithy.api#documentation": "

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the route calculator resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

\n
    \n
  • \n

    For example, 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
", + "smithy.api#documentation": "

The timestamp when the route calculator resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

", "smithy.api#required": {} } }, "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The data provider of traffic and road network data. Indicates one of the available\n providers:

\n
    \n
  • \n

    \n Esri\n

    \n
  • \n
  • \n

    \n Grab\n

    \n
  • \n
  • \n

    \n Here\n

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The data provider of traffic and road network data. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, @@ -3290,7 +3379,7 @@ "TrackerArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify\n a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:tracker/ExampleTracker\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

", "smithy.api#required": {} } }, @@ -3331,21 +3420,21 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "KmsKeyId": { "target": "com.amazonaws.location#KmsKeyId", "traits": { - "smithy.api#documentation": "

A key identifier for an Amazon Web Services\n KMS customer managed key assigned to the Amazon Location resource.

" + "smithy.api#documentation": "

A key identifier for an Amazon Web Services KMS customer managed key assigned to the Amazon Location resource.

" } }, "PositionFiltering": { @@ -3357,13 +3446,13 @@ "EventBridgeEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Whether UPDATE events from this tracker in EventBridge are\n enabled. If set to true these events will be sent to EventBridge.

" + "smithy.api#documentation": "

Whether UPDATE events from this tracker in EventBridge are enabled. If set to true these events will be sent to EventBridge.

" } }, "KmsKeyEnableGeospatialQueries": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Enables GeospatialQueries for a tracker that uses a Amazon Web Services\n KMS customer managed key.

\n

This parameter is only used if you are using a KMS customer managed key.

\n \n

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. \n This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

\n

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to \n true when creating or updating a Tracker.

\n
" + "smithy.api#documentation": "

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.

You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the KmsKeyEnableGeospatialQueries parameter to true when creating or updating a Tracker.

" } } } @@ -3386,14 +3475,14 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "ReceivedTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource received the device position in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, @@ -3440,14 +3529,14 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "Position": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The latest device position defined in WGS 84 format:\n [X or longitude, Y or latitude].

", + "smithy.api#documentation": "

The latest device position defined in WGS 84 format: [X or longitude, Y or latitude].

", "smithy.api#required": {} } }, @@ -3460,7 +3549,7 @@ "PositionProperties": { "target": "com.amazonaws.location#PositionPropertyMap", "traits": { - "smithy.api#documentation": "

Associates one of more properties with the position update. A property is a key-value\n pair stored with the position update and added to any geofence event the update may\n trigger.

\n

Format: \"key\" : \"value\"\n

" + "smithy.api#documentation": "

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\"

" } } }, @@ -3487,7 +3576,7 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 \n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, @@ -3565,7 +3654,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Removes the association between a tracker resource and a geofence collection.

\n \n

Once you unlink a tracker resource from a geofence collection, the tracker\n positions will no longer be automatically evaluated against geofences.

\n
", + "smithy.api#documentation": "

Removes the association between a tracker resource and a geofence collection.

Once you unlink a tracker resource from a geofence collection, the tracker positions will no longer be automatically evaluated against geofences.

", "smithy.api#endpoint": { "hostPrefix": "cp.tracking." }, @@ -3589,7 +3678,7 @@ "ConsumerArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection to be disassociated from\n the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the geofence collection to be disassociated from the tracker resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollectionConsumer

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -3672,7 +3761,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

This action forecasts future geofence events that are likely to occur within a\n specified time horizon if a device continues moving at its current speed. Each\n forecasted event is associated with a geofence from a provided geofence collection. A\n forecast event can have one of the following states:

\n

\n ENTER: The device position is outside the referenced geofence, but the\n device may cross into the geofence during the forecasting time horizon if it maintains\n its current speed.

\n

\n EXIT: The device position is inside the referenced geofence, but the\n device may leave the geofence during the forecasted time horizon if the device maintains\n it's current speed.

\n

\n IDLE:The device is inside the geofence, and it will remain inside the\n geofence through the end of the time horizon if the device maintains it's current\n speed.

\n \n

Heading direction is not considered in the current version. The API takes a\n conservative approach and includes events that can occur for any heading.

\n
", + "smithy.api#documentation": "

This action forecasts future geofence events that are likely to occur within a specified time horizon if a device continues moving at its current speed. Each forecasted event is associated with a geofence from a provided geofence collection. A forecast event can have one of the following states:

ENTER: The device position is outside the referenced geofence, but the device may cross into the geofence during the forecasting time horizon if it maintains its current speed.

EXIT: The device position is inside the referenced geofence, but the device may leave the geofence during the forecasted time horizon if the device maintains it's current speed.

IDLE:The device is inside the geofence, and it will remain inside the geofence through the end of the time horizon if the device maintains it's current speed.

Heading direction is not considered in the current version. The API takes a conservative approach and includes events that can occur for any heading.

", "smithy.api#endpoint": { "hostPrefix": "geofencing." }, @@ -3727,14 +3816,14 @@ "DeviceState": { "target": "com.amazonaws.location#ForecastGeofenceEventsDeviceState", "traits": { - "smithy.api#documentation": "

Represents the device's state, including its current position and speed. When speed is\n omitted, this API performs a containment check. The\n containment check operation returns IDLE events\n for geofences where the device is currently inside of, but no other events.

", + "smithy.api#documentation": "

Represents the device's state, including its current position and speed. When speed is omitted, this API performs a containment check. The containment check operation returns IDLE events for geofences where the device is currently inside of, but no other events.

", "smithy.api#required": {} } }, "TimeHorizonMinutes": { "target": "smithy.api#Double", "traits": { - "smithy.api#documentation": "

The forward-looking time window for forecasting, specified in minutes. The API only\n returns events that are predicted to occur within this time horizon. When no value is\n specified, this API performs a containment check. The\n containment check operation returns IDLE events\n for geofences where the device is currently inside of, but no other events.

", + "smithy.api#documentation": "

The forward-looking time window for forecasting, specified in minutes. The API only returns events that are predicted to occur within this time horizon. When no value is specified, this API performs a containment check. The containment check operation returns IDLE events for geofences where the device is currently inside of, but no other events.

", "smithy.api#range": { "min": 0 } @@ -3743,26 +3832,26 @@ "DistanceUnit": { "target": "com.amazonaws.location#DistanceUnit", "traits": { - "smithy.api#documentation": "

The distance unit used for the NearestDistance property returned in a\n forecasted event. The measurement system must match for DistanceUnit and\n SpeedUnit; if Kilometers is specified for\n DistanceUnit, then SpeedUnit must be\n KilometersPerHour.

\n

Default Value: Kilometers\n

" + "smithy.api#documentation": "

The distance unit used for the NearestDistance property returned in a forecasted event. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be KilometersPerHour.

Default Value: Kilometers

" } }, "SpeedUnit": { "target": "com.amazonaws.location#SpeedUnit", "traits": { - "smithy.api#documentation": "

The speed unit for the device captured by the device state. The measurement system\n must match for DistanceUnit and SpeedUnit; if\n Kilometers is specified for DistanceUnit, then\n SpeedUnit must be KilometersPerHour.

\n

Default Value: KilometersPerHour.

" + "smithy.api#documentation": "

The speed unit for the device captured by the device state. The measurement system must match for DistanceUnit and SpeedUnit; if Kilometers is specified for DistanceUnit, then SpeedUnit must be KilometersPerHour.

Default Value: KilometersPerHour.

" } }, "NextToken": { "target": "com.amazonaws.location#LargeToken", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } }, "MaxResults": { "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

\n

Default value: 20\n

", + "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

Default value: 20

", "smithy.api#range": { "min": 1, "max": 20 @@ -3787,7 +3876,7 @@ "NextToken": { "target": "com.amazonaws.location#LargeToken", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

" } }, "DistanceUnit": { @@ -3844,14 +3933,14 @@ "EventType": { "target": "com.amazonaws.location#ForecastedGeofenceEventType", "traits": { - "smithy.api#documentation": "

The event type, forecasting three states for which a device can be in relative to a\n geofence:

\n

\n ENTER: If a device is outside of a geofence, but would breach the fence\n if the device is moving at its current speed within time horizon window.

\n

\n EXIT: If a device is inside of a geofence, but would breach the fence if\n the device is moving at its current speed within time horizon window.

\n

\n IDLE: If a device is inside of a geofence, and the device is not\n moving.

", + "smithy.api#documentation": "

The event type, forecasting three states for which a device can be in relative to a geofence:

ENTER: If a device is outside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

EXIT: If a device is inside of a geofence, but would breach the fence if the device is moving at its current speed within time horizon window.

IDLE: If a device is inside of a geofence, and the device is not moving.

", "smithy.api#required": {} } }, "ForecastedBreachTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The forecasted time the device will breach the geofence in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

" + "smithy.api#documentation": "

The forecasted time the device will breach the geofence in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

" } }, "GeofenceProperties": { @@ -3862,7 +3951,7 @@ } }, "traits": { - "smithy.api#documentation": "

A forecasted event represents a geofence event in relation to the requested device\n state, that may occur given the provided device state and time horizon.

" + "smithy.api#documentation": "

A forecasted event represents a geofence event in relation to the requested device state, that may occur given the provided device state and time horizon.

" } }, "com.amazonaws.location#ForecastedEventsList": { @@ -4000,7 +4089,7 @@ "Polygon": { "target": "com.amazonaws.location#LinearRings", "traits": { - "smithy.api#documentation": "

A Polygon is a list of up to 250 linear rings which represent the shape\n of a geofence. This list must include 1 exterior ring (representing\n the outer perimeter of the geofence), and can optionally include up to 249 interior\n rings (representing polygonal spaces within the perimeter, which are excluded from the\n geofence area).

\n

A linear ring is an array of 4 or more vertices, where the first and last vertex are\n the same (to form a closed boundary). Each vertex is a 2-dimensional point represented\n as an array of doubles of length 2: [longitude, latitude].

\n

Each linear ring is represented as an array of arrays of doubles ([[longitude,\n latitude], [longitude, latitude], ...]). The vertices for the exterior ring\n must be listed in counter-clockwise sequence. Vertices for all\n interior rings must be listed in clockwise sequence.

\n

The list of linear rings that describe the entire Polygon is represented\n as an array of arrays of arrays of doubles ([[[longitude, latitude], [longitude,\n latitude], ...], [[longitude, latitude], [longitude, latitude], ...], ...]).\n The exterior ring must be listed first, before any interior rings.

\n \n

The following additional requirements and limitations apply to geometries defined\n using the Polygon parameter:

\n
    \n
  • \n

    The entire Polygon must consist of no more than 1,000\n vertices, including all vertices from the exterior ring and all interior\n rings.

    \n
  • \n
  • \n

    Rings must not touch or cross each other.

    \n
  • \n
  • \n

    All interior rings must be fully contained within the exterior\n ring.

    \n
  • \n
  • \n

    Interior rings must not contain other interior rings.

    \n
  • \n
  • \n

    No ring is permitted to intersect itself.

    \n
  • \n
\n
", + "smithy.api#documentation": "

A Polygon is a list of up to 250 linear rings which represent the shape of a geofence. This list must include 1 exterior ring (representing the outer perimeter of the geofence), and can optionally include up to 249 interior rings (representing polygonal spaces within the perimeter, which are excluded from the geofence area).

A linear ring is an array of 4 or more vertices, where the first and last vertex are the same (to form a closed boundary). Each vertex is a 2-dimensional point represented as an array of doubles of length 2: [longitude, latitude].

Each linear ring is represented as an array of arrays of doubles ([[longitude, latitude], [longitude, latitude], ...]). The vertices for the exterior ring must be listed in counter-clockwise sequence. Vertices for all interior rings must be listed in clockwise sequence.

The list of linear rings that describe the entire Polygon is represented as an array of arrays of arrays of doubles ([[[longitude, latitude], [longitude, latitude], ...], [[longitude, latitude], [longitude, latitude], ...], ...]). The exterior ring must be listed first, before any interior rings.

The following additional requirements and limitations apply to geometries defined using the Polygon parameter:

  • The entire Polygon must consist of no more than 1,000 vertices, including all vertices from the exterior ring and all interior rings.

  • Rings must not touch or cross each other.

  • All interior rings must be fully contained within the exterior ring.

  • Interior rings must not contain other interior rings.

  • No ring is permitted to intersect itself.

", "smithy.api#length": { "min": 1, "max": 250 @@ -4016,13 +4105,13 @@ "Geobuf": { "target": "com.amazonaws.location#Base64EncodedGeobuf", "traits": { - "smithy.api#documentation": "

Geobuf is a compact binary encoding for geographic data that provides lossless\n compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

\n

This parameter can contain a Geobuf-encoded GeoJSON geometry object of type\n Polygon\n OR\n MultiPolygon. For more information and specific configuration requirements\n for these object types, see Polygon and MultiPolygon.

\n \n

The following limitations apply specifically to geometries defined using the\n Geobuf parameter, and supercede the corresponding limitations of\n the Polygon and MultiPolygon parameters:

\n
    \n
  • \n

    A Polygon in Geobuf format can have up to 25,000\n rings and up to 100,000 total vertices, including all vertices from all\n component rings.

    \n
  • \n
  • \n

    A MultiPolygon in Geobuf format can contain up\n to 10,000 Polygons and up to 100,000 total vertices, including\n all vertices from all component Polygons.

    \n
  • \n
\n
" + "smithy.api#documentation": "

Geobuf is a compact binary encoding for geographic data that provides lossless compression of GeoJSON polygons. The Geobuf must be Base64-encoded.

This parameter can contain a Geobuf-encoded GeoJSON geometry object of type Polygon OR MultiPolygon. For more information and specific configuration requirements for these object types, see Polygon and MultiPolygon.

The following limitations apply specifically to geometries defined using the Geobuf parameter, and supercede the corresponding limitations of the Polygon and MultiPolygon parameters:

  • A Polygon in Geobuf format can have up to 25,000 rings and up to 100,000 total vertices, including all vertices from all component rings.

  • A MultiPolygon in Geobuf format can contain up to 10,000 Polygons and up to 100,000 total vertices, including all vertices from all component Polygons.

" } }, "MultiPolygon": { "target": "com.amazonaws.location#MultiLinearRings", "traits": { - "smithy.api#documentation": "

A MultiPolygon is a list of up to 250 Polygon elements which\n represent the shape of a geofence. The Polygon components of a\n MultiPolygon geometry can define separate geographical areas that are\n considered part of the same geofence, perimeters of larger exterior areas with smaller\n interior spaces that are excluded from the geofence, or some combination of these use\n cases to form complex geofence boundaries.

\n

For more information and specific configuration requirements for the\n Polygon components that form a MultiPolygon, see Polygon.

\n \n

The following additional requirements and limitations apply to geometries defined\n using the MultiPolygon parameter:

\n
    \n
  • \n

    The entire MultiPolygon must consist of no more than 1,000\n vertices, including all vertices from all component\n Polygons.

    \n
  • \n
  • \n

    Each edge of a component Polygon must intersect no more than\n 5 edges from other Polygons. Parallel edges that are shared but\n do not cross are not counted toward this limit.

    \n
  • \n
  • \n

    The total number of intersecting edges of component Polygons\n must be no more than 100,000. Parallel edges that are shared but do not\n cross are not counted toward this limit.

    \n
  • \n
\n
", + "smithy.api#documentation": "

A MultiPolygon is a list of up to 250 Polygon elements which represent the shape of a geofence. The Polygon components of a MultiPolygon geometry can define separate geographical areas that are considered part of the same geofence, perimeters of larger exterior areas with smaller interior spaces that are excluded from the geofence, or some combination of these use cases to form complex geofence boundaries.

For more information and specific configuration requirements for the Polygon components that form a MultiPolygon, see Polygon.

The following additional requirements and limitations apply to geometries defined using the MultiPolygon parameter:

  • The entire MultiPolygon must consist of no more than 1,000 vertices, including all vertices from all component Polygons.

  • Each edge of a component Polygon must intersect no more than 5 edges from other Polygons. Parallel edges that are shared but do not cross are not counted toward this limit.

  • The total number of intersecting edges of component Polygons must be no more than 100,000. Parallel edges that are shared but do not cross are not counted toward this limit.

", "smithy.api#length": { "min": 1, "max": 250 @@ -4031,7 +4120,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the geofence geometry details.

\n

A geofence geometry can be a circle, a polygon, or a multipolygon.\n Polygon and MultiPolygon geometries can be defined using\n their respective parameters, or encoded in Geobuf format using the Geobuf\n parameter. Including multiple geometry types in the same request will return a\n validation error.

\n \n

Amazon Location doesn't currently support polygons that cross the antimeridian.

\n
" + "smithy.api#documentation": "

Contains the geofence geometry details.

A geofence geometry can be a circle, a polygon, or a multipolygon. Polygon and MultiPolygon geometries can be defined using their respective parameters, or encoded in Geobuf format using the Geobuf parameter. Including multiple geometry types in the same request will return a validation error.

Amazon Location doesn't currently support polygons that cross the antimeridian.

" } }, "com.amazonaws.location#GetDevicePosition": { @@ -4061,7 +4150,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Retrieves a device's most recent position according to its sample time.

\n \n

Device positions are deleted after 30 days.

\n
", + "smithy.api#documentation": "

Retrieves a device's most recent position according to its sample time.

Device positions are deleted after 30 days.

", "smithy.api#endpoint": { "hostPrefix": "tracking." }, @@ -4099,7 +4188,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Retrieves the device position history from a tracker resource within a specified range\n of time.

\n \n

Device positions are deleted after 30 days.

\n
", + "smithy.api#documentation": "

Retrieves the device position history from a tracker resource within a specified range of time.

Device positions are deleted after 30 days.

", "smithy.api#endpoint": { "hostPrefix": "tracking." }, @@ -4138,26 +4227,26 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } }, "StartTimeInclusive": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specify the start time for the position history in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours\n prior to the time that the request is made.

\n

Requirement:

\n
    \n
  • \n

    The time specified for StartTimeInclusive must be before\n EndTimeExclusive.

    \n
  • \n
" + "smithy.api#documentation": "

Specify the start time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be 24 hours prior to the time that the request is made.

Requirement:

  • The time specified for StartTimeInclusive must be before EndTimeExclusive.

" } }, "EndTimeExclusive": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specify the end time for the position history in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time\n that the request is made.

\n

Requirement:

\n
    \n
  • \n

    The time specified for EndTimeExclusive must be after the time for\n StartTimeInclusive.

    \n
  • \n
" + "smithy.api#documentation": "

Specify the end time for the position history in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ. By default, the value will be the time that the request is made.

Requirement:

  • The time specified for EndTimeExclusive must be after the time for StartTimeInclusive.

" } }, "MaxResults": { "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of device positions returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of device positions returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -4179,7 +4268,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -4217,14 +4306,14 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 \n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "ReceivedTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource received the device position. Uses ISO 8601 \n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource received the device position. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, @@ -4276,7 +4365,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Retrieves the geofence details from a geofence collection.

\n \n

The returned geometry will always match the geometry format used when the geofence\n was created.

\n
", + "smithy.api#documentation": "

Retrieves the geofence details from a geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

", "smithy.api#endpoint": { "hostPrefix": "geofencing." }, @@ -4321,35 +4410,35 @@ "Geometry": { "target": "com.amazonaws.location#GeofenceGeometry", "traits": { - "smithy.api#documentation": "

Contains the geofence geometry details describing the position of the geofence. Can be\n a circle, a polygon, or a multipolygon.

", + "smithy.api#documentation": "

Contains the geofence geometry details describing the position of the geofence. Can be a circle, a polygon, or a multipolygon.

", "smithy.api#required": {} } }, "Status": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

Identifies the state of the geofence. A geofence will hold one of the following\n states:

\n
    \n
  • \n

    \n ACTIVE — The geofence has been indexed by the system.

    \n
  • \n
  • \n

    \n PENDING — The geofence is being processed by the system.

    \n
  • \n
  • \n

    \n FAILED — The geofence failed to be indexed by the system.

    \n
  • \n
  • \n

    \n DELETED — The geofence has been deleted from the system\n index.

    \n
  • \n
  • \n

    \n DELETING — The geofence is being deleted from the system\n index.

    \n
  • \n
", + "smithy.api#documentation": "

Identifies the state of the geofence. A geofence will hold one of the following states:

  • ACTIVE — The geofence has been indexed by the system.

  • PENDING — The geofence is being processed by the system.

  • FAILED — The geofence failed to be indexed by the system.

  • DELETED — The geofence has been deleted from the system index.

  • DELETING — The geofence is being deleted from the system index.

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence collection was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence collection was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

User defined properties of the geofence. A property is a key-value pair stored with\n the geofence and added to any geofence event triggered with that geofence.

\n

Format: \"key\" : \"value\"\n

" + "smithy.api#documentation": "

User defined properties of the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \"key\" : \"value\"

" } } } @@ -4380,7 +4469,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves glyphs used to display labels on a map.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to GetGlyphs unless you require Grab data.

  • GetMapGlyphs is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 GetGlyphs operation gives a better user experience and is compatible with the remainder of the V2 Maps API.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Retrieves glyphs used to display labels on a map.

", "smithy.api#endpoint": { "hostPrefix": "maps." }, @@ -4405,7 +4494,7 @@ "FontStack": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A comma-separated list of fonts to load glyphs from in order of preference. For\n example, Noto Sans Regular, Arial Unicode.

\n

Valid font stacks for Esri styles:

\n
    \n
  • \n

    VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu\n Medium | Ubuntu Italic | Ubuntu Regular |\n Ubuntu Bold\n

    \n
  • \n
  • \n

    VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu\n Regular | Ubuntu Light | Ubuntu Bold\n

    \n
  • \n
  • \n

    VectorEsriTopographic – Noto Sans Italic | Noto Sans\n Regular | Noto Sans Bold | Noto Serif\n Regular | Roboto Condensed Light Italic\n

    \n
  • \n
  • \n

    VectorEsriStreets – Arial Regular | Arial Italic |\n Arial Bold\n

    \n
  • \n
  • \n

    VectorEsriNavigation – Arial Regular | Arial Italic\n | Arial Bold\n

    \n
  • \n
\n

Valid font stacks for HERE Technologies styles:

\n
    \n
  • \n

    VectorHereContrast – Fira \n GO Regular | Fira GO Bold\n

    \n
  • \n
  • \n

    VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – \n Fira GO Italic | Fira GO Map | \n Fira GO Map Bold | Noto Sans CJK JP Bold | \n Noto Sans CJK JP Light | \n Noto Sans CJK JP Regular\n

    \n
  • \n
\n

Valid font stacks for GrabMaps styles:

\n
    \n
  • \n

    VectorGrabStandardLight, VectorGrabStandardDark – \n Noto Sans Regular |\n Noto Sans Medium |\n Noto Sans Bold\n

    \n
  • \n
\n

Valid font stacks for Open Data styles:

\n
    \n
  • \n

    VectorOpenDataStandardLight, VectorOpenDataStandardDark,\n VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – \n Amazon Ember Regular,Noto Sans Regular |\n Amazon Ember Bold,Noto Sans Bold | \n Amazon Ember Medium,Noto Sans Medium |\n Amazon Ember Regular Italic,Noto Sans Italic | \n Amazon Ember Condensed RC Regular,Noto Sans Regular | \n Amazon Ember Condensed RC Bold,Noto Sans Bold |\n Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular |\n Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic \n Condensed Bold |\n Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold |\n Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic \n Regular |\n Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic \n Condensed Regular |\n Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium\n

    \n
  • \n
\n \n

The fonts used by the Open Data map styles are combined fonts\n that use Amazon Ember for most glyphs but Noto Sans \n for glyphs unsupported by Amazon Ember.

\n
", + "smithy.api#documentation": "

A comma-separated list of fonts to load glyphs from in order of preference. For example, Noto Sans Regular, Arial Unicode.

Valid font stacks for Esri styles:

  • VectorEsriDarkGrayCanvas – Ubuntu Medium Italic | Ubuntu Medium | Ubuntu Italic | Ubuntu Regular | Ubuntu Bold

  • VectorEsriLightGrayCanvas – Ubuntu Italic | Ubuntu Regular | Ubuntu Light | Ubuntu Bold

  • VectorEsriTopographic – Noto Sans Italic | Noto Sans Regular | Noto Sans Bold | Noto Serif Regular | Roboto Condensed Light Italic

  • VectorEsriStreets – Arial Regular | Arial Italic | Arial Bold

  • VectorEsriNavigation – Arial Regular | Arial Italic | Arial Bold

Valid font stacks for HERE Technologies styles:

  • VectorHereContrast – Fira GO Regular | Fira GO Bold

  • VectorHereExplore, VectorHereExploreTruck, HybridHereExploreSatellite – Fira GO Italic | Fira GO Map | Fira GO Map Bold | Noto Sans CJK JP Bold | Noto Sans CJK JP Light | Noto Sans CJK JP Regular

Valid font stacks for GrabMaps styles:

  • VectorGrabStandardLight, VectorGrabStandardDark – Noto Sans Regular | Noto Sans Medium | Noto Sans Bold

Valid font stacks for Open Data styles:

  • VectorOpenDataStandardLight, VectorOpenDataStandardDark, VectorOpenDataVisualizationLight, VectorOpenDataVisualizationDark – Amazon Ember Regular,Noto Sans Regular | Amazon Ember Bold,Noto Sans Bold | Amazon Ember Medium,Noto Sans Medium | Amazon Ember Regular Italic,Noto Sans Italic | Amazon Ember Condensed RC Regular,Noto Sans Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold | Amazon Ember Regular,Noto Sans Regular,Noto Sans Arabic Regular | Amazon Ember Condensed RC Bold,Noto Sans Bold,Noto Sans Arabic Condensed Bold | Amazon Ember Bold,Noto Sans Bold,Noto Sans Arabic Bold | Amazon Ember Regular Italic,Noto Sans Italic,Noto Sans Arabic Regular | Amazon Ember Condensed RC Regular,Noto Sans Regular,Noto Sans Arabic Condensed Regular | Amazon Ember Medium,Noto Sans Medium,Noto Sans Arabic Medium

The fonts used by the Open Data map styles are combined fonts that use Amazon Ember for most glyphs but Noto Sans for glyphs unsupported by Amazon Ember.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4413,7 +4502,7 @@ "FontUnicodeRange": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

A Unicode range of characters to download glyphs for. Each response will contain 256\n characters. For example, 0–255 includes all characters from range U+0000 to\n 00FF. Must be aligned to multiples of 256.

", + "smithy.api#documentation": "

A Unicode range of characters to download glyphs for. Each response will contain 256 characters. For example, 0–255 includes all characters from range U+0000 to 00FF. Must be aligned to multiples of 256.

", "smithy.api#httpLabel": {}, "smithy.api#pattern": "^[0-9]+-[0-9]+\\.pbf$", "smithy.api#required": {} @@ -4422,7 +4511,7 @@ "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -4485,7 +4574,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the sprite sheet corresponding to a map resource. The sprite sheet is a PNG\n image paired with a JSON document describing the offsets of individual icons that will\n be displayed on a rendered map.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to GetSprites unless you require Grab data.

  • GetMapSprites is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 GetSprites operation gives a better user experience and is compatible with the remainder of the V2 Maps API.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Retrieves the sprite sheet corresponding to a map resource. The sprite sheet is a PNG image paired with a JSON document describing the offsets of individual icons that will be displayed on a rendered map.

", "smithy.api#endpoint": { "hostPrefix": "maps." }, @@ -4510,7 +4599,7 @@ "FileName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The name of the sprite file. Use the following file names for the sprite sheet:

\n
    \n
  • \n

    \n sprites.png\n

    \n
  • \n
  • \n

    \n sprites@2x.png for high pixel density displays

    \n
  • \n
\n

For the JSON document containing image offsets. Use the following file names:

\n
    \n
  • \n

    \n sprites.json\n

    \n
  • \n
  • \n

    \n sprites@2x.json for high pixel density displays

    \n
  • \n
", + "smithy.api#documentation": "

The name of the sprite file. Use the following file names for the sprite sheet:

  • sprites.png

  • sprites@2x.png for high pixel density displays

For the JSON document containing image offsets. Use the following file names:

  • sprites.json

  • sprites@2x.json for high pixel density displays

", "smithy.api#httpLabel": {}, "smithy.api#pattern": "^sprites(@2x)?\\.(png|json)$", "smithy.api#required": {} @@ -4519,7 +4608,7 @@ "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -4538,7 +4627,7 @@ "ContentType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The content type of the sprite sheet and offsets. For example, the sprite sheet\n content type is image/png, and the sprite offset JSON document is\n application/json.

", + "smithy.api#documentation": "

The content type of the sprite sheet and offsets. For example, the sprite sheet content type is image/png, and the sprite offset JSON document is application/json.

", "smithy.api#httpHeader": "Content-Type" } }, @@ -4577,7 +4666,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the map style descriptor from a map resource.

\n

The style descriptor contains specifications on how features render on a map. For\n example, what data to display, what order to display the data in, and the style for the\n data. Style descriptors follow the Mapbox Style Specification.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to GetStyleDescriptor unless you require Grab data.

  • GetMapStyleDescriptor is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 GetStyleDescriptor operation gives a better user experience and is compatible with the remainder of the V2 Maps API.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Retrieves the map style descriptor from a map resource.

The style descriptor contains specifications on how features render on a map. For example, what data to display, what order to display the data in, and the style for the data. Style descriptors follow the Mapbox Style Specification.

", "smithy.api#endpoint": { "hostPrefix": "maps." }, @@ -4602,7 +4691,7 @@ "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -4624,7 +4713,7 @@ "ContentType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The style descriptor's content type. For example,\n application/json.

", + "smithy.api#documentation": "

The style descriptor's content type. For example, application/json.

", "smithy.api#httpHeader": "Content-Type" } }, @@ -4663,7 +4752,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a vector data tile from the map resource. Map tiles are used by clients to\n render a map. they're addressed using a grid arrangement with an X coordinate, Y\n coordinate, and Z (zoom) level.

\n

The origin (0, 0) is the top left of the map. Increasing the zoom level by 1 doubles\n both the X and Y dimensions, so a tile containing data for the entire world at (0/0/0)\n will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1, 1/1/0, 1/1/1).

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to GetTile unless you require Grab data.

  • GetMapTile is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 GetTile operation gives a better user experience and is compatible with the remainder of the V2 Maps API.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Retrieves a vector data tile from the map resource. Map tiles are used by clients to render a map. they're addressed using a grid arrangement with an X coordinate, Y coordinate, and Z (zoom) level.

The origin (0, 0) is the top left of the map. Increasing the zoom level by 1 doubles both the X and Y dimensions, so a tile containing data for the entire world at (0/0/0) will be split into 4 tiles at zoom 1 (1/0/0, 1/0/1, 1/1/0, 1/1/1).

", "smithy.api#endpoint": { "hostPrefix": "maps." }, @@ -4686,7 +4775,7 @@ } }, "Z": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { "smithy.api#documentation": "

The zoom value for the map tile.

", "smithy.api#httpLabel": {}, @@ -4695,7 +4784,7 @@ } }, "X": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { "smithy.api#documentation": "

The X axis value for the map tile.

", "smithy.api#httpLabel": {}, @@ -4704,7 +4793,7 @@ } }, "Y": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { "smithy.api#documentation": "

The Y axis value for the map tile.

", "smithy.api#httpLabel": {}, @@ -4715,7 +4804,7 @@ "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -4734,7 +4823,7 @@ "ContentType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The map tile's content type. For example,\n application/vnd.mapbox-vector-tile.

", + "smithy.api#documentation": "

The map tile's content type. For example, application/vnd.mapbox-vector-tile.

", "smithy.api#httpHeader": "Content-Type" } }, @@ -4773,7 +4862,7 @@ } ], "traits": { - "smithy.api#documentation": "

Finds a place by its unique ID. A PlaceId is returned by other search\n operations.

\n \n

A PlaceId is valid only if all of the following are the same in the original\n search request and the call to GetPlace.

\n
    \n
  • \n

    Customer Amazon Web Services account

    \n
  • \n
  • \n

    Amazon Web Services Region

    \n
  • \n
  • \n

    Data provider specified in the place index resource

    \n
  • \n
\n
\n \n

If your Place index resource is configured with Grab as your geolocation \n provider and Storage as Intended use, the GetPlace operation is unavailable. For \n more information, see AWS service \n terms.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the V2 GetPlace operation unless you require Grab data.

  • This version of GetPlace is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • Version 2 of the GetPlace operation interoperates with the rest of the Places V2 API, while this version does not.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Places V2 API Reference or the Developer Guide.

Finds a place by its unique ID. A PlaceId is returned by other search operations.

A PlaceId is valid only if all of the following are the same in the original search request and the call to GetPlace.

  • Customer Amazon Web Services account

  • Amazon Web Services Region

  • Data provider specified in the place index resource

If your Place index resource is configured with Grab as your geolocation provider and Storage as Intended use, the GetPlace operation is unavailable. For more information, see AWS service terms.

", "smithy.api#endpoint": { "hostPrefix": "places." }, @@ -4806,14 +4895,14 @@ "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example,\n en for English.

\n

This setting affects the languages used in the results, but not the results\n themselves. If no language is specified, or not supported for a particular result, the\n partner automatically chooses a language for the result.

\n

For an example, we'll use the Greek language. You search for a location around Athens,\n Greece, with the language parameter set to en. The\n city in the results will most likely be returned as\n Athens.

\n

If you set the language parameter to el, for Greek, then the\n city in the results will more likely be returned as\n Αθήνα.

\n

If the data provider does not have a value for Greek, the result will be in a language\n that the provider does support.

", + "smithy.api#documentation": "

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, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en. The city in the results will most likely be returned as Athens.

If you set the language parameter to el, for Greek, then the city in the results will more likely be returned as Αθήνα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

", "smithy.api#httpQuery": "language" } }, "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -4913,6 +5002,20 @@ "smithy.api#retryable": {} } }, + "com.amazonaws.location#JobResource": { + "type": "resource", + "identifiers": { + "JobId": { + "target": "com.amazonaws.location#ResourceName" + } + }, + "traits": { + "aws.api#arn": { + "template": "job/{JobId}" + }, + "aws.iam#disableConditionKeyInference": {} + } + }, "com.amazonaws.location#KmsKeyId": { "type": "string", "traits": { @@ -4946,21 +5049,21 @@ "StartPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The starting position of the leg. Follows the format\n [longitude,latitude].

\n \n

If the StartPosition isn't located on a road, it's snapped to a\n nearby road.

\n
", + "smithy.api#documentation": "

The starting position of the leg. Follows the format [longitude,latitude].

If the StartPosition isn't located on a road, it's snapped to a nearby road.

", "smithy.api#required": {} } }, "EndPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The terminating position of the leg. Follows the format\n [longitude,latitude].

\n \n

If the EndPosition isn't located on a road, it's snapped to a nearby\n road.

\n
", + "smithy.api#documentation": "

The terminating position of the leg. Follows the format [longitude,latitude].

If the EndPosition isn't located on a road, it's snapped to a nearby road.

", "smithy.api#required": {} } }, "Distance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The distance between the leg's StartPosition and EndPosition\n along a calculated route.

\n
    \n
  • \n

    The default measurement is Kilometers unless the request\n specifies a DistanceUnit of Miles.

    \n
  • \n
", + "smithy.api#documentation": "

The distance between the leg's StartPosition and EndPosition along a calculated route.

  • The default measurement is Kilometers unless the request specifies a DistanceUnit of Miles.

", "smithy.api#range": { "min": 0 }, @@ -4968,9 +5071,9 @@ } }, "DurationSeconds": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The estimated travel time between the leg's StartPosition and\n EndPosition. The travel mode and departure time that you specify in the\n request determines the calculated time.

", + "smithy.api#documentation": "

The estimated travel time between the leg's StartPosition and EndPosition. The travel mode and departure time that you specify in the request determines the calculated time.

", "smithy.api#range": { "min": 0 }, @@ -4986,13 +5089,13 @@ "Steps": { "target": "com.amazonaws.location#StepList", "traits": { - "smithy.api#documentation": "

Contains a list of steps, which represent subsections of a leg. Each step provides\n instructions for how to move to the next step in the leg such as the step's start\n position, end position, travel distance, travel duration, and geometry offset.

", + "smithy.api#documentation": "

Contains a list of steps, which represent subsections of a leg. Each step provides instructions for how to move to the next step in the leg such as the step's start position, end position, travel distance, travel duration, and geometry offset.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the calculated route's details for each path between a pair of positions. The\n number of legs returned corresponds to one fewer than the total number of positions in\n the request.

\n

For example, a route with a departure position and destination position returns one\n leg with the positions snapped to a nearby\n road:

\n
    \n
  • \n

    The StartPosition is the departure position.

    \n
  • \n
  • \n

    The EndPosition is the destination position.

    \n
  • \n
\n

A route with a waypoint between the departure and destination position returns two\n legs with the positions snapped to a nearby road:

\n
    \n
  • \n

    Leg 1: The StartPosition is the departure position . The\n EndPosition is the waypoint positon.

    \n
  • \n
  • \n

    Leg 2: The StartPosition is the waypoint position. The\n EndPosition is the destination position.

    \n
  • \n
" + "smithy.api#documentation": "

Contains the calculated route's details for each path between a pair of positions. The number of legs returned corresponds to one fewer than the total number of positions in the request.

For example, a route with a departure position and destination position returns one leg with the positions snapped to a nearby road:

  • The StartPosition is the departure position.

  • The EndPosition is the destination position.

A route with a waypoint between the departure and destination position returns two legs with the positions snapped to a nearby road:

  • Leg 1: The StartPosition is the departure position . The EndPosition is the waypoint positon.

  • Leg 2: The StartPosition is the waypoint position. The EndPosition is the destination position.

" } }, "com.amazonaws.location#LegGeometry": { @@ -5001,12 +5104,12 @@ "LineString": { "target": "com.amazonaws.location#LineString", "traits": { - "smithy.api#documentation": "

An ordered list of positions used to plot a route on a map.

\n

The first position is closest to the start position for the leg, and the last position\n is the closest to the end position for the leg.

\n
    \n
  • \n

    For example, [[-123.117, 49.284],[-123.115, 49.285],[-123.115,\n 49.285]]\n

    \n
  • \n
" + "smithy.api#documentation": "

An ordered list of positions used to plot a route on a map.

The first position is closest to the start position for the leg, and the last position is the closest to the end position for the leg.

  • For example, [[-123.117, 49.284],[-123.115, 49.285],[-123.115, 49.285]]

" } } }, "traits": { - "smithy.api#documentation": "

Contains the geometry details for each path between a pair of positions. Used in\n plotting a route leg on a map.

" + "smithy.api#documentation": "

Contains the geometry details for each path between a pair of positions. Used in plotting a route leg on a map.

" } }, "com.amazonaws.location#LegList": { @@ -5110,7 +5213,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of entries returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of entries returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5120,7 +5223,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } }, "FilterGeometry": { @@ -5144,7 +5247,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -5162,7 +5265,7 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device position was determined. Uses ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, @@ -5244,7 +5347,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5254,7 +5357,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } } } @@ -5272,7 +5375,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -5317,20 +5420,20 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence collection was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence collection was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Specifies a timestamp for when the resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

Specifies a timestamp for when the resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the geofence collection details.

\n \n

The returned geometry will always match the geometry format used when the geofence\n was created.

\n
" + "smithy.api#documentation": "

Contains the geofence collection details.

The returned geometry will always match the geometry format used when the geofence was created.

" } }, "com.amazonaws.location#ListGeofenceCollectionsResponseEntryList": { @@ -5352,40 +5455,40 @@ "Geometry": { "target": "com.amazonaws.location#GeofenceGeometry", "traits": { - "smithy.api#documentation": "

Contains the geofence geometry details describing the position of the geofence. Can be\n a circle, a polygon, or a multipolygon.

", + "smithy.api#documentation": "

Contains the geofence geometry details describing the position of the geofence. Can be a circle, a polygon, or a multipolygon.

", "smithy.api#required": {} } }, "Status": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

Identifies the state of the geofence. A geofence will hold one of the following\n states:

\n
    \n
  • \n

    \n ACTIVE — The geofence has been indexed by the system.

    \n
  • \n
  • \n

    \n PENDING — The geofence is being processed by the system.

    \n
  • \n
  • \n

    \n FAILED — The geofence failed to be indexed by the system.

    \n
  • \n
  • \n

    \n DELETED — The geofence has been deleted from the system\n index.

    \n
  • \n
  • \n

    \n DELETING — The geofence is being deleted from the system\n index.

    \n
  • \n
", + "smithy.api#documentation": "

Identifies the state of the geofence. A geofence will hold one of the following states:

  • ACTIVE — The geofence has been indexed by the system.

  • PENDING — The geofence is being processed by the system.

  • FAILED — The geofence failed to be indexed by the system.

  • DELETED — The geofence has been deleted from the system index.

  • DELETING — The geofence is being deleted from the system index.

", "smithy.api#required": {} } }, "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence was stored in a geofence collection in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence was stored in a geofence collection in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

User defined properties of the geofence. A property is a key-value pair stored with\n the geofence and added to any geofence event triggered with that geofence.

\n

Format: \"key\" : \"value\"\n

" + "smithy.api#documentation": "

User defined properties of the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \"key\" : \"value\"

" } } }, "traits": { - "smithy.api#documentation": "

Contains a list of geofences stored in a given geofence collection.

\n \n

The returned geometry will always match the geometry format used when the geofence\n was created.

\n
" + "smithy.api#documentation": "

Contains a list of geofences stored in a given geofence collection.

The returned geometry will always match the geometry format used when the geofence was created.

" } }, "com.amazonaws.location#ListGeofenceResponseEntryList": { @@ -5452,14 +5555,14 @@ "NextToken": { "target": "com.amazonaws.location#LargeToken", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } }, "MaxResults": { "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of geofences returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of geofences returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5481,7 +5584,7 @@ "NextToken": { "target": "com.amazonaws.location#LargeToken", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -5510,7 +5613,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Lists API key resources in your Amazon Web Services account.

", + "smithy.api#documentation": "

Lists API key resources in your Amazon Web Services account.

For more information, see Use API keys to authenticate in the Amazon Location Service Developer Guide.

", "smithy.api#endpoint": { "hostPrefix": "cp.metadata." }, @@ -5534,7 +5637,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5544,13 +5647,13 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } }, "Filter": { "target": "com.amazonaws.location#ApiKeyFilter", "traits": { - "smithy.api#documentation": "

Optionally filter the list to only Active or Expired API\n keys.

" + "smithy.api#documentation": "

Optionally filter the list to only Active or Expired API keys.

" } } } @@ -5561,14 +5664,14 @@ "Entries": { "target": "com.amazonaws.location#ListKeysResponseEntryList", "traits": { - "smithy.api#documentation": "

Contains API key resources in your Amazon Web Services account. Details include API key\n name, allowed referers and timestamp for when the API key will expire.

", + "smithy.api#documentation": "

Contains API key resources in your Amazon Web Services account. Details include API key name, allowed referers and timestamp for when the API key will expire.

", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -5586,7 +5689,7 @@ "ExpireTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the API key resource will expire, in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the API key resource will expire, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, @@ -5605,14 +5708,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp of when the API key was created, in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp of when the API key was created, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp of when the API key was last updated, in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp of when the API key was last updated, in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -5650,7 +5753,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists map resources in your Amazon Web Services account.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data.

  • ListMaps is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Maps API version 2 has a simplified interface that can be used without creating or managing map resources.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Lists map resources in your Amazon Web Services account.

", "smithy.api#endpoint": { "hostPrefix": "cp.maps." }, @@ -5674,7 +5777,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5684,7 +5787,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } } } @@ -5744,14 +5847,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the map resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the map resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the map resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the map resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -5789,7 +5892,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists place index resources in your Amazon Web Services account.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data.

  • ListPlaceIndexes is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Places API version 2 has a simplified interface that can be used without creating or managing place index resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Places V2 API Reference or the Developer Guide.

Lists place index resources in your Amazon Web Services account.

", "smithy.api#endpoint": { "hostPrefix": "cp.places." }, @@ -5813,7 +5916,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the maximum number of results returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the maximum number of results returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5823,7 +5926,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } } } @@ -5841,7 +5944,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating that there are additional pages available. You can use\n the token in a new request to fetch the next page of results.

" + "smithy.api#documentation": "

A pagination token indicating that there are additional pages available. You can use the token in a new request to fetch the next page of results.

" } } } @@ -5866,7 +5969,7 @@ "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The data provider of geospatial data. Values can be one of the following:

\n
    \n
  • \n

    \n Esri\n

    \n
  • \n
  • \n

    \n Grab\n

    \n
  • \n
  • \n

    \n Here\n

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The data provider of geospatial data. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, @@ -5883,14 +5986,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the place index resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the place index resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the place index resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -5928,7 +6031,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists route calculator resources in your Amazon Web Services account.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data.

  • ListRouteCalculators is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Routes V2 API Reference or the Developer Guide.

Lists route calculator resources in your Amazon Web Services account.

", "smithy.api#endpoint": { "hostPrefix": "cp.routes." }, @@ -5952,7 +6055,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional maximum number of results returned in a single call.

\n

Default Value: 100\n

", + "smithy.api#documentation": "

An optional maximum number of results returned in a single call.

Default Value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -5962,7 +6065,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default Value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default Value: null

" } } } @@ -5980,7 +6083,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a subsequent request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a subsequent request to fetch the next set of results.

" } } } @@ -6005,7 +6108,7 @@ "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The data provider of traffic and road network data. Indicates one of the available\n providers:

\n
    \n
  • \n

    \n Esri\n

    \n
  • \n
  • \n

    \n Grab\n

    \n
  • \n
  • \n

    \n Here\n

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The data provider of traffic and road network data. Indicates one of the available providers:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, @@ -6022,14 +6125,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the route calculator resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

\n
    \n
  • \n

    For example, 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
", + "smithy.api#documentation": "

The timestamp when the route calculator resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp when the route calculator resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

\n
    \n
  • \n

    For example, 2020–07-2T12:15:20.000Z+01:00\n

    \n
  • \n
", + "smithy.api#documentation": "

The timestamp when the route calculator resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

  • For example, 2020–07-2T12:15:20.000Z+01:00

", "smithy.api#required": {} } } @@ -6088,7 +6191,7 @@ "ResourceArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:resourcetype/ExampleResource\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource whose tags you want to retrieve.

  • Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -6101,7 +6204,7 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Tags that have been applied to the specified resource. Tags are mapped from the tag\n key to the tag value: \"TagKey\" : \"TagValue\".

\n
    \n
  • \n

    Format example: {\"tag1\" : \"value1\", \"tag2\" : \"value2\"} \n

    \n
  • \n
" + "smithy.api#documentation": "

Tags that have been applied to the specified resource. Tags are mapped from the tag key to the tag value: \"TagKey\" : \"TagValue\".

  • Format example: {\"tag1\" : \"value1\", \"tag2\" : \"value2\"}

" } } } @@ -6165,7 +6268,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -6175,7 +6278,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } } } @@ -6193,7 +6296,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -6246,7 +6349,7 @@ "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

\n

Default value: 100\n

", + "smithy.api#documentation": "

An optional limit for the number of resources returned in a single call.

Default value: 100

", "smithy.api#range": { "min": 1, "max": 100 @@ -6256,7 +6359,7 @@ "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no\n token is provided, the default page is the first page.

\n

Default value: null\n

" + "smithy.api#documentation": "

The pagination token specifying which page of results to return in the response. If no token is provided, the default page is the first page.

Default value: null

" } } } @@ -6267,14 +6370,14 @@ "Entries": { "target": "com.amazonaws.location#ListTrackersResponseEntryList", "traits": { - "smithy.api#documentation": "

Contains tracker resources in your Amazon Web Services account. Details include tracker name,\n description and timestamps for when the tracker was created and last updated.

", + "smithy.api#documentation": "

Contains tracker resources in your Amazon Web Services account. Details include tracker name, description and timestamps for when the tracker was created and last updated.

", "smithy.api#required": {} } }, "NextToken": { "target": "com.amazonaws.location#Token", "traits": { - "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the\n token in a following request to fetch the next set of results.

" + "smithy.api#documentation": "

A pagination token indicating there are additional pages available. You can use the token in a following request to fetch the next set of results.

" } } } @@ -6319,14 +6422,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -6354,6 +6457,9 @@ { "target": "com.amazonaws.location#GeofenceCollectionResource" }, + { + "target": "com.amazonaws.location#JobResource" + }, { "target": "com.amazonaws.location#MapResource" }, @@ -6385,27 +6491,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -7142,20 +7248,20 @@ "Style": { "target": "com.amazonaws.location#MapStyle", "traits": { - "smithy.api#documentation": "

Specifies the map style selected from an available data provider.

\n

Valid Esri map styles:

\n
    \n
  • \n

    \n VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A\n vector basemap with a dark gray, neutral background with minimal colors, labels,\n and features that's designed to draw attention to your thematic content.

    \n
  • \n
  • \n

    \n RasterEsriImagery – The Esri Imagery map style. A raster basemap\n that provides one meter or better satellite and aerial imagery in many parts of\n the world and lower resolution satellite imagery worldwide.

    \n
  • \n
  • \n

    \n VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style,\n which provides a detailed vector basemap with a light gray, neutral background\n style with minimal colors, labels, and features that's designed to draw\n attention to your thematic content.

    \n
  • \n
  • \n

    \n VectorEsriTopographic – The Esri Light map style, which provides\n a detailed vector basemap with a classic Esri map style.

    \n
  • \n
  • \n

    \n VectorEsriStreets – The Esri Street Map style, which\n provides a detailed vector basemap for the world symbolized with a classic Esri\n street map style. The vector tile layer is similar in content and style to the\n World Street Map raster map.

    \n
  • \n
  • \n

    \n VectorEsriNavigation – The Esri Navigation map style, which\n provides a detailed basemap for the world symbolized with a custom navigation\n map style that's designed for use during the day in mobile devices.

    \n
  • \n
\n

Valid HERE\n Technologies map styles:

\n
    \n
  • \n

    \n VectorHereContrast – The HERE Contrast (Berlin) map style is a \n high contrast\n detailed base map of the world that blends 3D and 2D rendering.

    \n \n

    The VectorHereContrast style has been renamed from \n VectorHereBerlin. \n VectorHereBerlin has been deprecated, but will continue to work in \n applications that use it.

    \n
    \n
  • \n
  • \n

    \n VectorHereExplore – A default HERE map style containing a \n neutral, global map and its features including roads, buildings, landmarks, \n and water features. It also now includes a fully designed map of Japan.

    \n
  • \n
  • \n

    \n VectorHereExploreTruck – A global map containing truck \n restrictions and attributes (e.g. width / height / HAZMAT) symbolized with \n highlighted segments and icons on top of HERE Explore to support use cases \n within transport and logistics.

    \n
  • \n
  • \n

    \n RasterHereExploreSatellite – A global map containing high\n resolution satellite imagery.

    \n
  • \n
  • \n

    \n HybridHereExploreSatellite – A global map displaying the road \n network, street names, and city labels over satellite imagery. This style \n will automatically retrieve both raster and vector tiles, and your charges \n will be based on total tiles retrieved.

    \n \n

    Hybrid styles use both vector and raster tiles when rendering the \n map that you see. This means that more tiles are retrieved than when using \n either vector or raster tiles alone. Your charges will include all tiles \n retrieved.

    \n
    \n
  • \n
\n

Valid GrabMaps map styles:

\n
    \n
  • \n

    \n VectorGrabStandardLight – The Grab Standard Light \n map style provides a basemap with detailed land use coloring, \n area names, roads, landmarks, and points of interest covering \n Southeast Asia.

    \n
  • \n
  • \n

    \n VectorGrabStandardDark – The Grab Standard Dark \n map style provides a dark variation of the standard basemap \n covering Southeast Asia.

    \n
  • \n
\n \n

Grab provides maps only for countries in Southeast Asia, and is only available \n in the Asia Pacific (Singapore) Region (ap-southeast-1).\n For more information, see GrabMaps countries and area covered.

\n
\n

Valid Open Data map styles:

\n
    \n
  • \n

    \n VectorOpenDataStandardLight – The Open Data Standard Light \n map style provides a detailed basemap for the world suitable for\n website and mobile application use. The map includes highways major roads, \n minor roads, railways, water features, cities, parks, landmarks, building\n footprints, and administrative boundaries.

    \n
  • \n
  • \n

    \n VectorOpenDataStandardDark – Open Data Standard Dark is a\n dark-themed map style that provides a detailed basemap for the world \n suitable for website and mobile application use. The map includes highways \n major roads, minor roads, railways, water features, cities, parks, \n landmarks, building footprints, and administrative boundaries.

    \n
  • \n
  • \n

    \n VectorOpenDataVisualizationLight – The Open Data \n Visualization Light map style is a light-themed style with muted colors and\n fewer features that aids in understanding overlaid data.

    \n
  • \n
  • \n

    \n VectorOpenDataVisualizationDark – The Open Data \n Visualization Dark map style is a dark-themed style with muted colors and\n fewer features that aids in understanding overlaid data.

    \n
  • \n
", + "smithy.api#documentation": "

Specifies the map style selected from an available data provider.

Valid Esri map styles:

  • VectorEsriDarkGrayCanvas – The Esri Dark Gray Canvas map style. A vector basemap with a dark gray, neutral background with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • RasterEsriImagery – The Esri Imagery map style. A raster basemap that provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide.

  • VectorEsriLightGrayCanvas – The Esri Light Gray Canvas map style, which provides a detailed vector basemap with a light gray, neutral background style with minimal colors, labels, and features that's designed to draw attention to your thematic content.

  • VectorEsriTopographic – The Esri Light map style, which provides a detailed vector basemap with a classic Esri map style.

  • VectorEsriStreets – The Esri Street Map style, which provides a detailed vector basemap for the world symbolized with a classic Esri street map style. The vector tile layer is similar in content and style to the World Street Map raster map.

  • VectorEsriNavigation – The Esri Navigation map style, which provides a detailed basemap for the world symbolized with a custom navigation map style that's designed for use during the day in mobile devices.

Valid HERE Technologies map styles:

  • VectorHereContrast – The HERE Contrast (Berlin) map style is a high contrast detailed base map of the world that blends 3D and 2D rendering.

    The VectorHereContrast style has been renamed from VectorHereBerlin. VectorHereBerlin has been deprecated, but will continue to work in applications that use it.

  • VectorHereExplore – A default HERE map style containing a neutral, global map and its features including roads, buildings, landmarks, and water features. It also now includes a fully designed map of Japan.

  • VectorHereExploreTruck – A global map containing truck restrictions and attributes (e.g. width / height / HAZMAT) symbolized with highlighted segments and icons on top of HERE Explore to support use cases within transport and logistics.

  • RasterHereExploreSatellite – A global map containing high resolution satellite imagery.

  • HybridHereExploreSatellite – A global map displaying the road network, street names, and city labels over satellite imagery. This style will automatically retrieve both raster and vector tiles, and your charges will be based on total tiles retrieved.

    Hybrid styles use both vector and raster tiles when rendering the map that you see. This means that more tiles are retrieved than when using either vector or raster tiles alone. Your charges will include all tiles retrieved.

Valid GrabMaps map styles:

  • VectorGrabStandardLight – The Grab Standard Light map style provides a basemap with detailed land use coloring, area names, roads, landmarks, and points of interest covering Southeast Asia.

  • VectorGrabStandardDark – The Grab Standard Dark map style provides a dark variation of the standard basemap covering Southeast Asia.

Grab provides maps only for countries in Southeast Asia, and is only available in the Asia Pacific (Singapore) Region (ap-southeast-1). For more information, see GrabMaps countries and area covered.

Valid Open Data map styles:

  • VectorOpenDataStandardLight – The Open Data Standard Light map style provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataStandardDark – Open Data Standard Dark is a dark-themed map style that provides a detailed basemap for the world suitable for website and mobile application use. The map includes highways major roads, minor roads, railways, water features, cities, parks, landmarks, building footprints, and administrative boundaries.

  • VectorOpenDataVisualizationLight – The Open Data Visualization Light map style is a light-themed style with muted colors and fewer features that aids in understanding overlaid data.

  • VectorOpenDataVisualizationDark – The Open Data Visualization Dark map style is a dark-themed style with muted colors and fewer features that aids in understanding overlaid data.

", "smithy.api#required": {} } }, "PoliticalView": { "target": "com.amazonaws.location#CountryCode3", "traits": { - "smithy.api#documentation": "

Specifies the political view for the style. Leave unset to not use a political \n view, or, for styles that support specific political views, you can choose a view, \n such as IND for the Indian view.

\n

Default is unset.

\n \n

Not all map resources or styles support political view styles. See \n Political \n views \n for more information.

\n
" + "smithy.api#documentation": "

Specifies the political view for the style. Leave unset to not use a political view, or, for styles that support specific political views, you can choose a view, such as IND for the Indian view.

Default is unset.

Not all map resources or styles support political view styles. See Political views for more information.

" } }, "CustomLayers": { "target": "com.amazonaws.location#CustomLayerList", "traits": { - "smithy.api#documentation": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style.\nDefault is unset.

\n \n

Not all map resources or styles support custom layers. See Custom Layers for more information.

\n
" + "smithy.api#documentation": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

" } } }, @@ -7169,13 +7275,13 @@ "PoliticalView": { "target": "com.amazonaws.location#CountryCode3OrEmpty", "traits": { - "smithy.api#documentation": "

Specifies the political view for the style. Set to an empty string to not use a\n political view, or, for styles that support specific political views, you can choose a \n view, such as IND for the Indian view.

\n \n

Not all map resources or styles support political view styles. See \n Political \n views \n for more information.

\n
" + "smithy.api#documentation": "

Specifies the political view for the style. Set to an empty string to not use a political view, or, for styles that support specific political views, you can choose a view, such as IND for the Indian view.

Not all map resources or styles support political view styles. See Political views for more information.

" } }, "CustomLayers": { "target": "com.amazonaws.location#CustomLayerList", "traits": { - "smithy.api#documentation": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style.\nDefault is unset.

\n \n

Not all map resources or styles support custom layers. See Custom Layers for more information.

\n
" + "smithy.api#documentation": "

Specifies the custom layers for the style. Leave unset to not enable any custom layer, or, for styles that support custom layers, you can enable layer(s), such as POI layer for the VectorEsriNavigation style. Default is unset.

Not all map resources or styles support custom layers. See Custom Layers for more information.

" } } }, @@ -7286,9 +7392,9 @@ "type": "structure", "members": { "Label": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

The full name and address of the point of interest such as a city, region, or country.\n For example, 123 Any Street, Any Town, USA.

" + "smithy.api#documentation": "

The full name and address of the point of interest such as a city, region, or country. For example, 123 Any Street, Any Town, USA.

" } }, "Geometry": { @@ -7298,98 +7404,98 @@ } }, "AddressNumber": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { "smithy.api#documentation": "

The numerical portion of an address, such as a building number.

" } }, "Street": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

The name for a street or a road to identify a location. For example, Main\n Street.

" + "smithy.api#documentation": "

The name for a street or a road to identify a location. For example, Main Street.

" } }, "Neighborhood": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { "smithy.api#documentation": "

The name of a community district. For example, Downtown.

" } }, "Municipality": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

A name for a local area, such as a city or town name. For example,\n Toronto.

" + "smithy.api#documentation": "

A name for a local area, such as a city or town name. For example, Toronto.

" } }, "SubRegion": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

A county, or an area that's part of a larger region. For example, Metro\n Vancouver.

" + "smithy.api#documentation": "

A county, or an area that's part of a larger region. For example, Metro Vancouver.

" } }, "Region": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

A name for an area or geographical division, such as a province or state name. For\n example, British Columbia.

" + "smithy.api#documentation": "

A name for an area or geographical division, such as a province or state name. For example, British Columbia.

" } }, "Country": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

A country/region specified using ISO 3166 3-digit\n country/region code. For example, CAN.

" + "smithy.api#documentation": "

A country/region specified using ISO 3166 3-digit country/region code. For example, CAN.

" } }, "PostalCode": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

A group of numbers and letters in a country-specific format, which accompanies the\n address for the purpose of identifying a location.

" + "smithy.api#documentation": "

A group of numbers and letters in a country-specific format, which accompanies the address for the purpose of identifying a location.

" } }, "Interpolated": { - "target": "smithy.api#Boolean", + "target": "com.amazonaws.location#SensitiveBoolean", "traits": { - "smithy.api#documentation": "

\n True if the result is interpolated from other known places.

\n

\n False if the Place is a known place.

\n

Not returned when the partner does not provide the information.

\n

For example, returns False for an address location that is found in the\n partner data, but returns True if an address does not exist in the partner\n data and its location is calculated by interpolating between other known addresses.\n

" + "smithy.api#documentation": "

True if the result is interpolated from other known places.

False if the Place is a known place.

Not returned when the partner does not provide the information.

For example, returns False for an address location that is found in the partner data, but returns True if an address does not exist in the partner data and its location is calculated by interpolating between other known addresses.

" } }, "TimeZone": { "target": "com.amazonaws.location#TimeZone", "traits": { - "smithy.api#documentation": "

The time zone in which the Place is located. Returned only when using\n HERE or Grab as the selected partner.

" + "smithy.api#documentation": "

The time zone in which the Place is located. Returned only when using HERE or Grab as the selected partner.

" } }, "UnitType": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

For addresses with a UnitNumber, the type of unit. For example,\n Apartment.

\n \n

Returned only for a place index that uses Esri as a data provider.

\n
" + "smithy.api#documentation": "

For addresses with a UnitNumber, the type of unit. For example, Apartment.

Returned only for a place index that uses Esri as a data provider.

" } }, "UnitNumber": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

For addresses with multiple units, the unit identifier. Can include numbers and\n letters, for example 3B or Unit 123.

\n \n

Returned only for a place index that uses Esri or Grab as a data provider. Is \n not returned for SearchPlaceIndexForPosition.

\n
" + "smithy.api#documentation": "

For addresses with multiple units, the unit identifier. Can include numbers and letters, for example 3B or Unit 123.

Returned only for a place index that uses Esri or Grab as a data provider. Is not returned for SearchPlaceIndexForPosition.

" } }, "Categories": { "target": "com.amazonaws.location#PlaceCategoryList", "traits": { - "smithy.api#documentation": "

The Amazon Location categories that describe this Place.

\n

For more information about using categories, including a list of Amazon Location\n categories, see Categories and filtering, in the Amazon Location Service developer \n guide.

" + "smithy.api#documentation": "

The Amazon Location categories that describe this Place.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service developer guide.

" } }, "SupplementalCategories": { "target": "com.amazonaws.location#PlaceSupplementalCategoryList", "traits": { - "smithy.api#documentation": "

Categories from the data provider that describe the Place that are not mapped\n to any Amazon Location categories.

" + "smithy.api#documentation": "

Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

" } }, "SubMunicipality": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

An area that's part of a larger municipality. For example, Blissville \n is a submunicipality in the Queen County in New York.

\n \n

This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

\n
" + "smithy.api#documentation": "

An area that's part of a larger municipality. For example, Blissville is a submunicipality in the Queen County in New York.

This property supported by Esri and OpenData. The Esri property is district, and the OpenData property is borough.

" } } }, "traits": { - "smithy.api#documentation": "

Contains details about addresses or points of interest that match the search\n criteria.

\n

Not all details are included with all responses. Some details may only be returned by\n specific data partners.

" + "smithy.api#documentation": "

Contains details about addresses or points of interest that match the search criteria.

Not all details are included with all responses. Some details may only be returned by specific data partners.

" } }, "com.amazonaws.location#PlaceCategory": { @@ -7397,7 +7503,8 @@ "traits": { "smithy.api#length": { "max": 35 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.location#PlaceCategoryList": { @@ -7418,7 +7525,7 @@ "Point": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

A single point geometry specifies a location for a Place using WGS 84\n coordinates:

\n
    \n
  • \n

    \n x — Specifies the x coordinate or longitude.

    \n
  • \n
  • \n

    \n y — Specifies the y coordinate or latitude.

    \n
  • \n
" + "smithy.api#documentation": "

A single point geometry specifies a location for a Place using WGS 84 coordinates:

  • x — Specifies the x coordinate or longitude.

  • y — Specifies the y coordinate or latitude.

" } } }, @@ -7427,7 +7534,10 @@ } }, "com.amazonaws.location#PlaceId": { - "type": "string" + "type": "string", + "traits": { + "smithy.api#sensitive": {} + } }, "com.amazonaws.location#PlaceIndexResource": { "type": "resource", @@ -7489,7 +7599,8 @@ "traits": { "smithy.api#length": { "max": 35 - } + }, + "smithy.api#sensitive": {} } }, "com.amazonaws.location#PlaceSupplementalCategoryList": { @@ -7579,7 +7690,7 @@ "Horizontal": { "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

Estimated maximum distance, in meters, between the measured position and the true\n position of a device, along the Earth's surface.

", + "smithy.api#documentation": "

Estimated maximum distance, in meters, between the measured position and the true position of a device, along the Earth's surface.

", "smithy.api#range": { "min": 0, "max": 10000000 @@ -7669,7 +7780,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Stores a geofence geometry in a given geofence collection, or updates the geometry of\n an existing geofence if a geofence ID is included in the request.

", + "smithy.api#documentation": "

Stores a geofence geometry in a given geofence collection, or updates the geometry of an existing geofence if a geofence ID is included in the request.

", "smithy.api#endpoint": { "hostPrefix": "geofencing." }, @@ -7701,14 +7812,14 @@ "Geometry": { "target": "com.amazonaws.location#GeofenceGeometry", "traits": { - "smithy.api#documentation": "

Contains the details to specify the position of the geofence. Can be a circle, a\n polygon, or a multipolygon. Polygon and MultiPolygon\n geometries can be defined using their respective parameters, or encoded in Geobuf format\n using the Geobuf parameter. Including multiple geometry types in the same\n request will return a validation error.

\n \n

The geofence Polygon and MultiPolygon formats support a\n maximum of 1,000 total vertices. The Geobuf format supports a maximum\n of 100,000 vertices.

\n
", + "smithy.api#documentation": "

Contains the details to specify the position of the geofence. Can be a circle, a polygon, or a multipolygon. Polygon and MultiPolygon geometries can be defined using their respective parameters, or encoded in Geobuf format using the Geobuf parameter. Including multiple geometry types in the same request will return a validation error.

The geofence Polygon and MultiPolygon formats support a maximum of 1,000 total vertices. The Geobuf format supports a maximum of 100,000 vertices.

", "smithy.api#required": {} } }, "GeofenceProperties": { "target": "com.amazonaws.location#PropertyMap", "traits": { - "smithy.api#documentation": "

Associates one of more properties with the geofence. A property is a key-value pair\n stored with the geofence and added to any geofence event triggered with that\n geofence.

\n

Format: \"key\" : \"value\"\n

" + "smithy.api#documentation": "

Associates one of more properties with the geofence. A property is a key-value pair stored with the geofence and added to any geofence event triggered with that geofence.

Format: \"key\" : \"value\"

" } } } @@ -7726,14 +7837,14 @@ "CreateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence was created in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence was created in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the geofence was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The timestamp for when the geofence was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } } @@ -7745,7 +7856,7 @@ "smithy.api#length": { "max": 253 }, - "smithy.api#pattern": "^([$\\-._+!*\\x{60}(),;/?:@=&\\w]|%([0-9a-fA-F?]{2}|[0-9a-fA-F?]?[*]))+$", + "smithy.api#pattern": "^([\\w!$&()*+,./:;=?@\\x{60}-]|%([\\dA-Fa-f]{2}|[\\dA-Fa-f]?\\*))+$", "smithy.api#sensitive": {} } }, @@ -7841,7 +7952,7 @@ "type": "structure", "members": { "Distance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { "smithy.api#documentation": "

The total distance of travel for the route.

", "smithy.api#range": { @@ -7850,7 +7961,7 @@ } }, "DurationSeconds": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { "smithy.api#documentation": "

The expected duration of travel for the route.

", "smithy.api#range": { @@ -7861,12 +7972,12 @@ "Error": { "target": "com.amazonaws.location#RouteMatrixEntryError", "traits": { - "smithy.api#documentation": "

An error corresponding to the calculation of a route between the\n DeparturePosition and DestinationPosition.

" + "smithy.api#documentation": "

An error corresponding to the calculation of a route between the DeparturePosition and DestinationPosition.

" } } }, "traits": { - "smithy.api#documentation": "

The result for the calculated route of one DeparturePosition\n DestinationPosition pair.

" + "smithy.api#documentation": "

The result for the calculated route of one DeparturePosition DestinationPosition pair.

" } }, "com.amazonaws.location#RouteMatrixEntryError": { @@ -7887,7 +7998,7 @@ } }, "traits": { - "smithy.api#documentation": "

An error corresponding to the calculation of a route between the\n DeparturePosition and DestinationPosition.

\n

The error code can be one of the following:

\n
    \n
  • \n

    \n RouteNotFound - Unable to find a valid route with the given\n parameters.

    \n
  • \n
\n
    \n
  • \n

    \n RouteTooLong - Route calculation went beyond the maximum size of\n a route and was terminated before completion.

    \n
  • \n
\n
    \n
  • \n

    \n PositionsNotFound - One or more of the input positions were not\n found on the route network.

    \n
  • \n
\n
    \n
  • \n

    \n DestinationPositionNotFound - The destination position was not\n found on the route network.

    \n
  • \n
\n
    \n
  • \n

    \n DeparturePositionNotFound - The departure position was not found\n on the route network.

    \n
  • \n
\n
    \n
  • \n

    \n OtherValidationError - The given inputs were not valid or a route\n was not found. More information is given in the error\n Message\n

    \n
  • \n
" + "smithy.api#documentation": "

An error corresponding to the calculation of a route between the DeparturePosition and DestinationPosition.

The error code can be one of the following:

  • RouteNotFound - Unable to find a valid route with the given parameters.

  • RouteTooLong - Route calculation went beyond the maximum size of a route and was terminated before completion.

  • PositionsNotFound - One or more of the input positions were not found on the route network.

  • DestinationPositionNotFound - The destination position was not found on the route network.

  • DeparturePositionNotFound - The departure position was not found on the route network.

  • OtherValidationError - The given inputs were not valid or a route was not found. More information is given in the error Message

" } }, "com.amazonaws.location#RouteMatrixErrorCode": { @@ -7950,9 +8061,9 @@ } }, "Distance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The distance in meters of a great-circle arc between the query position and the\n result.

\n \n

A great-circle arc is the shortest path on a sphere, in this case the Earth. This\n returns the shortest distance between two locations.

\n
", + "smithy.api#documentation": "

The distance in meters of a great-circle arc between the query position and the result.

A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

", "smithy.api#range": { "min": 0 }, @@ -7962,12 +8073,12 @@ "PlaceId": { "target": "com.amazonaws.location#PlaceId", "traits": { - "smithy.api#documentation": "

The unique identifier of the place. You can use this with the GetPlace\n operation to find the place again later.

\n \n

For SearchPlaceIndexForPosition operations, the PlaceId\n is returned only by place indexes that use HERE or Grab as a data provider.

\n
" + "smithy.api#documentation": "

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForPosition operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

" } } }, "traits": { - "smithy.api#documentation": "

Contains a search result from a position search query that is run on a place index\n resource.

" + "smithy.api#documentation": "

Contains a search result from a position search query that is run on a place index resource.

" } }, "com.amazonaws.location#SearchForPositionResultList": { @@ -7980,7 +8091,7 @@ "type": "structure", "members": { "Text": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { "smithy.api#documentation": "

The text of the place suggestion, typically formatted as an address string.

", "smithy.api#required": {} @@ -7989,24 +8100,24 @@ "PlaceId": { "target": "com.amazonaws.location#PlaceId", "traits": { - "smithy.api#documentation": "

The unique identifier of the Place. You can use this with the GetPlace\n operation to find the place again later, or to get full information for the Place.

\n

The GetPlace request must use the same PlaceIndex \n resource as the SearchPlaceIndexForSuggestions that generated the Place \n ID.

\n \n

For SearchPlaceIndexForSuggestions operations, the\n PlaceId is returned by place indexes that use Esri, Grab, or HERE\n as data providers.

\n
" + "smithy.api#documentation": "

The unique identifier of the Place. You can use this with the GetPlace operation to find the place again later, or to get full information for the Place.

The GetPlace request must use the same PlaceIndex resource as the SearchPlaceIndexForSuggestions that generated the Place ID.

For SearchPlaceIndexForSuggestions operations, the PlaceId is returned by place indexes that use Esri, Grab, or HERE as data providers.

" } }, "Categories": { "target": "com.amazonaws.location#PlaceCategoryList", "traits": { - "smithy.api#documentation": "

The Amazon Location categories that describe the Place.

\n

For more information about using categories, including a list of Amazon Location\n categories, see Categories and filtering, in the Amazon Location Service developer \n guide.

" + "smithy.api#documentation": "

The Amazon Location categories that describe the Place.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service developer guide.

" } }, "SupplementalCategories": { "target": "com.amazonaws.location#PlaceSupplementalCategoryList", "traits": { - "smithy.api#documentation": "

Categories from the data provider that describe the Place that are not mapped\n to any Amazon Location categories.

" + "smithy.api#documentation": "

Categories from the data provider that describe the Place that are not mapped to any Amazon Location categories.

" } } }, "traits": { - "smithy.api#documentation": "

Contains a place suggestion resulting from a place suggestion query that is run on a\n place index resource.

" + "smithy.api#documentation": "

Contains a place suggestion resulting from a place suggestion query that is run on a place index resource.

" } }, "com.amazonaws.location#SearchForSuggestionsResultList": { @@ -8026,18 +8137,18 @@ } }, "Distance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The distance in meters of a great-circle arc between the bias position specified and\n the result. Distance will be returned only if a bias position was specified\n in the query.

\n \n

A great-circle arc is the shortest path on a sphere, in this case the Earth. This\n returns the shortest distance between two locations.

\n
", + "smithy.api#documentation": "

The distance in meters of a great-circle arc between the bias position specified and the result. Distance will be returned only if a bias position was specified in the query.

A great-circle arc is the shortest path on a sphere, in this case the Earth. This returns the shortest distance between two locations.

", "smithy.api#range": { "min": 0 } } }, "Relevance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The relative confidence in the match for a result among the results returned. For\n example, if more fields for an address match (including house number, street, city,\n country/region, and postal code), the relevance score is closer to 1.

\n

Returned only when the partner selected is Esri or Grab.

", + "smithy.api#documentation": "

The relative confidence in the match for a result among the results returned. For example, if more fields for an address match (including house number, street, city, country/region, and postal code), the relevance score is closer to 1.

Returned only when the partner selected is Esri or Grab.

", "smithy.api#range": { "min": 0, "max": 1 @@ -8047,12 +8158,12 @@ "PlaceId": { "target": "com.amazonaws.location#PlaceId", "traits": { - "smithy.api#documentation": "

The unique identifier of the place. You can use this with the GetPlace\n operation to find the place again later.

\n \n

For SearchPlaceIndexForText operations, the PlaceId is\n returned only by place indexes that use HERE or Grab as a data provider.

\n
" + "smithy.api#documentation": "

The unique identifier of the place. You can use this with the GetPlace operation to find the place again later.

For SearchPlaceIndexForText operations, the PlaceId is returned only by place indexes that use HERE or Grab as a data provider.

" } } }, "traits": { - "smithy.api#documentation": "

Contains a search result from a text search query that is run on a place index\n resource.

" + "smithy.api#documentation": "

Contains a search result from a text search query that is run on a place index resource.

" } }, "com.amazonaws.location#SearchForTextResultList": { @@ -8087,7 +8198,7 @@ } ], "traits": { - "smithy.api#documentation": "

Reverse geocodes a given coordinate and returns a legible address. Allows you to\n search for Places or points of interest near a given position.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to ReverseGeocode or SearchNearby unless you require Grab data.

  • SearchPlaceIndexForPosition is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 ReverseGeocode operation gives better results in the address reverse-geocoding use case, while the version 2 SearchNearby operation gives better results when searching for businesses and points of interest near a specific location.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

Reverse geocodes a given coordinate and returns a legible address. Allows you to search for Places or points of interest near a given position.

", "smithy.api#endpoint": { "hostPrefix": "places." }, @@ -8112,26 +8223,26 @@ "Position": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

Specifies the longitude and latitude of the position to query.

\n

This parameter must contain a pair of numbers. The first number represents the X\n coordinate, or longitude; the second number represents the Y coordinate, or\n latitude.

\n

For example, [-123.1174, 49.2847] represents a position with longitude\n -123.1174 and latitude 49.2847.

", + "smithy.api#documentation": "

Specifies the longitude and latitude of the position to query.

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 a position with longitude -123.1174 and latitude 49.2847.

", "smithy.api#required": {} } }, "MaxResults": { "target": "com.amazonaws.location#PlaceIndexSearchResultLimit", "traits": { - "smithy.api#documentation": "

An optional parameter. The maximum number of results returned per request.

\n

Default value: 50\n

" + "smithy.api#documentation": "

An optional parameter. The maximum number of results returned per request.

Default value: 50

" } }, "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example,\n en for English.

\n

This setting affects the languages used in the results, but not the results\n themselves. If no language is specified, or not supported for a particular result, the\n partner automatically chooses a language for the result.

\n

For an example, we'll use the Greek language. You search for a location around Athens,\n Greece, with the language parameter set to en. The\n city in the results will most likely be returned as\n Athens.

\n

If you set the language parameter to el, for Greek, then the\n city in the results will more likely be returned as\n Αθήνα.

\n

If the data provider does not have a value for Greek, the result will be in a language\n that the provider does support.

" + "smithy.api#documentation": "

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, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for a location around Athens, Greece, with the language parameter set to en. The city in the results will most likely be returned as Athens.

If you set the language parameter to el, for Greek, then the city in the results will more likely be returned as Αθήνα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

" } }, "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -8143,14 +8254,14 @@ "Summary": { "target": "com.amazonaws.location#SearchPlaceIndexForPositionSummary", "traits": { - "smithy.api#documentation": "

Contains a summary of the request. Echoes the input values for Position,\n Language, MaxResults, and the DataSource of\n the place index.

", + "smithy.api#documentation": "

Contains a summary of the request. Echoes the input values for Position, Language, MaxResults, and the DataSource of the place index.

", "smithy.api#required": {} } }, "Results": { "target": "com.amazonaws.location#SearchForPositionResultList", "traits": { - "smithy.api#documentation": "

Returns a list of Places closest to the specified position. Each result contains\n additional information about the Places returned.

", + "smithy.api#documentation": "

Returns a list of Places closest to the specified position. Each result contains additional information about the Places returned.

", "smithy.api#required": {} } } @@ -8169,25 +8280,25 @@ "MaxResults": { "target": "com.amazonaws.location#PlaceIndexSearchResultLimit", "traits": { - "smithy.api#documentation": "

Contains the optional result count limit that is specified in the request.

\n

Default value: 50\n

" + "smithy.api#documentation": "

Contains the optional result count limit that is specified in the request.

Default value: 50

" } }, "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The geospatial data provider attached to the place index resource specified in the\n request. Values can be one of the following:

\n
    \n
  • \n

    Esri

    \n
  • \n
  • \n

    Grab

    \n
  • \n
  • \n

    Here

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. Matches the language in the request.\n The value is a valid BCP 47\n language tag, for example, en for English.

" + "smithy.api#documentation": "

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.

" } } }, "traits": { - "smithy.api#documentation": "

A summary of the request sent by using\n SearchPlaceIndexForPosition.

" + "smithy.api#documentation": "

A summary of the request sent by using SearchPlaceIndexForPosition.

" } }, "com.amazonaws.location#SearchPlaceIndexForSuggestions": { @@ -8216,7 +8327,7 @@ } ], "traits": { - "smithy.api#documentation": "

Generates suggestions for addresses and points of interest based on partial or\n misspelled free-form text. This operation is also known as autocomplete, autosuggest, or\n fuzzy matching.

\n

Optional parameters let you narrow your search results by bounding box or country, or\n bias your search toward a specific position on the globe.

\n \n

You can search for suggested place names near a specified position by using\n BiasPosition, or filter results within a bounding box by using\n FilterBBox. These parameters are mutually exclusive; using both\n BiasPosition and FilterBBox in the same command\n returns an error.

\n
", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to Suggest or Autocomplete unless you require Grab data.

  • SearchPlaceIndexForSuggestions is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 Suggest operation gives better results for typeahead place search suggestions with fuzzy matching, while the version 2 Autocomplete operation gives better results for address completion based on partial input.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

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.

", "smithy.api#endpoint": { "hostPrefix": "places." }, @@ -8241,7 +8352,7 @@ "Text": { "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

The free-form partial text to use to generate place suggestions. For example,\n eiffel tow.

", + "smithy.api#documentation": "

The free-form partial text to use to generate place suggestions. For example, eiffel tow.

", "smithy.api#length": { "min": 1, "max": 200 @@ -8252,26 +8363,26 @@ "BiasPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

An optional parameter that indicates a preference for place suggestions that are\n closer to a specified position.

\n

If provided, this parameter must contain a pair of numbers. The first number\n represents the X coordinate, or longitude; the second number represents the Y\n coordinate, or latitude.

\n

For example, [-123.1174, 49.2847] represents the position with longitude\n -123.1174 and latitude 49.2847.

\n \n

\n BiasPosition and FilterBBox are mutually exclusive.\n Specifying both options results in an error.

\n
" + "smithy.api#documentation": "

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.

" } }, "FilterBBox": { "target": "com.amazonaws.location#BoundingBox", "traits": { - "smithy.api#documentation": "

An optional parameter that limits the search results by returning only suggestions\n within a specified bounding box.

\n

If provided, this parameter must contain a total of four consecutive numbers in two\n pairs. The first pair of numbers represents the X and Y coordinates (longitude and\n latitude, respectively) of the southwest corner of the bounding box; the second pair of\n numbers represents the X and Y coordinates (longitude and latitude, respectively) of the\n northeast corner of the bounding box.

\n

For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a\n bounding box where the southwest corner has longitude -12.7935 and latitude\n -37.4835, and the northeast corner has longitude -12.0684\n and latitude -36.9542.

\n \n

\n FilterBBox and BiasPosition are mutually exclusive.\n Specifying both options results in an error.

\n
" + "smithy.api#documentation": "

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.

" } }, "FilterCountries": { "target": "com.amazonaws.location#CountryCodeList", "traits": { - "smithy.api#documentation": "

An optional parameter that limits the search results by returning only suggestions\n within the provided list of countries.

\n
    \n
  • \n

    Use the ISO\n 3166 3-digit country code. For example, Australia uses three\n upper-case characters: AUS.

    \n
  • \n
" + "smithy.api#documentation": "

An optional parameter that limits the search results by returning only suggestions within the provided list of countries.

  • Use the ISO 3166 3-digit country code. For example, Australia uses three upper-case characters: AUS.

" } }, "MaxResults": { "target": "smithy.api#Integer", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

An optional parameter. The maximum number of results returned per request.

\n

The default: 5\n

", + "smithy.api#documentation": "

An optional parameter. The maximum number of results returned per request.

The default: 5

", "smithy.api#range": { "min": 1, "max": 15 @@ -8281,19 +8392,19 @@ "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example,\n en for English.

\n

This setting affects the languages used in the results. If no language is specified,\n or not supported for a particular result, the partner automatically chooses a language\n for the result.

\n

For an example, we'll use the Greek language. You search for Athens, Gr\n to get suggestions with the language parameter set to en. The\n results found will most likely be returned as Athens, Greece.

\n

If you set the language parameter to el, for Greek, then the\n result found will more likely be returned as Αθήνα, Ελλάδα.

\n

If the data provider does not have a value for Greek, the result will be in a language\n that the provider does support.

" + "smithy.api#documentation": "

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. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for Athens, Gr to get suggestions with the language parameter set to en. The results found will most likely be returned as Athens, Greece.

If you set the language parameter to el, for Greek, then the result found will more likely be returned as Αθήνα, Ελλάδα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

" } }, "FilterCategories": { "target": "com.amazonaws.location#FilterPlaceCategoryList", "traits": { - "smithy.api#documentation": "

A list of one or more Amazon Location categories to filter the returned places. If you \n include more than one category, the results will include results that match \n any of the categories listed.

\n

For more information about using categories, including a list of Amazon Location\n categories, see Categories and filtering, in the Amazon Location Service developer \n guide.

" + "smithy.api#documentation": "

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service developer guide.

" } }, "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -8305,7 +8416,7 @@ "Summary": { "target": "com.amazonaws.location#SearchPlaceIndexForSuggestionsSummary", "traits": { - "smithy.api#documentation": "

Contains a summary of the request. Echoes the input values for\n BiasPosition, FilterBBox, FilterCountries,\n Language, MaxResults, and Text. Also includes\n the DataSource of the place index.

", + "smithy.api#documentation": "

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.

", "smithy.api#required": {} } }, @@ -8331,13 +8442,13 @@ "BiasPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

Contains the coordinates for the optional bias position specified in the\n request.

\n

This parameter contains a pair of numbers. The first number represents the X\n coordinate, or longitude; the second number represents the Y coordinate, or\n latitude.

\n

For example, [-123.1174, 49.2847] represents the position with longitude\n -123.1174 and latitude 49.2847.

" + "smithy.api#documentation": "

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.

" } }, "FilterBBox": { "target": "com.amazonaws.location#BoundingBox", "traits": { - "smithy.api#documentation": "

Contains the coordinates for the optional bounding box specified in the\n request.

" + "smithy.api#documentation": "

Contains the coordinates for the optional bounding box specified in the request.

" } }, "FilterCountries": { @@ -8355,14 +8466,14 @@ "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The geospatial data provider attached to the place index resource specified in the\n request. Values can be one of the following:

\n
    \n
  • \n

    Esri

    \n
  • \n
  • \n

    Grab

    \n
  • \n
  • \n

    Here

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. Matches the language in the request.\n The value is a valid BCP 47\n language tag, for example, en for English.

" + "smithy.api#documentation": "

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.

" } }, "FilterCategories": { @@ -8373,7 +8484,7 @@ } }, "traits": { - "smithy.api#documentation": "

A summary of the request sent by using\n SearchPlaceIndexForSuggestions.

" + "smithy.api#documentation": "

A summary of the request sent by using SearchPlaceIndexForSuggestions.

" } }, "com.amazonaws.location#SearchPlaceIndexForText": { @@ -8402,7 +8513,7 @@ } ], "traits": { - "smithy.api#documentation": "

Geocodes free-form text, such as an address, name, city, or region to allow you to\n search for Places or points of interest.

\n

Optional parameters let you narrow your search results by bounding box or country, or\n bias your search toward a specific position on the globe.

\n \n

You can search for places near a given position using BiasPosition,\n or filter results within a bounding box using FilterBBox. Providing\n both parameters simultaneously returns an error.

\n
\n

Search results are returned in order of highest to lowest relevance.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to Geocode or SearchText unless you require Grab data.

  • SearchPlaceIndexForText is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The version 2 Geocode operation gives better results in the address geocoding use case, while the version 2 SearchText operation gives better results when searching for businesses and points of interest.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

Geocodes free-form text, such as an address, name, city, or region to allow you to search for Places or points of interest.

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 places near a given position using BiasPosition, or filter results within a bounding box using FilterBBox. Providing both parameters simultaneously returns an error.

Search results are returned in order of highest to lowest relevance.

", "smithy.api#endpoint": { "hostPrefix": "places." }, @@ -8427,7 +8538,7 @@ "Text": { "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

The address, name, city, or region to be used in the search in free-form text format.\n For example, 123 Any Street.

", + "smithy.api#documentation": "

The address, name, city, or region to be used in the search in free-form text format. For example, 123 Any Street.

", "smithy.api#length": { "min": 1, "max": 200 @@ -8438,43 +8549,43 @@ "BiasPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

An optional parameter that indicates a preference for places that are closer to a\n specified position.

\n

If provided, this parameter must contain a pair of numbers. The first number\n represents the X coordinate, or longitude; the second number represents the Y\n coordinate, or latitude.

\n

For example, [-123.1174, 49.2847] represents the position with longitude\n -123.1174 and latitude 49.2847.

\n \n

\n BiasPosition and FilterBBox are mutually exclusive.\n Specifying both options results in an error.

\n
" + "smithy.api#documentation": "

An optional parameter that indicates a preference for places 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.

" } }, "FilterBBox": { "target": "com.amazonaws.location#BoundingBox", "traits": { - "smithy.api#documentation": "

An optional parameter that limits the search results by returning only places that are\n within the provided bounding box.

\n

If provided, this parameter must contain a total of four consecutive numbers in two\n pairs. The first pair of numbers represents the X and Y coordinates (longitude and\n latitude, respectively) of the southwest corner of the bounding box; the second pair of\n numbers represents the X and Y coordinates (longitude and latitude, respectively) of the\n northeast corner of the bounding box.

\n

For example, [-12.7935, -37.4835, -12.0684, -36.9542] represents a\n bounding box where the southwest corner has longitude -12.7935 and latitude\n -37.4835, and the northeast corner has longitude -12.0684\n and latitude -36.9542.

\n \n

\n FilterBBox and BiasPosition are mutually exclusive.\n Specifying both options results in an error.

\n
" + "smithy.api#documentation": "

An optional parameter that limits the search results by returning only places that are within the provided 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.

" } }, "FilterCountries": { "target": "com.amazonaws.location#CountryCodeList", "traits": { - "smithy.api#documentation": "

An optional parameter that limits the search results by returning only places that are\n in a specified list of countries.

\n
    \n
  • \n

    Valid values include ISO 3166\n 3-digit country codes. For example, Australia uses three upper-case characters:\n AUS.

    \n
  • \n
" + "smithy.api#documentation": "

An optional parameter that limits the search results by returning only places that are in a specified list of countries.

  • Valid values include ISO 3166 3-digit country codes. For example, Australia uses three upper-case characters: AUS.

" } }, "MaxResults": { "target": "com.amazonaws.location#PlaceIndexSearchResultLimit", "traits": { - "smithy.api#documentation": "

An optional parameter. The maximum number of results returned per request.

\n

The default: 50\n

" + "smithy.api#documentation": "

An optional parameter. The maximum number of results returned per request.

The default: 50

" } }, "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. The value must be a valid BCP 47 language tag, for example,\n en for English.

\n

This setting affects the languages used in the results, but not the results\n themselves. If no language is specified, or not supported for a particular result, the\n partner automatically chooses a language for the result.

\n

For an example, we'll use the Greek language. You search for Athens,\n Greece, with the language parameter set to en. The\n result found will most likely be returned as Athens.

\n

If you set the language parameter to el, for Greek, then the\n result found will more likely be returned as Αθήνα.

\n

If the data provider does not have a value for Greek, the result will be in a language\n that the provider does support.

" + "smithy.api#documentation": "

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, but not the results themselves. If no language is specified, or not supported for a particular result, the partner automatically chooses a language for the result.

For an example, we'll use the Greek language. You search for Athens, Greece, with the language parameter set to en. The result found will most likely be returned as Athens.

If you set the language parameter to el, for Greek, then the result found will more likely be returned as Αθήνα.

If the data provider does not have a value for Greek, the result will be in a language that the provider does support.

" } }, "FilterCategories": { "target": "com.amazonaws.location#FilterPlaceCategoryList", "traits": { - "smithy.api#documentation": "

A list of one or more Amazon Location categories to filter the returned places. If you \n include more than one category, the results will include results that match \n any of the categories listed.

\n

For more information about using categories, including a list of Amazon Location\n categories, see Categories and filtering, in the Amazon Location Service developer \n guide.

" + "smithy.api#documentation": "

A list of one or more Amazon Location categories to filter the returned places. If you include more than one category, the results will include results that match any of the categories listed.

For more information about using categories, including a list of Amazon Location categories, see Categories and filtering, in the Amazon Location Service developer guide.

" } }, "Key": { "target": "com.amazonaws.location#ApiKey", "traits": { - "smithy.api#documentation": "

The optional API key to authorize \n the request.

", + "smithy.api#documentation": "

The optional API key to authorize the request.

", "smithy.api#httpQuery": "key" } } @@ -8486,14 +8597,14 @@ "Summary": { "target": "com.amazonaws.location#SearchPlaceIndexForTextSummary", "traits": { - "smithy.api#documentation": "

Contains a summary of the request. Echoes the input values for\n BiasPosition, FilterBBox, FilterCountries,\n Language, MaxResults, and Text. Also includes\n the DataSource of the place index and the bounding box,\n ResultBBox, which surrounds the search results.

", + "smithy.api#documentation": "

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 and the bounding box, ResultBBox, which surrounds the search results.

", "smithy.api#required": {} } }, "Results": { "target": "com.amazonaws.location#SearchForTextResultList", "traits": { - "smithy.api#documentation": "

A list of Places matching the input text. Each result contains additional information\n about the specific point of interest.

\n

Not all response properties are included with all responses. Some properties may only\n be returned by specific data partners.

", + "smithy.api#documentation": "

A list of Places matching the input text. Each result contains additional information about the specific point of interest.

Not all response properties are included with all responses. Some properties may only be returned by specific data partners.

", "smithy.api#required": {} } } @@ -8512,13 +8623,13 @@ "BiasPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

Contains the coordinates for the optional bias position specified in the\n request.

\n

This parameter contains a pair of numbers. The first number represents the X\n coordinate, or longitude; the second number represents the Y coordinate, or\n latitude.

\n

For example, [-123.1174, 49.2847] represents the position with longitude\n -123.1174 and latitude 49.2847.

" + "smithy.api#documentation": "

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.

" } }, "FilterBBox": { "target": "com.amazonaws.location#BoundingBox", "traits": { - "smithy.api#documentation": "

Contains the coordinates for the optional bounding box specified in the\n request.

" + "smithy.api#documentation": "

Contains the coordinates for the optional bounding box specified in the request.

" } }, "FilterCountries": { @@ -8536,20 +8647,20 @@ "ResultBBox": { "target": "com.amazonaws.location#BoundingBox", "traits": { - "smithy.api#documentation": "

The bounding box that fully contains all search results.

\n \n

If you specified the optional FilterBBox parameter in the request,\n ResultBBox is contained within FilterBBox.

\n
" + "smithy.api#documentation": "

The bounding box that fully contains all search results.

If you specified the optional FilterBBox parameter in the request, ResultBBox is contained within FilterBBox.

" } }, "DataSource": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

The geospatial data provider attached to the place index resource specified in the\n request. Values can be one of the following:

\n
    \n
  • \n

    Esri

    \n
  • \n
  • \n

    Grab

    \n
  • \n
  • \n

    Here

    \n
  • \n
\n

For more information about data providers, see Amazon Location Service data providers.

", + "smithy.api#documentation": "

The geospatial data provider attached to the place index resource specified in the request. Values can be one of the following:

  • Esri

  • Grab

  • Here

For more information about data providers, see Amazon Location Service data providers.

", "smithy.api#required": {} } }, "Language": { "target": "com.amazonaws.location#LanguageTag", "traits": { - "smithy.api#documentation": "

The preferred language used to return results. Matches the language in the request.\n The value is a valid BCP 47\n language tag, for example, en for English.

" + "smithy.api#documentation": "

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.

" } }, "FilterCategories": { @@ -8563,12 +8674,24 @@ "smithy.api#documentation": "

A summary of the request sent by using SearchPlaceIndexForText.

" } }, + "com.amazonaws.location#SensitiveBoolean": { + "type": "boolean", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.location#SensitiveDouble": { "type": "double", "traits": { "smithy.api#sensitive": {} } }, + "com.amazonaws.location#SensitiveInteger": { + "type": "integer", + "traits": { + "smithy.api#sensitive": {} + } + }, "com.amazonaws.location#SensitiveString": { "type": "string", "traits": { @@ -8588,11 +8711,21 @@ } }, "traits": { - "smithy.api#documentation": "

The operation was denied because the request would exceed the maximum quota\n set for Amazon Location Service.

", + "smithy.api#documentation": "

The operation was denied because the request would exceed the maximum quota set for Amazon Location Service.

", "smithy.api#error": "client", "smithy.api#httpError": 402 } }, + "com.amazonaws.location#Sha1CertificateFingerprint": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 59, + "max": 59 + }, + "smithy.api#pattern": "^([A-Fa-f0-9]{2}:){19}[A-Fa-f0-9]{2}$" + } + }, "com.amazonaws.location#SpeedUnit": { "type": "string", "traits": { @@ -8627,21 +8760,21 @@ "StartPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The starting position of a step. If the position is the first step in the leg, this\n position is the same as the start position of the leg.

", + "smithy.api#documentation": "

The starting position of a step. If the position is the first step in the leg, this position is the same as the start position of the leg.

", "smithy.api#required": {} } }, "EndPosition": { "target": "com.amazonaws.location#Position", "traits": { - "smithy.api#documentation": "

The end position of a step. If the position the last step in the leg, this position is\n the same as the end position of the leg.

", + "smithy.api#documentation": "

The end position of a step. If the position the last step in the leg, this position is the same as the end position of the leg.

", "smithy.api#required": {} } }, "Distance": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The travel distance between the step's StartPosition and\n EndPosition.

", + "smithy.api#documentation": "

The travel distance between the step's StartPosition and EndPosition.

", "smithy.api#range": { "min": 0 }, @@ -8649,9 +8782,9 @@ } }, "DurationSeconds": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The estimated travel time, in seconds, from the step's StartPosition to\n the EndPosition. . The travel mode and departure time that you specify in\n the request determines the calculated time.

", + "smithy.api#documentation": "

The estimated travel time, in seconds, from the step's StartPosition to the EndPosition. . The travel mode and departure time that you specify in the request determines the calculated time.

", "smithy.api#range": { "min": 0 }, @@ -8661,7 +8794,7 @@ "GeometryOffset": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

Represents the start position, or index, in a sequence of steps within the leg's line\n string geometry. For example, the index of the first step in a leg geometry is\n 0.

\n

Included in the response for queries that set IncludeLegGeometry to\n True.

", + "smithy.api#documentation": "

Represents the start position, or index, in a sequence of steps within the leg's line string geometry. For example, the index of the first step in a leg geometry is 0.

Included in the response for queries that set IncludeLegGeometry to True.

", "smithy.api#range": { "min": 0 } @@ -8669,7 +8802,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents an element of a leg within a route. A step contains instructions for how\n to move to the next step in the leg.

" + "smithy.api#documentation": "

Represents an element of a leg within a route. A step contains instructions for how to move to the next step in the leg.

" } }, "com.amazonaws.location#StepList": { @@ -8741,7 +8874,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified Amazon Location Service\n resource.

\n

Tags can help you organize and categorize your resources. You can also use them to\n scope user permissions, by granting a user permission to access or change only resources\n with certain tag values.

\n

You can use the TagResource operation with an Amazon Location Service\n resource that already has tags. If you specify a new tag key for the resource, this tag\n is appended to the tags already associated with the resource. If you specify a tag key\n that's already associated with the resource, the new tag value that you specify replaces\n the previous value for that tag.

\n

You can associate up to 50 tags with a resource.

", + "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified Amazon Location Service resource.

Tags can help you organize and categorize your resources. You can also use them to scope user permissions, by granting a user permission to access or change only resources with certain tag values.

You can use the TagResource operation with an Amazon Location Service resource that already has tags. If you specify a new tag key for the resource, this tag is appended to the tags already associated with the resource. If you specify a tag key that's already associated with the resource, the new tag value that you specify replaces the previous value for that tag.

You can associate up to 50 tags with a resource.

", "smithy.api#endpoint": { "hostPrefix": "cp.metadata." }, @@ -8757,7 +8890,7 @@ "ResourceArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource whose tags you want to update.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:resourcetype/ExampleResource\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource whose tags you want to update.

  • Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8765,7 +8898,7 @@ "Tags": { "target": "com.amazonaws.location#TagMap", "traits": { - "smithy.api#documentation": "

Applies one or more tags to specific resource. A tag is a key-value pair that helps\n you manage, identify, search, and filter your resources.

\n

Format: \"key\" : \"value\"\n

\n

Restrictions:

\n
    \n
  • \n

    Maximum 50 tags per resource.

    \n
  • \n
  • \n

    Each tag key must be unique and must have exactly one associated value.

    \n
  • \n
  • \n

    Maximum key length: 128 Unicode characters in UTF-8.

    \n
  • \n
  • \n

    Maximum value length: 256 Unicode characters in UTF-8.

    \n
  • \n
  • \n

    Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters:\n + - = . _ : / @

    \n
  • \n
  • \n

    Cannot use \"aws:\" as a prefix for a key.

    \n
  • \n
", + "smithy.api#documentation": "

Applies one or more tags to specific resource. A tag is a key-value pair that helps you manage, identify, search, and filter your resources.

Format: \"key\" : \"value\"

Restrictions:

  • Maximum 50 tags per resource.

  • Each tag key must be unique and must have exactly one associated value.

  • Maximum key length: 128 Unicode characters in UTF-8.

  • Maximum value length: 256 Unicode characters in UTF-8.

  • Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @

  • Cannot use \"aws:\" as a prefix for a key.

", "smithy.api#required": {} } } @@ -8807,21 +8940,21 @@ "type": "structure", "members": { "Name": { - "target": "smithy.api#String", + "target": "com.amazonaws.location#SensitiveString", "traits": { - "smithy.api#documentation": "

The name of the time zone, following the \n IANA time zone standard. For example,\n America/Los_Angeles.

", + "smithy.api#documentation": "

The name of the time zone, following the IANA time zone standard. For example, America/Los_Angeles.

", "smithy.api#required": {} } }, "Offset": { - "target": "smithy.api#Integer", + "target": "com.amazonaws.location#SensitiveInteger", "traits": { "smithy.api#documentation": "

The time zone's offset, in seconds, from UTC.

" } } }, "traits": { - "smithy.api#documentation": "

Information about a time zone. Includes the name of the time zone and the offset from\n UTC in seconds.

" + "smithy.api#documentation": "

Information about a time zone. Includes the name of the time zone and the offset from UTC in seconds.

" } }, "com.amazonaws.location#Timestamp": { @@ -8944,27 +9077,27 @@ "type": "structure", "members": { "Length": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The length of the truck.

\n
    \n
  • \n

    For example, 15.5.

    \n
  • \n
\n \n

\n For routes calculated with a HERE resource, this value must be between 0 and 300 meters.\n

\n
", + "smithy.api#documentation": "

The length of the truck.

  • For example, 15.5.

For routes calculated with a HERE resource, this value must be between 0 and 300 meters.

", "smithy.api#range": { "min": 0 } } }, "Height": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The height of the truck.

\n
    \n
  • \n

    For example, 4.5.

    \n
  • \n
\n \n

\n For routes calculated with a HERE resource, this value must be between 0 and 50 meters.\n

\n
", + "smithy.api#documentation": "

The height of the truck.

  • For example, 4.5.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

", "smithy.api#range": { "min": 0 } } }, "Width": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The width of the truck.

\n
    \n
  • \n

    For example, 4.5.

    \n
  • \n
\n \n

\n For routes calculated with a HERE resource, this value must be between 0 and 50 meters.\n

\n
", + "smithy.api#documentation": "

The width of the truck.

  • For example, 4.5.

For routes calculated with a HERE resource, this value must be between 0 and 50 meters.

", "smithy.api#range": { "min": 0 } @@ -8973,21 +9106,21 @@ "Unit": { "target": "com.amazonaws.location#DimensionUnit", "traits": { - "smithy.api#documentation": "

Specifies the unit of measurement for the truck dimensions.

\n

Default Value: Meters\n

" + "smithy.api#documentation": "

Specifies the unit of measurement for the truck dimensions.

Default Value: Meters

" } } }, "traits": { - "smithy.api#documentation": "

Contains details about the truck dimensions in the unit of measurement that you\n specify. Used to filter out roads that can't support or allow the specified dimensions\n for requests that specify TravelMode as Truck.

" + "smithy.api#documentation": "

Contains details about the truck dimensions in the unit of measurement that you specify. Used to filter out roads that can't support or allow the specified dimensions for requests that specify TravelMode as Truck.

" } }, "com.amazonaws.location#TruckWeight": { "type": "structure", "members": { "Total": { - "target": "smithy.api#Double", + "target": "com.amazonaws.location#SensitiveDouble", "traits": { - "smithy.api#documentation": "

The total weight of the truck.

\n
    \n
  • \n

    For example, 3500.

    \n
  • \n
", + "smithy.api#documentation": "

The total weight of the truck.

  • For example, 3500.

", "smithy.api#range": { "min": 0 } @@ -8996,12 +9129,12 @@ "Unit": { "target": "com.amazonaws.location#VehicleWeightUnit", "traits": { - "smithy.api#documentation": "

The unit of measurement to use for the truck weight.

\n

Default Value: Kilograms\n

" + "smithy.api#documentation": "

The unit of measurement to use for the truck weight.

Default Value: Kilograms

" } } }, "traits": { - "smithy.api#documentation": "

Contains details about the truck's weight specifications. Used to avoid roads that\n can't support or allow the total weight for requests that specify\n TravelMode as Truck.

" + "smithy.api#documentation": "

Contains details about the truck's weight specifications. Used to avoid roads that can't support or allow the total weight for requests that specify TravelMode as Truck.

" } }, "com.amazonaws.location#UntagResource": { @@ -9048,7 +9181,7 @@ "ResourceArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource from which you want to remove\n tags.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:resourcetype/ExampleResource\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource from which you want to remove tags.

  • Format example: arn:aws:geo:region:account-id:resourcetype/ExampleResource

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -9123,7 +9256,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is\n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "PricingPlanDataSource": { @@ -9157,14 +9290,14 @@ "CollectionArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated geofence collection. Used to specify a\n resource across Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated geofence collection. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:geofence-collection/ExampleGeofenceCollection

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The time when the geofence collection was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ\n

", + "smithy.api#documentation": "

The time when the geofence collection was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ

", "smithy.api#required": {} } } @@ -9229,19 +9362,19 @@ "ExpireTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

Updates the timestamp for when the API key resource will expire in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

" + "smithy.api#documentation": "

Updates the timestamp for when the API key resource will expire in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

" } }, "NoExpiry": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Whether the API key should expire. Set to true to set the API key to have\n no expiration time.

" + "smithy.api#documentation": "

Whether the API key should expire. Set to true to set the API key to have no expiration time.

" } }, "ForceUpdate": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

The boolean flag to be included for updating ExpireTime or\n Restrictions details.

\n

Must be set to true to update an API key resource that has been used in\n the past 7 days.

\n

\n False if force update is not preferred

\n

Default value: False\n

" + "smithy.api#documentation": "

The boolean flag to be included for updating ExpireTime or Restrictions details.

Must be set to true to update an API key resource that has been used in the past 7 days.

False if force update is not preferred

Default value: False

" } }, "Restrictions": { @@ -9258,7 +9391,7 @@ "KeyArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify\n a resource across all Amazon Web Services.

\n
    \n
  • \n

    Format example:\n arn:aws:geo:region:account-id:key/ExampleKey\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify a resource across all Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:key/ExampleKey

", "smithy.api#required": {} } }, @@ -9272,7 +9405,7 @@ "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the API key resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the API key resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -9304,7 +9437,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified properties of a given map resource.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend upgrading to the Maps API V2 unless you require Grab data.

  • UpdateMap is part of a previous Amazon Location Service Maps API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Maps API version 2 has a simplified interface that can be used without creating or managing map resources.

  • If you are using an AWS SDK or the AWS CLI, note that the Maps API version 2 is found under geo-maps or geo_maps, not under location.

  • Since Grab is not yet fully supported in Maps API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Maps V2 API Reference or the Developer Guide.

Updates the specified properties of a given map resource.

", "smithy.api#endpoint": { "hostPrefix": "cp.maps." }, @@ -9333,7 +9466,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is \n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "Description": { @@ -9346,7 +9479,7 @@ "target": "com.amazonaws.location#MapConfigurationUpdate", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

Updates the parts of the map configuration that can be updated, including the\n political view.

" + "smithy.api#documentation": "

Updates the parts of the map configuration that can be updated, including the political view.

" } } } @@ -9364,14 +9497,14 @@ "MapArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated map resource. Used to specify a resource\n across AWS.

\n
    \n
  • \n

    Format example: arn:aws:geo:region:account-id:map/ExampleMap\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated map resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:map/ExampleMap

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the map resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the map resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -9403,7 +9536,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified properties of a given place index resource.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Places API V2 unless you require Grab data.

  • UpdatePlaceIndex is part of a previous Amazon Location Service Places API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Places API version 2 has a simplified interface that can be used without creating or managing place index resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Places API version 2 is found under geo-places or geo_places, not under location.

  • Since Grab is not yet fully supported in Places API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Places V2 API Reference or the Developer Guide.

Updates the specified properties of a given place index resource.

", "smithy.api#endpoint": { "hostPrefix": "cp.places." }, @@ -9432,7 +9565,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is\n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "Description": { @@ -9462,14 +9595,14 @@ "IndexArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the upated place index resource. Used to specify a\n resource across Amazon Web Services.

\n
    \n
  • \n

    Format example: arn:aws:geo:region:account-id:place-\n index/ExamplePlaceIndex\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the upated place index resource. Used to specify a resource across Amazon Web Services.

  • Format example: arn:aws:geo:region:account-id:place- index/ExamplePlaceIndex

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the place index resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the place index resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -9501,7 +9634,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified properties for a given route calculator resource.

", + "smithy.api#documentation": "

This operation is no longer current and may be deprecated in the future. We recommend you upgrade to the Routes API V2 unless you require Grab data.

  • UpdateRouteCalculator is part of a previous Amazon Location Service Routes API (version 1) which has been superseded by a more intuitive, powerful, and complete API (version 2).

  • The Routes API version 2 has a simplified interface that can be used without creating or managing route calculator resources.

  • If you are using an Amazon Web Services SDK or the Amazon Web Services CLI, note that the Routes API version 2 is found under geo-routes or geo_routes, not under location.

  • Since Grab is not yet fully supported in Routes API version 2, we recommend you continue using API version 1 when using Grab.

  • Start your version 2 API journey with the Routes V2 API Reference or the Developer Guide.

Updates the specified properties for a given route calculator resource.

", "smithy.api#endpoint": { "hostPrefix": "cp.routes." }, @@ -9530,7 +9663,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is\n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "Description": { @@ -9554,14 +9687,14 @@ "CalculatorArn": { "target": "com.amazonaws.location#GeoArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated route calculator resource. Used to\n specify a resource across AWS.

\n
    \n
  • \n

    Format example: arn:aws:geo:region:account-id:route-\n calculator/ExampleCalculator\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated route calculator resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:route- calculator/ExampleCalculator

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the route calculator was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the route calculator was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -9623,7 +9756,7 @@ "message": "Deprecated. If included, the only allowed value is RequestBasedUsage.", "since": "2022-02-01" }, - "smithy.api#documentation": "

No longer used. If included, the only allowed value is \n RequestBasedUsage.

" + "smithy.api#documentation": "

No longer used. If included, the only allowed value is RequestBasedUsage.

" } }, "PricingPlanDataSource": { @@ -9645,19 +9778,19 @@ "PositionFiltering": { "target": "com.amazonaws.location#PositionFiltering", "traits": { - "smithy.api#documentation": "

Updates the position filtering for the tracker resource.

\n

Valid values:

\n
    \n
  • \n

    \n TimeBased - Location updates are evaluated against linked geofence collections, \n but not every location update is stored. If your update frequency is more often than 30 seconds, \n only one update per 30 seconds is stored for each unique device ID.\n

    \n
  • \n
  • \n

    \n DistanceBased - If the device has moved less than 30 m (98.4 ft), location updates are \n ignored. Location updates within this distance are neither evaluated against linked geofence collections, nor stored.\n This helps control costs by reducing the number of geofence evaluations and historical device positions to paginate through.\n Distance-based filtering can also reduce the effects of GPS noise when displaying device trajectories on a map.\n

    \n
  • \n
  • \n

    \n AccuracyBased - If the device has moved less than the measured accuracy,\n location updates are ignored. For example, if two consecutive updates from a device\n have a horizontal accuracy of 5 m and 10 m, the second update is ignored if the device\n has moved less than 15 m. Ignored location updates are neither evaluated against\n linked geofence collections, nor stored. This helps educe the effects of GPS noise \n when displaying device trajectories on a map, and can help control costs by reducing the\n number of geofence evaluations.\n

    \n
  • \n
" + "smithy.api#documentation": "

Updates the position filtering for the tracker resource.

Valid values:

  • TimeBased - Location updates are evaluated against linked geofence collections, but not every location update is stored. If your update frequency is more often than 30 seconds, only one update per 30 seconds is stored for each unique device ID.

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

" } }, "EventBridgeEnabled": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Whether to enable position UPDATE events from this tracker to be sent to \n EventBridge.

\n \n

You do not need enable this feature to get ENTER and \n EXIT events for geofences with this tracker. Those events are\n always sent to EventBridge.

\n
" + "smithy.api#documentation": "

Whether to enable position UPDATE events from this tracker to be sent to EventBridge.

You do not need enable this feature to get ENTER and EXIT events for geofences with this tracker. Those events are always sent to EventBridge.

" } }, "KmsKeyEnableGeospatialQueries": { "target": "smithy.api#Boolean", "traits": { - "smithy.api#documentation": "

Enables GeospatialQueries for a tracker that uses a Amazon Web Services\n KMS customer managed key.

\n

This parameter is only used if you are using a KMS customer managed key.

" + "smithy.api#documentation": "

Enables GeospatialQueries for a tracker that uses a Amazon Web Services KMS customer managed key.

This parameter is only used if you are using a KMS customer managed key.

" } } } @@ -9675,14 +9808,14 @@ "TrackerArn": { "target": "com.amazonaws.location#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify a resource across\n AWS.

\n
    \n
  • \n

    Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker\n

    \n
  • \n
", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated tracker resource. Used to specify a resource across AWS.

  • Format example: arn:aws:geo:region:account-id:tracker/ExampleTracker

", "smithy.api#required": {} } }, "UpdateTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource was last updated in ISO 8601\n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource was last updated in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } } @@ -9748,7 +9881,7 @@ } }, "traits": { - "smithy.api#documentation": "

The input failed to meet the constraints specified by the AWS service in a specified\n field.

" + "smithy.api#documentation": "

The input failed to meet the constraints specified by the AWS service in a specified field.

" } }, "com.amazonaws.location#ValidationExceptionFieldList": { @@ -9828,7 +9961,7 @@ ], "traits": { "aws.api#dataPlane": {}, - "smithy.api#documentation": "

Verifies the integrity of the device's position by determining if it was reported behind a proxy, and by comparing it to an inferred position estimated based on the device's state.

\n \n

The Location Integrity SDK provides enhanced \n features related to device verification, and it is available for use by request. \n To get access to the SDK, contact Sales Support.

\n
", + "smithy.api#documentation": "

Verifies the integrity of the device's position by determining if it was reported behind a proxy, and by comparing it to an inferred position estimated based on the device's state.

The Location Integrity SDK provides enhanced features related to device verification, and it is available for use by request. To get access to the SDK, contact Sales Support.

", "smithy.api#endpoint": { "hostPrefix": "tracking." }, @@ -9859,7 +9992,7 @@ "DistanceUnit": { "target": "com.amazonaws.location#DistanceUnit", "traits": { - "smithy.api#documentation": "

The distance unit for the verification request.

\n

Default Value: Kilometers\n

" + "smithy.api#documentation": "

The distance unit for the verification request.

Default Value: Kilometers

" } } }, @@ -9887,14 +10020,14 @@ "SampleTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 \n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp at which the device's position was determined. Uses ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, "ReceivedTime": { "target": "com.amazonaws.location#Timestamp", "traits": { - "smithy.api#documentation": "

The timestamp for when the tracker resource received the device position in ISO 8601 \n format: YYYY-MM-DDThh:mm:ss.sssZ.

", + "smithy.api#documentation": "

The timestamp for when the tracker resource received the device position in ISO 8601 format: YYYY-MM-DDThh:mm:ss.sssZ.

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/lookoutequipment.json b/codegen/sdk-codegen/aws-models/lookoutequipment.json index 8c163fefd14..8067caf27df 100644 --- a/codegen/sdk-codegen/aws-models/lookoutequipment.json +++ b/codegen/sdk-codegen/aws-models/lookoutequipment.json @@ -202,27 +202,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/lookoutmetrics.json b/codegen/sdk-codegen/aws-models/lookoutmetrics.json deleted file mode 100644 index 4a9c3f0d81e..00000000000 --- a/codegen/sdk-codegen/aws-models/lookoutmetrics.json +++ /dev/null @@ -1,6373 +0,0 @@ -{ - "smithy": "2.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, - "shapes": { - "com.amazonaws.lookoutmetrics#AccessDeniedException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

You do not have sufficient permissions to perform this action.

", - "smithy.api#error": "client", - "smithy.api#httpError": 403 - } - }, - "com.amazonaws.lookoutmetrics#Action": { - "type": "structure", - "members": { - "SNSConfiguration": { - "target": "com.amazonaws.lookoutmetrics#SNSConfiguration", - "traits": { - "smithy.api#documentation": "

A configuration for an Amazon SNS channel.

" - } - }, - "LambdaConfiguration": { - "target": "com.amazonaws.lookoutmetrics#LambdaConfiguration", - "traits": { - "smithy.api#documentation": "

A configuration for an AWS Lambda channel.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A configuration that specifies the action to perform when anomalies are detected.

" - } - }, - "com.amazonaws.lookoutmetrics#ActivateAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ActivateAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ActivateAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ConflictException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Activates an anomaly detector.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ActivateAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#ActivateAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the anomaly detector.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ActivateAnomalyDetectorResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#AggregationFunction": { - "type": "enum", - "members": { - "AVG": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "AVG" - } - }, - "SUM": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SUM" - } - } - } - }, - "com.amazonaws.lookoutmetrics#Alert": { - "type": "structure", - "members": { - "Action": { - "target": "com.amazonaws.lookoutmetrics#Action", - "traits": { - "smithy.api#documentation": "

Action that will be triggered when there is an alert.

" - } - }, - "AlertDescription": { - "target": "com.amazonaws.lookoutmetrics#AlertDescription", - "traits": { - "smithy.api#documentation": "

A description of the alert.

" - } - }, - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert.

" - } - }, - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to which the alert is attached.

" - } - }, - "AlertName": { - "target": "com.amazonaws.lookoutmetrics#AlertName", - "traits": { - "smithy.api#documentation": "

The name of the alert.

" - } - }, - "AlertSensitivityThreshold": { - "target": "com.amazonaws.lookoutmetrics#SensitivityThreshold", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum severity for an anomaly to trigger the alert.

" - } - }, - "AlertType": { - "target": "com.amazonaws.lookoutmetrics#AlertType", - "traits": { - "smithy.api#documentation": "

The type of the alert.

" - } - }, - "AlertStatus": { - "target": "com.amazonaws.lookoutmetrics#AlertStatus", - "traits": { - "smithy.api#documentation": "

The status of the alert.

" - } - }, - "LastModificationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the alert was last modified.

" - } - }, - "CreationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the alert was created.

" - } - }, - "AlertFilters": { - "target": "com.amazonaws.lookoutmetrics#AlertFilters", - "traits": { - "smithy.api#documentation": "

The configuration of the alert filters, containing MetricList and DimensionFilter.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A configuration for Amazon SNS-integrated notifications.

" - } - }, - "com.amazonaws.lookoutmetrics#AlertDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#AlertFilters": { - "type": "structure", - "members": { - "MetricList": { - "target": "com.amazonaws.lookoutmetrics#MetricNameList", - "traits": { - "smithy.api#documentation": "

The list of measures that you want to get alerts for.

" - } - }, - "DimensionFilterList": { - "target": "com.amazonaws.lookoutmetrics#DimensionFilterList", - "traits": { - "smithy.api#documentation": "

The list of DimensionFilter objects that are used for dimension-based filtering.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The configuration of the alert filters.

" - } - }, - "com.amazonaws.lookoutmetrics#AlertName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]*$" - } - }, - "com.amazonaws.lookoutmetrics#AlertStatus": { - "type": "enum", - "members": { - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVE" - } - }, - "INACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "INACTIVE" - } - } - } - }, - "com.amazonaws.lookoutmetrics#AlertSummary": { - "type": "structure", - "members": { - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert.

" - } - }, - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to which the alert is attached.

" - } - }, - "AlertName": { - "target": "com.amazonaws.lookoutmetrics#AlertName", - "traits": { - "smithy.api#documentation": "

The name of the alert.

" - } - }, - "AlertSensitivityThreshold": { - "target": "com.amazonaws.lookoutmetrics#SensitivityThreshold", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum severity for an anomaly to trigger the alert.

" - } - }, - "AlertType": { - "target": "com.amazonaws.lookoutmetrics#AlertType", - "traits": { - "smithy.api#documentation": "

The type of the alert.

" - } - }, - "AlertStatus": { - "target": "com.amazonaws.lookoutmetrics#AlertStatus", - "traits": { - "smithy.api#documentation": "

The status of the alert.

" - } - }, - "LastModificationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the alert was last modified.

" - } - }, - "CreationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the alert was created.

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

The alert's tags.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Provides a summary of an alert's configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#AlertSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#AlertSummary" - } - }, - "com.amazonaws.lookoutmetrics#AlertType": { - "type": "enum", - "members": { - "SNS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SNS" - } - }, - "LAMBDA": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LAMBDA" - } - } - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectionTaskStatus": { - "type": "enum", - "members": { - "PENDING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PENDING" - } - }, - "IN_PROGRESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "IN_PROGRESS" - } - }, - "COMPLETED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "COMPLETED" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FAILED" - } - }, - "FAILED_TO_SCHEDULE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FAILED_TO_SCHEDULE" - } - } - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectionTaskStatusMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorConfig": { - "type": "structure", - "members": { - "AnomalyDetectorFrequency": { - "target": "com.amazonaws.lookoutmetrics#Frequency", - "traits": { - "smithy.api#documentation": "

The frequency at which the detector analyzes its source data.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about a detector's configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorConfigSummary": { - "type": "structure", - "members": { - "AnomalyDetectorFrequency": { - "target": "com.amazonaws.lookoutmetrics#Frequency", - "traits": { - "smithy.api#documentation": "

The interval at which the detector analyzes its source data.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about a detector's configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorDataQualityMetric": { - "type": "structure", - "members": { - "StartTimestamp": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The start time for the data quality metrics collection.

" - } - }, - "MetricSetDataQualityMetricList": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDataQualityMetricList", - "traits": { - "smithy.api#documentation": "

An array of DataQualityMetricList objects. Each object in the array contains information about a data quality metric.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Aggregated details about the data quality metrics collected for the AnomalyDetectorArn provided in the GetDataQualityMetrics object.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorDataQualityMetricList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorDataQualityMetric" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorFailureType": { - "type": "enum", - "members": { - "ACTIVATION_FAILURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVATION_FAILURE" - } - }, - "BACK_TEST_ACTIVATION_FAILURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACK_TEST_ACTIVATION_FAILURE" - } - }, - "DELETION_FAILURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETION_FAILURE" - } - }, - "DEACTIVATION_FAILURE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DEACTIVATION_FAILURE" - } - } - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]*$" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorStatus": { - "type": "enum", - "members": { - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVE" - } - }, - "ACTIVATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVATING" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETING" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FAILED" - } - }, - "INACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "INACTIVE" - } - }, - "LEARNING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LEARNING" - } - }, - "BACK_TEST_ACTIVATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACK_TEST_ACTIVATING" - } - }, - "BACK_TEST_ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACK_TEST_ACTIVE" - } - }, - "BACK_TEST_COMPLETE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACK_TEST_COMPLETE" - } - }, - "DEACTIVATED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DEACTIVATED" - } - }, - "DEACTIVATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DEACTIVATING" - } - } - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorSummary": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector.

" - } - }, - "AnomalyDetectorName": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorName", - "traits": { - "smithy.api#documentation": "

The name of the detector.

" - } - }, - "AnomalyDetectorDescription": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorDescription", - "traits": { - "smithy.api#documentation": "

A description of the detector.

" - } - }, - "CreationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the detector was created.

" - } - }, - "LastModificationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the detector was last modified.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorStatus", - "traits": { - "smithy.api#documentation": "

The status of detector.

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

The detector's tags.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about an an anomaly detector.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyDetectorSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorSummary" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyGroup": { - "type": "structure", - "members": { - "StartTime": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The start time for the group.

" - } - }, - "EndTime": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The end time for the group.

" - } - }, - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

" - } - }, - "AnomalyGroupScore": { - "target": "com.amazonaws.lookoutmetrics#Score", - "traits": { - "smithy.api#documentation": "

The severity score of the group.

" - } - }, - "PrimaryMetricName": { - "target": "com.amazonaws.lookoutmetrics#MetricName", - "traits": { - "smithy.api#documentation": "

The name of the primary affected measure for the group.

" - } - }, - "MetricLevelImpactList": { - "target": "com.amazonaws.lookoutmetrics#MetricLevelImpactList", - "traits": { - "smithy.api#documentation": "

A list of measures affected by the anomaly.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A group of anomalous metrics

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyGroupStatistics": { - "type": "structure", - "members": { - "EvaluationStartDate": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The start of the time range that was searched.

" - } - }, - "TotalCount": { - "target": "com.amazonaws.lookoutmetrics#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of groups found.

" - } - }, - "ItemizedMetricStatsList": { - "target": "com.amazonaws.lookoutmetrics#ItemizedMetricStatsList", - "traits": { - "smithy.api#documentation": "

Statistics for individual metrics within the group.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Aggregated statistics for a group of anomalous metrics.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyGroupSummary": { - "type": "structure", - "members": { - "StartTime": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The start time for the group.

" - } - }, - "EndTime": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The end time for the group.

" - } - }, - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

" - } - }, - "AnomalyGroupScore": { - "target": "com.amazonaws.lookoutmetrics#Score", - "traits": { - "smithy.api#documentation": "

The severity score of the group.

" - } - }, - "PrimaryMetricName": { - "target": "com.amazonaws.lookoutmetrics#MetricName", - "traits": { - "smithy.api#documentation": "

The name of the primary affected measure for the group.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about a group of anomalous metrics.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyGroupSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#AnomalyGroupSummary" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyGroupTimeSeries": { - "type": "structure", - "members": { - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

", - "smithy.api#required": {} - } - }, - "TimeSeriesId": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesId", - "traits": { - "smithy.api#documentation": "

The ID of the metric.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An anomalous metric in an anomaly group.

" - } - }, - "com.amazonaws.lookoutmetrics#AnomalyGroupTimeSeriesFeedback": { - "type": "structure", - "members": { - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

", - "smithy.api#required": {} - } - }, - "TimeSeriesId": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesId", - "traits": { - "smithy.api#documentation": "

The ID of the metric.

", - "smithy.api#required": {} - } - }, - "IsAnomaly": { - "target": "com.amazonaws.lookoutmetrics#Boolean", - "traits": { - "smithy.api#documentation": "

Feedback on whether the metric is a legitimate anomaly.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Feedback for an anomalous metric.

" - } - }, - "com.amazonaws.lookoutmetrics#AppFlowConfig": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

An IAM role that gives Amazon Lookout for Metrics permission to access the flow.

" - } - }, - "FlowName": { - "target": "com.amazonaws.lookoutmetrics#FlowName", - "traits": { - "smithy.api#documentation": "

name of the flow.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about an Amazon AppFlow flow datasource.

" - } - }, - "com.amazonaws.lookoutmetrics#Arn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^arn:([a-z\\d-]+):.*:.*:.*:.+$" - } - }, - "com.amazonaws.lookoutmetrics#AthenaDataCatalog": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "^[\\u0020-\\uD7FF\\uE000-\\uFFFD\\uD800\\uDC00-\\uDBFF\\uDFFF\\t]*$" - } - }, - "com.amazonaws.lookoutmetrics#AthenaDatabaseName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_]+$" - } - }, - "com.amazonaws.lookoutmetrics#AthenaS3ResultsPath": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": "^s3://[a-z0-9].+$" - } - }, - "com.amazonaws.lookoutmetrics#AthenaSourceConfig": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

An IAM role that gives Amazon Lookout for Metrics permission to access the data.

" - } - }, - "DatabaseName": { - "target": "com.amazonaws.lookoutmetrics#AthenaDatabaseName", - "traits": { - "smithy.api#documentation": "

The database's name.

" - } - }, - "DataCatalog": { - "target": "com.amazonaws.lookoutmetrics#AthenaDataCatalog", - "traits": { - "smithy.api#documentation": "

The database's data catalog.

" - } - }, - "TableName": { - "target": "com.amazonaws.lookoutmetrics#AthenaTableName", - "traits": { - "smithy.api#documentation": "

The database's table name.

" - } - }, - "WorkGroupName": { - "target": "com.amazonaws.lookoutmetrics#AthenaWorkGroupName", - "traits": { - "smithy.api#documentation": "

The database's work group name.

" - } - }, - "S3ResultsPath": { - "target": "com.amazonaws.lookoutmetrics#AthenaS3ResultsPath", - "traits": { - "smithy.api#documentation": "

The database's results path.

" - } - }, - "BackTestConfiguration": { - "target": "com.amazonaws.lookoutmetrics#BackTestConfiguration", - "traits": { - "smithy.api#documentation": "

Settings for backtest mode.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about an Amazon Athena datasource.

" - } - }, - "com.amazonaws.lookoutmetrics#AthenaTableName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_]+$" - } - }, - "com.amazonaws.lookoutmetrics#AthenaWorkGroupName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^[a-zA-Z0-9._-]{1,128}$" - } - }, - "com.amazonaws.lookoutmetrics#AttributeValue": { - "type": "structure", - "members": { - "S": { - "target": "com.amazonaws.lookoutmetrics#StringAttributeValue", - "traits": { - "smithy.api#documentation": "

A string.

" - } - }, - "N": { - "target": "com.amazonaws.lookoutmetrics#NumberAttributeValue", - "traits": { - "smithy.api#documentation": "

A number.

" - } - }, - "B": { - "target": "com.amazonaws.lookoutmetrics#BinaryAttributeValue", - "traits": { - "smithy.api#documentation": "

A binary value.

" - } - }, - "SS": { - "target": "com.amazonaws.lookoutmetrics#StringListAttributeValue", - "traits": { - "smithy.api#documentation": "

A list of strings.

" - } - }, - "NS": { - "target": "com.amazonaws.lookoutmetrics#NumberListAttributeValue", - "traits": { - "smithy.api#documentation": "

A list of numbers.

" - } - }, - "BS": { - "target": "com.amazonaws.lookoutmetrics#BinaryListAttributeValue", - "traits": { - "smithy.api#documentation": "

A list of binary values.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An attribute value.

" - } - }, - "com.amazonaws.lookoutmetrics#AutoDetectionMetricSource": { - "type": "structure", - "members": { - "S3SourceConfig": { - "target": "com.amazonaws.lookoutmetrics#AutoDetectionS3SourceConfig", - "traits": { - "smithy.api#documentation": "

The source's source config.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An auto detection metric source.

" - } - }, - "com.amazonaws.lookoutmetrics#AutoDetectionS3SourceConfig": { - "type": "structure", - "members": { - "TemplatedPathList": { - "target": "com.amazonaws.lookoutmetrics#TemplatedPathList", - "traits": { - "smithy.api#documentation": "

The config's templated path list.

" - } - }, - "HistoricalDataPathList": { - "target": "com.amazonaws.lookoutmetrics#HistoricalDataPathList", - "traits": { - "smithy.api#documentation": "

The config's historical data path list.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An auto detection source config.

" - } - }, - "com.amazonaws.lookoutmetrics#BackTestAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#BackTestAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#BackTestAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Runs a backtest for anomaly detection for the specified resource.

", - "smithy.api#http": { - "method": "POST", - "uri": "/BackTestAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#BackTestAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#BackTestAnomalyDetectorResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#BackTestConfiguration": { - "type": "structure", - "members": { - "RunBackTestMode": { - "target": "com.amazonaws.lookoutmetrics#Boolean", - "traits": { - "smithy.api#documentation": "

Run a backtest instead of monitoring new data.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Settings for backtest mode.

" - } - }, - "com.amazonaws.lookoutmetrics#BinaryAttributeValue": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#BinaryListAttributeValue": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#BinaryAttributeValue" - } - }, - "com.amazonaws.lookoutmetrics#Boolean": { - "type": "boolean" - }, - "com.amazonaws.lookoutmetrics#CSVFileCompression": { - "type": "enum", - "members": { - "NONE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NONE" - } - }, - "GZIP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GZIP" - } - } - } - }, - "com.amazonaws.lookoutmetrics#Charset": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]*$" - } - }, - "com.amazonaws.lookoutmetrics#CloudWatchConfig": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

An IAM role that gives Amazon Lookout for Metrics permission to access data in Amazon CloudWatch.

" - } - }, - "BackTestConfiguration": { - "target": "com.amazonaws.lookoutmetrics#BackTestConfiguration", - "traits": { - "smithy.api#documentation": "

Settings for backtest mode.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about an Amazon CloudWatch datasource.

" - } - }, - "com.amazonaws.lookoutmetrics#ColumnName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]*$" - } - }, - "com.amazonaws.lookoutmetrics#Confidence": { - "type": "enum", - "members": { - "HIGH": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "HIGH" - } - }, - "LOW": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LOW" - } - }, - "NONE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NONE" - } - } - } - }, - "com.amazonaws.lookoutmetrics#ConflictException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - }, - "ResourceId": { - "target": "com.amazonaws.lookoutmetrics#ResourceId", - "traits": { - "smithy.api#documentation": "

The ID of the resource.

" - } - }, - "ResourceType": { - "target": "com.amazonaws.lookoutmetrics#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of the resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

There was a conflict processing the request. Try your request again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.lookoutmetrics#ContributionMatrix": { - "type": "structure", - "members": { - "DimensionContributionList": { - "target": "com.amazonaws.lookoutmetrics#DimensionContributionList", - "traits": { - "smithy.api#documentation": "

A list of contributing dimensions.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about dimensions that contributed to an anomaly.

" - } - }, - "com.amazonaws.lookoutmetrics#CreateAlert": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#CreateAlertRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#CreateAlertResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ConflictException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates an alert for an anomaly detector.

", - "smithy.api#http": { - "method": "POST", - "uri": "/CreateAlert", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#CreateAlertRequest": { - "type": "structure", - "members": { - "AlertName": { - "target": "com.amazonaws.lookoutmetrics#AlertName", - "traits": { - "smithy.api#documentation": "

The name of the alert.

", - "smithy.api#required": {} - } - }, - "AlertSensitivityThreshold": { - "target": "com.amazonaws.lookoutmetrics#SensitivityThreshold", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

An integer from 0 to 100 specifying the alert sensitivity threshold.

" - } - }, - "AlertDescription": { - "target": "com.amazonaws.lookoutmetrics#AlertDescription", - "traits": { - "smithy.api#documentation": "

A description of the alert.

" - } - }, - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to which the alert is attached.

", - "smithy.api#required": {} - } - }, - "Action": { - "target": "com.amazonaws.lookoutmetrics#Action", - "traits": { - "smithy.api#documentation": "

Action that will be triggered when there is an alert.

", - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

A list of tags to apply to the alert.

" - } - }, - "AlertFilters": { - "target": "com.amazonaws.lookoutmetrics#AlertFilters", - "traits": { - "smithy.api#documentation": "

The configuration of the alert filters, containing MetricList and DimensionFilterList.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#CreateAlertResponse": { - "type": "structure", - "members": { - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#CreateAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#CreateAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#CreateAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ConflictException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates an anomaly detector.

", - "smithy.api#http": { - "method": "POST", - "uri": "/CreateAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#CreateAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorName": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorName", - "traits": { - "smithy.api#documentation": "

The name of the detector.

", - "smithy.api#required": {} - } - }, - "AnomalyDetectorDescription": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorDescription", - "traits": { - "smithy.api#documentation": "

A description of the detector.

" - } - }, - "AnomalyDetectorConfig": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorConfig", - "traits": { - "smithy.api#documentation": "

Contains information about the configuration of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "KmsKeyArn": { - "target": "com.amazonaws.lookoutmetrics#KmsKeyArn", - "traits": { - "smithy.api#documentation": "

The ARN of the KMS key to use to encrypt your data.

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

A list of tags to apply to the anomaly detector.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#CreateAnomalyDetectorResponse": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#CreateMetricSet": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#CreateMetricSetRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#CreateMetricSetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ConflictException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates a dataset.

", - "smithy.api#http": { - "method": "POST", - "uri": "/CreateMetricSet", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#CreateMetricSetRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the anomaly detector that will use the dataset.

", - "smithy.api#required": {} - } - }, - "MetricSetName": { - "target": "com.amazonaws.lookoutmetrics#MetricSetName", - "traits": { - "smithy.api#documentation": "

The name of the dataset.

", - "smithy.api#required": {} - } - }, - "MetricSetDescription": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDescription", - "traits": { - "smithy.api#documentation": "

A description of the dataset you are creating.

" - } - }, - "MetricList": { - "target": "com.amazonaws.lookoutmetrics#MetricList", - "traits": { - "smithy.api#documentation": "

A list of metrics that the dataset will contain.

", - "smithy.api#required": {} - } - }, - "Offset": { - "target": "com.amazonaws.lookoutmetrics#Offset", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

After an interval ends, the amount of seconds that the detector waits before importing data. Offset is only supported for S3, Redshift, Athena and datasources.

" - } - }, - "TimestampColumn": { - "target": "com.amazonaws.lookoutmetrics#TimestampColumn", - "traits": { - "smithy.api#documentation": "

Contains information about the column used for tracking time in your source data.

" - } - }, - "DimensionList": { - "target": "com.amazonaws.lookoutmetrics#DimensionList", - "traits": { - "smithy.api#documentation": "

A list of the fields you want to treat as dimensions.

" - } - }, - "MetricSetFrequency": { - "target": "com.amazonaws.lookoutmetrics#Frequency", - "traits": { - "smithy.api#documentation": "

The frequency with which the source data will be analyzed for anomalies.

" - } - }, - "MetricSource": { - "target": "com.amazonaws.lookoutmetrics#MetricSource", - "traits": { - "smithy.api#documentation": "

Contains information about how the source data should be interpreted.

", - "smithy.api#required": {} - } - }, - "Timezone": { - "target": "com.amazonaws.lookoutmetrics#Timezone", - "traits": { - "smithy.api#documentation": "

The time zone in which your source data was recorded.

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

A list of tags to apply to the dataset.

" - } - }, - "DimensionFilterList": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDimensionFilterList", - "traits": { - "smithy.api#documentation": "

A list of filters that specify which data is kept for anomaly detection.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#CreateMetricSetResponse": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the dataset.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#CsvFormatDescriptor": { - "type": "structure", - "members": { - "FileCompression": { - "target": "com.amazonaws.lookoutmetrics#CSVFileCompression", - "traits": { - "smithy.api#documentation": "

The level of compression of the source CSV file.

" - } - }, - "Charset": { - "target": "com.amazonaws.lookoutmetrics#Charset", - "traits": { - "smithy.api#documentation": "

The character set in which the source CSV file is written.

" - } - }, - "ContainsHeader": { - "target": "com.amazonaws.lookoutmetrics#Boolean", - "traits": { - "smithy.api#documentation": "

Whether or not the source CSV file contains a header.

" - } - }, - "Delimiter": { - "target": "com.amazonaws.lookoutmetrics#Delimiter", - "traits": { - "smithy.api#documentation": "

The character used to delimit the source CSV file.

" - } - }, - "HeaderList": { - "target": "com.amazonaws.lookoutmetrics#HeaderList", - "traits": { - "smithy.api#documentation": "

A list of the source CSV file's headers, if any.

" - } - }, - "QuoteSymbol": { - "target": "com.amazonaws.lookoutmetrics#QuoteSymbol", - "traits": { - "smithy.api#documentation": "

The character used as a quote character.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about how a source CSV data file should be analyzed.

" - } - }, - "com.amazonaws.lookoutmetrics#DataItem": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#DataQualityMetric": { - "type": "structure", - "members": { - "MetricType": { - "target": "com.amazonaws.lookoutmetrics#DataQualityMetricType", - "traits": { - "smithy.api#documentation": "

The name of the data quality metric.

" - } - }, - "MetricDescription": { - "target": "com.amazonaws.lookoutmetrics#DataQualityMetricDescription", - "traits": { - "smithy.api#documentation": "

A description of the data quality metric.

" - } - }, - "RelatedColumnName": { - "target": "com.amazonaws.lookoutmetrics#RelatedColumnName", - "traits": { - "smithy.api#documentation": "

The column that is being monitored.

" - } - }, - "MetricValue": { - "target": "com.amazonaws.lookoutmetrics#Double", - "traits": { - "smithy.api#documentation": "

The value of the data quality metric.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An array that describes a data quality metric. Each DataQualityMetric object contains the data quality metric name, its value, a description of the metric, and the affected column.

" - } - }, - "com.amazonaws.lookoutmetrics#DataQualityMetricDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#DataQualityMetricList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DataQualityMetric" - } - }, - "com.amazonaws.lookoutmetrics#DataQualityMetricType": { - "type": "enum", - "members": { - "COLUMN_COMPLETENESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "COLUMN_COMPLETENESS" - } - }, - "DIMENSION_UNIQUENESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DIMENSION_UNIQUENESS" - } - }, - "TIME_SERIES_COUNT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TIME_SERIES_COUNT" - } - }, - "ROWS_PROCESSED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ROWS_PROCESSED" - } - }, - "ROWS_PARTIAL_COMPLIANCE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ROWS_PARTIAL_COMPLIANCE" - } - }, - "INVALID_ROWS_COMPLIANCE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "INVALID_ROWS_COMPLIANCE" - } - }, - "BACKTEST_TRAINING_DATA_START_TIME_STAMP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACKTEST_TRAINING_DATA_START_TIME_STAMP" - } - }, - "BACKTEST_TRAINING_DATA_END_TIME_STAMP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACKTEST_TRAINING_DATA_END_TIME_STAMP" - } - }, - "BACKTEST_INFERENCE_DATA_START_TIME_STAMP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACKTEST_INFERENCE_DATA_START_TIME_STAMP" - } - }, - "BACKTEST_INFERENCE_DATA_END_TIME_STAMP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BACKTEST_INFERENCE_DATA_END_TIME_STAMP" - } - } - } - }, - "com.amazonaws.lookoutmetrics#DatabaseHost": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 253 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#DatabasePort": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 65535 - } - } - }, - "com.amazonaws.lookoutmetrics#DateTimeFormat": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 63 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#DeactivateAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DeactivateAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DeactivateAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ConflictException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Deactivates an anomaly detector.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DeactivateAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DeactivateAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DeactivateAnomalyDetectorResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DeleteAlert": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DeleteAlertRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DeleteAlertResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes an alert.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DeleteAlert", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DeleteAlertRequest": { - "type": "structure", - "members": { - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert to delete.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DeleteAlertResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DeleteAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DeleteAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DeleteAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ConflictException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes a detector. Deleting an anomaly detector will delete all of its corresponding resources including any\n configured datasets and alerts.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DeleteAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DeleteAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to delete.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DeleteAnomalyDetectorResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#Delimiter": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1 - }, - "smithy.api#pattern": "^[^\\r\\n]$" - } - }, - "com.amazonaws.lookoutmetrics#DescribeAlert": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DescribeAlertRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DescribeAlertResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describes an alert.

\n

Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource\n immediately after creating or modifying it, use retries to allow time for the write operation to complete.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DescribeAlert", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DescribeAlertRequest": { - "type": "structure", - "members": { - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeAlertResponse": { - "type": "structure", - "members": { - "Alert": { - "target": "com.amazonaws.lookoutmetrics#Alert", - "traits": { - "smithy.api#documentation": "

Contains information about an alert.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectionExecutions": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectionExecutionsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectionExecutionsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns information about the status of the specified anomaly detection jobs.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DescribeAnomalyDetectionExecutions", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectionExecutionsRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "Timestamp": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The timestamp of the anomaly detection job.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The number of items to return in the response.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectionExecutionsResponse": { - "type": "structure", - "members": { - "ExecutionList": { - "target": "com.amazonaws.lookoutmetrics#ExecutionList", - "traits": { - "smithy.api#documentation": "

A list of detection jobs.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that's included if more results are available.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describes a detector.

\n

Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource\n immediately after creating or modifying it, use retries to allow time for the write operation to complete.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DescribeAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectorResponse": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector.

" - } - }, - "AnomalyDetectorName": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorName", - "traits": { - "smithy.api#documentation": "

The name of the detector.

" - } - }, - "AnomalyDetectorDescription": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorDescription", - "traits": { - "smithy.api#documentation": "

A description of the detector.

" - } - }, - "AnomalyDetectorConfig": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorConfigSummary", - "traits": { - "smithy.api#documentation": "

Contains information about the detector's configuration.

" - } - }, - "CreationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the detector was created.

" - } - }, - "LastModificationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the detector was last modified.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorStatus", - "traits": { - "smithy.api#documentation": "

The status of the detector.

" - } - }, - "FailureReason": { - "target": "com.amazonaws.lookoutmetrics#ErrorMessage", - "traits": { - "smithy.api#documentation": "

The reason that the detector failed.

" - } - }, - "KmsKeyArn": { - "target": "com.amazonaws.lookoutmetrics#KmsKeyArn", - "traits": { - "smithy.api#documentation": "

The ARN of the KMS key to use to encrypt your data.

" - } - }, - "FailureType": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorFailureType", - "traits": { - "smithy.api#documentation": "

The process that caused the detector to fail.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeMetricSet": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DescribeMetricSetRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DescribeMetricSetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describes a dataset.

\n

Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource\n immediately after creating or modifying it, use retries to allow time for the write operation to complete.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DescribeMetricSet", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DescribeMetricSetRequest": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the dataset.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DescribeMetricSetResponse": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the dataset.

" - } - }, - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector that contains the dataset.

" - } - }, - "MetricSetName": { - "target": "com.amazonaws.lookoutmetrics#MetricSetName", - "traits": { - "smithy.api#documentation": "

The name of the dataset.

" - } - }, - "MetricSetDescription": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDescription", - "traits": { - "smithy.api#documentation": "

The dataset's description.

" - } - }, - "CreationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the dataset was created.

" - } - }, - "LastModificationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the dataset was last modified.

" - } - }, - "Offset": { - "target": "com.amazonaws.lookoutmetrics#Offset", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

After an interval ends, the amount of seconds that the detector waits before importing data. Offset is only supported for S3, Redshift, Athena and datasources.

" - } - }, - "MetricList": { - "target": "com.amazonaws.lookoutmetrics#MetricList", - "traits": { - "smithy.api#documentation": "

A list of the metrics defined by the dataset.

" - } - }, - "TimestampColumn": { - "target": "com.amazonaws.lookoutmetrics#TimestampColumn", - "traits": { - "smithy.api#documentation": "

Contains information about the column used for tracking time in your source data.

" - } - }, - "DimensionList": { - "target": "com.amazonaws.lookoutmetrics#DimensionList", - "traits": { - "smithy.api#documentation": "

A list of the dimensions chosen for analysis.

" - } - }, - "MetricSetFrequency": { - "target": "com.amazonaws.lookoutmetrics#Frequency", - "traits": { - "smithy.api#documentation": "

The interval at which the data will be analyzed for anomalies.

" - } - }, - "Timezone": { - "target": "com.amazonaws.lookoutmetrics#Timezone", - "traits": { - "smithy.api#documentation": "

The time zone in which the dataset's data was recorded.

" - } - }, - "MetricSource": { - "target": "com.amazonaws.lookoutmetrics#MetricSource", - "traits": { - "smithy.api#documentation": "

Contains information about the dataset's source data.

" - } - }, - "DimensionFilterList": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDimensionFilterList", - "traits": { - "smithy.api#documentation": "

The dimensions and their values that were used to filter the dataset.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DetectMetricSetConfig": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#DetectMetricSetConfigRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#DetectMetricSetConfigResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Detects an Amazon S3 dataset's file format, interval, and offset.

", - "smithy.api#http": { - "method": "POST", - "uri": "/DetectMetricSetConfig", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#DetectMetricSetConfigRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

An anomaly detector ARN.

", - "smithy.api#required": {} - } - }, - "AutoDetectionMetricSource": { - "target": "com.amazonaws.lookoutmetrics#AutoDetectionMetricSource", - "traits": { - "smithy.api#documentation": "

A data source.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#DetectMetricSetConfigResponse": { - "type": "structure", - "members": { - "DetectedMetricSetConfig": { - "target": "com.amazonaws.lookoutmetrics#DetectedMetricSetConfig", - "traits": { - "smithy.api#documentation": "

The inferred dataset configuration for the datasource.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#DetectedCsvFormatDescriptor": { - "type": "structure", - "members": { - "FileCompression": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's file compression.

" - } - }, - "Charset": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's charset.

" - } - }, - "ContainsHeader": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

Whether the format includes a header.

" - } - }, - "Delimiter": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's delimiter.

" - } - }, - "HeaderList": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's header list.

" - } - }, - "QuoteSymbol": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's quote symbol.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Properties of an inferred CSV format.

" - } - }, - "com.amazonaws.lookoutmetrics#DetectedField": { - "type": "structure", - "members": { - "Value": { - "target": "com.amazonaws.lookoutmetrics#AttributeValue", - "traits": { - "smithy.api#documentation": "

The field's value.

" - } - }, - "Confidence": { - "target": "com.amazonaws.lookoutmetrics#Confidence", - "traits": { - "smithy.api#documentation": "

The field's confidence.

" - } - }, - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#documentation": "

The field's message.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An inferred field.

" - } - }, - "com.amazonaws.lookoutmetrics#DetectedFileFormatDescriptor": { - "type": "structure", - "members": { - "CsvFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#DetectedCsvFormatDescriptor", - "traits": { - "smithy.api#documentation": "

Details about a CSV format.

" - } - }, - "JsonFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#DetectedJsonFormatDescriptor", - "traits": { - "smithy.api#documentation": "

Details about a JSON format.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Properties of an inferred data format.

" - } - }, - "com.amazonaws.lookoutmetrics#DetectedJsonFormatDescriptor": { - "type": "structure", - "members": { - "FileCompression": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's file compression.

" - } - }, - "Charset": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The format's character set.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A detected JSON format descriptor.

" - } - }, - "com.amazonaws.lookoutmetrics#DetectedMetricSetConfig": { - "type": "structure", - "members": { - "Offset": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The dataset's offset.

" - } - }, - "MetricSetFrequency": { - "target": "com.amazonaws.lookoutmetrics#DetectedField", - "traits": { - "smithy.api#documentation": "

The dataset's interval.

" - } - }, - "MetricSource": { - "target": "com.amazonaws.lookoutmetrics#DetectedMetricSource", - "traits": { - "smithy.api#documentation": "

The dataset's data source.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An inferred dataset configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#DetectedMetricSource": { - "type": "structure", - "members": { - "S3SourceConfig": { - "target": "com.amazonaws.lookoutmetrics#DetectedS3SourceConfig", - "traits": { - "smithy.api#documentation": "

The data source's source configuration.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An inferred data source.

" - } - }, - "com.amazonaws.lookoutmetrics#DetectedS3SourceConfig": { - "type": "structure", - "members": { - "FileFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#DetectedFileFormatDescriptor", - "traits": { - "smithy.api#documentation": "

The source's file format descriptor.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An inferred source configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#DimensionContribution": { - "type": "structure", - "members": { - "DimensionName": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The name of the dimension.

" - } - }, - "DimensionValueContributionList": { - "target": "com.amazonaws.lookoutmetrics#DimensionValueContributionList", - "traits": { - "smithy.api#documentation": "

A list of dimension values that contributed to the anomaly.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about a dimension that contributed to an anomaly.

" - } - }, - "com.amazonaws.lookoutmetrics#DimensionContributionList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DimensionContribution" - } - }, - "com.amazonaws.lookoutmetrics#DimensionFilter": { - "type": "structure", - "members": { - "DimensionName": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The name of the dimension to filter on.

" - } - }, - "DimensionValueList": { - "target": "com.amazonaws.lookoutmetrics#DimensionValueList", - "traits": { - "smithy.api#documentation": "

The list of values for the dimension specified in DimensionName that you want to filter on.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The dimension filter, containing DimensionName and DimensionValueList.

" - } - }, - "com.amazonaws.lookoutmetrics#DimensionFilterList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DimensionFilter" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 5 - } - } - }, - "com.amazonaws.lookoutmetrics#DimensionList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#ColumnName" - }, - "traits": { - "smithy.api#length": { - "min": 1 - } - } - }, - "com.amazonaws.lookoutmetrics#DimensionNameValue": { - "type": "structure", - "members": { - "DimensionName": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The name of the dimension.

", - "smithy.api#required": {} - } - }, - "DimensionValue": { - "target": "com.amazonaws.lookoutmetrics#DimensionValue", - "traits": { - "smithy.api#documentation": "

The value of the dimension.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

A dimension name and value.

" - } - }, - "com.amazonaws.lookoutmetrics#DimensionNameValueList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DimensionNameValue" - } - }, - "com.amazonaws.lookoutmetrics#DimensionValue": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#DimensionValueContribution": { - "type": "structure", - "members": { - "DimensionValue": { - "target": "com.amazonaws.lookoutmetrics#DimensionValue", - "traits": { - "smithy.api#documentation": "

The value of the dimension.

" - } - }, - "ContributionScore": { - "target": "com.amazonaws.lookoutmetrics#Score", - "traits": { - "smithy.api#documentation": "

The severity score of the value.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The severity of a value of a dimension that contributed to an anomaly.

" - } - }, - "com.amazonaws.lookoutmetrics#DimensionValueContributionList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DimensionValueContribution" - } - }, - "com.amazonaws.lookoutmetrics#DimensionValueList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DimensionValue" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - } - } - }, - "com.amazonaws.lookoutmetrics#Double": { - "type": "double" - }, - "com.amazonaws.lookoutmetrics#ErrorMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - } - } - }, - "com.amazonaws.lookoutmetrics#ExecutionList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#ExecutionStatus" - } - }, - "com.amazonaws.lookoutmetrics#ExecutionStatus": { - "type": "structure", - "members": { - "Timestamp": { - "target": "com.amazonaws.lookoutmetrics#TimestampString", - "traits": { - "smithy.api#documentation": "

The run's timestamp.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectionTaskStatus", - "traits": { - "smithy.api#documentation": "

The run's status.

" - } - }, - "FailureReason": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectionTaskStatusMessage", - "traits": { - "smithy.api#documentation": "

The reason that the run failed, if applicable.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The status of an anomaly detector run.

" - } - }, - "com.amazonaws.lookoutmetrics#FieldName": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#FileFormatDescriptor": { - "type": "structure", - "members": { - "CsvFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#CsvFormatDescriptor", - "traits": { - "smithy.api#documentation": "

Contains information about how a source CSV data file should be analyzed.

" - } - }, - "JsonFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#JsonFormatDescriptor", - "traits": { - "smithy.api#documentation": "

Contains information about how a source JSON data file should be analyzed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about a source file's formatting.

" - } - }, - "com.amazonaws.lookoutmetrics#Filter": { - "type": "structure", - "members": { - "DimensionValue": { - "target": "com.amazonaws.lookoutmetrics#DimensionValue", - "traits": { - "smithy.api#documentation": "

The value that you want to include in the filter.

" - } - }, - "FilterOperation": { - "target": "com.amazonaws.lookoutmetrics#FilterOperation", - "traits": { - "smithy.api#documentation": "

The condition to apply.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a filter for choosing a subset of dimension values. Each filter consists of the dimension that you want to include and the condition statement. The condition statement is specified in the FilterOperation object.

" - } - }, - "com.amazonaws.lookoutmetrics#FilterList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#Filter" - }, - "traits": { - "smithy.api#length": { - "min": 1 - } - } - }, - "com.amazonaws.lookoutmetrics#FilterOperation": { - "type": "enum", - "members": { - "EQUALS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "EQUALS" - } - } - } - }, - "com.amazonaws.lookoutmetrics#FlowName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][\\w!@#.-]+$" - } - }, - "com.amazonaws.lookoutmetrics#Frequency": { - "type": "enum", - "members": { - "P1D": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "P1D" - } - }, - "PT1H": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PT1H" - } - }, - "PT10M": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PT10M" - } - }, - "PT5M": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PT5M" - } - } - } - }, - "com.amazonaws.lookoutmetrics#GetAnomalyGroup": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#GetAnomalyGroupRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#GetAnomalyGroupResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns details about a group of anomalous metrics.

", - "smithy.api#http": { - "method": "POST", - "uri": "/GetAnomalyGroup", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#GetAnomalyGroupRequest": { - "type": "structure", - "members": { - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

", - "smithy.api#required": {} - } - }, - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#GetAnomalyGroupResponse": { - "type": "structure", - "members": { - "AnomalyGroup": { - "target": "com.amazonaws.lookoutmetrics#AnomalyGroup", - "traits": { - "smithy.api#documentation": "

Details about the anomaly group.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#GetDataQualityMetrics": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#GetDataQualityMetricsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#GetDataQualityMetricsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns details about the requested data quality metrics.

", - "smithy.api#http": { - "method": "POST", - "uri": "/GetDataQualityMetrics", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#GetDataQualityMetricsRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector that you want to investigate.

", - "smithy.api#required": {} - } - }, - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a specific data quality metric set.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#GetDataQualityMetricsResponse": { - "type": "structure", - "members": { - "AnomalyDetectorDataQualityMetricList": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorDataQualityMetricList", - "traits": { - "smithy.api#documentation": "

A list of the data quality metrics for the AnomalyDetectorArn that you requested.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#GetFeedback": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#GetFeedbackRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#GetFeedbackResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Get feedback for an anomaly group.

", - "smithy.api#http": { - "method": "POST", - "uri": "/GetFeedback", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#GetFeedbackRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "AnomalyGroupTimeSeriesFeedback": { - "target": "com.amazonaws.lookoutmetrics#AnomalyGroupTimeSeries", - "traits": { - "smithy.api#documentation": "

The anomalous metric and group ID.

", - "smithy.api#required": {} - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#GetFeedbackResponse": { - "type": "structure", - "members": { - "AnomalyGroupTimeSeriesFeedback": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesFeedbackList", - "traits": { - "smithy.api#documentation": "

Feedback for an anomalous metric.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that's included if more results are available.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#GetSampleData": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#GetSampleDataRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#GetSampleDataResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a selection of sample records from an Amazon S3 datasource.

", - "smithy.api#http": { - "method": "POST", - "uri": "/GetSampleData", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#GetSampleDataRequest": { - "type": "structure", - "members": { - "S3SourceConfig": { - "target": "com.amazonaws.lookoutmetrics#SampleDataS3SourceConfig", - "traits": { - "smithy.api#documentation": "

A datasource bucket in Amazon S3.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#GetSampleDataResponse": { - "type": "structure", - "members": { - "HeaderValues": { - "target": "com.amazonaws.lookoutmetrics#HeaderValueList", - "traits": { - "smithy.api#documentation": "

A list of header labels for the records.

" - } - }, - "SampleRows": { - "target": "com.amazonaws.lookoutmetrics#SampleRows", - "traits": { - "smithy.api#documentation": "

A list of records.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#HeaderList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#ColumnName" - } - }, - "com.amazonaws.lookoutmetrics#HeaderValue": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#HeaderValueList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#HeaderValue" - } - }, - "com.amazonaws.lookoutmetrics#HistoricalDataPath": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": "^s3://[a-z0-9].+$" - } - }, - "com.amazonaws.lookoutmetrics#HistoricalDataPathList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#HistoricalDataPath" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.lookoutmetrics#Integer": { - "type": "integer", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.lookoutmetrics#InterMetricImpactDetails": { - "type": "structure", - "members": { - "MetricName": { - "target": "com.amazonaws.lookoutmetrics#MetricName", - "traits": { - "smithy.api#documentation": "

The name of the measure.

" - } - }, - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

" - } - }, - "RelationshipType": { - "target": "com.amazonaws.lookoutmetrics#RelationshipType", - "traits": { - "smithy.api#documentation": "

Whether a measure is a potential cause of the anomaly group\n (CAUSE_OF_INPUT_ANOMALY_GROUP), or whether the measure is impacted by the\n anomaly group (EFFECT_OF_INPUT_ANOMALY_GROUP).

" - } - }, - "ContributionPercentage": { - "target": "com.amazonaws.lookoutmetrics#MetricChangePercentage", - "traits": { - "smithy.api#documentation": "

For potential causes (CAUSE_OF_INPUT_ANOMALY_GROUP), the percentage\n contribution the measure has in causing the anomalies.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Aggregated details about the measures contributing to the anomaly group, and the measures\n potentially impacted by the anomaly group.

\n

" - } - }, - "com.amazonaws.lookoutmetrics#InterMetricImpactList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#InterMetricImpactDetails" - } - }, - "com.amazonaws.lookoutmetrics#InternalServerException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The request processing has failed because of an unknown error, exception, or failure.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 - } - }, - "com.amazonaws.lookoutmetrics#ItemizedMetricStats": { - "type": "structure", - "members": { - "MetricName": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The name of the measure.

" - } - }, - "OccurrenceCount": { - "target": "com.amazonaws.lookoutmetrics#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of times that the measure appears.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Aggregated statistics about a measure affected by an anomaly.

" - } - }, - "com.amazonaws.lookoutmetrics#ItemizedMetricStatsList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#ItemizedMetricStats" - } - }, - "com.amazonaws.lookoutmetrics#JsonFileCompression": { - "type": "enum", - "members": { - "NONE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NONE" - } - }, - "GZIP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GZIP" - } - } - } - }, - "com.amazonaws.lookoutmetrics#JsonFormatDescriptor": { - "type": "structure", - "members": { - "FileCompression": { - "target": "com.amazonaws.lookoutmetrics#JsonFileCompression", - "traits": { - "smithy.api#documentation": "

The level of compression of the source CSV file.

" - } - }, - "Charset": { - "target": "com.amazonaws.lookoutmetrics#Charset", - "traits": { - "smithy.api#documentation": "

The character set in which the source JSON file is written.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about how a source JSON data file should be analyzed.

" - } - }, - "com.amazonaws.lookoutmetrics#KmsKeyArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 20, - "max": 2048 - }, - "smithy.api#pattern": "^arn:aws.*:kms:.*:[0-9]{12}:key/[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$" - } - }, - "com.amazonaws.lookoutmetrics#LambdaConfiguration": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of an IAM role that has permission to invoke the Lambda function.

", - "smithy.api#required": {} - } - }, - "LambdaArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the Lambda function.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about a Lambda configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#ListAlerts": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListAlertsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListAlertsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the alerts attached to a detector.

\n

Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource\n immediately after creating or modifying it, use retries to allow time for the write operation to complete.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ListAlerts", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#ListAlertsRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert's detector.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

If the result of the previous request is truncated, the response includes a NextToken. To\n retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results that will be displayed by the request.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAlertsResponse": { - "type": "structure", - "members": { - "AlertSummaryList": { - "target": "com.amazonaws.lookoutmetrics#AlertSummaryList", - "traits": { - "smithy.api#documentation": "

Contains information about an alert.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

If the response is truncated, the service returns this token. To retrieve the next set of results, use this\n token in the next request.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyDetectors": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyDetectorsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyDetectorsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the detectors in the current AWS Region.

\n

Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource\n immediately after creating or modifying it, use retries to allow time for the write operation to complete.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ListAnomalyDetectors", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyDetectorsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

If the result of the previous request was truncated, the response includes a NextToken. To\n retrieve the next set of results, use the token in the next request. Tokens expire after 24 hours.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyDetectorsResponse": { - "type": "structure", - "members": { - "AnomalyDetectorSummaryList": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorSummaryList", - "traits": { - "smithy.api#documentation": "

A list of anomaly detectors in the account in the current region.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

If the response is truncated, the service returns this token. To retrieve the next set of results, use the\n token in the next request.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupRelatedMetrics": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupRelatedMetricsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupRelatedMetricsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a list of measures that are potential causes or effects of an\n anomaly group.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ListAnomalyGroupRelatedMetrics", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupRelatedMetricsRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

", - "smithy.api#required": {} - } - }, - "RelationshipTypeFilter": { - "target": "com.amazonaws.lookoutmetrics#RelationshipType", - "traits": { - "smithy.api#documentation": "

Filter for potential causes (CAUSE_OF_INPUT_ANOMALY_GROUP) or\n downstream effects (EFFECT_OF_INPUT_ANOMALY_GROUP) of the anomaly group.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

Specify the pagination token that's returned by a previous request to retrieve the next\n page of results.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupRelatedMetricsResponse": { - "type": "structure", - "members": { - "InterMetricImpactList": { - "target": "com.amazonaws.lookoutmetrics#InterMetricImpactList", - "traits": { - "smithy.api#documentation": "

Aggregated details about the measures contributing to the anomaly group, and the measures\n potentially impacted by the anomaly group.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that's included if more results are available.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupSummaries": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupSummariesRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupSummariesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a list of anomaly groups.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ListAnomalyGroupSummaries", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupSummariesRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "SensitivityThreshold": { - "target": "com.amazonaws.lookoutmetrics#SensitivityThreshold", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The minimum severity score for inclusion in the output.

", - "smithy.api#required": {} - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupSummariesResponse": { - "type": "structure", - "members": { - "AnomalyGroupSummaryList": { - "target": "com.amazonaws.lookoutmetrics#AnomalyGroupSummaryList", - "traits": { - "smithy.api#documentation": "

A list of anomaly group summaries.

" - } - }, - "AnomalyGroupStatistics": { - "target": "com.amazonaws.lookoutmetrics#AnomalyGroupStatistics", - "traits": { - "smithy.api#documentation": "

Aggregated details about the anomaly groups.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that's included if more results are available.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupTimeSeries": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupTimeSeriesRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupTimeSeriesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Gets a list of anomalous metrics for a measure in an anomaly group.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ListAnomalyGroupTimeSeries", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupTimeSeriesRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

", - "smithy.api#required": {} - } - }, - "MetricName": { - "target": "com.amazonaws.lookoutmetrics#MetricName", - "traits": { - "smithy.api#documentation": "

The name of the measure field.

", - "smithy.api#required": {} - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

Specify the pagination token that's returned by a previous request to retrieve the next page of results.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListAnomalyGroupTimeSeriesResponse": { - "type": "structure", - "members": { - "AnomalyGroupId": { - "target": "com.amazonaws.lookoutmetrics#UUID", - "traits": { - "smithy.api#documentation": "

The ID of the anomaly group.

" - } - }, - "MetricName": { - "target": "com.amazonaws.lookoutmetrics#MetricName", - "traits": { - "smithy.api#documentation": "

The name of the measure field.

" - } - }, - "TimestampList": { - "target": "com.amazonaws.lookoutmetrics#TimestampList", - "traits": { - "smithy.api#documentation": "

Timestamps for the anomalous metrics.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

The pagination token that's included if more results are available.

" - } - }, - "TimeSeriesList": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesList", - "traits": { - "smithy.api#documentation": "

A list of anomalous metrics.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ListMetricSets": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListMetricSetsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListMetricSetsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the datasets in the current AWS Region.

\n

Amazon Lookout for Metrics API actions are eventually consistent. If you do a read operation on a resource\n immediately after creating or modifying it, use retries to allow time for the write operation to complete.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ListMetricSets", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutmetrics#ListMetricSetsRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the anomaly detector containing the metrics sets to list.

" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutmetrics#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

If the result of the previous request was truncated, the response includes a\n NextToken. To retrieve the next set of results, use the token in the next\n request. Tokens expire after 24 hours.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListMetricSetsResponse": { - "type": "structure", - "members": { - "MetricSetSummaryList": { - "target": "com.amazonaws.lookoutmetrics#MetricSetSummaryList", - "traits": { - "smithy.api#documentation": "

A list of the datasets in the AWS Region, with configuration details for each.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutmetrics#NextToken", - "traits": { - "smithy.api#documentation": "

If the response is truncated, the list call returns this token. To retrieve the next set\n of results, use the token in the next list request.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Gets a list of tags for a detector, dataset, or alert.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The resource's Amazon Resource Name (ARN).

", - "smithy.api#httpLabel": {}, - "smithy.api#jsonName": "resourceArn", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

The resource's tags.

", - "smithy.api#jsonName": "Tags" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#LookoutMetrics": { - "type": "service", - "version": "2017-07-25", - "operations": [ - { - "target": "com.amazonaws.lookoutmetrics#ActivateAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#BackTestAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#CreateAlert" - }, - { - "target": "com.amazonaws.lookoutmetrics#CreateAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#CreateMetricSet" - }, - { - "target": "com.amazonaws.lookoutmetrics#DeactivateAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#DeleteAlert" - }, - { - "target": "com.amazonaws.lookoutmetrics#DeleteAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#DescribeAlert" - }, - { - "target": "com.amazonaws.lookoutmetrics#DescribeAnomalyDetectionExecutions" - }, - { - "target": "com.amazonaws.lookoutmetrics#DescribeAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#DescribeMetricSet" - }, - { - "target": "com.amazonaws.lookoutmetrics#DetectMetricSetConfig" - }, - { - "target": "com.amazonaws.lookoutmetrics#GetAnomalyGroup" - }, - { - "target": "com.amazonaws.lookoutmetrics#GetDataQualityMetrics" - }, - { - "target": "com.amazonaws.lookoutmetrics#GetFeedback" - }, - { - "target": "com.amazonaws.lookoutmetrics#GetSampleData" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListAlerts" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyDetectors" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupRelatedMetrics" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupSummaries" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListAnomalyGroupTimeSeries" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListMetricSets" - }, - { - "target": "com.amazonaws.lookoutmetrics#ListTagsForResource" - }, - { - "target": "com.amazonaws.lookoutmetrics#PutFeedback" - }, - { - "target": "com.amazonaws.lookoutmetrics#TagResource" - }, - { - "target": "com.amazonaws.lookoutmetrics#UntagResource" - }, - { - "target": "com.amazonaws.lookoutmetrics#UpdateAlert" - }, - { - "target": "com.amazonaws.lookoutmetrics#UpdateAnomalyDetector" - }, - { - "target": "com.amazonaws.lookoutmetrics#UpdateMetricSet" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "LookoutMetrics", - "arnNamespace": "lookoutmetrics", - "cloudFormationName": "LookoutMetrics", - "cloudTrailEventSource": "lookoutmetrics.amazonaws.com", - "endpointPrefix": "lookoutmetrics" - }, - "aws.auth#sigv4": { - "name": "lookoutmetrics" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

This is the Amazon Lookout for Metrics API Reference. For an introduction to the service\n with tutorials for getting started, visit Amazon\n Lookout for Metrics Developer Guide.

", - "smithy.api#title": "Amazon Lookout for Metrics", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://lookoutmetrics.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutmetrics.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.lookoutmetrics#MaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.lookoutmetrics#Message": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#Metric": { - "type": "structure", - "members": { - "MetricName": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The name of the metric.

", - "smithy.api#required": {} - } - }, - "AggregationFunction": { - "target": "com.amazonaws.lookoutmetrics#AggregationFunction", - "traits": { - "smithy.api#documentation": "

The function with which the metric is calculated.

", - "smithy.api#required": {} - } - }, - "Namespace": { - "target": "com.amazonaws.lookoutmetrics#Namespace", - "traits": { - "smithy.api#documentation": "

The namespace for the metric.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A calculation made by contrasting a measure and a dimension from your source data.

" - } - }, - "com.amazonaws.lookoutmetrics#MetricChangePercentage": { - "type": "double", - "traits": { - "smithy.api#range": { - "min": 0.0, - "max": 100.0 - } - } - }, - "com.amazonaws.lookoutmetrics#MetricLevelImpact": { - "type": "structure", - "members": { - "MetricName": { - "target": "com.amazonaws.lookoutmetrics#MetricName", - "traits": { - "smithy.api#documentation": "

The name of the measure.

" - } - }, - "NumTimeSeries": { - "target": "com.amazonaws.lookoutmetrics#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of anomalous metrics for the measure.

" - } - }, - "ContributionMatrix": { - "target": "com.amazonaws.lookoutmetrics#ContributionMatrix", - "traits": { - "smithy.api#documentation": "

Details about the dimensions that contributed to the anomaly.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about a measure affected by an anomaly.

" - } - }, - "com.amazonaws.lookoutmetrics#MetricLevelImpactList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#MetricLevelImpact" - } - }, - "com.amazonaws.lookoutmetrics#MetricList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#Metric" - }, - "traits": { - "smithy.api#length": { - "min": 1 - } - } - }, - "com.amazonaws.lookoutmetrics#MetricName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]*$" - } - }, - "com.amazonaws.lookoutmetrics#MetricNameList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#MetricName" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 5 - } - } - }, - "com.amazonaws.lookoutmetrics#MetricSetDataQualityMetric": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the data quality metric array.

" - } - }, - "DataQualityMetricList": { - "target": "com.amazonaws.lookoutmetrics#DataQualityMetricList", - "traits": { - "smithy.api#documentation": "

The array of data quality metrics contained in the data quality metric set.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An array of DataQualityMetric objects that describes one or more data quality metrics.

" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetDataQualityMetricList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDataQualityMetric" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetDimensionFilter": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The dimension that you want to filter on.

" - } - }, - "FilterList": { - "target": "com.amazonaws.lookoutmetrics#FilterList", - "traits": { - "smithy.api#documentation": "

The list of filters that you are applying.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a list of filters for choosing a subset of dimension values. Each filter consists of the dimension and one of its values that you want to include. When multiple dimensions or values are specified, the dimensions are joined with an AND operation and the values are joined with an OR operation.

" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetDimensionFilterList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDimensionFilter" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9\\-_]*$" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetSummary": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the dataset.

" - } - }, - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to which the dataset belongs.

" - } - }, - "MetricSetDescription": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDescription", - "traits": { - "smithy.api#documentation": "

The description of the dataset.

" - } - }, - "MetricSetName": { - "target": "com.amazonaws.lookoutmetrics#MetricSetName", - "traits": { - "smithy.api#documentation": "

The name of the dataset.

" - } - }, - "CreationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the dataset was created.

" - } - }, - "LastModificationTime": { - "target": "com.amazonaws.lookoutmetrics#Timestamp", - "traits": { - "smithy.api#documentation": "

The time at which the dataset was last modified.

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

The dataset's tags.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about a dataset.

" - } - }, - "com.amazonaws.lookoutmetrics#MetricSetSummaryList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#MetricSetSummary" - } - }, - "com.amazonaws.lookoutmetrics#MetricSource": { - "type": "structure", - "members": { - "S3SourceConfig": { - "target": "com.amazonaws.lookoutmetrics#S3SourceConfig" - }, - "AppFlowConfig": { - "target": "com.amazonaws.lookoutmetrics#AppFlowConfig", - "traits": { - "smithy.api#documentation": "

Details about an AppFlow datasource.

" - } - }, - "CloudWatchConfig": { - "target": "com.amazonaws.lookoutmetrics#CloudWatchConfig", - "traits": { - "smithy.api#documentation": "

Details about an Amazon CloudWatch monitoring datasource.

" - } - }, - "RDSSourceConfig": { - "target": "com.amazonaws.lookoutmetrics#RDSSourceConfig", - "traits": { - "smithy.api#documentation": "

Details about an Amazon Relational Database Service (RDS) datasource.

" - } - }, - "RedshiftSourceConfig": { - "target": "com.amazonaws.lookoutmetrics#RedshiftSourceConfig", - "traits": { - "smithy.api#documentation": "

Details about an Amazon Redshift database datasource.

" - } - }, - "AthenaSourceConfig": { - "target": "com.amazonaws.lookoutmetrics#AthenaSourceConfig", - "traits": { - "smithy.api#documentation": "

Details about an Amazon Athena datasource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about source data used to generate metrics.

" - } - }, - "com.amazonaws.lookoutmetrics#MetricValue": { - "type": "double" - }, - "com.amazonaws.lookoutmetrics#MetricValueList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#MetricValue" - } - }, - "com.amazonaws.lookoutmetrics#Namespace": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^[^:]" - } - }, - "com.amazonaws.lookoutmetrics#NextToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 3000 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#NumberAttributeValue": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#NumberListAttributeValue": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#NumberAttributeValue" - } - }, - "com.amazonaws.lookoutmetrics#Offset": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 432000 - } - } - }, - "com.amazonaws.lookoutmetrics#PoirotSecretManagerArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^arn:([a-z\\d-]+):.*:.*:secret:AmazonLookoutMetrics-.+$" - } - }, - "com.amazonaws.lookoutmetrics#PutFeedback": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#PutFeedbackRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#PutFeedbackResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Add feedback for an anomalous metric.

", - "smithy.api#http": { - "method": "POST", - "uri": "/PutFeedback", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#PutFeedbackRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the anomaly detector.

", - "smithy.api#required": {} - } - }, - "AnomalyGroupTimeSeriesFeedback": { - "target": "com.amazonaws.lookoutmetrics#AnomalyGroupTimeSeriesFeedback", - "traits": { - "smithy.api#documentation": "

Feedback for an anomalous metric.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#PutFeedbackResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#QuotaCode": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#QuoteSymbol": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1 - }, - "smithy.api#pattern": "^[^\\r\\n]|^$" - } - }, - "com.amazonaws.lookoutmetrics#RDSDatabaseIdentifier": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 - }, - "smithy.api#pattern": "^[a-zA-Z](?!.*--)(?!.*-$)[0-9a-zA-Z\\-]*$" - } - }, - "com.amazonaws.lookoutmetrics#RDSDatabaseName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_.]+$" - } - }, - "com.amazonaws.lookoutmetrics#RDSSourceConfig": { - "type": "structure", - "members": { - "DBInstanceIdentifier": { - "target": "com.amazonaws.lookoutmetrics#RDSDatabaseIdentifier", - "traits": { - "smithy.api#documentation": "

A string identifying the database instance.

" - } - }, - "DatabaseHost": { - "target": "com.amazonaws.lookoutmetrics#DatabaseHost", - "traits": { - "smithy.api#documentation": "

The host name of the database.

" - } - }, - "DatabasePort": { - "target": "com.amazonaws.lookoutmetrics#DatabasePort", - "traits": { - "smithy.api#documentation": "

The port number where the database can be accessed.

" - } - }, - "SecretManagerArn": { - "target": "com.amazonaws.lookoutmetrics#PoirotSecretManagerArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS Secrets Manager role.

" - } - }, - "DatabaseName": { - "target": "com.amazonaws.lookoutmetrics#RDSDatabaseName", - "traits": { - "smithy.api#documentation": "

The name of the RDS database.

" - } - }, - "TableName": { - "target": "com.amazonaws.lookoutmetrics#TableName", - "traits": { - "smithy.api#documentation": "

The name of the table in the database.

" - } - }, - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role.

" - } - }, - "VpcConfiguration": { - "target": "com.amazonaws.lookoutmetrics#VpcConfiguration", - "traits": { - "smithy.api#documentation": "

An object containing information about the Amazon Virtual Private Cloud (VPC) configuration.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about the Amazon Relational Database Service (RDS) configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#RedshiftClusterIdentifier": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 63 - }, - "smithy.api#pattern": "^[a-z](?!.*--)(?!.*-$)[0-9a-z\\-]*$" - } - }, - "com.amazonaws.lookoutmetrics#RedshiftDatabaseName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_.]+$" - } - }, - "com.amazonaws.lookoutmetrics#RedshiftSourceConfig": { - "type": "structure", - "members": { - "ClusterIdentifier": { - "target": "com.amazonaws.lookoutmetrics#RedshiftClusterIdentifier", - "traits": { - "smithy.api#documentation": "

A string identifying the Redshift cluster.

" - } - }, - "DatabaseHost": { - "target": "com.amazonaws.lookoutmetrics#DatabaseHost", - "traits": { - "smithy.api#documentation": "

The name of the database host.

" - } - }, - "DatabasePort": { - "target": "com.amazonaws.lookoutmetrics#DatabasePort", - "traits": { - "smithy.api#documentation": "

The port number where the database can be accessed.

" - } - }, - "SecretManagerArn": { - "target": "com.amazonaws.lookoutmetrics#PoirotSecretManagerArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS Secrets Manager role.

" - } - }, - "DatabaseName": { - "target": "com.amazonaws.lookoutmetrics#RedshiftDatabaseName", - "traits": { - "smithy.api#documentation": "

The Redshift database name.

" - } - }, - "TableName": { - "target": "com.amazonaws.lookoutmetrics#TableName", - "traits": { - "smithy.api#documentation": "

The table name of the Redshift database.

" - } - }, - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role providing access to the database.

" - } - }, - "VpcConfiguration": { - "target": "com.amazonaws.lookoutmetrics#VpcConfiguration", - "traits": { - "smithy.api#documentation": "

Contains information about the Amazon Virtual Private Cloud (VPC) configuration.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Provides information about the Amazon Redshift database configuration.

" - } - }, - "com.amazonaws.lookoutmetrics#RelatedColumnName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#RelationshipType": { - "type": "enum", - "members": { - "CAUSE_OF_INPUT_ANOMALY_GROUP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CAUSE_OF_INPUT_ANOMALY_GROUP" - } - }, - "EFFECT_OF_INPUT_ANOMALY_GROUP": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "EFFECT_OF_INPUT_ANOMALY_GROUP" - } - } - } - }, - "com.amazonaws.lookoutmetrics#ResourceId": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#ResourceNotFoundException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - }, - "ResourceId": { - "target": "com.amazonaws.lookoutmetrics#ResourceId", - "traits": { - "smithy.api#documentation": "

The ID of the resource.

" - } - }, - "ResourceType": { - "target": "com.amazonaws.lookoutmetrics#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of the resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource cannot be found. Check the ARN of the resource and try again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.lookoutmetrics#ResourceType": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#S3SourceConfig": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of an IAM role that has read and write access permissions to the source S3 bucket.

" - } - }, - "TemplatedPathList": { - "target": "com.amazonaws.lookoutmetrics#TemplatedPathList", - "traits": { - "smithy.api#documentation": "

A list of templated paths to the source files.

" - } - }, - "HistoricalDataPathList": { - "target": "com.amazonaws.lookoutmetrics#HistoricalDataPathList", - "traits": { - "smithy.api#documentation": "

A list of paths to the historical data files.

" - } - }, - "FileFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#FileFormatDescriptor", - "traits": { - "smithy.api#documentation": "

Contains information about a source file's formatting.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about the configuration of the S3 bucket that contains source files.

" - } - }, - "com.amazonaws.lookoutmetrics#SNSConfiguration": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the IAM role that has access to the target SNS topic.

", - "smithy.api#required": {} - } - }, - "SnsTopicArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the target SNS topic.

", - "smithy.api#required": {} - } - }, - "SnsFormat": { - "target": "com.amazonaws.lookoutmetrics#SnsFormat", - "traits": { - "smithy.api#documentation": "

The format of the SNS topic.

\n
    \n
  • \n

    \n JSON – Send JSON alerts with an anomaly ID and a link to the anomaly detail page. This is the default.

    \n
  • \n
  • \n

    \n LONG_TEXT – Send human-readable alerts with information about the impacted timeseries and a link to the anomaly detail page. We recommend this for email.

    \n
  • \n
  • \n

    \n SHORT_TEXT – Send human-readable alerts with a link to the anomaly detail page. We recommend this for SMS.

    \n
  • \n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about the SNS topic to which you want to send your alerts and the IAM role that has\n access to that topic.

" - } - }, - "com.amazonaws.lookoutmetrics#SampleDataS3SourceConfig": { - "type": "structure", - "members": { - "RoleArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the role.

", - "smithy.api#required": {} - } - }, - "TemplatedPathList": { - "target": "com.amazonaws.lookoutmetrics#TemplatedPathList", - "traits": { - "smithy.api#documentation": "

An array of strings containing the list of templated paths.

" - } - }, - "HistoricalDataPathList": { - "target": "com.amazonaws.lookoutmetrics#HistoricalDataPathList", - "traits": { - "smithy.api#documentation": "

An array of strings containing the historical set of data paths.

" - } - }, - "FileFormatDescriptor": { - "target": "com.amazonaws.lookoutmetrics#FileFormatDescriptor", - "traits": { - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about the source configuration in Amazon S3.

" - } - }, - "com.amazonaws.lookoutmetrics#SampleRow": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#DataItem" - } - }, - "com.amazonaws.lookoutmetrics#SampleRows": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#SampleRow" - } - }, - "com.amazonaws.lookoutmetrics#Score": { - "type": "double", - "traits": { - "smithy.api#range": { - "min": 0.0, - "max": 100.0 - } - } - }, - "com.amazonaws.lookoutmetrics#SecurityGroupId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^[-0-9a-zA-Z]+$" - } - }, - "com.amazonaws.lookoutmetrics#SecurityGroupIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#SecurityGroupId" - } - }, - "com.amazonaws.lookoutmetrics#SensitivityThreshold": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.lookoutmetrics#ServiceCode": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#ServiceQuotaExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - }, - "ResourceId": { - "target": "com.amazonaws.lookoutmetrics#ResourceId", - "traits": { - "smithy.api#documentation": "

The ID of the resource.

" - } - }, - "ResourceType": { - "target": "com.amazonaws.lookoutmetrics#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of the resource.

" - } - }, - "QuotaCode": { - "target": "com.amazonaws.lookoutmetrics#QuotaCode", - "traits": { - "smithy.api#documentation": "

The quota code.

" - } - }, - "ServiceCode": { - "target": "com.amazonaws.lookoutmetrics#ServiceCode", - "traits": { - "smithy.api#documentation": "

The service code.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The request exceeded the service's quotas. Check the service quotas and try again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 402 - } - }, - "com.amazonaws.lookoutmetrics#SnsFormat": { - "type": "enum", - "members": { - "LONG_TEXT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LONG_TEXT" - } - }, - "SHORT_TEXT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SHORT_TEXT" - } - }, - "JSON": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "JSON" - } - } - } - }, - "com.amazonaws.lookoutmetrics#StringAttributeValue": { - "type": "string" - }, - "com.amazonaws.lookoutmetrics#StringListAttributeValue": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#StringAttributeValue" - } - }, - "com.amazonaws.lookoutmetrics#SubnetId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 255 - }, - "smithy.api#pattern": "^[\\-0-9a-zA-Z]+$" - } - }, - "com.amazonaws.lookoutmetrics#SubnetIdList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#SubnetId" - } - }, - "com.amazonaws.lookoutmetrics#TableName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - }, - "smithy.api#pattern": "^[a-zA-Z][a-zA-Z0-9_.]*$" - } - }, - "com.amazonaws.lookoutmetrics#TagKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - } - } - }, - "com.amazonaws.lookoutmetrics#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#TagKey" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 50 - } - } - }, - "com.amazonaws.lookoutmetrics#TagMap": { - "type": "map", - "key": { - "target": "com.amazonaws.lookoutmetrics#TagKey" - }, - "value": { - "target": "com.amazonaws.lookoutmetrics#TagValue" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 50 - } - } - }, - "com.amazonaws.lookoutmetrics#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#TagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Adds tags to a detector, dataset, or alert.

", - "smithy.api#http": { - "method": "POST", - "uri": "/tags/{ResourceArn}", - "code": 204 - } - } - }, - "com.amazonaws.lookoutmetrics#TagResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The resource's Amazon Resource Name (ARN).

", - "smithy.api#httpLabel": {}, - "smithy.api#jsonName": "resourceArn", - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.lookoutmetrics#TagMap", - "traits": { - "smithy.api#documentation": "

Tags to apply to the resource. Tag keys and values can contain letters, numbers, spaces, and the following\n symbols: _.:/=+@-\n

", - "smithy.api#jsonName": "tags", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#TagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#TagValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - } - } - }, - "com.amazonaws.lookoutmetrics#TemplatedPath": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": "^s3://[a-zA-Z0-9_\\-\\/ {}=]+$" - } - }, - "com.amazonaws.lookoutmetrics#TemplatedPathList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#TemplatedPath" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.lookoutmetrics#TimeSeries": { - "type": "structure", - "members": { - "TimeSeriesId": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesId", - "traits": { - "smithy.api#documentation": "

The ID of the metric.

", - "smithy.api#required": {} - } - }, - "DimensionList": { - "target": "com.amazonaws.lookoutmetrics#DimensionNameValueList", - "traits": { - "smithy.api#documentation": "

The dimensions of the metric.

", - "smithy.api#required": {} - } - }, - "MetricValueList": { - "target": "com.amazonaws.lookoutmetrics#MetricValueList", - "traits": { - "smithy.api#documentation": "

The values for the metric.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about a metric. A metric is an aggregation of the values of a measure for a dimension value, such as\n availability in the us-east-1 Region.

" - } - }, - "com.amazonaws.lookoutmetrics#TimeSeriesFeedback": { - "type": "structure", - "members": { - "TimeSeriesId": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesId", - "traits": { - "smithy.api#documentation": "

The ID of the metric.

" - } - }, - "IsAnomaly": { - "target": "com.amazonaws.lookoutmetrics#Boolean", - "traits": { - "smithy.api#documentation": "

Feedback on whether the metric is a legitimate anomaly.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Details about feedback submitted for an anomalous metric.

" - } - }, - "com.amazonaws.lookoutmetrics#TimeSeriesFeedbackList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#TimeSeriesFeedback" - } - }, - "com.amazonaws.lookoutmetrics#TimeSeriesId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 520 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#TimeSeriesList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#TimeSeries" - } - }, - "com.amazonaws.lookoutmetrics#Timestamp": { - "type": "timestamp" - }, - "com.amazonaws.lookoutmetrics#TimestampColumn": { - "type": "structure", - "members": { - "ColumnName": { - "target": "com.amazonaws.lookoutmetrics#ColumnName", - "traits": { - "smithy.api#documentation": "

The name of the timestamp column.

" - } - }, - "ColumnFormat": { - "target": "com.amazonaws.lookoutmetrics#DateTimeFormat", - "traits": { - "smithy.api#documentation": "

The format of the timestamp column.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about the column used to track time in a source data file.

" - } - }, - "com.amazonaws.lookoutmetrics#TimestampList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#TimestampString" - } - }, - "com.amazonaws.lookoutmetrics#TimestampString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 60 - }, - "smithy.api#pattern": "^([12]\\d{3})-(1[0-2]|0[1-9])-(0[1-9]|[12]\\d|3[01])T([01]\\d|2[0-3]):([0-5]\\d):([0-5]\\d)(Z|(\\+|\\-)(0\\d|1[0-2]):([0-5]\\d)(\\[[[:alnum:]\\/\\_]+\\])?)$" - } - }, - "com.amazonaws.lookoutmetrics#Timezone": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 60 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutmetrics#TooManyRequestsException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The request was denied due to too many requests being submitted at the same time.

", - "smithy.api#error": "client", - "smithy.api#httpError": 429 - } - }, - "com.amazonaws.lookoutmetrics#UUID": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 63 - }, - "smithy.api#pattern": "^[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12}$" - } - }, - "com.amazonaws.lookoutmetrics#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#UntagResourceRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#UntagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Removes tags from a detector, dataset, or alert.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/tags/{ResourceArn}", - "code": 204 - } - } - }, - "com.amazonaws.lookoutmetrics#UntagResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The resource's Amazon Resource Name (ARN).

", - "smithy.api#httpLabel": {}, - "smithy.api#jsonName": "resourceArn", - "smithy.api#required": {} - } - }, - "TagKeys": { - "target": "com.amazonaws.lookoutmetrics#TagKeyList", - "traits": { - "smithy.api#documentation": "

Keys to remove from the resource's tags.

", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#jsonName": "tagKeys", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#UntagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#UpdateAlert": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#UpdateAlertRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#UpdateAlertResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Make changes to an existing alert.

", - "smithy.api#http": { - "method": "POST", - "uri": "/UpdateAlert", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#UpdateAlertRequest": { - "type": "structure", - "members": { - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the alert to update.

", - "smithy.api#required": {} - } - }, - "AlertDescription": { - "target": "com.amazonaws.lookoutmetrics#AlertDescription", - "traits": { - "smithy.api#documentation": "

A description of the alert.

" - } - }, - "AlertSensitivityThreshold": { - "target": "com.amazonaws.lookoutmetrics#SensitivityThreshold", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

An integer from 0 to 100 specifying the alert sensitivity threshold.

" - } - }, - "Action": { - "target": "com.amazonaws.lookoutmetrics#Action", - "traits": { - "smithy.api#documentation": "

Action that will be triggered when there is an alert.

" - } - }, - "AlertFilters": { - "target": "com.amazonaws.lookoutmetrics#AlertFilters", - "traits": { - "smithy.api#documentation": "

The configuration of the alert filters, containing MetricList and DimensionFilterList.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#UpdateAlertResponse": { - "type": "structure", - "members": { - "AlertArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the updated alert.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#UpdateAnomalyDetector": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#UpdateAnomalyDetectorRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#UpdateAnomalyDetectorResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Updates a detector. After activation, you can only change a detector's ingestion delay and description.

", - "smithy.api#http": { - "method": "POST", - "uri": "/UpdateAnomalyDetector", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#UpdateAnomalyDetectorRequest": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the detector to update.

", - "smithy.api#required": {} - } - }, - "KmsKeyArn": { - "target": "com.amazonaws.lookoutmetrics#KmsKeyArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an AWS KMS encryption key.

" - } - }, - "AnomalyDetectorDescription": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorDescription", - "traits": { - "smithy.api#documentation": "

The updated detector description.

" - } - }, - "AnomalyDetectorConfig": { - "target": "com.amazonaws.lookoutmetrics#AnomalyDetectorConfig", - "traits": { - "smithy.api#documentation": "

Contains information about the configuration to which the detector will be updated.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#UpdateAnomalyDetectorResponse": { - "type": "structure", - "members": { - "AnomalyDetectorArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the updated detector.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#UpdateMetricSet": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutmetrics#UpdateMetricSetRequest" - }, - "output": { - "target": "com.amazonaws.lookoutmetrics#UpdateMetricSetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutmetrics#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutmetrics#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutmetrics#TooManyRequestsException" - }, - { - "target": "com.amazonaws.lookoutmetrics#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Updates a dataset.

", - "smithy.api#http": { - "method": "POST", - "uri": "/UpdateMetricSet", - "code": 200 - } - } - }, - "com.amazonaws.lookoutmetrics#UpdateMetricSetRequest": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the dataset to update.

", - "smithy.api#required": {} - } - }, - "MetricSetDescription": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDescription", - "traits": { - "smithy.api#documentation": "

The dataset's description.

" - } - }, - "MetricList": { - "target": "com.amazonaws.lookoutmetrics#MetricList", - "traits": { - "smithy.api#documentation": "

The metric list.

" - } - }, - "Offset": { - "target": "com.amazonaws.lookoutmetrics#Offset", - "traits": { - "smithy.api#default": null, - "smithy.api#documentation": "

After an interval ends, the amount of seconds that the detector waits before importing data. Offset is only supported for S3, Redshift, Athena and datasources.

" - } - }, - "TimestampColumn": { - "target": "com.amazonaws.lookoutmetrics#TimestampColumn", - "traits": { - "smithy.api#documentation": "

The timestamp column.

" - } - }, - "DimensionList": { - "target": "com.amazonaws.lookoutmetrics#DimensionList", - "traits": { - "smithy.api#documentation": "

The dimension list.

" - } - }, - "MetricSetFrequency": { - "target": "com.amazonaws.lookoutmetrics#Frequency", - "traits": { - "smithy.api#documentation": "

The dataset's interval.

" - } - }, - "MetricSource": { - "target": "com.amazonaws.lookoutmetrics#MetricSource" - }, - "DimensionFilterList": { - "target": "com.amazonaws.lookoutmetrics#MetricSetDimensionFilterList", - "traits": { - "smithy.api#documentation": "

Describes a list of filters for choosing specific dimensions and specific values. Each\n filter consists of the dimension and one of its values that you want to include. When\n multiple dimensions or values are specified, the dimensions are joined with an AND operation\n and the values are joined with an OR operation.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutmetrics#UpdateMetricSetResponse": { - "type": "structure", - "members": { - "MetricSetArn": { - "target": "com.amazonaws.lookoutmetrics#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the dataset.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutmetrics#ValidationException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#required": {} - } - }, - "Reason": { - "target": "com.amazonaws.lookoutmetrics#ValidationExceptionReason", - "traits": { - "smithy.api#documentation": "

The reason that validation failed.

" - } - }, - "Fields": { - "target": "com.amazonaws.lookoutmetrics#ValidationExceptionFieldList", - "traits": { - "smithy.api#documentation": "

Fields that failed validation.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The input fails to satisfy the constraints specified by the AWS service. Check your input values and try\n again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.lookoutmetrics#ValidationExceptionField": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.lookoutmetrics#FieldName", - "traits": { - "smithy.api#documentation": "

The name of the field.

", - "smithy.api#required": {} - } - }, - "Message": { - "target": "com.amazonaws.lookoutmetrics#Message", - "traits": { - "smithy.api#documentation": "

The message with more information about the validation exception.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains information about a a field in a validation exception.

" - } - }, - "com.amazonaws.lookoutmetrics#ValidationExceptionFieldList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutmetrics#ValidationExceptionField" - } - }, - "com.amazonaws.lookoutmetrics#ValidationExceptionReason": { - "type": "enum", - "members": { - "UNKNOWN_OPERATION": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UNKNOWN_OPERATION" - } - }, - "CANNOT_PARSE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CANNOT_PARSE" - } - }, - "FIELD_VALIDATION_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FIELD_VALIDATION_FAILED" - } - }, - "OTHER": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "OTHER" - } - } - } - }, - "com.amazonaws.lookoutmetrics#VpcConfiguration": { - "type": "structure", - "members": { - "SubnetIdList": { - "target": "com.amazonaws.lookoutmetrics#SubnetIdList", - "traits": { - "smithy.api#documentation": "

An array of strings containing the Amazon VPC subnet IDs (e.g., subnet-0bb1c79de3EXAMPLE.

", - "smithy.api#required": {} - } - }, - "SecurityGroupIdList": { - "target": "com.amazonaws.lookoutmetrics#SecurityGroupIdList", - "traits": { - "smithy.api#documentation": "

An array of strings containing the list of security groups.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains configuration information about the Amazon Virtual Private Cloud (VPC).

" - } - } - } -} diff --git a/codegen/sdk-codegen/aws-models/lookoutvision.json b/codegen/sdk-codegen/aws-models/lookoutvision.json deleted file mode 100644 index bbb3419a5e1..00000000000 --- a/codegen/sdk-codegen/aws-models/lookoutvision.json +++ /dev/null @@ -1,4428 +0,0 @@ -{ - "smithy": "2.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, - "shapes": { - "com.amazonaws.lookoutvision#AccessDeniedException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

You are not authorized to perform the action.

", - "smithy.api#error": "client", - "smithy.api#httpError": 403 - } - }, - "com.amazonaws.lookoutvision#Anomaly": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.lookoutvision#AnomalyName", - "traits": { - "smithy.api#documentation": "

The name of an anomaly type found in an image. \n Name maps to an anomaly type in the training dataset, apart from the anomaly type background.\n The service automatically inserts the background anomaly type into the response from DetectAnomalies.

" - } - }, - "PixelAnomaly": { - "target": "com.amazonaws.lookoutvision#PixelAnomaly", - "traits": { - "smithy.api#documentation": "

Information about the pixel mask that covers an anomaly type.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an anomaly type found on an image by an image segmentation model. \n For more information, see DetectAnomalies.

" - } - }, - "com.amazonaws.lookoutvision#AnomalyClassFilter": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - }, - "smithy.api#pattern": "^(normal|anomaly)$" - } - }, - "com.amazonaws.lookoutvision#AnomalyList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#Anomaly" - } - }, - "com.amazonaws.lookoutvision#AnomalyMask": { - "type": "blob", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 5242880 - } - } - }, - "com.amazonaws.lookoutvision#AnomalyName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "^[a-zA-Z0-9]*$" - } - }, - "com.amazonaws.lookoutvision#Boolean": { - "type": "boolean" - }, - "com.amazonaws.lookoutvision#ClientToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": "^[a-zA-Z0-9-]+$" - } - }, - "com.amazonaws.lookoutvision#Color": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 7, - "max": 7 - }, - "smithy.api#pattern": "^\\#[a-zA-Z0-9]{6}$" - } - }, - "com.amazonaws.lookoutvision#CompilerOptions": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.lookoutvision#ComponentDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "^[a-zA-Z0-9-_. ()':,;?]+$" - } - }, - "com.amazonaws.lookoutvision#ComponentName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^[a-zA-Z0-9-_.]+$" - } - }, - "com.amazonaws.lookoutvision#ComponentVersion": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": "^([0-9]{1,6})\\.([0-9]{1,6})\\.([0-9]{1,6})$" - } - }, - "com.amazonaws.lookoutvision#ComponentVersionArn": { - "type": "string", - "traits": { - "smithy.api#pattern": "^arn:[^:]*:greengrass:[^:]*:aws:components:[^:]+$" - } - }, - "com.amazonaws.lookoutvision#ConflictException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - }, - "ResourceId": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#required": {} - } - }, - "ResourceType": { - "target": "com.amazonaws.lookoutvision#ResourceType", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The update or deletion of a resource caused an inconsistent state.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.lookoutvision#ContentType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.lookoutvision#CreateDataset": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#CreateDatasetRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#CreateDatasetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates a new dataset in an Amazon Lookout for Vision project. CreateDataset can create a \n training or a test dataset from a valid dataset source (DatasetSource).

\n

If you want a single dataset project, specify train for the value of \n DatasetType.

\n

To have a project with separate training and test datasets, call CreateDataset twice.\n On the first call, specify train for the value of \n DatasetType. On the second call, specify test for the value of \n DatasetType.

\n

This operation requires permissions to perform the\n lookoutvision:CreateDataset operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects/{ProjectName}/datasets", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#CreateDatasetRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project in which you want to create a dataset.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of the dataset. Specify train for a training dataset.\n Specify test for a test dataset.

", - "smithy.api#required": {} - } - }, - "DatasetSource": { - "target": "com.amazonaws.lookoutvision#DatasetSource", - "traits": { - "smithy.api#documentation": "

The location of the manifest file that Amazon Lookout for Vision uses to create the dataset.

\n

If you don't specify DatasetSource, an empty dataset is created and the operation \n synchronously returns. Later, you can add JSON Lines by calling UpdateDatasetEntries.\n

\n

If you specify a value for DataSource, the manifest at the S3 location\n is validated and used to create the dataset. The call to CreateDataset is asynchronous\n and might take a while to complete. To find out the current status, Check the value of Status\n returned in a call to DescribeDataset.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to CreateDataset\n completes only once. You choose the value to pass. For example, An issue might prevent you\n from getting a response from CreateDataset.\n In this case, safely retry your call\n to CreateDataset by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple dataset creation requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to CreateDataset. An idempotency\n token is active for 8 hours.\n

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#CreateDatasetResponse": { - "type": "structure", - "members": { - "DatasetMetadata": { - "target": "com.amazonaws.lookoutvision#DatasetMetadata", - "traits": { - "smithy.api#documentation": "

Information about the dataset.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#CreateModel": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#CreateModelRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#CreateModelResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates a new version of a model within an an Amazon Lookout for Vision project. \n CreateModel is an asynchronous operation in which Amazon Lookout for Vision trains, tests,\n and evaluates a new version of a model.

\n

To get the current status, check the Status field returned\n in the response from DescribeModel.

\n

If the project has a single dataset, Amazon Lookout for Vision internally splits the dataset\n to create a training and a test dataset. \n If the project has a training and a test dataset, Lookout for Vision uses the respective datasets to train and test \n the model.

\n

After training completes, the evaluation metrics are stored at the location specified in\n OutputConfig.

\n

This operation requires permissions to perform the\n lookoutvision:CreateModel operation. If you want to tag your model, you also require\n permission to the lookoutvision:TagResource operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects/{ProjectName}/models", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#CreateModelRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project in which you want to create a model version.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Description": { - "target": "com.amazonaws.lookoutvision#ModelDescriptionMessage", - "traits": { - "smithy.api#documentation": "

A description for the version of the model.

" - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to CreateModel\n completes only once. You choose the value to pass. For example, An issue\n might prevent you from getting a response from CreateModel.\n In this case, safely retry your call\n to CreateModel by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from starting multiple training jobs. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to CreateModel. An idempotency\n token is active for 8 hours.

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - }, - "OutputConfig": { - "target": "com.amazonaws.lookoutvision#OutputConfig", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The location where Amazon Lookout for Vision saves the training results.

", - "smithy.api#required": {} - } - }, - "KmsKeyId": { - "target": "com.amazonaws.lookoutvision#KmsKeyId", - "traits": { - "smithy.api#documentation": "

The identifier for your AWS KMS key.\n The key is used to encrypt training and test images copied into the service for model training. Your \n source images are unaffected.\n If this parameter is not specified, the copied images are encrypted by a key that AWS owns and manages.

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutvision#TagList", - "traits": { - "smithy.api#documentation": "

A set of tags (key-value pairs) that you want to attach to the model.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#CreateModelResponse": { - "type": "structure", - "members": { - "ModelMetadata": { - "target": "com.amazonaws.lookoutvision#ModelMetadata", - "traits": { - "smithy.api#documentation": "

The response from a call to CreateModel.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#CreateProject": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#CreateProjectRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#CreateProjectResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates an empty Amazon Lookout for Vision project. After you create the project, add a dataset by calling\n CreateDataset.

\n

This operation requires permissions to perform the\n lookoutvision:CreateProject operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#CreateProjectRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name for the project.

", - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to CreateProject\n completes only once. You choose the value to pass. For example, An issue might prevent you from \n getting a response from CreateProject.\n In this case, safely retry your call\n to CreateProject by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple project creation requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs\n if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to CreateProject. An idempotency\n token is active for 8 hours.

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#CreateProjectResponse": { - "type": "structure", - "members": { - "ProjectMetadata": { - "target": "com.amazonaws.lookoutvision#ProjectMetadata", - "traits": { - "smithy.api#documentation": "

Information about the project.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DatasetChanges": { - "type": "blob", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10485760 - } - } - }, - "com.amazonaws.lookoutvision#DatasetDescription": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the dataset.

" - } - }, - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#documentation": "

The type of the dataset. The value train represents a training dataset or single dataset project.\n The value test represents a test dataset.

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The Unix timestamp for the time and date that the dataset was created.

" - } - }, - "LastUpdatedTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The Unix timestamp for the date and time that the dataset was last updated.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutvision#DatasetStatus", - "traits": { - "smithy.api#documentation": "

The status of the dataset.

" - } - }, - "StatusMessage": { - "target": "com.amazonaws.lookoutvision#DatasetStatusMessage", - "traits": { - "smithy.api#documentation": "

The status message for the dataset.

" - } - }, - "ImageStats": { - "target": "com.amazonaws.lookoutvision#DatasetImageStats", - "traits": { - "smithy.api#documentation": "

Statistics about the images in a dataset.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The description for a dataset. For more information, see DescribeDataset.

" - } - }, - "com.amazonaws.lookoutvision#DatasetEntry": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 2, - "max": 8192 - }, - "smithy.api#pattern": "^\\{.*\\}$" - } - }, - "com.amazonaws.lookoutvision#DatasetEntryList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#DatasetEntry" - } - }, - "com.amazonaws.lookoutvision#DatasetGroundTruthManifest": { - "type": "structure", - "members": { - "S3Object": { - "target": "com.amazonaws.lookoutvision#InputS3Object", - "traits": { - "smithy.api#documentation": "

The S3 bucket location for the manifest file.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Location information about a manifest file. You can use a manifest file to\n create a dataset.

" - } - }, - "com.amazonaws.lookoutvision#DatasetImageStats": { - "type": "structure", - "members": { - "Total": { - "target": "com.amazonaws.lookoutvision#Integer", - "traits": { - "smithy.api#documentation": "

The total number of images in the dataset.

" - } - }, - "Labeled": { - "target": "com.amazonaws.lookoutvision#Integer", - "traits": { - "smithy.api#documentation": "

The total number of labeled images.

" - } - }, - "Normal": { - "target": "com.amazonaws.lookoutvision#Integer", - "traits": { - "smithy.api#documentation": "

The total number of images labeled as normal.

" - } - }, - "Anomaly": { - "target": "com.amazonaws.lookoutvision#Integer", - "traits": { - "smithy.api#documentation": "

the total number of images labeled as an anomaly.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Statistics about the images in a dataset.

" - } - }, - "com.amazonaws.lookoutvision#DatasetMetadata": { - "type": "structure", - "members": { - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#documentation": "

The type of the dataset.

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The Unix timestamp for the date and time that the dataset was created.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutvision#DatasetStatus", - "traits": { - "smithy.api#documentation": "

The status for the dataset.

" - } - }, - "StatusMessage": { - "target": "com.amazonaws.lookoutvision#DatasetStatusMessage", - "traits": { - "smithy.api#documentation": "

The status message for the dataset.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Summary information for an Amazon Lookout for Vision dataset. For more information,\n see DescribeDataset and ProjectDescription.

" - } - }, - "com.amazonaws.lookoutvision#DatasetMetadataList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#DatasetMetadata" - } - }, - "com.amazonaws.lookoutvision#DatasetSource": { - "type": "structure", - "members": { - "GroundTruthManifest": { - "target": "com.amazonaws.lookoutvision#DatasetGroundTruthManifest", - "traits": { - "smithy.api#documentation": "

Location information for the manifest file.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the location of a manifest file that Amazon Lookout for Vision uses to to create a dataset.

" - } - }, - "com.amazonaws.lookoutvision#DatasetStatus": { - "type": "enum", - "members": { - "CREATE_IN_PROGRESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATE_IN_PROGRESS" - } - }, - "CREATE_COMPLETE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATE_COMPLETE" - } - }, - "CREATE_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATE_FAILED" - } - }, - "UPDATE_IN_PROGRESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPDATE_IN_PROGRESS" - } - }, - "UPDATE_COMPLETE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPDATE_COMPLETE" - } - }, - "UPDATE_FAILED_ROLLBACK_IN_PROGRESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPDATE_FAILED_ROLLBACK_IN_PROGRESS" - } - }, - "UPDATE_FAILED_ROLLBACK_COMPLETE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPDATE_FAILED_ROLLBACK_COMPLETE" - } - }, - "DELETE_IN_PROGRESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETE_IN_PROGRESS" - } - }, - "DELETE_COMPLETE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETE_COMPLETE" - } - }, - "DELETE_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETE_FAILED" - } - } - } - }, - "com.amazonaws.lookoutvision#DatasetStatusMessage": { - "type": "string" - }, - "com.amazonaws.lookoutvision#DatasetType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - }, - "smithy.api#pattern": "^train|test$" - } - }, - "com.amazonaws.lookoutvision#DateTime": { - "type": "timestamp" - }, - "com.amazonaws.lookoutvision#DeleteDataset": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DeleteDatasetRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DeleteDatasetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes an existing Amazon Lookout for Vision dataset.

\n

If your the project has a single\n dataset, you must create a new dataset before you can create a model.

\n

If you project has a training dataset and a test dataset consider the following.

\n
    \n
  • \n

    If you delete the test dataset, your project reverts to a single dataset project. If you then\n train the model, Amazon Lookout for Vision internally splits the remaining dataset into a training and test dataset.

    \n
  • \n
  • \n

    If you delete the training dataset, you must create a training dataset before you can create a model.

    \n
  • \n
\n

This operation requires permissions to perform the\n lookoutvision:DeleteDataset operation.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/2020-11-20/projects/{ProjectName}/datasets/{DatasetType}", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#DeleteDatasetRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the dataset that you want to delete.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#documentation": "

The type of the dataset to delete. Specify train to delete the training dataset.\n Specify test to delete the test dataset. To delete the dataset in a single dataset project, \n specify train.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to DeleteDataset\n completes only once. You choose the value to pass. For example, An issue might prevent you from getting a response from DeleteDataset.\n In this case, safely retry your call\n to DeleteDataset by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple deletetion requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to DeleteDataset. An idempotency\n token is active for 8 hours.

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DeleteDatasetResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DeleteModel": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DeleteModelRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DeleteModelResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes an Amazon Lookout for Vision model. You can't delete a running model. To stop a running model,\n use the StopModel operation.

\n

It might take a few seconds to delete a model. To determine if a model has been deleted, call\n ListModels and check if the version of the model (ModelVersion) is in the\n Models array.

\n

\n

This operation requires permissions to perform the\n lookoutvision:DeleteModel operation.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/2020-11-20/projects/{ProjectName}/models/{ModelVersion}", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#DeleteModelRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the model that you want to delete.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersionNoLatest", - "traits": { - "smithy.api#documentation": "

The version of the model that you want to delete.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to DeleteModel\n completes only once. You choose the value to pass. For example, an issue might prevent\n you from getting a response from DeleteModel.\n In this case, safely retry your call\n to DeleteModel by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple model deletion requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to DeleteModel. An idempotency\n token is active for 8 hours.

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DeleteModelResponse": { - "type": "structure", - "members": { - "ModelArn": { - "target": "com.amazonaws.lookoutvision#ModelArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model that was deleted.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DeleteProject": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DeleteProjectRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DeleteProjectResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes an Amazon Lookout for Vision project.

\n

To delete a project, you must first delete each version of the model associated with \n the project. To delete a model use the DeleteModel operation.

\n

You also have to delete the dataset(s) associated with the model. For more information, see \n DeleteDataset. The images referenced by the training and test datasets aren't deleted. \n

\n

This operation requires permissions to perform the\n lookoutvision:DeleteProject operation.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/2020-11-20/projects/{ProjectName}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#DeleteProjectRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project to delete.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to DeleteProject\n completes only once. You choose the value to pass. For example, An issue\n might prevent you from getting a response from DeleteProject.\n In this case, safely retry your call\n to DeleteProject by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple project deletion requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to DeleteProject. An idempotency\n token is active for 8 hours.

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DeleteProjectResponse": { - "type": "structure", - "members": { - "ProjectArn": { - "target": "com.amazonaws.lookoutvision#ProjectArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the project that was deleted.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DescribeDataset": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DescribeDatasetRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DescribeDatasetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describe an Amazon Lookout for Vision dataset.

\n

This operation requires permissions to perform the\n lookoutvision:DescribeDataset operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}/datasets/{DatasetType}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#DescribeDatasetRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the dataset that you want to describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#documentation": "

The type of the dataset to describe. Specify train to describe the \n training dataset. Specify test to describe the test dataset.\n If you have a single dataset project, specify train\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DescribeDatasetResponse": { - "type": "structure", - "members": { - "DatasetDescription": { - "target": "com.amazonaws.lookoutvision#DatasetDescription", - "traits": { - "smithy.api#documentation": "

The description of the requested dataset.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DescribeModel": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DescribeModelRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DescribeModelResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describes a version of an Amazon Lookout for Vision model.

\n

This operation requires permissions to perform the\n lookoutvision:DescribeModel operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}/models/{ModelVersion}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#DescribeModelPackagingJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DescribeModelPackagingJobRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DescribeModelPackagingJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describes an Amazon Lookout for Vision model packaging job.\n

\n

This operation requires permissions to perform the\n lookoutvision:DescribeModelPackagingJob operation.

\n

For more information, see \n Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}/modelpackagingjobs/{JobName}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#DescribeModelPackagingJobRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the model packaging job that you want to describe. \n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "JobName": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobName", - "traits": { - "smithy.api#documentation": "

The job name for the model packaging job. \n\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DescribeModelPackagingJobResponse": { - "type": "structure", - "members": { - "ModelPackagingDescription": { - "target": "com.amazonaws.lookoutvision#ModelPackagingDescription", - "traits": { - "smithy.api#documentation": "

The description of the model packaging job.\n

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DescribeModelRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The project that contains the version of a model that you want to describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model that you want to describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DescribeModelResponse": { - "type": "structure", - "members": { - "ModelDescription": { - "target": "com.amazonaws.lookoutvision#ModelDescription", - "traits": { - "smithy.api#documentation": "

Contains the description of the model.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DescribeProject": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DescribeProjectRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DescribeProjectResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Describes an Amazon Lookout for Vision project.

\n

This operation requires permissions to perform the\n lookoutvision:DescribeProject operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#DescribeProjectRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that you want to describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DescribeProjectResponse": { - "type": "structure", - "members": { - "ProjectDescription": { - "target": "com.amazonaws.lookoutvision#ProjectDescription", - "traits": { - "smithy.api#documentation": "

The description of the project.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DetectAnomalies": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#DetectAnomaliesRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#DetectAnomaliesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Detects anomalies in an image that you supply.

\n

The response from DetectAnomalies includes a boolean prediction\n that the image contains one or more anomalies and a confidence value for the prediction.\n If the model is an image segmentation model, the response also includes segmentation\n information for each type of anomaly found in the image.

\n \n

Before calling DetectAnomalies, you must first start your model with the StartModel operation.\n You are charged for the amount of time, in minutes, that a model runs and for the number of anomaly detection units that your\n model uses. If you are not using a model, use the StopModel operation to stop your model.

\n
\n

For more information, see Detecting anomalies in an image in the Amazon Lookout for Vision developer guide.

\n

This operation requires permissions to perform the\n lookoutvision:DetectAnomalies operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects/{ProjectName}/models/{ModelVersion}/detect", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#DetectAnomaliesRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the model version that you want to use.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model that you want to use.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Body": { - "target": "com.amazonaws.lookoutvision#Stream", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The unencrypted image bytes that you want to analyze.

", - "smithy.api#httpPayload": {}, - "smithy.api#required": {} - } - }, - "ContentType": { - "target": "com.amazonaws.lookoutvision#ContentType", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of the image passed in Body.\n Valid values are image/png (PNG format images) and image/jpeg (JPG format images).

", - "smithy.api#httpHeader": "Content-Type", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#DetectAnomaliesResponse": { - "type": "structure", - "members": { - "DetectAnomalyResult": { - "target": "com.amazonaws.lookoutvision#DetectAnomalyResult", - "traits": { - "smithy.api#documentation": "

The results of the DetectAnomalies operation.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#DetectAnomalyResult": { - "type": "structure", - "members": { - "Source": { - "target": "com.amazonaws.lookoutvision#ImageSource", - "traits": { - "smithy.api#documentation": "

The source of the image that was analyzed. direct means that the\n images was supplied from the local computer. No other values are supported.

" - } - }, - "IsAnomalous": { - "target": "com.amazonaws.lookoutvision#Boolean", - "traits": { - "smithy.api#documentation": "

True if Amazon Lookout for Vision classifies the image as containing an anomaly, otherwise false.

" - } - }, - "Confidence": { - "target": "com.amazonaws.lookoutvision#Float", - "traits": { - "smithy.api#documentation": "

The confidence that Lookout for Vision has in the accuracy of the classification in IsAnomalous.

" - } - }, - "Anomalies": { - "target": "com.amazonaws.lookoutvision#AnomalyList", - "traits": { - "smithy.api#documentation": "

If the model is an image segmentation model, Anomalies contains a list of\n anomaly types found in the image. There is one entry for each type of anomaly found (even\n if multiple instances of an anomaly type exist on the image). The first element in the list\n is always an anomaly type representing the image background ('background') and shouldn't be\n considered an anomaly. Amazon Lookout for Vision automatically add the background anomaly type to the\n response, and you don't need to declare a background anomaly type in your dataset.

\n

If the list has one entry ('background'), no anomalies were found on the image.

\n

\n

An image classification model doesn't return an Anomalies list.

" - } - }, - "AnomalyMask": { - "target": "com.amazonaws.lookoutvision#AnomalyMask", - "traits": { - "smithy.api#documentation": "

If the model is an image segmentation model, AnomalyMask contains pixel masks that covers all anomaly types found on the image.\n \n Each anomaly type has a different mask color. To map a color to an anomaly type, see the color field\n of the PixelAnomaly object.

\n

An image classification model doesn't return an Anomalies list.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The prediction results from a call to DetectAnomalies.\n DetectAnomalyResult includes classification information for the prediction (IsAnomalous and Confidence).\n If the model you use is an image segementation model, DetectAnomalyResult also includes segmentation information (Anomalies\n and AnomalyMask). Classification information is calculated separately from segmentation information\n and you shouldn't assume a relationship between them.

" - } - }, - "com.amazonaws.lookoutvision#ExceptionString": { - "type": "string" - }, - "com.amazonaws.lookoutvision#Float": { - "type": "float" - }, - "com.amazonaws.lookoutvision#GreengrassConfiguration": { - "type": "structure", - "members": { - "CompilerOptions": { - "target": "com.amazonaws.lookoutvision#CompilerOptions", - "traits": { - "smithy.api#documentation": "

Additional compiler options for the Greengrass component. Currently, \n only NVIDIA Graphics Processing Units (GPU) and CPU accelerators are supported. \n If you specify TargetDevice, don't specify CompilerOptions.

\n

For more information, see \n Compiler options in the Amazon Lookout for Vision Developer Guide.

" - } - }, - "TargetDevice": { - "target": "com.amazonaws.lookoutvision#TargetDevice", - "traits": { - "smithy.api#documentation": "

The target device for the model. Currently the only supported value is jetson_xavier.\n If you specify TargetDevice, you can't specify\n TargetPlatform.\n\n

" - } - }, - "TargetPlatform": { - "target": "com.amazonaws.lookoutvision#TargetPlatform", - "traits": { - "smithy.api#documentation": "

The target platform for the model. If you specify TargetPlatform, you can't specify\n TargetDevice. \n

" - } - }, - "S3OutputLocation": { - "target": "com.amazonaws.lookoutvision#S3Location", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n An S3 location in which Lookout for Vision stores the component artifacts. \n

", - "smithy.api#required": {} - } - }, - "ComponentName": { - "target": "com.amazonaws.lookoutvision#ComponentName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n A name for the AWS IoT Greengrass component. \n

", - "smithy.api#required": {} - } - }, - "ComponentVersion": { - "target": "com.amazonaws.lookoutvision#ComponentVersion", - "traits": { - "smithy.api#documentation": "

A Version for the AWS IoT Greengrass component. If you don't provide a\n value, a default value of \n Model Version.0.0 is used.\n

" - } - }, - "ComponentDescription": { - "target": "com.amazonaws.lookoutvision#ComponentDescription", - "traits": { - "smithy.api#documentation": "

\n A description for the AWS IoT Greengrass component.\n

" - } - }, - "Tags": { - "target": "com.amazonaws.lookoutvision#TagList", - "traits": { - "smithy.api#documentation": "

\n A set of tags (key-value pairs) that you want to attach to the AWS IoT Greengrass component.\n

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Configuration information for the AWS IoT Greengrass component created in a model packaging job. \n For more information, see StartModelPackagingJob.\n

\n \n

You can't specify a component with the same ComponentName and Componentversion as\n an existing component with the same component name and component version.

\n
" - } - }, - "com.amazonaws.lookoutvision#GreengrassOutputDetails": { - "type": "structure", - "members": { - "ComponentVersionArn": { - "target": "com.amazonaws.lookoutvision#ComponentVersionArn", - "traits": { - "smithy.api#documentation": "

\nThe Amazon Resource Name (ARN) of the component.\n

" - } - }, - "ComponentName": { - "target": "com.amazonaws.lookoutvision#ComponentName", - "traits": { - "smithy.api#documentation": "

\nThe name of the component.\n

" - } - }, - "ComponentVersion": { - "target": "com.amazonaws.lookoutvision#ComponentVersion", - "traits": { - "smithy.api#documentation": "

\nThe version of the component.\n

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the AWS IoT Greengrass component created by a model packaging job.\n\n

" - } - }, - "com.amazonaws.lookoutvision#ImageSource": { - "type": "structure", - "members": { - "Type": { - "target": "com.amazonaws.lookoutvision#ImageSourceType", - "traits": { - "smithy.api#documentation": "

The type of the image.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The source for an image.

" - } - }, - "com.amazonaws.lookoutvision#ImageSourceType": { - "type": "string", - "traits": { - "smithy.api#pattern": "^direct$" - } - }, - "com.amazonaws.lookoutvision#InferenceUnits": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1 - } - } - }, - "com.amazonaws.lookoutvision#InputS3Object": { - "type": "structure", - "members": { - "Bucket": { - "target": "com.amazonaws.lookoutvision#S3BucketName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The Amazon S3 bucket that contains the manifest.

", - "smithy.api#required": {} - } - }, - "Key": { - "target": "com.amazonaws.lookoutvision#S3ObjectKey", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The name and location of the manifest file withiin the bucket.

", - "smithy.api#required": {} - } - }, - "VersionId": { - "target": "com.amazonaws.lookoutvision#S3ObjectVersion", - "traits": { - "smithy.api#documentation": "

The version ID of the bucket.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Amazon S3 Location information for an input manifest file.

" - } - }, - "com.amazonaws.lookoutvision#Integer": { - "type": "integer" - }, - "com.amazonaws.lookoutvision#InternalServerException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - }, - "RetryAfterSeconds": { - "target": "com.amazonaws.lookoutvision#RetryAfterSeconds", - "traits": { - "smithy.api#documentation": "

The period of time, in seconds, before the operation can be retried.

", - "smithy.api#httpHeader": "Retry-After" - } - } - }, - "traits": { - "smithy.api#documentation": "

Amazon Lookout for Vision experienced a service issue. Try your call again.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 - } - }, - "com.amazonaws.lookoutvision#IsLabeled": { - "type": "boolean" - }, - "com.amazonaws.lookoutvision#KmsKeyId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9:_/+=,@.-]{0,2048}$" - } - }, - "com.amazonaws.lookoutvision#ListDatasetEntries": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#ListDatasetEntriesRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#ListDatasetEntriesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the JSON Lines within a dataset. An Amazon Lookout for Vision JSON Line contains the anomaly\n information for a single image, including the image location and the assigned label.

\n

This operation requires permissions to perform the\n lookoutvision:ListDatasetEntries operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}/datasets/{DatasetType}/entries", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "DatasetEntries", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutvision#ListDatasetEntriesRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the dataset that you want to list.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#documentation": "

The type of the dataset that you want to list. Specify train to list \n the training dataset. Specify test to list the test dataset. If you have a single dataset\n project, specify train.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Labeled": { - "target": "com.amazonaws.lookoutvision#IsLabeled", - "traits": { - "smithy.api#documentation": "

Specify true to include labeled entries, otherwise specify false. If you\n don't specify a value, Lookout for Vision returns all entries.

", - "smithy.api#httpQuery": "labeled" - } - }, - "AnomalyClass": { - "target": "com.amazonaws.lookoutvision#AnomalyClassFilter", - "traits": { - "smithy.api#documentation": "

Specify normal to include only normal images. Specify anomaly to only include\n anomalous entries. If you don't specify a value, Amazon Lookout for Vision returns normal and anomalous images.

", - "smithy.api#httpQuery": "anomalyClass" - } - }, - "BeforeCreationDate": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

Only includes entries before the specified date in the response. For example, 2020-06-23T00:00:00.

", - "smithy.api#httpQuery": "createdBefore" - } - }, - "AfterCreationDate": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

Only includes entries after the specified date in the response. For example, 2020-06-23T00:00:00.

", - "smithy.api#httpQuery": "createdAfter" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous response was incomplete (because there is more data to retrieve),\n Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination token to\n retrieve the next set of dataset entries.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutvision#PageSize", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

", - "smithy.api#httpQuery": "maxResults" - } - }, - "SourceRefContains": { - "target": "com.amazonaws.lookoutvision#QueryString", - "traits": { - "smithy.api#documentation": "

Perform a \"contains\" search on the values of the source-ref key within the dataset. \n For example a value of \"IMG_17\" returns all JSON Lines where the source-ref key value matches *IMG_17*.

", - "smithy.api#httpQuery": "sourceRefContains" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#ListDatasetEntriesResponse": { - "type": "structure", - "members": { - "DatasetEntries": { - "target": "com.amazonaws.lookoutvision#DatasetEntryList", - "traits": { - "smithy.api#documentation": "

A list of the entries (JSON Lines) within the dataset.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the response is truncated, Amazon Lookout for Vision returns this token\n that you can use in the subsequent request to retrieve the next set ofdataset entries.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#ListModelPackagingJobs": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#ListModelPackagingJobsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#ListModelPackagingJobsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

\nLists the model packaging jobs created for an Amazon Lookout for Vision project.\n

\n

This operation requires permissions to perform the\n lookoutvision:ListModelPackagingJobs operation.\n

\n

For more information, see \n Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}/modelpackagingjobs", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "ModelPackagingJobs", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutvision#ListModelPackagingJobsRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

\nThe name of the project for which you want to list the model packaging jobs.\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous response was incomplete (because there is more\n results to retrieve), Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of results.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutvision#PageSize", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#ListModelPackagingJobsResponse": { - "type": "structure", - "members": { - "ModelPackagingJobs": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobsList", - "traits": { - "smithy.api#documentation": "

\nA list of the model packaging jobs created for the specified Amazon Lookout for Vision project.\n

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous response was incomplete (because there is more\n results to retrieve), Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination \n token to retrieve the next set of results.\n

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#ListModels": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#ListModelsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#ListModelsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the versions of a model in an Amazon Lookout for Vision project.

\n

The ListModels operation is eventually consistent. \n Recent calls to CreateModel might\n take a while to appear in the response from ListProjects.

\n

This operation requires permissions to perform the\n lookoutvision:ListModels operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects/{ProjectName}/models", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Models", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutvision#ListModelsRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the model versions that you want to list.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous response was incomplete (because there is more data to retrieve),\n Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination token to\n retrieve the next set of models.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutvision#PageSize", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#ListModelsResponse": { - "type": "structure", - "members": { - "Models": { - "target": "com.amazonaws.lookoutvision#ModelMetadataList", - "traits": { - "smithy.api#documentation": "

A list of model versions in the specified project.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the response is truncated, Amazon Lookout for Vision returns this token\n that you can use in the subsequent request to retrieve the next set of models.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#ListProjects": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#ListProjectsRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#ListProjectsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Lists the Amazon Lookout for Vision projects in your AWS account that are in the AWS Region in \n which you call ListProjects.

\n

The ListProjects operation is eventually consistent. \n Recent calls to CreateProject and DeleteProject might\n take a while to appear in the response from ListProjects.

\n

This operation requires permissions to perform the\n lookoutvision:ListProjects operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/projects", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "items": "Projects", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.lookoutvision#ListProjectsRequest": { - "type": "structure", - "members": { - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous response was incomplete (because there is more data to retrieve),\n Amazon Lookout for Vision returns a pagination token in the response. You can use this pagination token to\n retrieve the next set of projects.

", - "smithy.api#httpQuery": "nextToken" - } - }, - "MaxResults": { - "target": "com.amazonaws.lookoutvision#PageSize", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return per paginated call. The largest value you can specify is 100. \n If you specify a value greater than 100, a ValidationException\n error occurs. The default value is 100.

", - "smithy.api#httpQuery": "maxResults" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#ListProjectsResponse": { - "type": "structure", - "members": { - "Projects": { - "target": "com.amazonaws.lookoutvision#ProjectMetadataList", - "traits": { - "smithy.api#documentation": "

A list of projects in your AWS account.

" - } - }, - "NextToken": { - "target": "com.amazonaws.lookoutvision#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the response is truncated, Amazon Lookout for Vision returns this token\n that you can use in the subsequent request to retrieve the next set of projects.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a list of tags attached to the specified Amazon Lookout for Vision model.

\n

This operation requires permissions to perform the\n lookoutvision:ListTagsForResource operation.

", - "smithy.api#http": { - "method": "GET", - "uri": "/2020-11-20/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.lookoutvision#TagArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model for which you want to list tags.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "Tags": { - "target": "com.amazonaws.lookoutvision#TagList", - "traits": { - "smithy.api#documentation": "

A map of tag keys and values attached to the specified model.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#LookoutVisionService": { - "type": "service", - "version": "2020-11-20", - "operations": [ - { - "target": "com.amazonaws.lookoutvision#CreateDataset" - }, - { - "target": "com.amazonaws.lookoutvision#CreateModel" - }, - { - "target": "com.amazonaws.lookoutvision#CreateProject" - }, - { - "target": "com.amazonaws.lookoutvision#DeleteDataset" - }, - { - "target": "com.amazonaws.lookoutvision#DeleteModel" - }, - { - "target": "com.amazonaws.lookoutvision#DeleteProject" - }, - { - "target": "com.amazonaws.lookoutvision#DescribeDataset" - }, - { - "target": "com.amazonaws.lookoutvision#DescribeModel" - }, - { - "target": "com.amazonaws.lookoutvision#DescribeModelPackagingJob" - }, - { - "target": "com.amazonaws.lookoutvision#DescribeProject" - }, - { - "target": "com.amazonaws.lookoutvision#DetectAnomalies" - }, - { - "target": "com.amazonaws.lookoutvision#ListDatasetEntries" - }, - { - "target": "com.amazonaws.lookoutvision#ListModelPackagingJobs" - }, - { - "target": "com.amazonaws.lookoutvision#ListModels" - }, - { - "target": "com.amazonaws.lookoutvision#ListProjects" - }, - { - "target": "com.amazonaws.lookoutvision#ListTagsForResource" - }, - { - "target": "com.amazonaws.lookoutvision#StartModel" - }, - { - "target": "com.amazonaws.lookoutvision#StartModelPackagingJob" - }, - { - "target": "com.amazonaws.lookoutvision#StopModel" - }, - { - "target": "com.amazonaws.lookoutvision#TagResource" - }, - { - "target": "com.amazonaws.lookoutvision#UntagResource" - }, - { - "target": "com.amazonaws.lookoutvision#UpdateDatasetEntries" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "LookoutVision", - "arnNamespace": "lookoutvision", - "cloudFormationName": "LookoutVision", - "cloudTrailEventSource": "lookoutvision.amazonaws.com", - "endpointPrefix": "lookoutvision" - }, - "aws.auth#sigv4": { - "name": "lookoutvision" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

This is the Amazon Lookout for Vision API Reference. It provides descriptions of actions, \n data types, common parameters, and common errors.

\n

Amazon Lookout for Vision enables you to find visual defects in industrial products,\n accurately and at scale. It uses computer vision to identify missing components in an industrial product,\n damage to vehicles or structures, irregularities in production lines, and even minuscule defects in\n silicon wafers — or any other physical item where quality is important such as a missing capacitor\n on printed circuit boards.

", - "smithy.api#title": "Amazon Lookout for Vision", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lookoutvision-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lookoutvision-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://lookoutvision.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://lookoutvision.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://lookoutvision.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.lookoutvision#ModelArn": { - "type": "string" - }, - "com.amazonaws.lookoutvision#ModelDescription": { - "type": "structure", - "members": { - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model

" - } - }, - "ModelArn": { - "target": "com.amazonaws.lookoutvision#ModelArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model.

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The unix timestamp for the date and time that the model was created.

" - } - }, - "Description": { - "target": "com.amazonaws.lookoutvision#ModelDescriptionMessage", - "traits": { - "smithy.api#documentation": "

The description for the model.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutvision#ModelStatus", - "traits": { - "smithy.api#documentation": "

The status of the model.

" - } - }, - "StatusMessage": { - "target": "com.amazonaws.lookoutvision#ModelStatusMessage", - "traits": { - "smithy.api#documentation": "

The status message for the model.

" - } - }, - "Performance": { - "target": "com.amazonaws.lookoutvision#ModelPerformance", - "traits": { - "smithy.api#documentation": "

Performance metrics for the model. Created during training.

" - } - }, - "OutputConfig": { - "target": "com.amazonaws.lookoutvision#OutputConfig", - "traits": { - "smithy.api#documentation": "

The S3 location where Amazon Lookout for Vision saves model training files.

" - } - }, - "EvaluationManifest": { - "target": "com.amazonaws.lookoutvision#OutputS3Object", - "traits": { - "smithy.api#documentation": "

The S3 location where Amazon Lookout for Vision saves the manifest file\n that was used to test the trained model and generate the performance scores.

" - } - }, - "EvaluationResult": { - "target": "com.amazonaws.lookoutvision#OutputS3Object", - "traits": { - "smithy.api#documentation": "

The S3 location where Amazon Lookout for Vision saves the performance metrics.

" - } - }, - "EvaluationEndTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The unix timestamp for the date and time that the evaluation ended.

" - } - }, - "KmsKeyId": { - "target": "com.amazonaws.lookoutvision#KmsKeyId", - "traits": { - "smithy.api#documentation": "

The identifer for the AWS Key Management Service (AWS KMS) key that was used to encrypt the model\n during training.

" - } - }, - "MinInferenceUnits": { - "target": "com.amazonaws.lookoutvision#InferenceUnits", - "traits": { - "smithy.api#documentation": "

The minimum number of inference units used by the model. For more information,\n see StartModel\n

" - } - }, - "MaxInferenceUnits": { - "target": "com.amazonaws.lookoutvision#InferenceUnits", - "traits": { - "smithy.api#documentation": "

The maximum number of inference units Amazon Lookout for Vision uses to auto-scale the model.\n For more information, see StartModel.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an Amazon Lookout for Vision model.

" - } - }, - "com.amazonaws.lookoutvision#ModelDescriptionMessage": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 500 - }, - "smithy.api#pattern": "^[0-9A-Za-z\\.\\-_]*$" - } - }, - "com.amazonaws.lookoutvision#ModelHostingStatus": { - "type": "enum", - "members": { - "STARTING_HOSTING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "STARTING_HOSTING" - } - }, - "HOSTED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "HOSTED" - } - }, - "HOSTING_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "HOSTING_FAILED" - } - }, - "STOPPING_HOSTING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "STOPPING_HOSTING" - } - }, - "SYSTEM_UPDATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SYSTEM_UPDATING" - } - } - } - }, - "com.amazonaws.lookoutvision#ModelMetadata": { - "type": "structure", - "members": { - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The unix timestamp for the date and time that the model was created.

" - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model.

" - } - }, - "ModelArn": { - "target": "com.amazonaws.lookoutvision#ModelArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model.

" - } - }, - "Description": { - "target": "com.amazonaws.lookoutvision#ModelDescriptionMessage", - "traits": { - "smithy.api#documentation": "

The description for the model.

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutvision#ModelStatus", - "traits": { - "smithy.api#documentation": "

The status of the model.

" - } - }, - "StatusMessage": { - "target": "com.amazonaws.lookoutvision#ModelStatusMessage", - "traits": { - "smithy.api#documentation": "

The status message for the model.

" - } - }, - "Performance": { - "target": "com.amazonaws.lookoutvision#ModelPerformance", - "traits": { - "smithy.api#documentation": "

Performance metrics for the model. Not available until training has successfully completed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes an Amazon Lookout for Vision model.

" - } - }, - "com.amazonaws.lookoutvision#ModelMetadataList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#ModelMetadata" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingConfiguration": { - "type": "structure", - "members": { - "Greengrass": { - "target": "com.amazonaws.lookoutvision#GreengrassConfiguration", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\nConfiguration information for the AWS IoT Greengrass component in a model packaging job.\n

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

\nConfiguration information for a Amazon Lookout for Vision model packaging job. For more information,\nsee StartModelPackagingJob.\n

" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingDescription": { - "type": "structure", - "members": { - "JobName": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobName", - "traits": { - "smithy.api#documentation": "

\nThe name of the model packaging job.\n

" - } - }, - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that's associated with a model that's in the model package.\n\n

" - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model used in the model packaging job.\n\n

" - } - }, - "ModelPackagingConfiguration": { - "target": "com.amazonaws.lookoutvision#ModelPackagingConfiguration", - "traits": { - "smithy.api#documentation": "

\nThe configuration information used in the model packaging job.\n

" - } - }, - "ModelPackagingJobDescription": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobDescription", - "traits": { - "smithy.api#documentation": "

The description for the model packaging job.\n\n

" - } - }, - "ModelPackagingMethod": { - "target": "com.amazonaws.lookoutvision#ModelPackagingMethod", - "traits": { - "smithy.api#documentation": "

The AWS service used to package the job. Currently Lookout for Vision can package\njobs with AWS IoT Greengrass.\n

" - } - }, - "ModelPackagingOutputDetails": { - "target": "com.amazonaws.lookoutvision#ModelPackagingOutputDetails", - "traits": { - "smithy.api#documentation": "

Information about the output of the model packaging job. For more information,\n see DescribeModelPackagingJob.\n

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobStatus", - "traits": { - "smithy.api#documentation": "

\nThe status of the model packaging job.\n

" - } - }, - "StatusMessage": { - "target": "com.amazonaws.lookoutvision#ModelPackagingStatusMessage", - "traits": { - "smithy.api#documentation": "

\nThe status message for the model packaging job.\n

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

\n The Unix timestamp for the time and date that the model packaging job was created.\n

" - } - }, - "LastUpdatedTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

\n The Unix timestamp for the time and date that the model packaging job was last updated.\n

" - } - } - }, - "traits": { - "smithy.api#documentation": "

\nInformation about a model packaging job. For more information, see \nDescribeModelPackagingJob.\n

" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingJobDescription": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 256 - }, - "smithy.api#pattern": "^[a-zA-Z0-9-_. ()':,;?]+$" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingJobMetadata": { - "type": "structure", - "members": { - "JobName": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobName", - "traits": { - "smithy.api#documentation": "

\nThe name of the model packaging job.\n

" - } - }, - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

\nThe project that contains the model that is in the model package.\n

" - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

\nThe version of the model that is in the model package.\n

" - } - }, - "ModelPackagingJobDescription": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobDescription", - "traits": { - "smithy.api#documentation": "

\nThe description for the model packaging job.\n

" - } - }, - "ModelPackagingMethod": { - "target": "com.amazonaws.lookoutvision#ModelPackagingMethod", - "traits": { - "smithy.api#documentation": "

\nThe AWS service used to package the job. Currently Lookout for Vision can package\n jobs with AWS IoT Greengrass.\n

" - } - }, - "Status": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the model packaging job.\n

" - } - }, - "StatusMessage": { - "target": "com.amazonaws.lookoutvision#ModelPackagingStatusMessage", - "traits": { - "smithy.api#documentation": "

The status message for the model packaging job.\n

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The Unix timestamp for the time and date that the model packaging job was created.

" - } - }, - "LastUpdatedTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The Unix timestamp for the time and date that the model packaging job was last updated.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

\n Metadata for a model packaging job. For more information, see ListModelPackagingJobs.\n

" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingJobName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": "^[a-zA-Z0-9-]+$" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingJobStatus": { - "type": "enum", - "members": { - "CREATED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATED" - } - }, - "RUNNING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RUNNING" - } - }, - "SUCCEEDED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SUCCEEDED" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FAILED" - } - } - } - }, - "com.amazonaws.lookoutvision#ModelPackagingJobsList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobMetadata" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingMethod": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 32 - }, - "smithy.api#pattern": "^[a-zA-Z0-9]+$" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingOutputDetails": { - "type": "structure", - "members": { - "Greengrass": { - "target": "com.amazonaws.lookoutvision#GreengrassOutputDetails", - "traits": { - "smithy.api#documentation": "

\nInformation about the AWS IoT Greengrass component in a model packaging job.\n

" - } - } - }, - "traits": { - "smithy.api#documentation": "

\nInformation about the output from a model packaging job.\n

" - } - }, - "com.amazonaws.lookoutvision#ModelPackagingStatusMessage": { - "type": "string" - }, - "com.amazonaws.lookoutvision#ModelPerformance": { - "type": "structure", - "members": { - "F1Score": { - "target": "com.amazonaws.lookoutvision#Float", - "traits": { - "smithy.api#documentation": "

The overall F1 score metric for the trained model.

" - } - }, - "Recall": { - "target": "com.amazonaws.lookoutvision#Float", - "traits": { - "smithy.api#documentation": "

The overall recall metric value for the trained model.

" - } - }, - "Precision": { - "target": "com.amazonaws.lookoutvision#Float", - "traits": { - "smithy.api#documentation": "

The overall precision metric value for the trained model.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the evaluation performance of a trained model.

" - } - }, - "com.amazonaws.lookoutvision#ModelStatus": { - "type": "enum", - "members": { - "TRAINING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TRAINING" - } - }, - "TRAINED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TRAINED" - } - }, - "TRAINING_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TRAINING_FAILED" - } - }, - "STARTING_HOSTING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "STARTING_HOSTING" - } - }, - "HOSTED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "HOSTED" - } - }, - "HOSTING_FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "HOSTING_FAILED" - } - }, - "STOPPING_HOSTING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "STOPPING_HOSTING" - } - }, - "SYSTEM_UPDATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SYSTEM_UPDATING" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETING" - } - } - } - }, - "com.amazonaws.lookoutvision#ModelStatusMessage": { - "type": "string" - }, - "com.amazonaws.lookoutvision#ModelVersion": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - }, - "smithy.api#pattern": "^([1-9][0-9]*|latest)$" - } - }, - "com.amazonaws.lookoutvision#ModelVersionNoLatest": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 10 - }, - "smithy.api#pattern": "^([1-9][0-9]*)$" - } - }, - "com.amazonaws.lookoutvision#OutputConfig": { - "type": "structure", - "members": { - "S3Location": { - "target": "com.amazonaws.lookoutvision#S3Location", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The S3 location for the output.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The S3 location where Amazon Lookout for Vision saves model training files.

" - } - }, - "com.amazonaws.lookoutvision#OutputS3Object": { - "type": "structure", - "members": { - "Bucket": { - "target": "com.amazonaws.lookoutvision#S3BucketName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The bucket that contains the training output.

", - "smithy.api#required": {} - } - }, - "Key": { - "target": "com.amazonaws.lookoutvision#S3ObjectKey", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The location of the training output in the bucket.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The S3 location where Amazon Lookout for Vision saves training output.

" - } - }, - "com.amazonaws.lookoutvision#PageSize": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.lookoutvision#PaginationToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 2048 - }, - "smithy.api#pattern": "^[a-zA-Z0-9\\/\\+\\=]{0,2048}$" - } - }, - "com.amazonaws.lookoutvision#PixelAnomaly": { - "type": "structure", - "members": { - "TotalPercentageArea": { - "target": "com.amazonaws.lookoutvision#Float", - "traits": { - "smithy.api#documentation": "

The percentage area of the image that the anomaly type covers.

" - } - }, - "Color": { - "target": "com.amazonaws.lookoutvision#Color", - "traits": { - "smithy.api#documentation": "

A hex color value for the mask that covers an anomaly type. Each anomaly type has\n a different mask color. The color maps to the color of the anomaly type used in the\n training dataset.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the pixels in an anomaly mask. For more information, see Anomaly.\n PixelAnomaly is only returned by image segmentation models.

" - } - }, - "com.amazonaws.lookoutvision#ProjectArn": { - "type": "string" - }, - "com.amazonaws.lookoutvision#ProjectDescription": { - "type": "structure", - "members": { - "ProjectArn": { - "target": "com.amazonaws.lookoutvision#ProjectArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the project.

" - } - }, - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project.

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The unix timestamp for the date and time that the project was created.

" - } - }, - "Datasets": { - "target": "com.amazonaws.lookoutvision#DatasetMetadataList", - "traits": { - "smithy.api#documentation": "

A list of datasets in the project.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describe an Amazon Lookout for Vision project. For more information, see DescribeProject.

" - } - }, - "com.amazonaws.lookoutvision#ProjectMetadata": { - "type": "structure", - "members": { - "ProjectArn": { - "target": "com.amazonaws.lookoutvision#ProjectArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the project.

" - } - }, - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project.

" - } - }, - "CreationTimestamp": { - "target": "com.amazonaws.lookoutvision#DateTime", - "traits": { - "smithy.api#documentation": "

The unix timestamp for the date and time that the project was created.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Metadata about an Amazon Lookout for Vision project.

" - } - }, - "com.amazonaws.lookoutvision#ProjectMetadataList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#ProjectMetadata" - } - }, - "com.amazonaws.lookoutvision#ProjectName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^[a-zA-Z0-9][a-zA-Z0-9_\\-]*$" - } - }, - "com.amazonaws.lookoutvision#QueryString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "\\S" - } - }, - "com.amazonaws.lookoutvision#ResourceNotFoundException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - }, - "ResourceId": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The ID of the resource.

", - "smithy.api#required": {} - } - }, - "ResourceType": { - "target": "com.amazonaws.lookoutvision#ResourceType", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The type of the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The resource could not be found.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.lookoutvision#ResourceType": { - "type": "enum", - "members": { - "PROJECT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PROJECT" - } - }, - "DATASET": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DATASET" - } - }, - "MODEL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MODEL" - } - }, - "TRIAL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TRIAL" - } - }, - "MODEL_PACKAGE_JOB": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MODEL_PACKAGE_JOB" - } - } - } - }, - "com.amazonaws.lookoutvision#RetryAfterSeconds": { - "type": "integer" - }, - "com.amazonaws.lookoutvision#S3BucketName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 63 - }, - "smithy.api#pattern": "^[0-9A-Za-z\\.\\-_]*$" - } - }, - "com.amazonaws.lookoutvision#S3KeyPrefix": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": "^([a-zA-Z0-9!_.*'()-][/a-zA-Z0-9!_.*'()-]*)?$" - } - }, - "com.amazonaws.lookoutvision#S3Location": { - "type": "structure", - "members": { - "Bucket": { - "target": "com.amazonaws.lookoutvision#S3BucketName", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The S3 bucket that contains the training or model packaging job output. If you are training a model,\n the bucket must in your AWS account. If you use an S3 bucket for a model packaging job,\n the S3 bucket must be in the same AWS Region and AWS account in which you use AWS IoT Greengrass.

", - "smithy.api#required": {} - } - }, - "Prefix": { - "target": "com.amazonaws.lookoutvision#S3KeyPrefix", - "traits": { - "smithy.api#documentation": "

The path of the folder, within the S3 bucket, that contains the output.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the location of training output or the output of a model packaging job.

" - } - }, - "com.amazonaws.lookoutvision#S3ObjectKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": "^([a-zA-Z0-9!_.*'()-][/a-zA-Z0-9!_.*'()-]*)?$" - } - }, - "com.amazonaws.lookoutvision#S3ObjectVersion": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.lookoutvision#ServiceQuotaExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - }, - "ResourceId": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#documentation": "

The ID of the resource.

" - } - }, - "ResourceType": { - "target": "com.amazonaws.lookoutvision#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of the resource.

" - } - }, - "QuotaCode": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The quota code.

", - "smithy.api#required": {} - } - }, - "ServiceCode": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The service code.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

A service quota was exceeded the allowed limit. For more information, see\n Limits in Amazon Lookout for Vision in the Amazon Lookout for Vision Developer Guide.

", - "smithy.api#error": "client", - "smithy.api#httpError": 402 - } - }, - "com.amazonaws.lookoutvision#StartModel": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#StartModelRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#StartModelResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Starts the running of the version of an Amazon Lookout for Vision model. Starting a model takes a while\n to complete. To check the current state of the model, use DescribeModel.

\n

A model is ready to use when its status is HOSTED.

\n

Once the model is running, you can detect custom labels in new images by calling \n DetectAnomalies.

\n \n

You are charged for the amount of time that the model is running. To stop a running\n model, call StopModel.

\n
\n

This operation requires permissions to perform the\n lookoutvision:StartModel operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects/{ProjectName}/models/{ModelVersion}/start", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#StartModelPackagingJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#StartModelPackagingJobRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#StartModelPackagingJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for\n a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.\n

\n

Use the DescribeModelPackagingJob API to determine the current status of the job.\n \n The model packaging job is complete if the value of Status is SUCCEEDED.

\n

To deploy the component\n to the target device, use the component name and component version\n with the AWS IoT Greengrass CreateDeployment API.

\n

This operation requires the following permissions:

\n
    \n
  • \n

    \n lookoutvision:StartModelPackagingJob\n

    \n
  • \n
  • \n

    \n s3:PutObject\n

    \n
  • \n
  • \n

    \n s3:GetBucketLocation\n

    \n
  • \n
  • \n

    \n kms:GenerateDataKey\n

    \n
  • \n
  • \n

    \n greengrass:CreateComponentVersion\n

    \n
  • \n
  • \n

    \n greengrass:DescribeComponent\n

    \n
  • \n
  • \n

    (Optional) greengrass:TagResource. Only required if you want to tag the component.

    \n
  • \n
\n

For more information, see \n Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects/{ProjectName}/modelpackagingjobs", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#StartModelPackagingJobRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

\nThe name of the project which contains the version of the model that you want to package.\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\nThe version of the model within the project that you want to package.\n

", - "smithy.api#required": {} - } - }, - "JobName": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobName", - "traits": { - "smithy.api#documentation": "

A name for the model packaging job. If you don't supply a value, the service creates\n a job name for you.\n

" - } - }, - "Configuration": { - "target": "com.amazonaws.lookoutvision#ModelPackagingConfiguration", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The configuration for the model packaging job.\n

", - "smithy.api#required": {} - } - }, - "Description": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobDescription", - "traits": { - "smithy.api#documentation": "

A description for the model packaging job.\n

" - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to StartModelPackagingJob\n completes only once. You choose the value to pass. For example, An issue might prevent you\n from getting a response from StartModelPackagingJob.\n In this case, safely retry your call\n to StartModelPackagingJob by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple dataset creation requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to StartModelPackagingJob. An idempotency\n token is active for 8 hours.\n

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#StartModelPackagingJobResponse": { - "type": "structure", - "members": { - "JobName": { - "target": "com.amazonaws.lookoutvision#ModelPackagingJobName", - "traits": { - "smithy.api#documentation": "

The job name for the model packaging job. If you don't supply a job name in the JobName input parameter,\n the service creates a job name for you.\n\n

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#StartModelRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the model that you want to start.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model that you want to start.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "MinInferenceUnits": { - "target": "com.amazonaws.lookoutvision#InferenceUnits", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The minimum number of inference units to use. A single\n inference unit represents 1 hour of processing. \n Use a higher number to increase the TPS throughput of your model. You are charged for the number\n of inference units that you use.\n

", - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to StartModel\n completes only once. You choose the value to pass. For example, An issue might prevent \n you from getting a response from StartModel.\n In this case, safely retry your call\n to StartModel by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple start requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to StartModel. An idempotency\n token is active for 8 hours.\n

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - }, - "MaxInferenceUnits": { - "target": "com.amazonaws.lookoutvision#InferenceUnits", - "traits": { - "smithy.api#documentation": "

The maximum number of inference units to use for auto-scaling the model. If you don't\n specify a value, Amazon Lookout for Vision doesn't auto-scale the model.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#StartModelResponse": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.lookoutvision#ModelHostingStatus", - "traits": { - "smithy.api#documentation": "

The current running status of the model.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#StopModel": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#StopModelRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#StopModelResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Stops the hosting of a running model. The operation might take a while to complete. To\n check the current status, call DescribeModel.

\n

After the model hosting stops, the Status of the model is TRAINED.

\n

This operation requires permissions to perform the\n lookoutvision:StopModel operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/projects/{ProjectName}/models/{ModelVersion}/stop", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#StopModelRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the model that you want to stop.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ModelVersion": { - "target": "com.amazonaws.lookoutvision#ModelVersion", - "traits": { - "smithy.api#documentation": "

The version of the model that you want to stop.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to StopModel\n completes only once. You choose the value to pass. For example, An issue \n might prevent you from getting a response from StopModel.\n In this case, safely retry your call\n to StopModel by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple stop requests. You'll need to\n provide your own value for other use cases.

\n

An error occurs if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to StopModel. An idempotency\n token is active for 8 hours.\n \n \n

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#StopModelResponse": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.lookoutvision#ModelHostingStatus", - "traits": { - "smithy.api#documentation": "

The status of the model.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#Stream": { - "type": "blob", - "traits": { - "smithy.api#requiresLength": {}, - "smithy.api#streaming": {} - } - }, - "com.amazonaws.lookoutvision#Tag": { - "type": "structure", - "members": { - "Key": { - "target": "com.amazonaws.lookoutvision#TagKey", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The key of the tag that is attached to the specified model.

", - "smithy.api#required": {} - } - }, - "Value": { - "target": "com.amazonaws.lookoutvision#TagValue", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The value of the tag that is attached to the specified model.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

A key and value pair that is attached to the specified Amazon Lookout for Vision model.

" - } - }, - "com.amazonaws.lookoutvision#TagArn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1011 - } - } - }, - "com.amazonaws.lookoutvision#TagKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - } - }, - "com.amazonaws.lookoutvision#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#TagKey" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.lookoutvision#TagList": { - "type": "list", - "member": { - "target": "com.amazonaws.lookoutvision#Tag" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.lookoutvision#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#TagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ServiceQuotaExceededException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Adds one or more key-value tags to an Amazon Lookout for Vision model. \n For more information, see Tagging a model in the Amazon Lookout for Vision Developer Guide.

\n

This operation requires permissions to perform the\n lookoutvision:TagResource operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/2020-11-20/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#TagResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.lookoutvision#TagArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model to assign the tags.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.lookoutvision#TagList", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The key-value tags to assign to the model.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#TagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#TagValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^([\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]*)$" - } - }, - "com.amazonaws.lookoutvision#TargetDevice": { - "type": "enum", - "members": { - "JETSON_XAVIER": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "jetson_xavier" - } - } - } - }, - "com.amazonaws.lookoutvision#TargetPlatform": { - "type": "structure", - "members": { - "Os": { - "target": "com.amazonaws.lookoutvision#TargetPlatformOs", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The target operating system for the model. Linux is the only operating system\n that is currently supported.\n

", - "smithy.api#required": {} - } - }, - "Arch": { - "target": "com.amazonaws.lookoutvision#TargetPlatformArch", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The target architecture for the model. The currently supported architectures are\n X86_64 (64-bit version of the x86 instruction set) and ARM_64 (ARMv8 64-bit CPU).\n

", - "smithy.api#required": {} - } - }, - "Accelerator": { - "target": "com.amazonaws.lookoutvision#TargetPlatformAccelerator", - "traits": { - "smithy.api#documentation": "

The target accelerator for the model. Currently, Amazon Lookout for Vision only supports NVIDIA (Nvidia graphics processing unit) \n and CPU accelerators. If you specify NVIDIA as an accelerator, you must also specify the gpu-code, trt-ver,\n and cuda-ver compiler options. If you don't specify an accelerator, Lookout for Vision uses the CPU for compilation and we highly recommend that you use the\n GreengrassConfiguration$CompilerOptions field. For example, you can use the following compiler options for CPU:

\n
    \n
  • \n

    \n mcpu: CPU micro-architecture. For example, {'mcpu': 'skylake-avx512'}\n

    \n
  • \n
  • \n

    \n mattr: CPU flags. For example, {'mattr': ['+neon', '+vfpv4']}\n

    \n
  • \n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

The platform on which a model runs on an AWS IoT Greengrass core device.

" - } - }, - "com.amazonaws.lookoutvision#TargetPlatformAccelerator": { - "type": "enum", - "members": { - "NVIDIA": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NVIDIA" - } - } - } - }, - "com.amazonaws.lookoutvision#TargetPlatformArch": { - "type": "enum", - "members": { - "ARM64": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ARM64" - } - }, - "X86_64": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "X86_64" - } - } - } - }, - "com.amazonaws.lookoutvision#TargetPlatformOs": { - "type": "enum", - "members": { - "LINUX": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LINUX" - } - } - } - }, - "com.amazonaws.lookoutvision#ThrottlingException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - }, - "QuotaCode": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#documentation": "

The quota code.

" - } - }, - "ServiceCode": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#documentation": "

The service code.

" - } - }, - "RetryAfterSeconds": { - "target": "com.amazonaws.lookoutvision#RetryAfterSeconds", - "traits": { - "smithy.api#documentation": "

The period of time, in seconds, before the operation can be retried.

", - "smithy.api#httpHeader": "Retry-After" - } - } - }, - "traits": { - "smithy.api#documentation": "

Amazon Lookout for Vision is temporarily unable to process the request. Try your call again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 429 - } - }, - "com.amazonaws.lookoutvision#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#UntagResourceRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#UntagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Removes one or more tags from an Amazon Lookout for Vision model. For more information, see \n Tagging a model in the Amazon Lookout for Vision Developer Guide.

\n

This operation requires permissions to perform the\n lookoutvision:UntagResource operation.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/2020-11-20/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.lookoutvision#UntagResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.lookoutvision#TagArn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the model from which you want to remove tags.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "TagKeys": { - "target": "com.amazonaws.lookoutvision#TagKeyList", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

A list of the keys of the tags that you want to remove.

", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#UntagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#UpdateDatasetEntries": { - "type": "operation", - "input": { - "target": "com.amazonaws.lookoutvision#UpdateDatasetEntriesRequest" - }, - "output": { - "target": "com.amazonaws.lookoutvision#UpdateDatasetEntriesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.lookoutvision#AccessDeniedException" - }, - { - "target": "com.amazonaws.lookoutvision#ConflictException" - }, - { - "target": "com.amazonaws.lookoutvision#InternalServerException" - }, - { - "target": "com.amazonaws.lookoutvision#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.lookoutvision#ThrottlingException" - }, - { - "target": "com.amazonaws.lookoutvision#ValidationException" - } - ], - "traits": { - "smithy.api#documentation": "

Adds or updates one or more JSON Line entries in a dataset. A JSON Line includes information about an image\n used for training or testing an Amazon Lookout for Vision model.

\n

To update an existing JSON Line, use the source-ref field to identify the JSON Line. The JSON line\n that you supply replaces the existing JSON line. Any existing annotations that are not in the new JSON line are removed from the dataset.\n

\n

For more information, see \n Defining JSON lines for anomaly classification in the Amazon Lookout for Vision Developer Guide.

\n \n

The images you reference in the source-ref field of a JSON line, must be \n in the same S3 bucket as the existing images in the dataset.

\n
\n

Updating a dataset might take a while to complete. To check the current status, call DescribeDataset and\n check the Status field in the response.

\n

This operation requires permissions to perform the\n lookoutvision:UpdateDatasetEntries operation.

", - "smithy.api#http": { - "method": "PATCH", - "uri": "/2020-11-20/projects/{ProjectName}/datasets/{DatasetType}/entries", - "code": 202 - } - } - }, - "com.amazonaws.lookoutvision#UpdateDatasetEntriesRequest": { - "type": "structure", - "members": { - "ProjectName": { - "target": "com.amazonaws.lookoutvision#ProjectName", - "traits": { - "smithy.api#documentation": "

The name of the project that contains the dataset that you want to update.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DatasetType": { - "target": "com.amazonaws.lookoutvision#DatasetType", - "traits": { - "smithy.api#documentation": "

The type of the dataset that you want to update. Specify train to update\n the training dataset. Specify test to update the test dataset. If you\n have a single dataset project, specify train.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Changes": { - "target": "com.amazonaws.lookoutvision#DatasetChanges", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The entries to add to the dataset.

", - "smithy.api#required": {} - } - }, - "ClientToken": { - "target": "com.amazonaws.lookoutvision#ClientToken", - "traits": { - "smithy.api#documentation": "

ClientToken is an idempotency token that ensures a call to UpdateDatasetEntries\n completes only once. You choose the value to pass. For example, An issue \n might prevent you from getting a response from UpdateDatasetEntries.\n In this case, safely retry your call\n to UpdateDatasetEntries by using the same ClientToken parameter value.

\n

If you don't supply a value for ClientToken, the AWS SDK you are using inserts a value for you. \n This prevents retries after a network error from making multiple updates with the same dataset entries. You'll need to\n provide your own value for other use cases.

\n

An error occurs\n if the other input parameters are not the same as in the first request. Using a different \n value for ClientToken is considered a new call to UpdateDatasetEntries. An idempotency\n token is active for 8 hours.\n

", - "smithy.api#httpHeader": "X-Amzn-Client-Token", - "smithy.api#idempotencyToken": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.lookoutvision#UpdateDatasetEntriesResponse": { - "type": "structure", - "members": { - "Status": { - "target": "com.amazonaws.lookoutvision#DatasetStatus", - "traits": { - "smithy.api#documentation": "

The status of the dataset update.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.lookoutvision#ValidationException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.lookoutvision#ExceptionString", - "traits": { - "smithy.api#clientOptional": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

An input validation error occured. For example, invalid characters in a project name,\n or if a pagination token is invalid.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - } - } -} diff --git a/codegen/sdk-codegen/aws-models/m2.json b/codegen/sdk-codegen/aws-models/m2.json index ffb4e969259..733c8840ac2 100644 --- a/codegen/sdk-codegen/aws-models/m2.json +++ b/codegen/sdk-codegen/aws-models/m2.json @@ -481,27 +481,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/machine-learning.json b/codegen/sdk-codegen/aws-models/machine-learning.json index 0353f6019a0..0d089c67f5a 100644 --- a/codegen/sdk-codegen/aws-models/machine-learning.json +++ b/codegen/sdk-codegen/aws-models/machine-learning.json @@ -236,27 +236,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/macie2.json b/codegen/sdk-codegen/aws-models/macie2.json index 6ca2c739be3..f91e70f37c6 100644 --- a/codegen/sdk-codegen/aws-models/macie2.json +++ b/codegen/sdk-codegen/aws-models/macie2.json @@ -9210,27 +9210,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mailmanager.json b/codegen/sdk-codegen/aws-models/mailmanager.json index 51f1f3e905b..dbeca93b260 100644 --- a/codegen/sdk-codegen/aws-models/mailmanager.json +++ b/codegen/sdk-codegen/aws-models/mailmanager.json @@ -5820,27 +5820,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/managedblockchain-query.json b/codegen/sdk-codegen/aws-models/managedblockchain-query.json index 783a534ed6b..867b1180671 100644 --- a/codegen/sdk-codegen/aws-models/managedblockchain-query.json +++ b/codegen/sdk-codegen/aws-models/managedblockchain-query.json @@ -1748,27 +1748,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/managedblockchain.json b/codegen/sdk-codegen/aws-models/managedblockchain.json index e74dff916dd..d7649118e3d 100644 --- a/codegen/sdk-codegen/aws-models/managedblockchain.json +++ b/codegen/sdk-codegen/aws-models/managedblockchain.json @@ -3924,27 +3924,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/marketplace-agreement.json b/codegen/sdk-codegen/aws-models/marketplace-agreement.json index 6ed3a66f0fc..f471c1f80c2 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-agreement.json +++ b/codegen/sdk-codegen/aws-models/marketplace-agreement.json @@ -48,27 +48,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/marketplace-catalog.json b/codegen/sdk-codegen/aws-models/marketplace-catalog.json index 8b7df0af2ca..241fb335eb5 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-catalog.json +++ b/codegen/sdk-codegen/aws-models/marketplace-catalog.json @@ -104,27 +104,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -1542,6 +1542,12 @@ "traits": { "smithy.api#enumValue": "Visibility" } + }, + "CompatibleAWSServices": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CompatibleAWSServices" + } } } }, @@ -3164,7 +3170,7 @@ } }, "traits": { - "smithy.api#documentation": "

The filters that you can use with the ListEntities operation to filter machine learning products. You can filter by EntityId, LastModifiedDate, ProductTitle, and Visibility.

" + "smithy.api#documentation": "

The filters that you can use with the ListEntities operation to filter machine learning products. \n You can filter by EntityId, astModifiedDate, ProductTitle, and Visibility.

" } }, "com.amazonaws.marketplacecatalog#MachineLearningProductLastModifiedDateFilter": { @@ -5204,6 +5210,12 @@ "traits": { "smithy.api#enumValue": "LastModifiedDate" } + }, + "DeliveryOptionTypes": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DeliveryOptionTypes" + } } } }, diff --git a/codegen/sdk-codegen/aws-models/marketplace-commerce-analytics.json b/codegen/sdk-codegen/aws-models/marketplace-commerce-analytics.json index 9d5d74a932a..a3db5a9d78d 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-commerce-analytics.json +++ b/codegen/sdk-codegen/aws-models/marketplace-commerce-analytics.json @@ -350,27 +350,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/marketplace-deployment.json b/codegen/sdk-codegen/aws-models/marketplace-deployment.json index 511e2011041..c16d78f7b7c 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-deployment.json +++ b/codegen/sdk-codegen/aws-models/marketplace-deployment.json @@ -40,27 +40,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/marketplace-entitlement-service.json b/codegen/sdk-codegen/aws-models/marketplace-entitlement-service.json index 5997d29b397..f26b09b1930 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-entitlement-service.json +++ b/codegen/sdk-codegen/aws-models/marketplace-entitlement-service.json @@ -60,26 +60,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -665,53 +665,27 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://entitlement.marketplace-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://entitlement.marketplace-fips.us-gov-west-1.amazonaws.com" + "url": "https://entitlement.marketplace-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://entitlement.marketplace.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://entitlement.marketplace.us-gov-west-1.amazonaws.com" + "url": "https://entitlement.marketplace.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -821,27 +795,53 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://entitlement.marketplace-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://entitlement.marketplace-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://entitlement.marketplace.eusc-de-east-1.amazonaws.eu" + "url": "https://entitlement.marketplace.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://entitlement.marketplace.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/marketplace-metering.json b/codegen/sdk-codegen/aws-models/marketplace-metering.json index 21be9efafdd..2daeadbc6e5 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-metering.json +++ b/codegen/sdk-codegen/aws-models/marketplace-metering.json @@ -69,26 +69,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -674,53 +674,27 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering.marketplace-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.us-gov-west-1.amazonaws.com" + "url": "https://metering.marketplace-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://metering-marketplace.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.us-gov-west-1.amazonaws.com" + "url": "https://metering.marketplace.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -830,27 +804,53 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://metering.marketplace-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metering.marketplace-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://metering.marketplace.eusc-de-east-1.amazonaws.eu" + "url": "https://metering-marketplace.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://metering.marketplace.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } @@ -913,7 +913,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

\n The CustomerIdentifier parameter is scheduled for deprecation. Use CustomerAWSAccountID instead.

\n

These parameters are mutually exclusive. You can't specify both CustomerIdentifier and CustomerAWSAccountID in the same request.\n

\n
\n

To post metering records for customers, SaaS applications call\n BatchMeterUsage, which is used for metering SaaS flexible\n consumption pricing (FCP). Identical requests are idempotent and can be\n retried with the same records or a subset of records. Each\n BatchMeterUsage request is for only one product. If you\n want to meter usage for multiple products, you must make multiple\n BatchMeterUsage calls.

\n

Usage records should be submitted in quick succession following a\n recorded event. Usage records aren't accepted 6 hours or more after an\n event.

\n

\n BatchMeterUsage can process up to 25\n UsageRecords at a time, and each request must be less than\n 1 MB in size. Optionally, you can have multiple usage allocations for\n usage data that's split into buckets according to predefined tags.

\n

\n BatchMeterUsage returns a list of\n UsageRecordResult objects, which have each\n UsageRecord. It also returns a list of\n UnprocessedRecords, which indicate errors on the service\n side that should be retried.

\n

For Amazon Web Services Regions that support BatchMeterUsage, see BatchMeterUsage Region support.\n

\n \n

For an example of BatchMeterUsage, see BatchMeterUsage code example in the Amazon Web Services Marketplace Seller\n Guide.

\n
" + "smithy.api#documentation": "\n

\n The CustomerIdentifier parameter is scheduled for deprecation on March 31, 2026. Use CustomerAWSAccountID instead.

\n

These parameters are mutually exclusive. You can't specify both CustomerIdentifier and CustomerAWSAccountID in the same request.\n

\n
\n

To post metering records for customers, SaaS applications call\n BatchMeterUsage, which is used for metering SaaS flexible\n consumption pricing (FCP). Identical requests are idempotent and can be\n retried with the same records or a subset of records. Each\n BatchMeterUsage request is for only one product. If you\n want to meter usage for multiple products, you must make multiple\n BatchMeterUsage calls.

\n

Usage records should be submitted in quick succession following a\n recorded event. Usage records aren't accepted 6 hours or more after an\n event.

\n

\n BatchMeterUsage can process up to 25\n UsageRecords at a time, and each request must be less than\n 1 MB in size. Optionally, you can have multiple usage allocations for\n usage data that's split into buckets according to predefined tags.

\n

\n BatchMeterUsage returns a list of\n UsageRecordResult objects, which have each\n UsageRecord. It also returns a list of\n UnprocessedRecords, which indicate errors on the service\n side that should be retried.

\n

For Amazon Web Services Regions that support BatchMeterUsage, see BatchMeterUsage Region support.\n

\n \n

For an example of BatchMeterUsage, see BatchMeterUsage code example in the Amazon Web Services Marketplace Seller\n Guide.

\n
" } }, "com.amazonaws.marketplacemetering#BatchMeterUsageRequest": { @@ -963,6 +963,15 @@ "com.amazonaws.marketplacemetering#Boolean": { "type": "boolean" }, + "com.amazonaws.marketplacemetering#ClientToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, "com.amazonaws.marketplacemetering#CustomerAWSAccountId": { "type": "string", "traits": { @@ -1031,6 +1040,19 @@ "smithy.api#error": "client" } }, + "com.amazonaws.marketplacemetering#IdempotencyConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.marketplacemetering#errorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The ClientToken is being used for multiple requests.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.marketplacemetering#InternalServiceErrorException": { "type": "structure", "members": { @@ -1166,6 +1188,9 @@ { "target": "com.amazonaws.marketplacemetering#DuplicateRequestException" }, + { + "target": "com.amazonaws.marketplacemetering#IdempotencyConflictException" + }, { "target": "com.amazonaws.marketplacemetering#InternalServiceErrorException" }, @@ -1192,7 +1217,7 @@ } ], "traits": { - "smithy.api#documentation": "

API to emit metering records. For identical requests, the API is\n idempotent and returns the metering record ID. This is used for metering\n flexible consumption pricing (FCP) Amazon Machine Images (AMI) and\n container products.

\n

\n MeterUsage is authenticated on the buyer's Amazon Web Services account using\n credentials from the Amazon EC2 instance, Amazon ECS task, or Amazon EKS pod.

\n

\n MeterUsage can optionally include multiple usage allocations, to provide\n customers with usage data split into buckets by tags that you define (or allow the\n customer to define).

\n

Usage records are expected to be submitted as quickly as possible after the event that\n is being recorded, and are not accepted more than 6 hours after the event.

\n

For Amazon Web Services Regions that support MeterUsage, see MeterUsage Region support for Amazon EC2 and MeterUsage Region support for Amazon ECS and Amazon EKS.

" + "smithy.api#documentation": "

API to emit metering records. For identical requests, the API is\n idempotent and returns the metering record ID. This is used for metering\n flexible consumption pricing (FCP) Amazon Machine Images (AMI) and\n container products.

\n

\n MeterUsage is authenticated on the buyer's Amazon Web Services account using\n credentials from the Amazon EC2 instance, Amazon ECS task, or Amazon EKS pod.

\n

\n MeterUsage can optionally include multiple usage allocations, to provide\n customers with usage data split into buckets by tags that you define (or allow the\n customer to define).

\n

Submit usage records to report events from the previous hour. If you submit records that\n are greater than six hours after events occur, the records won’t be accepted. The timestamp\n in your request determines when an event is recorded. You can only report usage once per hour\n for each dimension. For AMI-based products, this is per dimension and per EC2 instance. For\n container products, this is per dimension and per ECS task or EKS pod. You can’t modify values\n after they’re recorded. If you report usage before the current hour ends, you will be unable to\n report additional usage until the next hour begins.

\n

For Amazon Web Services Regions that support MeterUsage, see MeterUsage Region support for Amazon EC2 and MeterUsage Region support for Amazon ECS and Amazon EKS.

" } }, "com.amazonaws.marketplacemetering#MeterUsageRequest": { @@ -1236,6 +1261,13 @@ "traits": { "smithy.api#documentation": "

The set of UsageAllocations to submit.

\n

The sum of all UsageAllocation quantities must equal the\n UsageQuantity of the MeterUsage request, and each\n UsageAllocation must have a unique set of tags (include no\n tags).

" } + }, + "ClientToken": { + "target": "com.amazonaws.marketplacemetering#ClientToken", + "traits": { + "smithy.api#documentation": "

Specifies a unique, case-sensitive identifier that you provide to ensure the idempotency\n of the request. This lets you safely retry the request without accidentally performing the\n same operation a second time. Passing the same value to a later call to an operation\n requires that you also pass the same value for all other parameters. We recommend that you\n use a UUID type of\n value.

\n

If you don't provide this value, then Amazon Web Services generates a random one for\n you.

\n

If you retry the operation with the same ClientToken, but with different\n parameters, the retry fails with an IdempotencyConflictException error.

", + "smithy.api#idempotencyToken": {} + } } }, "traits": { @@ -1594,7 +1626,7 @@ "Timestamp": { "target": "com.amazonaws.marketplacemetering#Timestamp", "traits": { - "smithy.api#documentation": "

Timestamp, in UTC, for which the usage is being reported.

\n

Your application can meter usage for up to one hour in the past. Make sure the\n timestamp value is not before the start of the software usage.

", + "smithy.api#documentation": "

Timestamp, in UTC, for which the usage is being reported.

\n

Your application can meter usage for up to six hours in the past. Make sure the\n timestamp value is not before the start of the software usage.

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/marketplace-reporting.json b/codegen/sdk-codegen/aws-models/marketplace-reporting.json index 45bf8daff7d..a1c10119be0 100644 --- a/codegen/sdk-codegen/aws-models/marketplace-reporting.json +++ b/codegen/sdk-codegen/aws-models/marketplace-reporting.json @@ -37,27 +37,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediaconnect.json b/codegen/sdk-codegen/aws-models/mediaconnect.json index 5e46381ec68..71401dbe7fd 100644 --- a/codegen/sdk-codegen/aws-models/mediaconnect.json +++ b/codegen/sdk-codegen/aws-models/mediaconnect.json @@ -5940,27 +5940,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediaconvert.json b/codegen/sdk-codegen/aws-models/mediaconvert.json index c5fb1eedda0..f45b34eea9a 100644 --- a/codegen/sdk-codegen/aws-models/mediaconvert.json +++ b/codegen/sdk-codegen/aws-models/mediaconvert.json @@ -1017,6 +1017,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -1461,6 +1464,13 @@ "smithy.api#jsonName": "audioNormalizationSettings" } }, + "AudioPitchCorrectionSettings": { + "target": "com.amazonaws.mediaconvert#AudioPitchCorrectionSettings", + "traits": { + "smithy.api#documentation": "Settings for audio pitch correction during framerate conversion.", + "smithy.api#jsonName": "audioPitchCorrectionSettings" + } + }, "AudioSourceName": { "target": "com.amazonaws.mediaconvert#__stringMax2048", "traits": { @@ -1499,7 +1509,7 @@ "LanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Indicates the language of the audio output track. The ISO 639 language specified in the 'Language Code' drop down will be used when 'Follow Input Language Code' is not selected or when 'Follow Input Language Code' is selected but there is no ISO 639 language code specified by the input.", + "smithy.api#documentation": "Specify the language for your output audio track. To follow the input language: Leave blank. When you do, also set Language code control to Follow input. If no input language is detected MediaConvert will not write an output language code. To follow the input langauge, but fall back to a specified language code if there is no input language to follow: Enter an ISO 639-2 three-letter language code in all capital letters. When you do, also set Language code control to Follow input. To specify the language code: Enter an ISO 639 three-letter language code in all capital letters. When you do, also set Language code control to Use configured.", "smithy.api#jsonName": "languageCode" } }, @@ -1736,6 +1746,21 @@ "smithy.api#documentation": "Advanced audio normalization settings. Ignore these settings unless you need to comply with a loudness standard." } }, + "com.amazonaws.mediaconvert#AudioPitchCorrectionSettings": { + "type": "structure", + "members": { + "SlowPalPitchCorrection": { + "target": "com.amazonaws.mediaconvert#SlowPalPitchCorrection", + "traits": { + "smithy.api#documentation": "Use Slow PAL pitch correction to compensate for audio pitch changes during slow PAL frame rate conversion. This setting only applies when Slow PAL is enabled in your output video codec settings. To automatically apply audio pitch correction: Choose Enabled. MediaConvert automatically applies a pitch correction to your output to match the original content's audio pitch. To not apply audio pitch correction: Keep the default value, Disabled.", + "smithy.api#jsonName": "slowPalPitchCorrection" + } + } + }, + "traits": { + "smithy.api#documentation": "Settings for audio pitch correction during framerate conversion." + } + }, "com.amazonaws.mediaconvert#AudioProperties": { "type": "structure", "members": { @@ -1763,7 +1788,7 @@ "FrameRate": { "target": "com.amazonaws.mediaconvert#FrameRate", "traits": { - "smithy.api#documentation": "The frame rate of the video or audio track.", + "smithy.api#documentation": "The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values.", "smithy.api#jsonName": "frameRate" } }, @@ -1827,7 +1852,7 @@ "LanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php", + "smithy.api#documentation": "Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "languageCode" } }, @@ -1862,14 +1887,21 @@ "SelectorType": { "target": "com.amazonaws.mediaconvert#AudioSelectorType", "traits": { - "smithy.api#documentation": "Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. Language code: Select audio by language using ISO 639-2 or ISO 639-3 three-letter language codes. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers.", + "smithy.api#documentation": "Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. If more types of audio data get recognized in the future, these numberings may shift, but the numberings used for Stream mode will not. Language code: Select audio by language using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers. Stream: Select audio by stream number. Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these stream numbers, in this audio selector context, only the stream number of a track containing audio data may be used. If your source file contains a track which is not recognized by the service, then the corresponding stream number will still be reserved for future use. If more types of audio data get recognized in the future, these numberings will not shift.", "smithy.api#jsonName": "selectorType" } }, + "Streams": { + "target": "com.amazonaws.mediaconvert#__listOf__integerMin1Max2147483647", + "traits": { + "smithy.api#documentation": "Identify a track from the input audio to include in this selector by entering the stream index number. These numberings count all tracks in the input file, but only a track containing audio data may be used here. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For example, type \"1,2,3\" to include tracks 1 through 3.", + "smithy.api#jsonName": "streams" + } + }, "Tracks": { "target": "com.amazonaws.mediaconvert#__listOf__integerMin1Max2147483647", "traits": { - "smithy.api#documentation": "Identify a track from the input audio to include in this selector by entering the track index number. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For example, type \"1,2,3\" to include tracks 1 through 3.", + "smithy.api#documentation": "Identify a track from the input audio to include in this selector by entering the track index number. These numberings include only tracks recognized as audio. If the service recognizes more types of audio tracks in the future, these numberings may shift. To include several tracks in a single audio selector, specify multiple tracks as follows. Using the console, enter a comma-separated list. For example, type \"1,2,3\" to include tracks 1 through 3.", "smithy.api#jsonName": "tracks" } } @@ -1925,10 +1957,16 @@ "traits": { "smithy.api#enumValue": "ALL_PCM" } + }, + "STREAM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STREAM" + } } }, "traits": { - "smithy.api#documentation": "Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. Language code: Select audio by language using ISO 639-2 or ISO 639-3 three-letter language codes. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers." + "smithy.api#documentation": "Specify how MediaConvert selects audio content within your input. The default is Track. PID: Select audio by specifying the Packet Identifier (PID) values for MPEG Transport Stream inputs. Use this when you know the exact PID values of your audio streams. Track: Default. Select audio by track number. This is the most common option and works with most input container formats. If more types of audio data get recognized in the future, these numberings may shift, but the numberings used for Stream mode will not. Language code: Select audio by language using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. Use this when your source has embedded language metadata and you want to select tracks based on their language. HLS rendition group: Select audio from an HLS rendition group. Use this when your input is an HLS package with multiple audio renditions and you want to select specific rendition groups. All PCM: Select all uncompressed PCM audio tracks from your input automatically. This is useful when you want to include all PCM audio tracks without specifying individual track numbers. Stream: Select audio by stream number. Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these stream numbers, in this audio selector context, only the stream number of a track containing audio data may be used. If your source file contains a track which is not recognized by the service, then the corresponding stream number will still be reserved for future use. If more types of audio data get recognized in the future, these numberings will not shift." } }, "com.amazonaws.mediaconvert#AudioTypeControl": { @@ -2300,7 +2338,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -2569,7 +2607,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -3328,6 +3366,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -4118,7 +4159,7 @@ "DashManifestStyle": { "target": "com.amazonaws.mediaconvert#DashManifestStyle", "traits": { - "smithy.api#documentation": "Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct.", + "smithy.api#documentation": "Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline for outputs that you also specify a Name modifier for: Keep the default value, Basic. Note that if you do not specify a name modifier for an output, MediaConvert will not write a SegmentTimeline for it. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. To write a SegmentTimeline in each AdaptationSet: Choose Full.", "smithy.api#jsonName": "dashManifestStyle" } }, @@ -5094,6 +5135,12 @@ "smithy.api#enumValue": "MJPEG" } }, + "MPEG1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "MPEG1" + } + }, "MP4V": { "target": "smithy.api#Unit", "traits": { @@ -5118,6 +5165,12 @@ "smithy.api#enumValue": "THEORA" } }, + "VFW": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VFW" + } + }, "VP8": { "target": "smithy.api#Unit", "traits": { @@ -5130,6 +5183,12 @@ "smithy.api#enumValue": "VP9" } }, + "QTRLE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QTRLE" + } + }, "C608": { "target": "smithy.api#Unit", "traits": { @@ -5150,6 +5209,91 @@ } } }, + "com.amazonaws.mediaconvert#CodecMetadata": { + "type": "structure", + "members": { + "BitDepth": { + "target": "com.amazonaws.mediaconvert#__integer", + "traits": { + "smithy.api#documentation": "The number of bits used per color component in the video essence such as 8, 10, or 12 bits. Standard range (SDR) video typically uses 8-bit, while 10-bit is common for high dynamic range (HDR).", + "smithy.api#jsonName": "bitDepth" + } + }, + "ChromaSubsampling": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "The chroma subsampling format used in the video encoding, such as \"4:2:0\" or \"4:4:4\". This describes how color information is sampled relative to brightness information. Different subsampling ratios affect video quality and file size, with \"4:4:4\" providing the highest color fidelity and \"4:2:0\" being most common for standard video.", + "smithy.api#jsonName": "chromaSubsampling" + } + }, + "CodedFrameRate": { + "target": "com.amazonaws.mediaconvert#FrameRate", + "traits": { + "smithy.api#documentation": "The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values.", + "smithy.api#jsonName": "codedFrameRate" + } + }, + "ColorPrimaries": { + "target": "com.amazonaws.mediaconvert#ColorPrimaries", + "traits": { + "smithy.api#documentation": "The color space primaries of the video track, defining the red, green, and blue color coordinates used for the video. This information helps ensure accurate color reproduction during playback and transcoding.", + "smithy.api#jsonName": "colorPrimaries" + } + }, + "Height": { + "target": "com.amazonaws.mediaconvert#__integer", + "traits": { + "smithy.api#documentation": "The height in pixels as coded by the codec. This represents the actual encoded video height as specified in the video stream headers.", + "smithy.api#jsonName": "height" + } + }, + "Level": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "The codec level or tier that specifies the maximum processing requirements and capabilities. Levels define constraints such as maximum bit rate, frame rate, and resolution.", + "smithy.api#jsonName": "level" + } + }, + "MatrixCoefficients": { + "target": "com.amazonaws.mediaconvert#MatrixCoefficients", + "traits": { + "smithy.api#documentation": "The color space matrix coefficients of the video track, defining how RGB color values are converted to and from YUV color space. This affects color accuracy during encoding and decoding processes.", + "smithy.api#jsonName": "matrixCoefficients" + } + }, + "Profile": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "The codec profile used to encode the video. Profiles define specific feature sets and capabilities within a codec standard. For example, H.264 profiles include Baseline, Main, and High, each supporting different encoding features and complexity levels.", + "smithy.api#jsonName": "profile" + } + }, + "ScanType": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "The scanning method specified in the video essence, indicating whether the video uses progressive or interlaced scanning.", + "smithy.api#jsonName": "scanType" + } + }, + "TransferCharacteristics": { + "target": "com.amazonaws.mediaconvert#TransferCharacteristics", + "traits": { + "smithy.api#documentation": "The color space transfer characteristics of the video track, defining the relationship between linear light values and the encoded signal values. This affects brightness and contrast reproduction.", + "smithy.api#jsonName": "transferCharacteristics" + } + }, + "Width": { + "target": "com.amazonaws.mediaconvert#__integer", + "traits": { + "smithy.api#documentation": "The width in pixels as coded by the codec. This represents the actual encoded video width as specified in the video stream headers.", + "smithy.api#jsonName": "width" + } + } + }, + "traits": { + "smithy.api#documentation": "Codec-specific parameters parsed from the video essence headers. This information provides detailed technical specifications about how the video was encoded, including profile settings, resolution details, and color space information that can help you understand the source video characteristics and make informed encoding decisions." + } + }, "com.amazonaws.mediaconvert#ColorConversion3DLUTSetting": { "type": "structure", "members": { @@ -5399,7 +5543,7 @@ } }, "traits": { - "smithy.api#documentation": "The color space color primaries of the video track." + "smithy.api#documentation": "The color space primaries of the video track, defining the red, green, and blue color coordinates used for the video. This information helps ensure accurate color reproduction during playback and transcoding." } }, "com.amazonaws.mediaconvert#ColorSpace": { @@ -5800,6 +5944,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -5848,7 +5995,7 @@ "JobEngineVersion": { "target": "com.amazonaws.mediaconvert#__string", "traits": { - "smithy.api#documentation": "Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. To specify a Job engine version: Enter a date in a YYYY-MM-DD format. For a list of valid Job engine versions, submit a ListVersions request. To not specify a Job engine version: Leave blank.", + "smithy.api#documentation": "Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. Job engine versions represent periodically grouped MediaConvert releases with new features, updates, improvements, and fixes. Job engine versions are in a YYYY-MM-DD format. Note that the Job engine version feature is not publicly available at this time. To request access, contact AWS support.", "smithy.api#jsonName": "jobEngineVersion" } }, @@ -5963,6 +6110,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -6097,6 +6247,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -6196,6 +6349,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -6307,6 +6463,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -6451,7 +6610,7 @@ "DashManifestStyle": { "target": "com.amazonaws.mediaconvert#DashManifestStyle", "traits": { - "smithy.api#documentation": "Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct.", + "smithy.api#documentation": "Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline for outputs that you also specify a Name modifier for: Keep the default value, Basic. Note that if you do not specify a name modifier for an output, MediaConvert will not write a SegmentTimeline for it. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. To write a SegmentTimeline in each AdaptationSet: Choose Full.", "smithy.api#jsonName": "dashManifestStyle" } }, @@ -6887,10 +7046,16 @@ "traits": { "smithy.api#enumValue": "DISTINCT" } + }, + "FULL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FULL" + } } }, "traits": { - "smithy.api#documentation": "Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline in each video Representation: Keep the default value, Basic. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct." + "smithy.api#documentation": "Specify how MediaConvert writes SegmentTimeline in your output DASH manifest. To write a SegmentTimeline for outputs that you also specify a Name modifier for: Keep the default value, Basic. Note that if you do not specify a name modifier for an output, MediaConvert will not write a SegmentTimeline for it. To write a common SegmentTimeline in the video AdaptationSet: Choose Compact. Note that MediaConvert will still write a SegmentTimeline in any Representation that does not share a common timeline. To write a video AdaptationSet for each different output framerate, and a common SegmentTimeline in each AdaptationSet: Choose Distinct. To write a SegmentTimeline in each AdaptationSet: Choose Full." } }, "com.amazonaws.mediaconvert#DataProperties": { @@ -7071,6 +7236,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -7131,6 +7299,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -7182,6 +7353,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -7242,6 +7416,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -7302,6 +7479,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -7443,6 +7623,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -8315,7 +8498,7 @@ "LanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Specify the language to select from your audio input. In the MediaConvert console choose from a list of languages. In your JSON job settings choose from an ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php", + "smithy.api#documentation": "Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "languageCode" } }, @@ -9905,10 +10088,16 @@ "traits": { "smithy.api#enumValue": "QVBR" } + }, + "SHOT_CHANGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SHOT_CHANGE" + } } }, "traits": { - "smithy.api#documentation": "* PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode." + "smithy.api#documentation": "* PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes" } }, "com.amazonaws.mediaconvert#FrameRate": { @@ -9930,7 +10119,7 @@ } }, "traits": { - "smithy.api#documentation": "The frame rate of the video or audio track." + "smithy.api#documentation": "The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values." } }, "com.amazonaws.mediaconvert#GetJob": { @@ -9957,6 +10146,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -10025,6 +10217,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -10069,6 +10264,91 @@ "smithy.api#output": {} } }, + "com.amazonaws.mediaconvert#GetJobsQueryResults": { + "type": "operation", + "input": { + "target": "com.amazonaws.mediaconvert#GetJobsQueryResultsRequest" + }, + "output": { + "target": "com.amazonaws.mediaconvert#GetJobsQueryResultsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mediaconvert#BadRequestException" + }, + { + "target": "com.amazonaws.mediaconvert#ConflictException" + }, + { + "target": "com.amazonaws.mediaconvert#ForbiddenException" + }, + { + "target": "com.amazonaws.mediaconvert#InternalServerErrorException" + }, + { + "target": "com.amazonaws.mediaconvert#NotFoundException" + }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mediaconvert#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Retrieve a JSON array of up to twenty of your most recent jobs matched by a jobs query.", + "smithy.api#http": { + "method": "GET", + "uri": "/2017-08-29/jobsQueries/{Id}", + "code": 200 + } + } + }, + "com.amazonaws.mediaconvert#GetJobsQueryResultsRequest": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "The ID of the jobs query.", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mediaconvert#GetJobsQueryResultsResponse": { + "type": "structure", + "members": { + "Jobs": { + "target": "com.amazonaws.mediaconvert#__listOfJob", + "traits": { + "smithy.api#documentation": "List of jobs.", + "smithy.api#jsonName": "jobs" + } + }, + "NextToken": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "Use this string to request the next batch of jobs via the StartJobsQuery API.", + "smithy.api#jsonName": "nextToken" + } + }, + "Status": { + "target": "com.amazonaws.mediaconvert#JobsQueryStatus", + "traits": { + "smithy.api#documentation": "The status of the jobs query.", + "smithy.api#jsonName": "status" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mediaconvert#GetPolicy": { "type": "operation", "input": { @@ -10093,6 +10373,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -10152,6 +10435,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -10220,6 +10506,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -11182,7 +11471,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -12265,7 +12554,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -12806,14 +13095,14 @@ "CustomLanguageCode": { "target": "com.amazonaws.mediaconvert#__stringMin3Max3PatternAZaZ3", "traits": { - "smithy.api#documentation": "Specify the language for this captions channel, using the ISO 639-2 or ISO 639-3 three-letter language code", + "smithy.api#documentation": "Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "customLanguageCode" } }, "LanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php.", + "smithy.api#documentation": "Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "languageCode" } }, @@ -13565,7 +13854,7 @@ "RenditionLanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Optional. Specify ISO 639-2 or ISO 639-3 code in the language property", + "smithy.api#documentation": "Optionally specify the language, using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "renditionLanguageCode" } }, @@ -13840,7 +14129,7 @@ } }, "traits": { - "smithy.api#documentation": "If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: ." + "smithy.api#documentation": "If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: ." } }, "com.amazonaws.mediaconvert#ImscDestinationSettings": { @@ -13849,7 +14138,7 @@ "Accessibility": { "target": "com.amazonaws.mediaconvert#ImscAccessibilitySubs", "traits": { - "smithy.api#documentation": "If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: .", + "smithy.api#documentation": "If the IMSC captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: .", "smithy.api#jsonName": "accessibility" } }, @@ -14585,12 +14874,26 @@ "smithy.api#jsonName": "framerateNumerator" } }, + "Height": { + "target": "com.amazonaws.mediaconvert#__integerMin32Max8192", + "traits": { + "smithy.api#documentation": "Specify the height, in pixels, for your video generator input. This is useful for positioning when you include one or more video overlays for this input. To use the default resolution 540x360: Leave both width and height blank. To specify a height: Enter an even integer from 32 to 8192. When you do, you must also specify a value for width.", + "smithy.api#jsonName": "height" + } + }, "SampleRate": { "target": "com.amazonaws.mediaconvert#__integerMin32000Max48000", "traits": { "smithy.api#documentation": "Specify the audio sample rate, in Hz, for the silent audio in your video generator input.\nEnter an integer from 32000 to 48000.", "smithy.api#jsonName": "sampleRate" } + }, + "Width": { + "target": "com.amazonaws.mediaconvert#__integerMin32Max8192", + "traits": { + "smithy.api#documentation": "Specify the width, in pixels, for your video generator input. This is useful for positioning when you include one or more video overlays for this input. To use the default resolution 540x360: Leave both width and height blank. To specify a width: Enter an even integer from 32 to 8192. When you do, you must also specify a value for height.", + "smithy.api#jsonName": "width" + } } }, "traits": { @@ -14940,7 +15243,7 @@ "Version": { "target": "com.amazonaws.mediaconvert#__string", "traits": { - "smithy.api#documentation": "Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. Job engine versions are in a YYYY-MM-DD format.", + "smithy.api#documentation": "Use Job engine versions to run jobs for your production workflow on one version, while you test and validate the latest version. Job engine versions represent periodically grouped MediaConvert releases with new features, updates, improvements, and fixes. Job engine versions are in a YYYY-MM-DD format. Note that the Job engine version feature is not publicly available at this time. To request access, contact AWS support.", "smithy.api#jsonName": "version" } } @@ -15376,6 +15679,110 @@ "smithy.api#documentation": "JobTemplateSettings contains all the transcode settings saved in the template that will be applied to jobs created from it." } }, + "com.amazonaws.mediaconvert#JobsQueryFilter": { + "type": "structure", + "members": { + "Key": { + "target": "com.amazonaws.mediaconvert#JobsQueryFilterKey", + "traits": { + "smithy.api#documentation": "Specify job details to filter for while performing a jobs query. You specify these filters as part of a key-value pair within the JobsQueryFilter array. The following list describes which keys are available and their possible values: * queue - Your Queue's name or ARN. * status - Your job's status. (SUBMITTED | PROGRESSING | COMPLETE | CANCELED | ERROR) * fileInput - Your input file URL, or partial input file name. * jobEngineVersionRequested - The Job engine version that you requested for your job. Valid versions are in a YYYY-MM-DD format. * jobEngineVersionUsed - The Job engine version that your job used. This may differ from the version that you requested. Valid versions are in a YYYY-MM-DD format. * audioCodec - Your output's audio codec. (AAC | MP2 | MP3 | WAV | AIFF | AC3| EAC3 | EAC3_ATMOS | VORBIS | OPUS | PASSTHROUGH | FLAC) * videoCodec - Your output's video codec. (AV1 | AVC_INTRA | FRAME_CAPTURE | H_264 | H_265 | MPEG2 | PASSTHROUGH | PRORES | UNCOMPRESSED | VC3 | VP8 | VP9 | XAVC)", + "smithy.api#jsonName": "key" + } + }, + "Values": { + "target": "com.amazonaws.mediaconvert#__listOf__stringMax100", + "traits": { + "smithy.api#documentation": "A list of values associated with a JobsQueryFilterKey.", + "smithy.api#jsonName": "values" + } + } + }, + "traits": { + "smithy.api#documentation": "Provide one or more JobsQueryFilter objects, each containing a Key with an associated Values array. Note that MediaConvert queries jobs using OR logic." + } + }, + "com.amazonaws.mediaconvert#JobsQueryFilterKey": { + "type": "enum", + "members": { + "queue": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "queue" + } + }, + "status": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "status" + } + }, + "fileInput": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "fileInput" + } + }, + "jobEngineVersionRequested": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "jobEngineVersionRequested" + } + }, + "jobEngineVersionUsed": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "jobEngineVersionUsed" + } + }, + "audioCodec": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "audioCodec" + } + }, + "videoCodec": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "videoCodec" + } + } + }, + "traits": { + "smithy.api#documentation": "Specify job details to filter for while performing a jobs query. You specify these filters as part of a key-value pair within the JobsQueryFilter array. The following list describes which keys are available and their possible values: * queue - Your Queue's name or ARN. * status - Your job's status. (SUBMITTED | PROGRESSING | COMPLETE | CANCELED | ERROR) * fileInput - Your input file URL, or partial input file name. * jobEngineVersionRequested - The Job engine version that you requested for your job. Valid versions are in a YYYY-MM-DD format. * jobEngineVersionUsed - The Job engine version that your job used. This may differ from the version that you requested. Valid versions are in a YYYY-MM-DD format. * audioCodec - Your output's audio codec. (AAC | MP2 | MP3 | WAV | AIFF | AC3| EAC3 | EAC3_ATMOS | VORBIS | OPUS | PASSTHROUGH | FLAC) * videoCodec - Your output's video codec. (AV1 | AVC_INTRA | FRAME_CAPTURE | H_264 | H_265 | MPEG2 | PASSTHROUGH | PRORES | UNCOMPRESSED | VC3 | VP8 | VP9 | XAVC)" + } + }, + "com.amazonaws.mediaconvert#JobsQueryStatus": { + "type": "enum", + "members": { + "SUBMITTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SUBMITTED" + } + }, + "PROGRESSING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROGRESSING" + } + }, + "COMPLETE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPLETE" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + } + }, + "traits": { + "smithy.api#documentation": "A job query's status can be SUBMITTED, PROGRESSING, COMPLETE, or ERROR." + } + }, "com.amazonaws.mediaconvert#KantarWatermarkSettings": { "type": "structure", "members": { @@ -16632,7 +17039,7 @@ } }, "traits": { - "smithy.api#documentation": "Specify the language, using the ISO 639-2 three-letter code listed at https://www.loc.gov/standards/iso639-2/php/code_list.php." + "smithy.api#documentation": "Specify the language, using an ISO 639-2 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php" } }, "com.amazonaws.mediaconvert#ListJobTemplates": { @@ -16659,6 +17066,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -16767,6 +17177,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -16875,6 +17288,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -16983,6 +17399,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -17098,6 +17517,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -17166,6 +17588,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -18272,7 +18697,7 @@ } }, "traits": { - "smithy.api#documentation": "The color space matrix coefficients of the video track." + "smithy.api#documentation": "The color space matrix coefficients of the video track, defining how RGB color values are converted to and from YUV color space. This affects color accuracy during encoding and decoding processes." } }, "com.amazonaws.mediaconvert#MediaConvert": { @@ -18321,6 +18746,9 @@ { "target": "com.amazonaws.mediaconvert#GetJob" }, + { + "target": "com.amazonaws.mediaconvert#GetJobsQueryResults" + }, { "target": "com.amazonaws.mediaconvert#GetJobTemplate" }, @@ -18360,6 +18788,9 @@ { "target": "com.amazonaws.mediaconvert#SearchJobs" }, + { + "target": "com.amazonaws.mediaconvert#StartJobsQuery" + }, { "target": "com.amazonaws.mediaconvert#TagResource" }, @@ -18400,27 +18831,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -19993,7 +20424,7 @@ } }, "traits": { - "smithy.api#documentation": "Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files." + "smithy.api#documentation": "Use this setting only in DASH output groups that include sidecar TTML, IMSC or WEBVTT captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files." } }, "com.amazonaws.mediaconvert#MpdKlvMetadata": { @@ -20096,7 +20527,7 @@ "CaptionContainerType": { "target": "com.amazonaws.mediaconvert#MpdCaptionContainerType", "traits": { - "smithy.api#documentation": "Use this setting only in DASH output groups that include sidecar TTML or IMSC captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files.", + "smithy.api#documentation": "Use this setting only in DASH output groups that include sidecar TTML, IMSC or WEBVTT captions. You specify sidecar captions in a separate output from your audio and video. Choose Raw for captions in a single XML file in a raw container. Choose Fragmented MPEG-4 for captions in XML format contained within fragmented MP4 files. This set of fragmented MP4 files is separate from your video and audio fragmented MP4 files.", "smithy.api#jsonName": "captionContainerType" } }, @@ -20726,7 +21157,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -21913,7 +22344,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -22049,6 +22480,21 @@ "smithy.api#documentation": "If you work with a third party video watermarking partner, use the group of settings that correspond with your watermarking partner to include watermarks in your output." } }, + "com.amazonaws.mediaconvert#PassthroughSettings": { + "type": "structure", + "members": { + "VideoSelectorMode": { + "target": "com.amazonaws.mediaconvert#VideoSelectorMode", + "traits": { + "smithy.api#documentation": "AUTO will select the highest bitrate input in the video selector source. REMUX_ALL will passthrough all the selected streams in the video selector source. When selecting streams from multiple renditions (i.e. using Stream video selector type): REMUX_ALL will only remux all streams selected, and AUTO will use the highest bitrate video stream among the selected streams as source.", + "smithy.api#jsonName": "videoSelectorMode" + } + } + }, + "traits": { + "smithy.api#documentation": "Optional settings when you set Codec to the value Passthrough." + } + }, "com.amazonaws.mediaconvert#Policy": { "type": "structure", "members": { @@ -22358,6 +22804,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -22715,7 +23164,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -22809,6 +23258,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -23664,6 +24116,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -23791,6 +24246,22 @@ "smithy.api#documentation": "A service override applied by MediaConvert to the settings that you have configured. If you see any overrides, we recommend that you contact AWS Support." } }, + "com.amazonaws.mediaconvert#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#jsonName": "message" + } + } + }, + "traits": { + "smithy.api#documentation": "You attempted to create more resources than the service allows based on service quotas.", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, "com.amazonaws.mediaconvert#ShareStatus": { "type": "enum", "members": { @@ -23834,6 +24305,26 @@ "smithy.api#documentation": "Enable this setting when you run a test job to estimate how many reserved transcoding slots (RTS) you need. When this is enabled, MediaConvert runs your job from an on-demand queue with similar performance to what you will see with one RTS in a reserved queue. This setting is disabled by default." } }, + "com.amazonaws.mediaconvert#SlowPalPitchCorrection": { + "type": "enum", + "members": { + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DISABLED" + } + }, + "ENABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ENABLED" + } + } + }, + "traits": { + "smithy.api#documentation": "Use Slow PAL pitch correction to compensate for audio pitch changes during slow PAL frame rate conversion. This setting only applies when Slow PAL is enabled in your output video codec settings. To automatically apply audio pitch correction: Choose Enabled. MediaConvert automatically applies a pitch correction to your output to match the original content's audio pitch. To not apply audio pitch correction: Keep the default value, Disabled." + } + }, "com.amazonaws.mediaconvert#SpekeKeyProvider": { "type": "structure", "members": { @@ -23962,6 +24453,97 @@ "smithy.api#documentation": "Set Style passthrough to ENABLED to use the available style, color, and position information from your input captions. MediaConvert uses default settings for any missing style and position information in your input captions. Set Style passthrough to DISABLED, or leave blank, to ignore the style and position information from your input captions and use simplified output captions." } }, + "com.amazonaws.mediaconvert#StartJobsQuery": { + "type": "operation", + "input": { + "target": "com.amazonaws.mediaconvert#StartJobsQueryRequest" + }, + "output": { + "target": "com.amazonaws.mediaconvert#StartJobsQueryResponse" + }, + "errors": [ + { + "target": "com.amazonaws.mediaconvert#BadRequestException" + }, + { + "target": "com.amazonaws.mediaconvert#ConflictException" + }, + { + "target": "com.amazonaws.mediaconvert#ForbiddenException" + }, + { + "target": "com.amazonaws.mediaconvert#InternalServerErrorException" + }, + { + "target": "com.amazonaws.mediaconvert#NotFoundException" + }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.mediaconvert#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "Start an asynchronous jobs query using the provided filters. To receive the list of jobs that match your query, call the GetJobsQueryResults API using the query ID returned by this API.", + "smithy.api#http": { + "method": "POST", + "uri": "/2017-08-29/jobsQueries", + "code": 201 + } + } + }, + "com.amazonaws.mediaconvert#StartJobsQueryRequest": { + "type": "structure", + "members": { + "FilterList": { + "target": "com.amazonaws.mediaconvert#__listOfJobsQueryFilter", + "traits": { + "smithy.api#documentation": "Optional. Provide an array of JobsQueryFilters for your StartJobsQuery request.", + "smithy.api#jsonName": "filterList" + } + }, + "MaxResults": { + "target": "com.amazonaws.mediaconvert#__integerMin1Max20", + "traits": { + "smithy.api#documentation": "Optional. Number of jobs, up to twenty, that will be included in the jobs query.", + "smithy.api#jsonName": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "Use this string to request the next batch of jobs matched by a jobs query.", + "smithy.api#jsonName": "nextToken" + } + }, + "Order": { + "target": "com.amazonaws.mediaconvert#Order", + "traits": { + "smithy.api#documentation": "Optional. When you request lists of resources, you can specify whether they are sorted in ASCENDING or DESCENDING order. Default varies by resource.", + "smithy.api#jsonName": "order" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.mediaconvert#StartJobsQueryResponse": { + "type": "structure", + "members": { + "Id": { + "target": "com.amazonaws.mediaconvert#__string", + "traits": { + "smithy.api#documentation": "The ID of the jobs query.", + "smithy.api#jsonName": "id" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.mediaconvert#StaticKeyProvider": { "type": "structure", "members": { @@ -24120,6 +24702,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -24609,10 +25194,17 @@ "com.amazonaws.mediaconvert#TrackSourceSettings": { "type": "structure", "members": { + "StreamNumber": { + "target": "com.amazonaws.mediaconvert#__integerMin1Max2147483647", + "traits": { + "smithy.api#documentation": "Use this setting to select a single captions track from a source. Stream numbers include all tracks in the source file, regardless of type, and correspond to either the order of tracks in the file, or if applicable, the stream number metadata of the track. Although all tracks count toward these stream numbers, in this caption selector context, only the stream number of a track containing caption data may be used. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one stream per selector. If your source file contains a track which is not recognized by the service, then the corresponding stream number will still be reserved for future use. If more types of caption data get recognized in the future, these numberings will not shift.", + "smithy.api#jsonName": "streamNumber" + } + }, "TrackNumber": { "target": "com.amazonaws.mediaconvert#__integerMin1Max2147483647", "traits": { - "smithy.api#documentation": "Use this setting to select a single captions track from a source. Track numbers correspond to the order in the captions source file. For IMF sources, track numbering is based on the order that the captions appear in the CPL. For example, use 1 to select the captions asset that is listed first in the CPL. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one track per selector.", + "smithy.api#documentation": "Use this setting to select a single captions track from a source. Track numbers correspond to the order in the captions source file. For IMF sources, track numbering is based on the order that the captions appear in the CPL. For example, use 1 to select the captions asset that is listed first in the CPL. To include more than one captions track in your job outputs, create multiple input captions selectors. Specify one track per selector. If more types of caption data get recognized in the future, these numberings may shift, but the numberings used for streamNumber will not.", "smithy.api#jsonName": "trackNumber" } } @@ -24763,7 +25355,7 @@ } }, "traits": { - "smithy.api#documentation": "The color space transfer characteristics of the video track." + "smithy.api#documentation": "The color space transfer characteristics of the video track, defining the relationship between linear light values and the encoded signal values. This affects brightness and contrast reproduction." } }, "com.amazonaws.mediaconvert#TsPtsOffset": { @@ -25097,6 +25689,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -25164,6 +25759,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -25288,6 +25886,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -25377,6 +25978,9 @@ { "target": "com.amazonaws.mediaconvert#NotFoundException" }, + { + "target": "com.amazonaws.mediaconvert#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.mediaconvert#TooManyRequestsException" } @@ -25849,6 +26453,13 @@ "smithy.api#jsonName": "mpeg2Settings" } }, + "PassthroughSettings": { + "target": "com.amazonaws.mediaconvert#PassthroughSettings", + "traits": { + "smithy.api#documentation": "Optional settings when you set Codec to the value Passthrough.", + "smithy.api#jsonName": "passthroughSettings" + } + }, "ProresSettings": { "target": "com.amazonaws.mediaconvert#ProresSettings", "traits": { @@ -26233,6 +26844,13 @@ "smithy.api#jsonName": "height" } }, + "Opacity": { + "target": "com.amazonaws.mediaconvert#__integerMin0Max100", + "traits": { + "smithy.api#documentation": "Use Opacity to specify how much of the underlying video shows through the overlay video. 0 is transparent and 100 is fully opaque. Default is 100.", + "smithy.api#jsonName": "opacity" + } + }, "Unit": { "target": "com.amazonaws.mediaconvert#VideoOverlayUnit", "traits": { @@ -26292,7 +26910,7 @@ } }, "traits": { - "smithy.api#documentation": "Specify one or more Transitions for your video overlay. Use Transitions to reposition or resize your overlay over time. To use the same position and size for the duration of your video overlay: Leave blank. To specify a Transition: Enter a value for Start timecode, End Timecode, X Position, Y Position, Width, or Height." + "smithy.api#documentation": "Specify one or more Transitions for your video overlay. Use Transitions to reposition or resize your overlay over time. To use the same position and size for the duration of your video overlay: Leave blank. To specify a Transition: Enter a value for Start timecode, End Timecode, X Position, Y Position, Width, Height, or Opacity" } }, "com.amazonaws.mediaconvert#VideoOverlayUnit": { @@ -26385,7 +27003,7 @@ "BitDepth": { "target": "com.amazonaws.mediaconvert#__integer", "traits": { - "smithy.api#documentation": "The bit depth of the video track.", + "smithy.api#documentation": "The number of bits used per color component such as 8, 10, or 12 bits. Standard range (SDR) video typically uses 8-bit, while 10-bit is common for high dynamic range (HDR).", "smithy.api#jsonName": "bitDepth" } }, @@ -26396,17 +27014,24 @@ "smithy.api#jsonName": "bitRate" } }, + "CodecMetadata": { + "target": "com.amazonaws.mediaconvert#CodecMetadata", + "traits": { + "smithy.api#documentation": "Codec-specific parameters parsed from the video essence headers. This information provides detailed technical specifications about how the video was encoded, including profile settings, resolution details, and color space information that can help you understand the source video characteristics and make informed encoding decisions.", + "smithy.api#jsonName": "codecMetadata" + } + }, "ColorPrimaries": { "target": "com.amazonaws.mediaconvert#ColorPrimaries", "traits": { - "smithy.api#documentation": "The color space color primaries of the video track.", + "smithy.api#documentation": "The color space primaries of the video track, defining the red, green, and blue color coordinates used for the video. This information helps ensure accurate color reproduction during playback and transcoding.", "smithy.api#jsonName": "colorPrimaries" } }, "FrameRate": { "target": "com.amazonaws.mediaconvert#FrameRate", "traits": { - "smithy.api#documentation": "The frame rate of the video or audio track.", + "smithy.api#documentation": "The frame rate of the video or audio track, expressed as a fraction with numerator and denominator values.", "smithy.api#jsonName": "frameRate" } }, @@ -26420,14 +27045,14 @@ "MatrixCoefficients": { "target": "com.amazonaws.mediaconvert#MatrixCoefficients", "traits": { - "smithy.api#documentation": "The color space matrix coefficients of the video track.", + "smithy.api#documentation": "The color space matrix coefficients of the video track, defining how RGB color values are converted to and from YUV color space. This affects color accuracy during encoding and decoding processes.", "smithy.api#jsonName": "matrixCoefficients" } }, "TransferCharacteristics": { "target": "com.amazonaws.mediaconvert#TransferCharacteristics", "traits": { - "smithy.api#documentation": "The color space transfer characteristics of the video track.", + "smithy.api#documentation": "The color space transfer characteristics of the video track, defining the relationship between linear light values and the encoded signal values. This affects brightness and contrast reproduction.", "smithy.api#jsonName": "transferCharacteristics" } }, @@ -26533,7 +27158,7 @@ "Streams": { "target": "com.amazonaws.mediaconvert#__listOf__integerMin1Max2147483647", "traits": { - "smithy.api#documentation": "Specify a stream for MediaConvert to use from your HLS input. Enter an integer corresponding to the stream order in your HLS manifest.", + "smithy.api#documentation": "Specify one or more video streams for MediaConvert to use from your HLS input. Enter an integer corresponding to the stream number, with the first stream in your HLS multivariant playlist starting at 1.For re-encoding workflows, MediaConvert uses the video stream that you select with the highest bitrate as the input.For video passthrough workflows, you specify whether to passthrough a single video stream or multiple video streams under Video selector source in the output video encoding settings.", "smithy.api#jsonName": "streams" } } @@ -26542,6 +27167,26 @@ "smithy.api#documentation": "Input video selectors contain the video settings for the input. Each of your inputs can have up to one video selector." } }, + "com.amazonaws.mediaconvert#VideoSelectorMode": { + "type": "enum", + "members": { + "AUTO": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "AUTO" + } + }, + "REMUX_ALL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REMUX_ALL" + } + } + }, + "traits": { + "smithy.api#documentation": "AUTO will select the highest bitrate input in the video selector source. REMUX_ALL will passthrough all the selected streams in the video selector source. When selecting streams from multiple renditions (i.e. using Stream video selector type): REMUX_ALL will only remux all streams selected, and AUTO will use the highest bitrate video stream among the selected streams as source." + } + }, "com.amazonaws.mediaconvert#VideoSelectorType": { "type": "enum", "members": { @@ -27164,7 +27809,7 @@ } }, "traits": { - "smithy.api#documentation": "If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: ." + "smithy.api#documentation": "If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: ." } }, "com.amazonaws.mediaconvert#WebvttDestinationSettings": { @@ -27173,7 +27818,7 @@ "Accessibility": { "target": "com.amazonaws.mediaconvert#WebvttAccessibilitySubs", "traits": { - "smithy.api#documentation": "If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.describes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: .", + "smithy.api#documentation": "If the WebVTT captions track is intended to provide accessibility for people who are deaf or hard of hearing: Set Accessibility subtitles to Enabled. When you do, MediaConvert adds accessibility attributes to your output HLS or DASH manifest. For HLS manifests, MediaConvert adds the following accessibility attributes under EXT-X-MEDIA for this track: CHARACTERISTICS=\"public.accessibility.transcribes-spoken-dialog,public.accessibility.describes-music-and-sound\" and AUTOSELECT=\"YES\". For DASH manifests, MediaConvert adds the following in the adaptation set for this track: . If the captions track is not intended to provide such accessibility: Keep the default value, Disabled. When you do, for DASH manifests, MediaConvert instead adds the following in the adaptation set for this track: .", "smithy.api#jsonName": "accessibility" } }, @@ -27202,7 +27847,7 @@ "RenditionLanguageCode": { "target": "com.amazonaws.mediaconvert#LanguageCode", "traits": { - "smithy.api#documentation": "Optional. Specify ISO 639-2 or ISO 639-3 code in the language property", + "smithy.api#documentation": "Optionally specify the language, using an ISO 639-2 or ISO 639-3 three-letter code in all capital letters. You can find a list of codes at: https://www.loc.gov/standards/iso639-2/php/code_list.php", "smithy.api#jsonName": "renditionLanguageCode" } }, @@ -27944,7 +28589,7 @@ "PerFrameMetrics": { "target": "com.amazonaws.mediaconvert#__listOfFrameMetricType", "traits": { - "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode.", + "smithy.api#documentation": "Optionally choose one or more per frame metric reports to generate along with your output. You can use these metrics to analyze your video output according to one or more commonly used image quality metrics. You can specify per frame metrics for output groups or for individual outputs. When you do, MediaConvert writes a CSV (Comma-Separated Values) file to your S3 output destination, named after the output name and metric type. For example: videofile_PSNR.csv Jobs that generate per frame metrics will take longer to complete, depending on the resolution and complexity of your output. For example, some 4K jobs might take up to twice as long to complete. Note that when analyzing the video quality of your output, or when comparing the video quality of multiple different outputs, we generally also recommend a detailed visual review in a controlled environment. You can choose from the following per frame metrics: * PSNR: Peak Signal-to-Noise Ratio * SSIM: Structural Similarity Index Measure * MS_SSIM: Multi-Scale Similarity Index Measure * PSNR_HVS: Peak Signal-to-Noise Ratio, Human Visual System * VMAF: Video Multi-Method Assessment Fusion * QVBR: Quality-Defined Variable Bitrate. This option is only available when your output uses the QVBR rate control mode. * SHOT_CHANGE: Shot Changes", "smithy.api#jsonName": "perFrameMetrics" } }, @@ -29208,6 +29853,12 @@ "target": "com.amazonaws.mediaconvert#JobTemplate" } }, + "com.amazonaws.mediaconvert#__listOfJobsQueryFilter": { + "type": "list", + "member": { + "target": "com.amazonaws.mediaconvert#JobsQueryFilter" + } + }, "com.amazonaws.mediaconvert#__listOfMsSmoothAdditionalManifest": { "type": "list", "member": { @@ -29358,6 +30009,12 @@ "target": "com.amazonaws.mediaconvert#__string" } }, + "com.amazonaws.mediaconvert#__listOf__stringMax100": { + "type": "list", + "member": { + "target": "com.amazonaws.mediaconvert#__stringMax100" + } + }, "com.amazonaws.mediaconvert#__listOf__stringMin1": { "type": "list", "member": { @@ -29433,6 +30090,15 @@ "com.amazonaws.mediaconvert#__string": { "type": "string" }, + "com.amazonaws.mediaconvert#__stringMax100": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 100 + } + } + }, "com.amazonaws.mediaconvert#__stringMax1000": { "type": "string", "traits": { @@ -29776,7 +30442,7 @@ "com.amazonaws.mediaconvert#__stringPatternArnAwsUsGovAcm": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws(-us-gov)?:acm:$" + "smithy.api#pattern": "^arn:aws(-us-gov)?:acm:.*$" } }, "com.amazonaws.mediaconvert#__stringPatternArnAwsUsGovCnKmsAZ26EastWestCentralNorthSouthEastWest1912D12KeyAFAF098AFAF094AFAF094AFAF094AFAF0912MrkAFAF0932": { @@ -29794,7 +30460,7 @@ "com.amazonaws.mediaconvert#__stringPatternHttps": { "type": "string", "traits": { - "smithy.api#pattern": "^https:\\/\\/$" + "smithy.api#pattern": "^https:\\/\\/.*$" } }, "com.amazonaws.mediaconvert#__stringPatternHttpsD": { @@ -29818,7 +30484,7 @@ "com.amazonaws.mediaconvert#__stringPatternS3": { "type": "string", "traits": { - "smithy.api#pattern": "^s3:\\/\\/$" + "smithy.api#pattern": "^s3:\\/\\/.*$" } }, "com.amazonaws.mediaconvert#__stringPatternS3ASSETMAPXml": { diff --git a/codegen/sdk-codegen/aws-models/medialive.json b/codegen/sdk-codegen/aws-models/medialive.json index 2729f028e80..3de30e78ef3 100644 --- a/codegen/sdk-codegen/aws-models/medialive.json +++ b/codegen/sdk-codegen/aws-models/medialive.json @@ -3659,6 +3659,83 @@ "smithy.api#documentation": "Placeholder documentation for Channel" } }, + "com.amazonaws.medialive#ChannelAlert": { + "type": "structure", + "members": { + "AlertType": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The type of the alert", + "smithy.api#jsonName": "alertType" + } + }, + "ClearedTimestamp": { + "target": "com.amazonaws.medialive#__timestampIso8601", + "traits": { + "smithy.api#documentation": "The time when the alert was cleared", + "smithy.api#jsonName": "clearedTimestamp" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID for this alert instance", + "smithy.api#jsonName": "id" + } + }, + "Message": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The user facing alert message which can have more context", + "smithy.api#jsonName": "message" + } + }, + "PipelineId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the pipeline this alert is associated with", + "smithy.api#jsonName": "pipelineId" + } + }, + "SetTimestamp": { + "target": "com.amazonaws.medialive#__timestampIso8601", + "traits": { + "smithy.api#documentation": "The time when the alert was set", + "smithy.api#jsonName": "setTimestamp" + } + }, + "State": { + "target": "com.amazonaws.medialive#ChannelAlertState", + "traits": { + "smithy.api#documentation": "The state of the alert", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "An alert on a channel" + } + }, + "com.amazonaws.medialive#ChannelAlertState": { + "type": "enum", + "members": { + "SET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SET" + } + }, + "CLEARED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLEARED" + } + } + }, + "traits": { + "smithy.api#documentation": "The possible states of a channel alert. SET - The alert is actively happening. CLEARED - The alert is no longer happening." + } + }, "com.amazonaws.medialive#ChannelClass": { "type": "enum", "members": { @@ -4463,6 +4540,90 @@ "smithy.api#documentation": "Specifies how missing data points are treated when evaluating the alarm's condition." } }, + "com.amazonaws.medialive#ClusterAlert": { + "type": "structure", + "members": { + "AlertType": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The type of the alert", + "smithy.api#jsonName": "alertType" + } + }, + "ChannelId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the channel this alert is associated with", + "smithy.api#jsonName": "channelId" + } + }, + "ClearedTimestamp": { + "target": "com.amazonaws.medialive#__timestampIso8601", + "traits": { + "smithy.api#documentation": "The time when the alert was cleared", + "smithy.api#jsonName": "clearedTimestamp" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The further subtype of this alert", + "smithy.api#jsonName": "id" + } + }, + "Message": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The user facing alert message which can have more context", + "smithy.api#jsonName": "message" + } + }, + "NodeId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the node this alert is associated with", + "smithy.api#jsonName": "nodeId" + } + }, + "SetTimestamp": { + "target": "com.amazonaws.medialive#__timestampIso8601", + "traits": { + "smithy.api#documentation": "The time when the alert was set", + "smithy.api#jsonName": "setTimestamp" + } + }, + "State": { + "target": "com.amazonaws.medialive#ClusterAlertState", + "traits": { + "smithy.api#documentation": "The state of the alert", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "An alert on a cluster" + } + }, + "com.amazonaws.medialive#ClusterAlertState": { + "type": "enum", + "members": { + "SET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SET" + } + }, + "CLEARED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLEARED" + } + } + }, + "traits": { + "smithy.api#documentation": "The possible states of a cluster alert. SET - The alert is actively happening. CLEARED - The alert is no longer happening." + } + }, "com.amazonaws.medialive#ClusterNetworkSettings": { "type": "structure", "members": { @@ -21871,6 +22032,113 @@ "smithy.api#documentation": "If you specify a StopTimecode in an input (in order to clip the file), you can specify if you want the clip to exclude (the default) or include the frame specified by the timecode." } }, + "com.amazonaws.medialive#ListAlerts": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListAlertsRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListAlertsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "List the alerts for a channel with optional filtering based on alert state.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/channels/{ChannelId}/alerts", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Alerts", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListAlertsRequest": { + "type": "structure", + "members": { + "ChannelId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the channel", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#documentation": "The maximum number of items to return", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The next pagination token", + "smithy.api#httpQuery": "nextToken" + } + }, + "StateFilter": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specifies the set of alerts to return based on their state. SET - Return only alerts with SET state. CLEARED - Return only alerts with CLEARED state. ALL - Return all alerts.", + "smithy.api#httpQuery": "stateFilter" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListAlertsRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListAlertsResponse": { + "type": "structure", + "members": { + "Alerts": { + "target": "com.amazonaws.medialive#__listOfChannelAlert", + "traits": { + "smithy.api#documentation": "The alerts found for this channel", + "smithy.api#jsonName": "alerts" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The token to use to retrieve the next page of results", + "smithy.api#jsonName": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListAlertsResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#ListChannelPlacementGroups": { "type": "operation", "input": { @@ -22256,6 +22524,113 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#ListClusterAlerts": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListClusterAlertsRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListClusterAlertsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "List the alerts for a cluster with optional filtering based on alert state.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/clusters/{ClusterId}/alerts", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Alerts", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListClusterAlertsRequest": { + "type": "structure", + "members": { + "ClusterId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the cluster", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#documentation": "The maximum number of items to return", + "smithy.api#httpQuery": "maxResults" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The next pagination token", + "smithy.api#httpQuery": "nextToken" + } + }, + "StateFilter": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specifies the set of alerts to return based on their state. SET - Return only alerts with SET state. CLEARED - Return only alerts with CLEARED state. ALL - Return all alerts.", + "smithy.api#httpQuery": "stateFilter" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListClusterAlertsRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListClusterAlertsResponse": { + "type": "structure", + "members": { + "Alerts": { + "target": "com.amazonaws.medialive#__listOfClusterAlert", + "traits": { + "smithy.api#documentation": "The alerts found for this cluster", + "smithy.api#jsonName": "alerts" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The token to use to retrieve the next page of results", + "smithy.api#jsonName": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListClusterAlertsResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#ListClusters": { "type": "operation", "input": { @@ -22890,6 +23265,113 @@ "smithy.api#output": {} } }, + "com.amazonaws.medialive#ListMultiplexAlerts": { + "type": "operation", + "input": { + "target": "com.amazonaws.medialive#ListMultiplexAlertsRequest" + }, + "output": { + "target": "com.amazonaws.medialive#ListMultiplexAlertsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.medialive#BadGatewayException" + }, + { + "target": "com.amazonaws.medialive#BadRequestException" + }, + { + "target": "com.amazonaws.medialive#ForbiddenException" + }, + { + "target": "com.amazonaws.medialive#GatewayTimeoutException" + }, + { + "target": "com.amazonaws.medialive#InternalServerErrorException" + }, + { + "target": "com.amazonaws.medialive#NotFoundException" + }, + { + "target": "com.amazonaws.medialive#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "List the alerts for a multiplex with optional filtering based on alert state.", + "smithy.api#http": { + "method": "GET", + "uri": "/prod/multiplexes/{MultiplexId}/alerts", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Alerts", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.medialive#ListMultiplexAlertsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.medialive#MaxResults", + "traits": { + "smithy.api#documentation": "The maximum number of items to return", + "smithy.api#httpQuery": "maxResults" + } + }, + "MultiplexId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID of the multiplex", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The next pagination token", + "smithy.api#httpQuery": "nextToken" + } + }, + "StateFilter": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "Specifies the set of alerts to return based on their state. SET - Return only alerts with SET state. CLEARED - Return only alerts with CLEARED state. ALL - Return all alerts.", + "smithy.api#httpQuery": "stateFilter" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListMultiplexAlertsRequest", + "smithy.api#input": {} + } + }, + "com.amazonaws.medialive#ListMultiplexAlertsResponse": { + "type": "structure", + "members": { + "Alerts": { + "target": "com.amazonaws.medialive#__listOfMultiplexAlert", + "traits": { + "smithy.api#documentation": "The alerts found for this multiplex", + "smithy.api#jsonName": "alerts" + } + }, + "NextToken": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The token to use to retrieve the next page of results", + "smithy.api#jsonName": "nextToken" + } + } + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for ListMultiplexAlertsResponse", + "smithy.api#output": {} + } + }, "com.amazonaws.medialive#ListMultiplexPrograms": { "type": "operation", "input": { @@ -25282,6 +25764,9 @@ { "target": "com.amazonaws.medialive#GetSignalMap" }, + { + "target": "com.amazonaws.medialive#ListAlerts" + }, { "target": "com.amazonaws.medialive#ListChannelPlacementGroups" }, @@ -25294,6 +25779,9 @@ { "target": "com.amazonaws.medialive#ListCloudWatchAlarmTemplates" }, + { + "target": "com.amazonaws.medialive#ListClusterAlerts" + }, { "target": "com.amazonaws.medialive#ListClusters" }, @@ -25315,6 +25803,9 @@ { "target": "com.amazonaws.medialive#ListInputSecurityGroups" }, + { + "target": "com.amazonaws.medialive#ListMultiplexAlerts" + }, { "target": "com.amazonaws.medialive#ListMultiplexes" }, @@ -25472,27 +25963,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -27385,6 +27876,83 @@ "smithy.api#documentation": "The multiplex object." } }, + "com.amazonaws.medialive#MultiplexAlert": { + "type": "structure", + "members": { + "AlertType": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The type of the alert", + "smithy.api#jsonName": "alertType" + } + }, + "ClearedTimestamp": { + "target": "com.amazonaws.medialive#__timestampIso8601", + "traits": { + "smithy.api#documentation": "The time when the alert was cleared", + "smithy.api#jsonName": "clearedTimestamp" + } + }, + "Id": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The unique ID for this alert instance", + "smithy.api#jsonName": "id" + } + }, + "Message": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The user facing alert message which can have more context", + "smithy.api#jsonName": "message" + } + }, + "PipelineId": { + "target": "com.amazonaws.medialive#__string", + "traits": { + "smithy.api#documentation": "The ID of the pipeline this alert is associated with", + "smithy.api#jsonName": "pipelineId" + } + }, + "SetTimestamp": { + "target": "com.amazonaws.medialive#__timestampIso8601", + "traits": { + "smithy.api#documentation": "The time when the alert was set", + "smithy.api#jsonName": "setTimestamp" + } + }, + "State": { + "target": "com.amazonaws.medialive#MultiplexAlertState", + "traits": { + "smithy.api#documentation": "The state of the alert", + "smithy.api#jsonName": "state" + } + } + }, + "traits": { + "smithy.api#documentation": "An alert on a multiplex" + } + }, + "com.amazonaws.medialive#MultiplexAlertState": { + "type": "enum", + "members": { + "SET": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SET" + } + }, + "CLEARED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "CLEARED" + } + } + }, + "traits": { + "smithy.api#documentation": "The possible states of a multiplex alert. SET - The alert is actively happening. CLEARED - The alert is no longer happening." + } + }, "com.amazonaws.medialive#MultiplexContainerSettings": { "type": "structure", "members": { @@ -38941,6 +39509,15 @@ "smithy.api#documentation": "Placeholder documentation for __listOfCaptionSelector" } }, + "com.amazonaws.medialive#__listOfChannelAlert": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#ChannelAlert" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfChannelAlert" + } + }, "com.amazonaws.medialive#__listOfChannelEgressEndpoint": { "type": "list", "member": { @@ -38995,6 +39572,15 @@ "smithy.api#documentation": "Placeholder documentation for __listOfCloudWatchAlarmTemplateSummary" } }, + "com.amazonaws.medialive#__listOfClusterAlert": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#ClusterAlert" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfClusterAlert" + } + }, "com.amazonaws.medialive#__listOfCmafIngestCaptionLanguageMapping": { "type": "list", "member": { @@ -39391,6 +39977,15 @@ "smithy.api#documentation": "Placeholder documentation for __listOfMulticastSourceUpdateRequest" } }, + "com.amazonaws.medialive#__listOfMultiplexAlert": { + "type": "list", + "member": { + "target": "com.amazonaws.medialive#MultiplexAlert" + }, + "traits": { + "smithy.api#documentation": "Placeholder documentation for __listOfMultiplexAlert" + } + }, "com.amazonaws.medialive#__listOfMultiplexOutputDestination": { "type": "list", "member": { diff --git a/codegen/sdk-codegen/aws-models/mediapackage-vod.json b/codegen/sdk-codegen/aws-models/mediapackage-vod.json index 2ff4e5a8573..8f5634ecb7c 100644 --- a/codegen/sdk-codegen/aws-models/mediapackage-vod.json +++ b/codegen/sdk-codegen/aws-models/mediapackage-vod.json @@ -2097,27 +2097,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediapackage.json b/codegen/sdk-codegen/aws-models/mediapackage.json index 24c03f7df27..a674a771105 100644 --- a/codegen/sdk-codegen/aws-models/mediapackage.json +++ b/codegen/sdk-codegen/aws-models/mediapackage.json @@ -2621,27 +2621,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediapackagev2.json b/codegen/sdk-codegen/aws-models/mediapackagev2.json index 381aa3bebb4..7ad78dc6244 100644 --- a/codegen/sdk-codegen/aws-models/mediapackagev2.json +++ b/codegen/sdk-codegen/aws-models/mediapackagev2.json @@ -9465,27 +9465,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediastore-data.json b/codegen/sdk-codegen/aws-models/mediastore-data.json index 5fdb1f6065d..8dee6a1f137 100644 --- a/codegen/sdk-codegen/aws-models/mediastore-data.json +++ b/codegen/sdk-codegen/aws-models/mediastore-data.json @@ -560,27 +560,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediastore.json b/codegen/sdk-codegen/aws-models/mediastore.json index 6780399ef3d..845e2d8bf1d 100644 --- a/codegen/sdk-codegen/aws-models/mediastore.json +++ b/codegen/sdk-codegen/aws-models/mediastore.json @@ -1154,27 +1154,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mediatailor.json b/codegen/sdk-codegen/aws-models/mediatailor.json index ca025e8c985..f3a74ce3b1e 100644 --- a/codegen/sdk-codegen/aws-models/mediatailor.json +++ b/codegen/sdk-codegen/aws-models/mediatailor.json @@ -4351,27 +4351,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/medical-imaging.json b/codegen/sdk-codegen/aws-models/medical-imaging.json index 8fa214af4e9..bd9095f24da 100644 --- a/codegen/sdk-codegen/aws-models/medical-imaging.json +++ b/codegen/sdk-codegen/aws-models/medical-imaging.json @@ -89,27 +89,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/memorydb.json b/codegen/sdk-codegen/aws-models/memorydb.json index ca14c15b36a..08717bdad1f 100644 --- a/codegen/sdk-codegen/aws-models/memorydb.json +++ b/codegen/sdk-codegen/aws-models/memorydb.json @@ -395,27 +395,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mgn.json b/codegen/sdk-codegen/aws-models/mgn.json index ff794db18de..7c3c6c77ce9 100644 --- a/codegen/sdk-codegen/aws-models/mgn.json +++ b/codegen/sdk-codegen/aws-models/mgn.json @@ -421,27 +421,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json b/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json index 76f6d3016fb..08456a586ce 100644 --- a/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json +++ b/codegen/sdk-codegen/aws-models/migration-hub-refactor-spaces.json @@ -3563,27 +3563,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/migration-hub.json b/codegen/sdk-codegen/aws-models/migration-hub.json index 6a9112556e1..be4bcd97524 100644 --- a/codegen/sdk-codegen/aws-models/migration-hub.json +++ b/codegen/sdk-codegen/aws-models/migration-hub.json @@ -119,27 +119,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/migrationhub-config.json b/codegen/sdk-codegen/aws-models/migrationhub-config.json index 53eda45e9db..1ff1ccd0a38 100644 --- a/codegen/sdk-codegen/aws-models/migrationhub-config.json +++ b/codegen/sdk-codegen/aws-models/migrationhub-config.json @@ -67,27 +67,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/migrationhuborchestrator.json b/codegen/sdk-codegen/aws-models/migrationhuborchestrator.json index 9147c56055b..af9f4323467 100644 --- a/codegen/sdk-codegen/aws-models/migrationhuborchestrator.json +++ b/codegen/sdk-codegen/aws-models/migrationhuborchestrator.json @@ -90,27 +90,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/migrationhubstrategy.json b/codegen/sdk-codegen/aws-models/migrationhubstrategy.json index d35eeee9bf8..f69ee9adb94 100644 --- a/codegen/sdk-codegen/aws-models/migrationhubstrategy.json +++ b/codegen/sdk-codegen/aws-models/migrationhubstrategy.json @@ -91,27 +91,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mpa.json b/codegen/sdk-codegen/aws-models/mpa.json index 9776aeec23b..897aeba8d31 100644 --- a/codegen/sdk-codegen/aws-models/mpa.json +++ b/codegen/sdk-codegen/aws-models/mpa.json @@ -96,19 +96,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mq.json b/codegen/sdk-codegen/aws-models/mq.json index c035a755120..b268d287182 100644 --- a/codegen/sdk-codegen/aws-models/mq.json +++ b/codegen/sdk-codegen/aws-models/mq.json @@ -4128,27 +4128,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mturk.json b/codegen/sdk-codegen/aws-models/mturk.json index 440dc27ab7e..ecccce38081 100644 --- a/codegen/sdk-codegen/aws-models/mturk.json +++ b/codegen/sdk-codegen/aws-models/mturk.json @@ -2836,27 +2836,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/mwaa.json b/codegen/sdk-codegen/aws-models/mwaa.json index 10853561647..cea7f4ec820 100644 --- a/codegen/sdk-codegen/aws-models/mwaa.json +++ b/codegen/sdk-codegen/aws-models/mwaa.json @@ -104,27 +104,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/neptune-graph.json b/codegen/sdk-codegen/aws-models/neptune-graph.json index 5fb1fb5a688..daad3e1acf8 100644 --- a/codegen/sdk-codegen/aws-models/neptune-graph.json +++ b/codegen/sdk-codegen/aws-models/neptune-graph.json @@ -104,32 +104,32 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "ApiType": { "required": true, "documentation": "Parameter to determine whether current API is a control plane or dataplane API", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/neptune.json b/codegen/sdk-codegen/aws-models/neptune.json index 426b970f4f0..0c7732aef30 100644 --- a/codegen/sdk-codegen/aws-models/neptune.json +++ b/codegen/sdk-codegen/aws-models/neptune.json @@ -426,27 +426,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/neptunedata.json b/codegen/sdk-codegen/aws-models/neptunedata.json index c63bc6dbe54..9828fbff1af 100644 --- a/codegen/sdk-codegen/aws-models/neptunedata.json +++ b/codegen/sdk-codegen/aws-models/neptunedata.json @@ -204,27 +204,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/network-firewall.json b/codegen/sdk-codegen/aws-models/network-firewall.json index 3bd9a2a6371..88f57156112 100644 --- a/codegen/sdk-codegen/aws-models/network-firewall.json +++ b/codegen/sdk-codegen/aws-models/network-firewall.json @@ -5394,27 +5394,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/networkflowmonitor.json b/codegen/sdk-codegen/aws-models/networkflowmonitor.json index a28b23c8012..3197e321f0e 100644 --- a/codegen/sdk-codegen/aws-models/networkflowmonitor.json +++ b/codegen/sdk-codegen/aws-models/networkflowmonitor.json @@ -2324,19 +2324,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/networkmanager.json b/codegen/sdk-codegen/aws-models/networkmanager.json index 82655b443b3..7d933ac9602 100644 --- a/codegen/sdk-codegen/aws-models/networkmanager.json +++ b/codegen/sdk-codegen/aws-models/networkmanager.json @@ -9211,26 +9211,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -10079,85 +10079,43 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://networkmanager.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://networkmanager.us-gov-west-1.amazonaws.com" + "url": "https://networkmanager-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://networkmanager.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://networkmanager.us-gov-west-1.amazonaws.com" + "url": "https://networkmanager.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -10331,43 +10289,85 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://networkmanager-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://networkmanager.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://networkmanager.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://networkmanager.eusc-de-east-1.amazonaws.eu" + "url": "https://networkmanager.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://networkmanager.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/networkmonitor.json b/codegen/sdk-codegen/aws-models/networkmonitor.json index 995e8f7dd99..7bf9611870e 100644 --- a/codegen/sdk-codegen/aws-models/networkmonitor.json +++ b/codegen/sdk-codegen/aws-models/networkmonitor.json @@ -1206,27 +1206,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/notifications.json b/codegen/sdk-codegen/aws-models/notifications.json index 7450aefe244..d00f25a4e1e 100644 --- a/codegen/sdk-codegen/aws-models/notifications.json +++ b/codegen/sdk-codegen/aws-models/notifications.json @@ -5406,19 +5406,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/notificationscontacts.json b/codegen/sdk-codegen/aws-models/notificationscontacts.json index a4b7c85214d..8c2509e1e86 100644 --- a/codegen/sdk-codegen/aws-models/notificationscontacts.json +++ b/codegen/sdk-codegen/aws-models/notificationscontacts.json @@ -744,19 +744,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/oam.json b/codegen/sdk-codegen/aws-models/oam.json index be86aa4fc47..13a1d50c1f9 100644 --- a/codegen/sdk-codegen/aws-models/oam.json +++ b/codegen/sdk-codegen/aws-models/oam.json @@ -1842,27 +1842,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/observabilityadmin.json b/codegen/sdk-codegen/aws-models/observabilityadmin.json index ee2c559128a..1b799569274 100644 --- a/codegen/sdk-codegen/aws-models/observabilityadmin.json +++ b/codegen/sdk-codegen/aws-models/observabilityadmin.json @@ -10,13 +10,13 @@ "amznErrorType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#documentation": "

The name of the exception.

", "smithy.api#httpHeader": "x-amzn-ErrorType" } } }, "traits": { - "smithy.api#documentation": "

\n Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management for Amazon Web Services resources in the IAM user guide.\n

", + "smithy.api#documentation": "

Indicates you don't have permissions to perform the requested operation. The user or role that is making the request must have at least one IAM permissions policy attached that grants the required permissions. For more information, see Access management for Amazon Web Services resources in the IAM user guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -44,6 +44,16 @@ "smithy.api#uniqueItems": {} } }, + "com.amazonaws.observabilityadmin#AwsResourceExplorerManagedViewArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 20, + "max": 2048 + }, + "smithy.api#pattern": "^arn:aws([a-z0-9\\-]+)?:resource-explorer-2:([a-z0-9\\-]+)?:([0-9]{12})?:managed-view/(.+)$" + } + }, "com.amazonaws.observabilityadmin#CentralizationFailureReason": { "type": "enum", "members": { @@ -225,7 +235,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n The requested operation conflicts with the current state of the specified resource or with another request.\n

", + "smithy.api#documentation": "

The requested operation conflicts with the current state of the specified resource or with another request.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -337,7 +347,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Creates a telemetry rule that defines how telemetry should be configured for Amazon Web Services resources in your account. The rule specifies which resources should have telemetry enabled and how that telemetry data should be collected based on resource type, telemetry type, and selection criteria.\n

", + "smithy.api#documentation": "

Creates a telemetry rule that defines how telemetry should be configured for Amazon Web Services resources in your account. The rule specifies which resources should have telemetry enabled and how that telemetry data should be collected based on resource type, telemetry type, and selection criteria.

", "smithy.api#http": { "method": "POST", "uri": "/CreateTelemetryRule" @@ -373,7 +383,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Creates a telemetry rule that applies across an Amazon Web Services Organization. This operation can only be called by the organization's management account or a delegated administrator account.\n

", + "smithy.api#documentation": "

Creates a telemetry rule that applies across an Amazon Web Services Organization. This operation can only be called by the organization's management account or a delegated administrator account.

", "smithy.api#http": { "method": "POST", "uri": "/CreateTelemetryRuleForOrganization" @@ -386,21 +396,21 @@ "RuleName": { "target": "com.amazonaws.observabilityadmin#RuleName", "traits": { - "smithy.api#documentation": "

\n A unique name for the organization-wide telemetry rule being created.\n

", + "smithy.api#documentation": "

A unique name for the organization-wide telemetry rule being created.

", "smithy.api#required": {} } }, "Rule": { "target": "com.amazonaws.observabilityadmin#TelemetryRule", "traits": { - "smithy.api#documentation": "

\n The configuration details for the organization-wide telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to across the organization.\n

", + "smithy.api#documentation": "

The configuration details for the organization-wide telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to across the organization.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.observabilityadmin#TagMapInput", "traits": { - "smithy.api#documentation": "

\n The key-value pairs to associate with the organization telemetry rule resource for categorization and management purposes.\n

" + "smithy.api#documentation": "

The key-value pairs to associate with the organization telemetry rule resource for categorization and management purposes.

" } } }, @@ -414,7 +424,7 @@ "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the created organization telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the created organization telemetry rule.

" } } }, @@ -428,21 +438,21 @@ "RuleName": { "target": "com.amazonaws.observabilityadmin#RuleName", "traits": { - "smithy.api#documentation": "

\n A unique name for the telemetry rule being created.\n

", + "smithy.api#documentation": "

A unique name for the telemetry rule being created.

", "smithy.api#required": {} } }, "Rule": { "target": "com.amazonaws.observabilityadmin#TelemetryRule", "traits": { - "smithy.api#documentation": "

\n The configuration details for the telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to.\n

", + "smithy.api#documentation": "

The configuration details for the telemetry rule, including the resource type, telemetry type, destination configuration, and selection criteria for which resources the rule applies to.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.observabilityadmin#TagMapInput", "traits": { - "smithy.api#documentation": "

\n The key-value pairs to associate with the telemetry rule resource for categorization and management purposes.\n

" + "smithy.api#documentation": "

The key-value pairs to associate with the telemetry rule resource for categorization and management purposes.

" } } }, @@ -456,7 +466,7 @@ "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the created telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the created telemetry rule.

" } } }, @@ -538,7 +548,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes a telemetry rule from your account. Any telemetry configurations previously created by the rule will remain but no new resources will be configured by this rule.\n

", + "smithy.api#documentation": "

Deletes a telemetry rule from your account. Any telemetry configurations previously created by the rule will remain but no new resources will be configured by this rule.

", "smithy.api#http": { "method": "POST", "uri": "/DeleteTelemetryRule" @@ -571,7 +581,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Deletes an organization-wide telemetry rule. This operation can only be called by the organization's management account or a delegated administrator account.\n

", + "smithy.api#documentation": "

Deletes an organization-wide telemetry rule. This operation can only be called by the organization's management account or a delegated administrator account.

", "smithy.api#http": { "method": "POST", "uri": "/DeleteTelemetryRuleForOrganization" @@ -584,7 +594,7 @@ "RuleIdentifier": { "target": "com.amazonaws.observabilityadmin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier (name or ARN) of the organization telemetry rule to delete.\n

", + "smithy.api#documentation": "

The identifier (name or ARN) of the organization telemetry rule to delete.

", "smithy.api#required": {} } } @@ -599,7 +609,7 @@ "RuleIdentifier": { "target": "com.amazonaws.observabilityadmin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier (name or ARN) of the telemetry rule to delete.\n

", + "smithy.api#documentation": "

The identifier (name or ARN) of the telemetry rule to delete.

", "smithy.api#required": {} } } @@ -804,6 +814,57 @@ "smithy.api#output": {} } }, + "com.amazonaws.observabilityadmin#GetTelemetryEnrichmentStatus": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEnrichmentStatusOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.observabilityadmin#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the current status of the resource tags for telemetry feature, which enhances telemetry data with additional resource metadata from Amazon Web Services Resource Explorer.

", + "smithy.api#http": { + "method": "POST", + "uri": "/GetTelemetryEnrichmentStatus" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.observabilityadmin#GetTelemetryEnrichmentStatusOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#TelemetryEnrichmentStatus", + "traits": { + "smithy.api#documentation": "

The current status of the resource tags for telemetry feature (Running, Stopped, or Impaired).

" + } + }, + "AwsResourceExplorerManagedViewArn": { + "target": "com.amazonaws.observabilityadmin#AwsResourceExplorerManagedViewArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Resource Explorer managed view used for resource tags for telemetry, if the feature is enabled.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatus": { "type": "operation", "input": { @@ -824,7 +885,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns the current onboarding status of the telemetry config feature, including the status of the feature and reason the feature failed to start or stop.\n

", + "smithy.api#documentation": "

Returns the current onboarding status of the telemetry config feature, including the status of the feature and reason the feature failed to start or stop.

", "smithy.api#http": { "method": "POST", "uri": "/GetTelemetryEvaluationStatus" @@ -868,7 +929,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n This returns the onboarding status of the telemetry configuration feature for the organization. It can only be called by a Management Account of an Amazon Web Services Organization or an assigned Delegated Admin Account of Amazon CloudWatch telemetry config.\n

", + "smithy.api#documentation": "

This returns the onboarding status of the telemetry configuration feature for the organization. It can only be called by a Management Account of an Amazon Web Services Organization or an assigned Delegated Admin Account of Amazon CloudWatch telemetry config.

", "smithy.api#http": { "method": "POST", "uri": "/GetTelemetryEvaluationStatusForOrganization" @@ -897,13 +958,13 @@ "Status": { "target": "com.amazonaws.observabilityadmin#Status", "traits": { - "smithy.api#documentation": "

\n The onboarding status of the telemetry config feature for the organization.\n

" + "smithy.api#documentation": "

The onboarding status of the telemetry config feature for the organization.

" } }, "FailureReason": { "target": "com.amazonaws.observabilityadmin#FailureReason", "traits": { - "smithy.api#documentation": "

\n This field describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.\n

" + "smithy.api#documentation": "

This field describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.

" } } }, @@ -917,13 +978,13 @@ "Status": { "target": "com.amazonaws.observabilityadmin#Status", "traits": { - "smithy.api#documentation": "

\n The onboarding status of the telemetry config feature.\n

" + "smithy.api#documentation": "

The onboarding status of the telemetry config feature.

" } }, "FailureReason": { "target": "com.amazonaws.observabilityadmin#FailureReason", "traits": { - "smithy.api#documentation": "

\n Describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.\n

" + "smithy.api#documentation": "

Describes the reason for the failure status. The field will only be populated if Status is FAILED_START or FAILED_STOP.

" } } }, @@ -957,7 +1018,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Retrieves the details of a specific telemetry rule in your account.\n

", + "smithy.api#documentation": "

Retrieves the details of a specific telemetry rule in your account.

", "smithy.api#http": { "method": "POST", "uri": "/GetTelemetryRule" @@ -991,7 +1052,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Retrieves the details of a specific organization telemetry rule. This operation can only be called by the organization's management account or a delegated administrator account.\n

", + "smithy.api#documentation": "

Retrieves the details of a specific organization telemetry rule. This operation can only be called by the organization's management account or a delegated administrator account.

", "smithy.api#http": { "method": "POST", "uri": "/GetTelemetryRuleForOrganization" @@ -1005,7 +1066,7 @@ "RuleIdentifier": { "target": "com.amazonaws.observabilityadmin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier (name or ARN) of the organization telemetry rule to retrieve.\n

", + "smithy.api#documentation": "

The identifier (name or ARN) of the organization telemetry rule to retrieve.

", "smithy.api#required": {} } } @@ -1020,31 +1081,31 @@ "RuleName": { "target": "com.amazonaws.observabilityadmin#RuleName", "traits": { - "smithy.api#documentation": "

\n The name of the organization telemetry rule.\n

" + "smithy.api#documentation": "

The name of the organization telemetry rule.

" } }, "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the organization telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the organization telemetry rule.

" } }, "CreatedTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp when the organization telemetry rule was created.\n

" + "smithy.api#documentation": "

The timestamp when the organization telemetry rule was created.

" } }, "LastUpdateTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp when the organization telemetry rule was last updated.\n

" + "smithy.api#documentation": "

The timestamp when the organization telemetry rule was last updated.

" } }, "TelemetryRule": { "target": "com.amazonaws.observabilityadmin#TelemetryRule", "traits": { - "smithy.api#documentation": "

\n The configuration details of the organization telemetry rule.\n

" + "smithy.api#documentation": "

The configuration details of the organization telemetry rule.

" } } }, @@ -1058,7 +1119,7 @@ "RuleIdentifier": { "target": "com.amazonaws.observabilityadmin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier (name or ARN) of the telemetry rule to retrieve.\n

", + "smithy.api#documentation": "

The identifier (name or ARN) of the telemetry rule to retrieve.

", "smithy.api#required": {} } } @@ -1073,31 +1134,31 @@ "RuleName": { "target": "com.amazonaws.observabilityadmin#RuleName", "traits": { - "smithy.api#documentation": "

\n The name of the telemetry rule.\n

" + "smithy.api#documentation": "

The name of the telemetry rule.

" } }, "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the telemetry rule.

" } }, "CreatedTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp when the telemetry rule was created.\n

" + "smithy.api#documentation": "

The timestamp when the telemetry rule was created.

" } }, "LastUpdateTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp when the telemetry rule was last updated.\n

" + "smithy.api#documentation": "

The timestamp when the telemetry rule was last updated.

" } }, "TelemetryRule": { "target": "com.amazonaws.observabilityadmin#TelemetryRule", "traits": { - "smithy.api#documentation": "

\n The configuration details of the telemetry rule.\n

" + "smithy.api#documentation": "

The configuration details of the telemetry rule.

" } } }, @@ -1114,13 +1175,13 @@ "amznErrorType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#documentation": "

The name of the exception.

", "smithy.api#httpHeader": "x-amzn-ErrorType" } } }, "traits": { - "smithy.api#documentation": "

\n Indicates the request has failed to process because of an unknown server error, exception, or failure.\n

", + "smithy.api#documentation": "

Indicates the request has failed to process because of an unknown server error, exception, or failure.

", "smithy.api#error": "server", "smithy.api#httpError": 500 } @@ -1251,7 +1312,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of telemetry configurations for Amazon Web Services resources supported by telemetry config. For more information, see Auditing CloudWatch telemetry configurations.\n

", + "smithy.api#documentation": "

Returns a list of telemetry configurations for Amazon Web Services resources supported by telemetry config. For more information, see Auditing CloudWatch telemetry configurations.

", "smithy.api#http": { "method": "POST", "uri": "/ListResourceTelemetry" @@ -1288,7 +1349,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Returns a list of telemetry configurations for Amazon Web Services resources supported by telemetry config in the organization.\n

", + "smithy.api#documentation": "

Returns a list of telemetry configurations for Amazon Web Services resources supported by telemetry config in the organization.

", "smithy.api#http": { "method": "POST", "uri": "/ListResourceTelemetryForOrganization" @@ -1308,44 +1369,44 @@ "AccountIdentifiers": { "target": "com.amazonaws.observabilityadmin#AccountIdentifiers", "traits": { - "smithy.api#documentation": "

\n A list of Amazon Web Services accounts used to filter the resources to those associated with the specified accounts.\n

" + "smithy.api#documentation": "

A list of Amazon Web Services accounts used to filter the resources to those associated with the specified accounts.

" } }, "ResourceIdentifierPrefix": { "target": "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix", "traits": { - "smithy.api#documentation": "

\n A string used to filter resources in the organization which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.\n

" + "smithy.api#documentation": "

A string used to filter resources in the organization which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.

" } }, "ResourceTypes": { "target": "com.amazonaws.observabilityadmin#ResourceTypes", "traits": { - "smithy.api#documentation": "

\n A list of resource types used to filter resources in the organization. If this parameter is provided, the resources will be returned in the same order used in the request.\n

" + "smithy.api#documentation": "

A list of resource types used to filter resources in the organization. If this parameter is provided, the resources will be returned in the same order used in the request.

" } }, "TelemetryConfigurationState": { "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", "traits": { - "smithy.api#documentation": "

\n A key-value pair to filter resources in the organization based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.\n

" + "smithy.api#documentation": "

A key-value pair to filter resources in the organization based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.

" } }, "ResourceTags": { "target": "com.amazonaws.observabilityadmin#TagMapInput", "traits": { - "smithy.api#documentation": "

\n A key-value pair to filter resources in the organization based on tags associated with the resource. Fore more information about tags, see What are tags?\n

" + "smithy.api#documentation": "

A key-value pair to filter resources in the organization based on tags associated with the resource. Fore more information about tags, see What are tags?

" } }, "MaxResults": { "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryForOrganizationMaxResults", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

\n A number field used to limit the number of results within the returned list.\n

" + "smithy.api#documentation": "

A number field used to limit the number of results within the returned list.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call provides this token.\n

" + "smithy.api#documentation": "

The token for the next set of items to return. A previous call provides this token.

" } } }, @@ -1368,13 +1429,13 @@ "TelemetryConfigurations": { "target": "com.amazonaws.observabilityadmin#TelemetryConfigurations", "traits": { - "smithy.api#documentation": "

\n A list of telemetry configurations for Amazon Web Services resources supported by telemetry config in the organization.\n

" + "smithy.api#documentation": "

A list of telemetry configurations for Amazon Web Services resources supported by telemetry config in the organization.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call provides this token.\n

" + "smithy.api#documentation": "

The token for the next set of items to return. A previous call provides this token.

" } } }, @@ -1388,38 +1449,38 @@ "ResourceIdentifierPrefix": { "target": "com.amazonaws.observabilityadmin#ResourceIdentifierPrefix", "traits": { - "smithy.api#documentation": "

\n A string used to filter resources which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.\n

" + "smithy.api#documentation": "

A string used to filter resources which have a ResourceIdentifier starting with the ResourceIdentifierPrefix.

" } }, "ResourceTypes": { "target": "com.amazonaws.observabilityadmin#ResourceTypes", "traits": { - "smithy.api#documentation": "

\n A list of resource types used to filter resources supported by telemetry config. If this parameter is provided, the resources will be returned in the same order used in the request.\n

" + "smithy.api#documentation": "

A list of resource types used to filter resources supported by telemetry config. If this parameter is provided, the resources will be returned in the same order used in the request.

" } }, "TelemetryConfigurationState": { "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", "traits": { - "smithy.api#documentation": "

\n A key-value pair to filter resources based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.\n

" + "smithy.api#documentation": "

A key-value pair to filter resources based on the telemetry type and the state of the telemetry configuration. The key is the telemetry type and the value is the state.

" } }, "ResourceTags": { "target": "com.amazonaws.observabilityadmin#TagMapInput", "traits": { - "smithy.api#documentation": "

\n A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see What are tags?\n

" + "smithy.api#documentation": "

A key-value pair to filter resources based on tags associated with the resource. For more information about tags, see What are tags?

" } }, "MaxResults": { "target": "com.amazonaws.observabilityadmin#ListResourceTelemetryMaxResults", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

\n A number field used to limit the number of results within the returned list.\n

" + "smithy.api#documentation": "

A number field used to limit the number of results within the returned list.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call generates this token.\n

" + "smithy.api#documentation": "

The token for the next set of items to return. A previous call generates this token.

" } } }, @@ -1442,13 +1503,13 @@ "TelemetryConfigurations": { "target": "com.amazonaws.observabilityadmin#TelemetryConfigurations", "traits": { - "smithy.api#documentation": "

\n A list of telemetry configurations for Amazon Web Services resources supported by telemetry config in the caller's account.\n

" + "smithy.api#documentation": "

A list of telemetry configurations for Amazon Web Services resources supported by telemetry config in the caller's account.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n The token for the next set of items to return. A previous call generates this token.\n

" + "smithy.api#documentation": "

The token for the next set of items to return. A previous call generates this token.

" } } }, @@ -1482,7 +1543,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Lists all tags attached to the specified telemetry rule resource.\n

", + "smithy.api#documentation": "

Lists all tags attached to the specified telemetry rule resource.

", "smithy.api#http": { "method": "POST", "uri": "/ListTagsForResource" @@ -1496,7 +1557,7 @@ "ResourceARN": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the telemetry rule resource whose tags you want to list.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the telemetry rule resource whose tags you want to list.

", "smithy.api#required": {} } } @@ -1511,7 +1572,7 @@ "Tags": { "target": "com.amazonaws.observabilityadmin#TagMapOutput", "traits": { - "smithy.api#documentation": "

\n The list of tags associated with the telemetry rule resource.\n

", + "smithy.api#documentation": "

The list of tags associated with the telemetry rule resource.

", "smithy.api#required": {} } } @@ -1543,7 +1604,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Lists all telemetry rules in your account. You can filter the results by specifying a rule name prefix.\n

", + "smithy.api#documentation": "

Lists all telemetry rules in your account. You can filter the results by specifying a rule name prefix.

", "smithy.api#http": { "method": "POST", "uri": "/ListTelemetryRules" @@ -1580,7 +1641,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Lists all telemetry rules in your organization. This operation can only be called by the organization's management account or a delegated administrator account.\n

", + "smithy.api#documentation": "

Lists all telemetry rules in your organization. This operation can only be called by the organization's management account or a delegated administrator account.

", "smithy.api#http": { "method": "POST", "uri": "/ListTelemetryRulesForOrganization" @@ -1600,32 +1661,32 @@ "RuleNamePrefix": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n A string to filter organization telemetry rules whose names begin with the specified prefix.\n

" + "smithy.api#documentation": "

A string to filter organization telemetry rules whose names begin with the specified prefix.

" } }, "SourceAccountIds": { "target": "com.amazonaws.observabilityadmin#AccountIdentifiers", "traits": { - "smithy.api#documentation": "

\n The list of account IDs to filter organization telemetry rules by their source accounts.\n

" + "smithy.api#documentation": "

The list of account IDs to filter organization telemetry rules by their source accounts.

" } }, "SourceOrganizationUnitIds": { "target": "com.amazonaws.observabilityadmin#OrganizationUnitIdentifiers", "traits": { - "smithy.api#documentation": "

\n The list of organizational unit IDs to filter organization telemetry rules by their source organizational units.\n

" + "smithy.api#documentation": "

The list of organizational unit IDs to filter organization telemetry rules by their source organizational units.

" } }, "MaxResults": { "target": "com.amazonaws.observabilityadmin#ListTelemetryRulesForOrganizationMaxResults", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

\n The maximum number of organization telemetry rules to return in a single call.\n

" + "smithy.api#documentation": "

The maximum number of organization telemetry rules to return in a single call.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n The token for the next set of results. A previous call generates this token.\n

" + "smithy.api#documentation": "

The token for the next set of results. A previous call generates this token.

" } } }, @@ -1648,13 +1709,13 @@ "TelemetryRuleSummaries": { "target": "com.amazonaws.observabilityadmin#TelemetryRuleSummaries", "traits": { - "smithy.api#documentation": "

\n A list of organization telemetry rule summaries.\n

" + "smithy.api#documentation": "

A list of organization telemetry rule summaries.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n A token to resume pagination of results.\n

" + "smithy.api#documentation": "

A token to resume pagination of results.

" } } }, @@ -1668,20 +1729,20 @@ "RuleNamePrefix": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n A string to filter telemetry rules whose names begin with the specified prefix.\n

" + "smithy.api#documentation": "

A string to filter telemetry rules whose names begin with the specified prefix.

" } }, "MaxResults": { "target": "com.amazonaws.observabilityadmin#ListTelemetryRulesMaxResults", "traits": { "smithy.api#default": null, - "smithy.api#documentation": "

\n The maximum number of telemetry rules to return in a single call.\n

" + "smithy.api#documentation": "

The maximum number of telemetry rules to return in a single call.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n The token for the next set of results. A previous call generates this token.\n

" + "smithy.api#documentation": "

The token for the next set of results. A previous call generates this token.

" } } }, @@ -1704,13 +1765,13 @@ "TelemetryRuleSummaries": { "target": "com.amazonaws.observabilityadmin#TelemetryRuleSummaries", "traits": { - "smithy.api#documentation": "

\n A list of telemetry rule summaries.\n

" + "smithy.api#documentation": "

A list of telemetry rule summaries.

" } }, "NextToken": { "target": "com.amazonaws.observabilityadmin#NextToken", "traits": { - "smithy.api#documentation": "

\n A token to resume pagination of results.\n

" + "smithy.api#documentation": "

A token to resume pagination of results.

" } } }, @@ -1803,6 +1864,9 @@ { "target": "com.amazonaws.observabilityadmin#GetCentralizationRuleForOrganization" }, + { + "target": "com.amazonaws.observabilityadmin#GetTelemetryEnrichmentStatus" + }, { "target": "com.amazonaws.observabilityadmin#GetTelemetryEvaluationStatus" }, @@ -1833,12 +1897,18 @@ { "target": "com.amazonaws.observabilityadmin#ListTelemetryRulesForOrganization" }, + { + "target": "com.amazonaws.observabilityadmin#StartTelemetryEnrichment" + }, { "target": "com.amazonaws.observabilityadmin#StartTelemetryEvaluation" }, { "target": "com.amazonaws.observabilityadmin#StartTelemetryEvaluationForOrganization" }, + { + "target": "com.amazonaws.observabilityadmin#StopTelemetryEnrichment" + }, { "target": "com.amazonaws.observabilityadmin#StopTelemetryEvaluation" }, @@ -1870,7 +1940,7 @@ "name": "observabilityadmin" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

\n You can use Amazon CloudWatch Observability Admin to discover and understand the state of telemetry configuration in CloudWatch for your Amazon Web Services Organization or account. This simplifies the process of auditing your telemetry collection configurations across multiple resource types within your Amazon Web Services Organization or account. By providing a consolidated view, it allows you to easily review and manage telemetry settings, helping you ensure proper monitoring and data collection across your Amazon Web Services environment. \n For more information, see Auditing CloudWatch telemetry configurations in the CloudWatch User Guide.

\n

For information on the permissions you need to use this API, see Identity and access management for Amazon CloudWatch in the CloudWatch User Guide.

", + "smithy.api#documentation": "

You can use Amazon CloudWatch Observability Admin to discover and understand the state of telemetry configuration in CloudWatch for your Amazon Web Services Organization or account. This simplifies the process of auditing your telemetry collection configurations across multiple resource types within your Amazon Web Services Organization or account. By providing a consolidated view, it allows you to easily review and manage telemetry settings, helping you ensure proper monitoring and data collection across your Amazon Web Services environment. For more information, see Auditing CloudWatch telemetry configurations in the CloudWatch User Guide.

For information on the permissions you need to use this API, see Identity and access management for Amazon CloudWatch in the CloudWatch User Guide.

", "smithy.api#title": "CloudWatch Observability Admin Service", "smithy.rules#endpointRuleSet": { "version": "1.0", @@ -1879,27 +1949,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -2562,7 +2632,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n The specified resource (such as a telemetry rule) could not be found.\n

", + "smithy.api#documentation": "

The specified resource (such as a telemetry rule) could not be found.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -2663,13 +2733,13 @@ "amznErrorType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The name of the exception.\n

", + "smithy.api#documentation": "

The name of the exception.

", "smithy.api#httpHeader": "x-amzn-ErrorType" } } }, "traits": { - "smithy.api#documentation": "

\n The requested operation would exceed the allowed quota for the specified resource type.\n

", + "smithy.api#documentation": "

The requested operation would exceed the allowed quota for the specified resource type.

", "smithy.api#error": "client", "smithy.api#httpError": 402 } @@ -2705,6 +2775,57 @@ "smithy.api#documentation": "

Configuration for selecting and handling source log groups for centralization.

" } }, + "com.amazonaws.observabilityadmin#StartTelemetryEnrichment": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#StartTelemetryEnrichmentOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#ConflictException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Enables the resource tags for telemetry feature for your account, which enhances telemetry data with additional resource metadata from Amazon Web Services Resource Explorer to provide richer context for monitoring and observability.

", + "smithy.api#http": { + "method": "POST", + "uri": "/StartTelemetryEnrichment", + "code": 202 + } + } + }, + "com.amazonaws.observabilityadmin#StartTelemetryEnrichmentOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#TelemetryEnrichmentStatus", + "traits": { + "smithy.api#documentation": "

The status of the resource tags for telemetry feature after the start operation (Running, Stopped, or Impaired).

" + } + }, + "AwsResourceExplorerManagedViewArn": { + "target": "com.amazonaws.observabilityadmin#AwsResourceExplorerManagedViewArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Web Services Resource Explorer managed view created for resource tags for telemetry.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.observabilityadmin#StartTelemetryEvaluation": { "type": "operation", "input": { @@ -2728,7 +2849,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n This action begins onboarding the caller Amazon Web Services account to the telemetry config feature.\n

", + "smithy.api#documentation": "

This action begins onboarding the caller Amazon Web Services account to the telemetry config feature.

", "smithy.api#http": { "method": "POST", "uri": "/StartTelemetryEvaluation" @@ -2758,7 +2879,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n This actions begins onboarding the organization and all member accounts to the telemetry config feature.\n

", + "smithy.api#documentation": "

This actions begins onboarding the organization and all member accounts to the telemetry config feature.

", "smithy.api#http": { "method": "POST", "uri": "/StartTelemetryEvaluationForOrganization" @@ -2812,6 +2933,51 @@ } } }, + "com.amazonaws.observabilityadmin#StopTelemetryEnrichment": { + "type": "operation", + "input": { + "target": "smithy.api#Unit" + }, + "output": { + "target": "com.amazonaws.observabilityadmin#StopTelemetryEnrichmentOutput" + }, + "errors": [ + { + "target": "com.amazonaws.observabilityadmin#AccessDeniedException" + }, + { + "target": "com.amazonaws.observabilityadmin#ConflictException" + }, + { + "target": "com.amazonaws.observabilityadmin#InternalServerException" + }, + { + "target": "com.amazonaws.observabilityadmin#TooManyRequestsException" + } + ], + "traits": { + "smithy.api#documentation": "

Disables the resource tags for telemetry feature for your account, stopping the enhancement of telemetry data with additional resource metadata.

", + "smithy.api#http": { + "method": "POST", + "uri": "/StopTelemetryEnrichment", + "code": 202 + } + } + }, + "com.amazonaws.observabilityadmin#StopTelemetryEnrichmentOutput": { + "type": "structure", + "members": { + "Status": { + "target": "com.amazonaws.observabilityadmin#TelemetryEnrichmentStatus", + "traits": { + "smithy.api#documentation": "

The status of the resource tags for telemetry feature after the stop operation (Running, Stopped, or Impaired).

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.observabilityadmin#StopTelemetryEvaluation": { "type": "operation", "input": { @@ -2835,7 +3001,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n This action begins offboarding the caller Amazon Web Services account from the telemetry config feature.\n

", + "smithy.api#documentation": "

This action begins offboarding the caller Amazon Web Services account from the telemetry config feature.

", "smithy.api#http": { "method": "POST", "uri": "/StopTelemetryEvaluation" @@ -2865,7 +3031,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n This action offboards the Organization of the caller Amazon Web Services account from the telemetry config feature.\n

", + "smithy.api#documentation": "

This action offboards the Organization of the caller Amazon Web Services account from the telemetry config feature.

", "smithy.api#http": { "method": "POST", "uri": "/StopTelemetryEvaluationForOrganization" @@ -2948,7 +3114,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Adds or updates tags for a telemetry rule resource.\n

", + "smithy.api#documentation": "

Adds or updates tags for a telemetry rule resource.

", "smithy.api#http": { "method": "POST", "uri": "/TagResource" @@ -2961,14 +3127,14 @@ "ResourceARN": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the telemetry rule resource to tag.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the telemetry rule resource to tag.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.observabilityadmin#TagMapInput", "traits": { - "smithy.api#documentation": "

\n The key-value pairs to add or update for the telemetry rule resource.\n

", + "smithy.api#documentation": "

The key-value pairs to add or update for the telemetry rule resource.

", "smithy.api#required": {} } } @@ -2994,42 +3160,42 @@ "AccountIdentifier": { "target": "com.amazonaws.observabilityadmin#AccountIdentifier", "traits": { - "smithy.api#documentation": "

\n The account ID which contains the resource managed in telemetry configuration. An example of a valid account ID is 012345678901.\n

" + "smithy.api#documentation": "

The account ID which contains the resource managed in telemetry configuration. An example of a valid account ID is 012345678901.

" } }, "TelemetryConfigurationState": { "target": "com.amazonaws.observabilityadmin#TelemetryConfigurationState", "traits": { - "smithy.api#documentation": "

\n The configuration state for the resource, for example { Logs: NotApplicable; Metrics: Enabled; Traces: NotApplicable; }.\n

" + "smithy.api#documentation": "

The configuration state for the resource, for example { Logs: NotApplicable; Metrics: Enabled; Traces: NotApplicable; }.

" } }, "ResourceType": { "target": "com.amazonaws.observabilityadmin#ResourceType", "traits": { - "smithy.api#documentation": "

\n The type of resource, for example Amazon Web Services::EC2::Instance.\n

" + "smithy.api#documentation": "

The type of resource, for example Amazon Web Services::EC2::Instance.

" } }, "ResourceIdentifier": { "target": "com.amazonaws.observabilityadmin#ResourceIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier of the resource, for example i-0b22a22eec53b9321.\n

" + "smithy.api#documentation": "

The identifier of the resource, for example i-0b22a22eec53b9321.

" } }, "ResourceTags": { "target": "com.amazonaws.observabilityadmin#TagMapOutput", "traits": { - "smithy.api#documentation": "

\n Tags associated with the resource, for example { Name: \"ExampleInstance\", Environment: \"Development\" }.\n

" + "smithy.api#documentation": "

Tags associated with the resource, for example { Name: \"ExampleInstance\", Environment: \"Development\" }.

" } }, "LastUpdateTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp of the last change to the telemetry configuration for the resource. For example, 1728679196318.\n

" + "smithy.api#documentation": "

The timestamp of the last change to the telemetry configuration for the resource. For example, 1728679196318.

" } } }, "traits": { - "smithy.api#documentation": "

\n A model representing the state of a resource within an account according to telemetry config.\n

" + "smithy.api#documentation": "

A model representing the state of a resource within an account according to telemetry config.

" } }, "com.amazonaws.observabilityadmin#TelemetryConfigurationState": { @@ -3053,30 +3219,53 @@ "DestinationType": { "target": "com.amazonaws.observabilityadmin#DestinationType", "traits": { - "smithy.api#documentation": "

\n The type of destination for the telemetry data (e.g., \"Amazon CloudWatch Logs\", \"S3\").\n

" + "smithy.api#documentation": "

The type of destination for the telemetry data (e.g., \"Amazon CloudWatch Logs\", \"S3\").

" } }, "DestinationPattern": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The pattern used to generate the destination path or name, supporting macros like <resourceId> and <accountId>.\n

" + "smithy.api#documentation": "

The pattern used to generate the destination path or name, supporting macros like <resourceId> and <accountId>.

" } }, "RetentionInDays": { "target": "com.amazonaws.observabilityadmin#RetentionPeriodInDays", "traits": { - "smithy.api#documentation": "

\n The number of days to retain the telemetry data in the destination.\n

" + "smithy.api#documentation": "

The number of days to retain the telemetry data in the destination.

" } }, "VPCFlowLogParameters": { "target": "com.amazonaws.observabilityadmin#VPCFlowLogParameters", "traits": { - "smithy.api#documentation": "

\n Configuration parameters specific to VPC Flow Logs when VPC is the resource type.\n

" + "smithy.api#documentation": "

Configuration parameters specific to VPC Flow Logs when VPC is the resource type.

" } } }, "traits": { - "smithy.api#documentation": "

\n Configuration specifying where and how telemetry data should be delivered for Amazon Web Services resources.\n

" + "smithy.api#documentation": "

Configuration specifying where and how telemetry data should be delivered for Amazon Web Services resources.

" + } + }, + "com.amazonaws.observabilityadmin#TelemetryEnrichmentStatus": { + "type": "enum", + "members": { + "RUNNING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Running" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Stopped" + } + }, + "IMPAIRED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Impaired" + } + } } }, "com.amazonaws.observabilityadmin#TelemetryRule": { @@ -3085,37 +3274,37 @@ "ResourceType": { "target": "com.amazonaws.observabilityadmin#ResourceType", "traits": { - "smithy.api#documentation": "

\n The type of Amazon Web Services resource to configure telemetry for (e.g., \"AWS::EC2::VPC\").\n

" + "smithy.api#documentation": "

The type of Amazon Web Services resource to configure telemetry for (e.g., \"AWS::EC2::VPC\").

" } }, "TelemetryType": { "target": "com.amazonaws.observabilityadmin#TelemetryType", "traits": { - "smithy.api#documentation": "

\n The type of telemetry to collect (Logs, Metrics, or Traces).\n

", + "smithy.api#documentation": "

The type of telemetry to collect (Logs, Metrics, or Traces).

", "smithy.api#required": {} } }, "DestinationConfiguration": { "target": "com.amazonaws.observabilityadmin#TelemetryDestinationConfiguration", "traits": { - "smithy.api#documentation": "

\n Configuration specifying where and how the telemetry data should be delivered.\n

" + "smithy.api#documentation": "

Configuration specifying where and how the telemetry data should be delivered.

" } }, "Scope": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The organizational scope to which the rule applies, specified using accounts or organizational units.\n

" + "smithy.api#documentation": "

The organizational scope to which the rule applies, specified using accounts or organizational units.

" } }, "SelectionCriteria": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n Criteria for selecting which resources the rule applies to, such as resource tags.\n

" + "smithy.api#documentation": "

Criteria for selecting which resources the rule applies to, such as resource tags.

" } } }, "traits": { - "smithy.api#documentation": "

\n Defines how telemetry should be configured for specific Amazon Web Services resources.\n

" + "smithy.api#documentation": "

Defines how telemetry should be configured for specific Amazon Web Services resources.

" } }, "com.amazonaws.observabilityadmin#TelemetryRuleSummaries": { @@ -3130,42 +3319,42 @@ "RuleName": { "target": "com.amazonaws.observabilityadmin#RuleName", "traits": { - "smithy.api#documentation": "

\n The name of the telemetry rule.\n

" + "smithy.api#documentation": "

The name of the telemetry rule.

" } }, "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the telemetry rule.

" } }, "CreatedTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp when the telemetry rule was created.\n

" + "smithy.api#documentation": "

The timestamp when the telemetry rule was created.

" } }, "LastUpdateTimeStamp": { "target": "smithy.api#Long", "traits": { - "smithy.api#documentation": "

\n The timestamp when the telemetry rule was last modified.\n

" + "smithy.api#documentation": "

The timestamp when the telemetry rule was last modified.

" } }, "ResourceType": { "target": "com.amazonaws.observabilityadmin#ResourceType", "traits": { - "smithy.api#documentation": "

\n The type of Amazon Web Services resource the rule applies to.\n

" + "smithy.api#documentation": "

The type of Amazon Web Services resource the rule applies to.

" } }, "TelemetryType": { "target": "com.amazonaws.observabilityadmin#TelemetryType", "traits": { - "smithy.api#documentation": "

\n The type of telemetry (Logs, Metrics, or Traces) the rule configures.\n

" + "smithy.api#documentation": "

The type of telemetry (Logs, Metrics, or Traces) the rule configures.

" } } }, "traits": { - "smithy.api#documentation": "

\n A summary of a telemetry rule's key properties.\n

" + "smithy.api#documentation": "

A summary of a telemetry rule's key properties.

" } }, "com.amazonaws.observabilityadmin#TelemetryState": { @@ -3222,7 +3411,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n The request throughput limit was exceeded.\n

", + "smithy.api#documentation": "

The request throughput limit was exceeded.

", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -3253,7 +3442,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Removes tags from a telemetry rule resource.\n

", + "smithy.api#documentation": "

Removes tags from a telemetry rule resource.

", "smithy.api#http": { "method": "POST", "uri": "/UntagResource" @@ -3266,14 +3455,14 @@ "ResourceARN": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the telemetry rule resource to remove tags from.\n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the telemetry rule resource to remove tags from.

", "smithy.api#required": {} } }, "TagKeys": { "target": "com.amazonaws.observabilityadmin#TagKeyList", "traits": { - "smithy.api#documentation": "

\n The list of tag keys to remove from the telemetry rule resource.\n

", + "smithy.api#documentation": "

The list of tag keys to remove from the telemetry rule resource.

", "smithy.api#required": {} } } @@ -3383,7 +3572,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates an existing telemetry rule in your account.\n

", + "smithy.api#documentation": "

Updates an existing telemetry rule in your account.

", "smithy.api#http": { "method": "POST", "uri": "/UpdateTelemetryRule" @@ -3419,7 +3608,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Updates an existing telemetry rule that applies across an Amazon Web Services Organization. This operation can only be called by the organization's management account or a delegated administrator account.\n

", + "smithy.api#documentation": "

Updates an existing telemetry rule that applies across an Amazon Web Services Organization. This operation can only be called by the organization's management account or a delegated administrator account.

", "smithy.api#http": { "method": "POST", "uri": "/UpdateTelemetryRuleForOrganization" @@ -3432,14 +3621,14 @@ "RuleIdentifier": { "target": "com.amazonaws.observabilityadmin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier (name or ARN) of the organization telemetry rule to update.\n

", + "smithy.api#documentation": "

The identifier (name or ARN) of the organization telemetry rule to update.

", "smithy.api#required": {} } }, "Rule": { "target": "com.amazonaws.observabilityadmin#TelemetryRule", "traits": { - "smithy.api#documentation": "

\n The new configuration details for the organization telemetry rule, including resource type, telemetry type, and destination configuration.\n

", + "smithy.api#documentation": "

The new configuration details for the organization telemetry rule, including resource type, telemetry type, and destination configuration.

", "smithy.api#required": {} } } @@ -3454,7 +3643,7 @@ "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the updated organization telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated organization telemetry rule.

" } } }, @@ -3468,14 +3657,14 @@ "RuleIdentifier": { "target": "com.amazonaws.observabilityadmin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

\n The identifier (name or ARN) of the telemetry rule to update.\n

", + "smithy.api#documentation": "

The identifier (name or ARN) of the telemetry rule to update.

", "smithy.api#required": {} } }, "Rule": { "target": "com.amazonaws.observabilityadmin#TelemetryRule", "traits": { - "smithy.api#documentation": "

\n The new configuration details for the telemetry rule.\n

", + "smithy.api#documentation": "

The new configuration details for the telemetry rule.

", "smithy.api#required": {} } } @@ -3490,7 +3679,7 @@ "RuleArn": { "target": "com.amazonaws.observabilityadmin#ResourceArn", "traits": { - "smithy.api#documentation": "

\n The Amazon Resource Name (ARN) of the updated telemetry rule.\n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated telemetry rule.

" } } }, @@ -3504,24 +3693,24 @@ "LogFormat": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The format in which VPC Flow Log entries should be logged.\n

" + "smithy.api#documentation": "

The format in which VPC Flow Log entries should be logged.

" } }, "TrafficType": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "

\n The type of traffic to log (ACCEPT, REJECT, or ALL).\n

" + "smithy.api#documentation": "

The type of traffic to log (ACCEPT, REJECT, or ALL).

" } }, "MaxAggregationInterval": { "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

\n The maximum interval in seconds between the capture of flow log records.\n

" + "smithy.api#documentation": "

The maximum interval in seconds between the capture of flow log records.

" } } }, "traits": { - "smithy.api#documentation": "

\n Configuration parameters specific to VPC Flow Logs.\n

" + "smithy.api#documentation": "

Configuration parameters specific to VPC Flow Logs.

" } }, "com.amazonaws.observabilityadmin#ValidationException": { @@ -3532,7 +3721,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n Indicates input validation failed. Check your request parameters and retry the request.\n

", + "smithy.api#documentation": "

Indicates input validation failed. Check your request parameters and retry the request.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } diff --git a/codegen/sdk-codegen/aws-models/odb.json b/codegen/sdk-codegen/aws-models/odb.json index d5bc31c0e15..63ba9e6ca76 100644 --- a/codegen/sdk-codegen/aws-models/odb.json +++ b/codegen/sdk-codegen/aws-models/odb.json @@ -359,7 +359,7 @@ "licenseModel": { "target": "com.amazonaws.odb#LicenseModel", "traits": { - "smithy.api#documentation": "

The Oracle license model that applies to the Autonomous VM cluster. Valid values are LICENSE_INCLUDED or BRING_YOUR_OWN_LICENSE.

" + "smithy.api#documentation": "

The Oracle license model that applies to the Autonomous VM cluster.

" } }, "maintenanceWindow": { @@ -2960,7 +2960,7 @@ "status": { "target": "com.amazonaws.odb#ResourceStatus", "traits": { - "smithy.api#documentation": "

The status of the ODB peering connection.

Valid Values: provisioning | active | terminating | terminated | failed

" + "smithy.api#documentation": "

The status of the ODB peering connection.

" } }, "statusReason": { @@ -6382,7 +6382,7 @@ "status": { "target": "com.amazonaws.odb#ManagedResourceStatus", "traits": { - "smithy.api#documentation": "

The status of the managed Amazon S3 backup access.

Valid Values: enabled | disabled

" + "smithy.api#documentation": "

The status of the managed Amazon S3 backup access.

" } }, "ipv4Addresses": { @@ -7783,7 +7783,7 @@ "status": { "target": "com.amazonaws.odb#ResourceStatus", "traits": { - "smithy.api#documentation": "

The status of the ODB peering connection.

Valid Values: provisioning | active | terminating | terminated | failed

" + "smithy.api#documentation": "

The status of the ODB peering connection.

" } }, "statusReason": { @@ -7896,7 +7896,7 @@ "status": { "target": "com.amazonaws.odb#ResourceStatus", "traits": { - "smithy.api#documentation": "

The status of the ODB peering connection.

Valid Values: provisioning | active | terminating | terminated | failed

" + "smithy.api#documentation": "

The status of the ODB peering connection.

" } }, "statusReason": { @@ -8249,7 +8249,7 @@ "status": { "target": "com.amazonaws.odb#ManagedResourceStatus", "traits": { - "smithy.api#documentation": "

The status of the Amazon S3 access.

Valid Values: enabled | disabled

" + "smithy.api#documentation": "

The status of the Amazon S3 access.

" } }, "ipv4Addresses": { @@ -8299,7 +8299,7 @@ "vpcEndpointType": { "target": "com.amazonaws.odb#VpcEndpointType", "traits": { - "smithy.api#documentation": "

The type of the VPC endpoint.

Valid Values: Interface | Gateway

" + "smithy.api#documentation": "

The type of the VPC endpoint.

" } } }, @@ -9233,7 +9233,7 @@ "status": { "target": "com.amazonaws.odb#ManagedResourceStatus", "traits": { - "smithy.api#documentation": "

The status of the Zero-ETL access.

Valid Values: enabled | disabled

" + "smithy.api#documentation": "

The status of the Zero-ETL access.

" } }, "cidr": { diff --git a/codegen/sdk-codegen/aws-models/omics.json b/codegen/sdk-codegen/aws-models/omics.json index f5f5a608077..1d4eb18defc 100644 --- a/codegen/sdk-codegen/aws-models/omics.json +++ b/codegen/sdk-codegen/aws-models/omics.json @@ -934,7 +934,7 @@ } ], "traits": { - "smithy.api#documentation": "

Cancels an annotation import job.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Cancels an annotation import job.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -1057,7 +1057,7 @@ } ], "traits": { - "smithy.api#documentation": "

Cancels a variant import job.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Cancels a variant import job.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -1296,7 +1296,7 @@ } }, "traits": { - "smithy.api#documentation": "

Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.

" + "smithy.api#documentation": "

Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.

" } }, "com.amazonaws.omics#CreateAnnotationStore": { @@ -1334,7 +1334,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to create an Annotation Store" }, - "smithy.api#documentation": "

Creates an annotation store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Creates an annotation store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -2528,7 +2528,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to create a Variant Store" }, - "smithy.api#documentation": "

Creates a variant store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Creates a variant store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -2655,7 +2655,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a private workflow. Before you create a private workflow, you must create and configure these required resources:

  • Workflow definition files: Define your workflow in one or more workflow definition files, written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in .zip format.

  • (Optional) Parameter template: You can create a parameter template file that defines the run parameters, or Amazon Web Services HealthOmics can generate the parameter template for you.

  • ECR container images: Create container images for the workflow in a private ECR repository, or synchronize images from a supported upstream registry with your Amazon ECR private repository.

  • (Optional) Sentieon licenses: Request a Sentieon license if using the Sentieon software in a private workflow.

For more information, see Creating or updating a private workflow in Amazon Web Services HealthOmics in the Amazon Web Services HealthOmics User Guide.

", + "smithy.api#documentation": "

Creates a private workflow. Before you create a private workflow, you must create and configure these required resources:

  • Workflow definition file: A workflow definition file written in WDL, Nextflow, or CWL. The workflow definition specifies the inputs and outputs for runs that use the workflow. It also includes specifications for the runs and run tasks for your workflow, including compute and memory requirements. The workflow definition file must be in .zip format. For more information, see Workflow definition files in Amazon Web Services HealthOmics.

  • (Optional) Parameter template file: A parameter template file written in JSON. Create the file to define the run parameters, or Amazon Web Services HealthOmics generates the parameter template for you. For more information, see Parameter template files for HealthOmics workflows.

  • ECR container images: Create container images for the workflow in a private ECR repository, or synchronize images from a supported upstream registry with your Amazon ECR private repository.

  • (Optional) Sentieon licenses: Request a Sentieon license to use the Sentieon software in private workflows.

For more information, see Creating or updating a private workflow in Amazon Web Services HealthOmics in the Amazon Web Services HealthOmics User Guide.

", "smithy.api#endpoint": { "hostPrefix": "workflows-" }, @@ -2751,7 +2751,7 @@ "containerRegistryMap": { "target": "com.amazonaws.omics#ContainerRegistryMap", "traits": { - "smithy.api#documentation": "

(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.

" + "smithy.api#documentation": "

(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.

" } }, "containerRegistryMapUri": { @@ -2987,7 +2987,7 @@ "containerRegistryMap": { "target": "com.amazonaws.omics#ContainerRegistryMap", "traits": { - "smithy.api#documentation": "

(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.

" + "smithy.api#documentation": "

(Optional) Use a container registry map to specify mappings between the ECR private repository and one or more upstream registries. For more information, see Container images in the Amazon Web Services HealthOmics User Guide.

" } }, "containerRegistryMapUri": { @@ -3210,7 +3210,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to delete an Annotation Store" }, - "smithy.api#documentation": "

Deletes an annotation store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Deletes an annotation store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -3923,7 +3923,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to delete a Variant Store" }, - "smithy.api#documentation": "

Deletes a variant store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Deletes a variant store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -4634,7 +4634,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about an annotation import job.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Gets information about an annotation import job.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -4848,7 +4848,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to get detailed information about an Annotation Store" }, - "smithy.api#documentation": "

Gets information about an annotation store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Gets information about an annotation store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -8159,7 +8159,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about a variant import job.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Gets information about a variant import job.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -8359,7 +8359,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to get detailed information about a Variant Store" }, - "smithy.api#documentation": "

Gets information about a variant store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Gets information about a variant store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -9644,7 +9644,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of annotation import jobs.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Retrieves a list of annotation import jobs.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -9899,7 +9899,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to retrieve a list of information about Annotation Stores" }, - "smithy.api#documentation": "

Retrieves a list of annotation stores.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Retrieves a list of annotation stores.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -11729,7 +11729,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of variant import jobs.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Retrieves a list of variant import jobs.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -11862,7 +11862,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to retrieve a list of metadata for Variant Stores" }, - "smithy.api#documentation": "

Retrieves a list of variant stores.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Retrieves a list of variant stores.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -12427,27 +12427,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -16167,7 +16167,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts an annotation import job.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Starts an annotation import job.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -16916,7 +16916,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a new run and returns details about the run, or duplicates an existing run. A run is a single invocation of a workflow. If you provide request IDs, Amazon Web Services HealthOmics identifies duplicate requests and starts the run only once. Monitor the progress of the run by calling the GetRun API operation.

To start a new run, the following inputs are required:

  • A service role ARN (roleArn).

  • The run's workflow ID (workflowId, not the uuid or runId).

  • An Amazon S3 location (outputUri) where the run outputs will be saved.

  • All required workflow parameters (parameter), which can include optional parameters from the parameter template. The run cannot include any parameters that are not defined in the parameter template. To see all possible parameters, use the GetRun API operation.

  • For runs with a STATIC (default) storage type, specify the required storage capacity (in gibibytes). A storage capacity value is not required for runs that use DYNAMIC storage.

StartRun can also duplicate an existing run using the run's default values. You can modify these default values and/or add other optional inputs. To duplicate a run, the following inputs are required:

  • A service role ARN (roleArn).

  • The ID of the run to duplicate (runId).

  • An Amazon S3 location where the run outputs will be saved (outputUri).

To learn more about the optional parameters for StartRun, see Starting a run in the Amazon Web Services HealthOmics User Guide.

Use the retentionMode input to control how long the metadata for each run is stored in CloudWatch. There are two retention modes:

  • Specify REMOVE to automatically remove the oldest runs when you reach the maximum service retention limit for runs. It is recommended that you use the REMOVE mode to initiate major run requests so that your runs do not fail when you reach the limit.

  • The retentionMode is set to the RETAIN mode by default, which allows you to manually remove runs after reaching the maximum service retention limit. Under this setting, you cannot create additional runs until you remove the excess runs.

To learn more about the retention modes, see Run retention mode in the Amazon Web Services HealthOmics User Guide.

", + "smithy.api#documentation": "

Starts a new run and returns details about the run, or duplicates an existing run. A run is a single invocation of a workflow. If you provide request IDs, Amazon Web Services HealthOmics identifies duplicate requests and starts the run only once. Monitor the progress of the run by calling the GetRun API operation.

To start a new run, the following inputs are required:

  • A service role ARN (roleArn).

  • The run's workflow ID (workflowId, not the uuid or runId).

  • An Amazon S3 location (outputUri) where the run outputs will be saved.

  • All required workflow parameters (parameter), which can include optional parameters from the parameter template. The run cannot include any parameters that are not defined in the parameter template. To see all possible parameters, use the GetRun API operation.

  • For runs with a STATIC (default) storage type, specify the required storage capacity (in gibibytes). A storage capacity value is not required for runs that use DYNAMIC storage.

StartRun can also duplicate an existing run using the run's default values. You can modify these default values and/or add other optional inputs. To duplicate a run, the following inputs are required:

  • A service role ARN (roleArn).

  • The ID of the run to duplicate (runId).

  • An Amazon S3 location where the run outputs will be saved (outputUri).

To learn more about the optional parameters for StartRun, see Starting a run in the Amazon Web Services HealthOmics User Guide.

Use the retentionMode input to control how long the metadata for each run is stored in CloudWatch. There are two retention modes:

  • Specify REMOVE to automatically remove the oldest runs when you reach the maximum service retention limit for runs. It is recommended that you use the REMOVE mode to initiate major run requests so that your runs do not fail when you reach the limit.

  • The retentionMode is set to the RETAIN mode by default, which allows you to manually remove runs after reaching the maximum service retention limit. Under this setting, you cannot create additional runs until you remove the excess runs.

To learn more about the retention modes, see Run retention mode in the Amazon Web Services HealthOmics User Guide.

You can use Amazon Q CLI to analyze run logs and make performance optimization recommendations. To get started, see the Amazon Web Services HealthOmics MCP server on GitHub.

", "smithy.api#endpoint": { "hostPrefix": "workflows-" }, @@ -17134,7 +17134,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a variant import job.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Starts a variant import job.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -17952,7 +17952,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to update information about the Annotation Store" }, - "smithy.api#documentation": "

Updates an annotation store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Updates an annotation store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -18589,7 +18589,7 @@ "aws.iam#iamAction": { "documentation": "Grants permission to update metadata about the Variant Store" }, - "smithy.api#documentation": "

Updates a variant store.

", + "smithy.api#documentation": "

Amazon Web Services HealthOmics variant stores and annotation stores will no longer be open to new customers starting November 7, 2025. If you would like to use variant stores or annotation stores, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Web Services HealthOmics variant store and annotation store availability change.

Updates a variant store.

", "smithy.api#endpoint": { "hostPrefix": "analytics-" }, @@ -19507,6 +19507,10 @@ { "name": "CWL", "value": "CWL" + }, + { + "name": "WDL_LENIENT", + "value": "WDL_LENIENT" } ], "smithy.api#length": { diff --git a/codegen/sdk-codegen/aws-models/opensearch.json b/codegen/sdk-codegen/aws-models/opensearch.json index 81e0f08b757..04a5653c4e5 100644 --- a/codegen/sdk-codegen/aws-models/opensearch.json +++ b/codegen/sdk-codegen/aws-models/opensearch.json @@ -1000,27 +1000,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/opensearchserverless.json b/codegen/sdk-codegen/aws-models/opensearchserverless.json index 6b70f43c3cd..d84ed9c56e6 100644 --- a/codegen/sdk-codegen/aws-models/opensearchserverless.json +++ b/codegen/sdk-codegen/aws-models/opensearchserverless.json @@ -3381,27 +3381,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/organizations.json b/codegen/sdk-codegen/aws-models/organizations.json index 426b14a1216..52aabb6218b 100644 --- a/codegen/sdk-codegen/aws-models/organizations.json +++ b/codegen/sdk-codegen/aws-models/organizations.json @@ -230,7 +230,7 @@ "name": "organizations" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Organizations is a web service that enables you to consolidate your multiple\n Amazon Web Services accounts into an organization and centrally manage your\n accounts and their resources.

\n

This guide provides descriptions of the Organizations operations. For more\n information about using this service, see the Organizations User Guide.

\n

\n Support and feedback for Organizations\n

\n

We welcome your feedback. Send your comments to feedback-awsorganizations@amazon.com or post your feedback and questions in\n the Organizations support forum. For\n more information about the Amazon Web Services support forums, see Forums Help.

\n

\n Endpoint to call When using the CLI or the Amazon Web Services\n SDK\n

\n

For the current release of Organizations, specify the us-east-1 region\n for all Amazon Web Services API and CLI calls made from the commercial Amazon Web Services Regions outside of\n China. If calling from one of the Amazon Web Services Regions in China, then specify\n cn-northwest-1. You can do this in the CLI by using these parameters\n and commands:

\n
    \n
  • \n

    Use the following parameter with each command to specify both the endpoint and\n its region:

    \n

    \n --endpoint-url https://organizations.us-east-1.amazonaws.com\n (from commercial Amazon Web Services Regions outside of China)\n

    \n

    or

    \n

    \n --endpoint-url\n https://organizations.cn-northwest-1.amazonaws.com.cn\n (from Amazon Web Services Regions in China)\n

    \n
  • \n
  • \n

    Use the default endpoint, but configure your default region with this\n command:

    \n

    \n aws configure set default.region us-east-1\n (from commercial Amazon Web Services Regions outside of China)\n

    \n

    or

    \n

    \n aws configure set default.region cn-northwest-1\n (from Amazon Web Services Regions in China)\n

    \n
  • \n
  • \n

    Use the following parameter with each command to specify the endpoint:

    \n

    \n --region us-east-1\n (from commercial Amazon Web Services Regions outside of China)\n

    \n

    or

    \n

    \n --region cn-northwest-1\n (from Amazon Web Services Regions in China)\n

    \n
  • \n
\n

\n Recording API Requests\n

\n

Organizations supports CloudTrail, a service that records Amazon Web Services API calls for your\n Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information collected\n by CloudTrail, you can determine which requests the Organizations service received, who made the\n request and when, and so on. For more about Organizations and its support for CloudTrail, see\n Logging\n Organizations API calls with CloudTrail in the\n Organizations User Guide. To learn more about CloudTrail, including how to turn it\n on and find your log files, see the CloudTrail User Guide.

", + "smithy.api#documentation": "

Organizations is a web service that enables you to consolidate your multiple\n Amazon Web Services accounts into an organization and centrally manage your\n accounts and their resources.

\n

This guide provides descriptions of the Organizations operations. For more\n information about using this service, see the Organizations User Guide.

\n

\n Support and feedback for Organizations\n

\n

We welcome your feedback. You can post your feedback and questions in the Organizations support\n forum. For more information about the Amazon Web Services Support forums, see Forums Help.

\n

\n Endpoint to call When using the CLI or the Amazon Web Services\n SDK\n

\n

For the current release of Organizations, specify the us-east-1 region\n for all Amazon Web Services API and CLI calls made from the commercial Amazon Web Services Regions outside of\n China. If calling from one of the Amazon Web Services Regions in China, then specify\n cn-northwest-1. You can do this in the CLI by using these parameters\n and commands:

\n
    \n
  • \n

    Use the following parameter with each command to specify both the endpoint and\n its region:

    \n

    \n --endpoint-url https://organizations.us-east-1.amazonaws.com\n (from commercial Amazon Web Services Regions outside of China)\n

    \n

    or

    \n

    \n --endpoint-url\n https://organizations.cn-northwest-1.amazonaws.com.cn\n (from Amazon Web Services Regions in China)\n

    \n
  • \n
  • \n

    Use the default endpoint, but configure your default region with this\n command:

    \n

    \n aws configure set default.region us-east-1\n (from commercial Amazon Web Services Regions outside of China)\n

    \n

    or

    \n

    \n aws configure set default.region cn-northwest-1\n (from Amazon Web Services Regions in China)\n

    \n
  • \n
  • \n

    Use the following parameter with each command to specify the endpoint:

    \n

    \n --region us-east-1\n (from commercial Amazon Web Services Regions outside of China)\n

    \n

    or

    \n

    \n --region cn-northwest-1\n (from Amazon Web Services Regions in China)\n

    \n
  • \n
\n

\n Recording API Requests\n

\n

Organizations supports CloudTrail, a service that records Amazon Web Services API calls for your\n Amazon Web Services account and delivers log files to an Amazon S3 bucket. By using information collected\n by CloudTrail, you can determine which requests the Organizations service received, who made the\n request and when, and so on. For more about Organizations and its support for CloudTrail, see\n Logging\n Organizations API calls with CloudTrail in the\n Organizations User Guide. To learn more about CloudTrail, including how to turn it\n on and find your log files, see the CloudTrail User Guide.

", "smithy.api#title": "AWS Organizations", "smithy.api#xmlNamespace": { "uri": "http://organizations.amazonaws.com/doc/2016-11-28/" @@ -242,27 +242,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -2186,7 +2186,7 @@ } }, "traits": { - "smithy.api#documentation": "

Performing this operation violates a minimum or maximum value limit. For example,\n attempting to remove the last service control policy (SCP) from an OU or root, inviting\n or creating too many accounts to the organization, or attaching too many policies to an\n account, OU, or root. This exception includes a reason that contains additional\n information about the violated limit:

\n \n

Some of the reasons in the following list might not be applicable to this specific\n API or operation.

\n
\n
    \n
  • \n

    ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management\n account from the organization. You can't remove the management account. Instead,\n after you remove all member accounts, delete the organization itself.

    \n
  • \n
  • \n

    ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an\n account from the organization that doesn't yet have enough information to exist\n as a standalone account. This account requires you to first complete phone\n verification. Follow the steps at Removing a member account from your organization in the\n Organizations User Guide.

    \n
  • \n
  • \n

    ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can create in one day.

    \n
  • \n
  • \n

    ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your\n account isn't fully active. You must complete the account setup before you\n create an organization.

    \n
  • \n
  • \n

    ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number\n of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to\n request an increase in your limit.

    \n

    Or the number of invitations that you tried to send would cause you to exceed\n the limit of accounts in your organization. Send fewer invitations or contact\n Amazon Web Services Support to request an increase in the number of accounts.

    \n \n

    Deleted and closed accounts still count toward your limit.

    \n
    \n \n

    If you get this exception when running a command immediately after\n creating the organization, wait one hour and try again. After an hour, if\n the command continues to fail with this error, contact Amazon Web Services Support.

    \n
    \n
  • \n
  • \n

    ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has\n more than 5000 accounts, and you can only use the standard migration process for\n organizations with less than 5000 accounts. Use the assisted migration process\n to enable all features mode, or create a support case for assistance if you are\n unable to use assisted migration.

    \n
  • \n
  • \n

    CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot\n register a suspended account as a delegated administrator.

    \n
  • \n
  • \n

    CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register\n the management account of the organization as a delegated administrator for an\n Amazon Web Services service integrated with Organizations. You can designate only a member account as a\n delegated administrator.

    \n
  • \n
  • \n

    CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management\n account. To close the management account for the organization, you must first\n either remove or close all member accounts in the organization. Follow standard\n account closure process using root credentials.​

    \n
  • \n
  • \n

    CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an\n account that is registered as a delegated administrator for a service integrated\n with your organization. To complete this operation, you must first deregister\n this account as a delegated administrator.

    \n
  • \n
  • \n

    CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the\n past 30 days.

    \n
  • \n
  • \n

    CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can close at a time. ​

    \n
  • \n
  • \n

    CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an\n organization in the specified region, you must enable all features mode.

    \n
  • \n
  • \n

    DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an\n Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has\n a delegated administrator. To complete this operation, you must first deregister\n any existing delegated administrators for this service.

    \n
  • \n
  • \n

    EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for\n a limited period of time. You must resubmit the request and generate a new\n verfication code.

    \n
  • \n
  • \n

    HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n handshakes that you can send in one day.

    \n
  • \n
  • \n

    INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported\n payment method is associated with the account. Amazon Web Services does not support cards\n issued by financial institutions in Russia or Belarus. For more information, see\n Managing your\n Amazon Web Services payments.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in\n this organization, you first must migrate the organization's management account\n to the marketplace that corresponds to the management account's address. All\n accounts in an organization must be associated with the same marketplace.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in\n China. To create an organization, the master must have a valid business license.\n For more information, contact customer support.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must\n first provide a valid contact address and phone number for the management\n account. Then try the operation again.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the\n management account must have an associated account in the Amazon Web Services GovCloud\n (US-West) Region. For more information, see Organizations\n in the \n Amazon Web Services GovCloud User Guide.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with\n this management account, you first must associate a valid payment instrument,\n such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

    \n
  • \n
  • \n

    MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to\n register more delegated administrators than allowed for the service principal.\n

    \n
  • \n
  • \n

    MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number\n of policies of a certain type that can be attached to an entity at one\n time.

    \n
  • \n
  • \n

    MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this\n resource.

    \n
  • \n
  • \n

    MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with\n this member account, you first must associate a valid payment instrument, such\n as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

    \n
  • \n
  • \n

    MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy\n from an entity that would cause the entity to have fewer than the minimum number\n of policies of a certain type required.

    \n
  • \n
  • \n

    ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation\n that requires the organization to be configured to support all features. An\n organization that supports only consolidated billing features can't perform this\n operation.

    \n
  • \n
  • \n

    OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many\n levels deep.

    \n
  • \n
  • \n

    OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you\n can have in an organization.

    \n
  • \n
  • \n

    POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger\n than the maximum size.

    \n
  • \n
  • \n

    POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies\n that you can have in an organization.

    \n
  • \n
  • \n

    POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access\n before you disabled the policy type (for example, SECURITYHUB_POLICY). To\n complete this operation, you must first disable the policy type.

    \n
  • \n
  • \n

    SERVICE_ACCESS_NOT_ENABLED:

    \n
      \n
    • \n

      You attempted to register a delegated administrator before you enabled\n service access. Call the EnableAWSServiceAccess API\n first.

      \n
    • \n
    • \n

      You attempted to enable a policy type before you enabled service\n access. Call the EnableAWSServiceAccess API first.

      \n
    • \n
    \n
  • \n
  • \n

    TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags\n that are not compliant with the tag policy requirements for this account.

    \n
  • \n
  • \n

    WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at\n least seven days after the account was created. Invited accounts aren't subject\n to this waiting period.

    \n
  • \n
", + "smithy.api#documentation": "

Performing this operation violates a minimum or maximum value limit. For example,\n attempting to remove the last service control policy (SCP) from an OU or root, inviting\n or creating too many accounts to the organization, or attaching too many policies to an\n account, OU, or root. This exception includes a reason that contains additional\n information about the violated limit:

\n \n

Some of the reasons in the following list might not be applicable to this specific\n API or operation.

\n
\n
    \n
  • \n

    ACCOUNT_CANNOT_LEAVE_ORGANIZATION: You attempted to remove the management\n account from the organization. You can't remove the management account. Instead,\n after you remove all member accounts, delete the organization itself.

    \n
  • \n
  • \n

    ACCOUNT_CANNOT_LEAVE_WITHOUT_PHONE_VERIFICATION: You attempted to remove an\n account from the organization that doesn't yet have enough information to exist\n as a standalone account. This account requires you to first complete phone\n verification. Follow the steps at Removing a member account from your organization in the\n Organizations User Guide.

    \n
  • \n
  • \n

    ACCOUNT_CREATION_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can create in one day.

    \n
  • \n
  • \n

    ACCOUNT_CREATION_NOT_COMPLETE: Your account setup isn't complete or your\n account isn't fully active. You must complete the account setup before you\n create an organization.

    \n
  • \n
  • \n

    ACCOUNT_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the limit on the number\n of accounts in an organization. If you need more accounts, contact Amazon Web Services Support to\n request an increase in your limit.

    \n

    Or the number of invitations that you tried to send would cause you to exceed\n the limit of accounts in your organization. Send fewer invitations or contact\n Amazon Web Services Support to request an increase in the number of accounts.

    \n \n

    Deleted and closed accounts still count toward your limit.

    \n
    \n \n

    If you get this exception when running a command immediately after\n creating the organization, wait one hour and try again. After an hour, if\n the command continues to fail with this error, contact Amazon Web Services Support.

    \n
    \n
  • \n
  • \n

    ALL_FEATURES_MIGRATION_ORGANIZATION_SIZE_LIMIT_EXCEEDED: Your organization has\n more than 5000 accounts, and you can only use the standard migration process for\n organizations with less than 5000 accounts. Use the assisted migration process\n to enable all features mode, or create a support case for assistance if you are\n unable to use assisted migration.

    \n
  • \n
  • \n

    CANNOT_REGISTER_SUSPENDED_ACCOUNT_AS_DELEGATED_ADMINISTRATOR: You cannot\n register a suspended account as a delegated administrator.

    \n
  • \n
  • \n

    CANNOT_REGISTER_MASTER_AS_DELEGATED_ADMINISTRATOR: You attempted to register\n the management account of the organization as a delegated administrator for an\n Amazon Web Services service integrated with Organizations. You can designate only a member account as a\n delegated administrator.

    \n
  • \n
  • \n

    CANNOT_CLOSE_MANAGEMENT_ACCOUNT: You attempted to close the management\n account. To close the management account for the organization, you must first\n either remove or close all member accounts in the organization. Follow standard\n account closure process using root credentials.​

    \n
  • \n
  • \n

    CANNOT_REMOVE_DELEGATED_ADMINISTRATOR_FROM_ORG: You attempted to remove an\n account that is registered as a delegated administrator for a service integrated\n with your organization. To complete this operation, you must first deregister\n this account as a delegated administrator.

    \n
  • \n
  • \n

    CLOSE_ACCOUNT_QUOTA_EXCEEDED: You have exceeded close account quota for the\n past 30 days.

    \n
  • \n
  • \n

    CLOSE_ACCOUNT_REQUESTS_LIMIT_EXCEEDED: You attempted to exceed the number of\n accounts that you can close at a time. ​

    \n
  • \n
  • \n

    CREATE_ORGANIZATION_IN_BILLING_MODE_UNSUPPORTED_REGION: To create an\n organization in the specified region, you must enable all features mode.

    \n
  • \n
  • \n

    DELEGATED_ADMINISTRATOR_EXISTS_FOR_THIS_SERVICE: You attempted to register an\n Amazon Web Services account as a delegated administrator for an Amazon Web Services service that already has\n a delegated administrator. To complete this operation, you must first deregister\n any existing delegated administrators for this service.

    \n
  • \n
  • \n

    EMAIL_VERIFICATION_CODE_EXPIRED: The email verification code is only valid for\n a limited period of time. You must resubmit the request and generate a new\n verfication code.

    \n
  • \n
  • \n

    HANDSHAKE_RATE_LIMIT_EXCEEDED: You attempted to exceed the number of\n handshakes that you can send in one day.

    \n
  • \n
  • \n

    INVALID_PAYMENT_INSTRUMENT: You cannot remove an account because no supported\n payment method is associated with the account. Amazon Web Services does not support cards\n issued by financial institutions in Russia or Belarus. For more information, see\n Managing your\n Amazon Web Services payments.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_ADDRESS_DOES_NOT_MATCH_MARKETPLACE: To create an account in\n this organization, you first must migrate the organization's management account\n to the marketplace that corresponds to the management account's address. All\n accounts in an organization must be associated with the same marketplace.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_MISSING_BUSINESS_LICENSE: Applies only to the Amazon Web Services Regions in\n China. To create an organization, the master must have a valid business license.\n For more information, contact customer support.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_MISSING_CONTACT_INFO: To complete this operation, you must\n first provide a valid contact address and phone number for the management\n account. Then try the operation again.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_NOT_GOVCLOUD_ENABLED: To complete this operation, the\n management account must have an associated account in the Amazon Web Services GovCloud\n (US-West) Region. For more information, see Organizations\n in the \n Amazon Web Services GovCloud User Guide.

    \n
  • \n
  • \n

    MASTER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To create an organization with\n this management account, you first must associate a valid payment instrument,\n such as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

    \n
  • \n
  • \n

    MAX_DELEGATED_ADMINISTRATORS_FOR_SERVICE_LIMIT_EXCEEDED: You attempted to\n register more delegated administrators than allowed for the service principal.\n

    \n
  • \n
  • \n

    MAX_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to exceed the number\n of policies of a certain type that can be attached to an entity at one\n time.

    \n
  • \n
  • \n

    MAX_TAG_LIMIT_EXCEEDED: You have exceeded the number of tags allowed on this\n resource.

    \n
  • \n
  • \n

    MEMBER_ACCOUNT_PAYMENT_INSTRUMENT_REQUIRED: To complete this operation with\n this member account, you first must associate a valid payment instrument, such\n as a credit card, with the account. For more information, see Considerations before removing an account from an organization in\n the Organizations User Guide.

    \n
  • \n
  • \n

    MIN_POLICY_TYPE_ATTACHMENT_LIMIT_EXCEEDED: You attempted to detach a policy\n from an entity that would cause the entity to have fewer than the minimum number\n of policies of a certain type required.

    \n
  • \n
  • \n

    ORGANIZATION_NOT_IN_ALL_FEATURES_MODE: You attempted to perform an operation\n that requires the organization to be configured to support all features. An\n organization that supports only consolidated billing features can't perform this\n operation.

    \n
  • \n
  • \n

    OU_DEPTH_LIMIT_EXCEEDED: You attempted to create an OU tree that is too many\n levels deep.

    \n
  • \n
  • \n

    OU_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of OUs that you\n can have in an organization.

    \n
  • \n
  • \n

    POLICY_CONTENT_LIMIT_EXCEEDED: You attempted to create a policy that is larger\n than the maximum size.

    \n
  • \n
  • \n

    POLICY_NUMBER_LIMIT_EXCEEDED: You attempted to exceed the number of policies\n that you can have in an organization.

    \n
  • \n
  • \n

    POLICY_TYPE_ENABLED_FOR_THIS_SERVICE: You attempted to disable service access\n before you disabled the policy type (for example, SECURITYHUB_POLICY). To\n complete this operation, you must first disable the policy type.

    \n
  • \n
  • \n

    SERVICE_ACCESS_NOT_ENABLED:

    \n
      \n
    • \n

      You attempted to register a delegated administrator before you enabled\n service access. Call the EnableAWSServiceAccess API\n first.

      \n
    • \n
    • \n

      You attempted to enable a policy type before you enabled service\n access. Call the EnableAWSServiceAccess API first.

      \n
    • \n
    \n
  • \n
  • \n

    TAG_POLICY_VIOLATION: You attempted to create or update a resource with tags\n that are not compliant with the tag policy requirements for this account.

    \n
  • \n
  • \n

    WAIT_PERIOD_ACTIVE: After you create an Amazon Web Services account, you must wait until at\n least four days after the account was created. Invited accounts aren't subject\n to this waiting period.

    \n
  • \n
", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -3326,6 +3326,12 @@ "smithy.api#documentation": "

The status of the delegated administrator's account in the organization.

" } }, + "State": { + "target": "com.amazonaws.organizations#AccountState", + "traits": { + "smithy.api#documentation": "

Each state represents a specific phase in the account lifecycle. Use this information\n to manage account access, automate workflows, or trigger actions based on account state\n changes.

\n

For more information about account states and their implications, see Monitor the state of your Amazon Web Services accounts in the\n Organizations User Guide.

" + } + }, "JoinedMethod": { "target": "com.amazonaws.organizations#AccountJoinedMethod", "traits": { @@ -5845,7 +5851,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes a member account from its parent organization. This version of the operation\n is performed by the account that wants to leave. To remove a member account as a user in\n the management account, use RemoveAccountFromOrganization\n instead.

\n

This operation can be called only from a member account in the organization.

\n \n
    \n
  • \n

    The management account in an organization with all features enabled can\n set service control policies (SCPs) that can restrict what administrators of\n member accounts can do. This includes preventing them from successfully\n calling LeaveOrganization and leaving the organization.

    \n
  • \n
  • \n

    You can leave an organization as a member account only if the account is\n configured with the information required to operate as a standalone account.\n When you create an account in an organization using the Organizations console,\n API, or CLI commands, the information required of standalone accounts is\n not automatically collected. For each account that\n you want to make standalone, you must perform the following steps. If any of\n the steps are already completed for this account, that step doesn't\n appear.

    \n
      \n
    • \n

      Choose a support plan

      \n
    • \n
    • \n

      Provide and verify the required contact information

      \n
    • \n
    • \n

      Provide a current payment method

      \n
    • \n
    \n

    Amazon Web Services uses the payment method to charge for any billable (not free tier)\n Amazon Web Services activity that occurs while the account isn't attached to an\n organization. For more information, see Considerations before removing an account from an organization\n in the Organizations User Guide.

    \n
  • \n
  • \n

    The account that you want to leave must not be a delegated administrator\n account for any Amazon Web Services service enabled for your organization. If the account\n is a delegated administrator, you must first change the delegated\n administrator account to another account that is remaining in the\n organization.

    \n
  • \n
  • \n

    After the account leaves the organization, all tags that were attached to\n the account object in the organization are deleted. Amazon Web Services accounts outside\n of an organization do not support tags.

    \n
  • \n
  • \n

    A newly created account has a waiting period before it can be removed from\n its organization. You must wait until at least seven days after the account\n was created. Invited accounts aren't subject to this waiting period.

    \n
  • \n
  • \n

    If you are using an organization principal to call\n LeaveOrganization across multiple accounts, you can only do\n this up to 5 accounts per second in a single organization.

    \n
  • \n
\n
", + "smithy.api#documentation": "

Removes a member account from its parent organization. This version of the operation\n is performed by the account that wants to leave. To remove a member account as a user in\n the management account, use RemoveAccountFromOrganization\n instead.

\n

This operation can be called only from a member account in the organization.

\n \n
    \n
  • \n

    The management account in an organization with all features enabled can\n set service control policies (SCPs) that can restrict what administrators of\n member accounts can do. This includes preventing them from successfully\n calling LeaveOrganization and leaving the organization.

    \n
  • \n
  • \n

    You can leave an organization as a member account only if the account is\n configured with the information required to operate as a standalone account.\n When you create an account in an organization using the Organizations console,\n API, or CLI commands, the information required of standalone accounts is\n not automatically collected. For each account that\n you want to make standalone, you must perform the following steps. If any of\n the steps are already completed for this account, that step doesn't\n appear.

    \n
      \n
    • \n

      Choose a support plan

      \n
    • \n
    • \n

      Provide and verify the required contact information

      \n
    • \n
    • \n

      Provide a current payment method

      \n
    • \n
    \n

    Amazon Web Services uses the payment method to charge for any billable (not free tier)\n Amazon Web Services activity that occurs while the account isn't attached to an\n organization. For more information, see Considerations before removing an account from an organization\n in the Organizations User Guide.

    \n
  • \n
  • \n

    The account that you want to leave must not be a delegated administrator\n account for any Amazon Web Services service enabled for your organization. If the account\n is a delegated administrator, you must first change the delegated\n administrator account to another account that is remaining in the\n organization.

    \n
  • \n
  • \n

    After the account leaves the organization, all tags that were attached to\n the account object in the organization are deleted. Amazon Web Services accounts outside\n of an organization do not support tags.

    \n
  • \n
  • \n

    A newly created account has a waiting period before it can be removed from\n its organization. You must wait until at least four days after the account\n was created. Invited accounts aren't subject to this waiting period.

    \n
  • \n
  • \n

    If you are using an organization principal to call\n LeaveOrganization across multiple accounts, you can only do\n this up to 5 accounts per second in a single organization.

    \n
  • \n
\n
", "smithy.api#examples": [ { "title": "To leave an organization as a member account", diff --git a/codegen/sdk-codegen/aws-models/osis.json b/codegen/sdk-codegen/aws-models/osis.json index 94f684074c6..dee337e908f 100644 --- a/codegen/sdk-codegen/aws-models/osis.json +++ b/codegen/sdk-codegen/aws-models/osis.json @@ -137,27 +137,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/outposts.json b/codegen/sdk-codegen/aws-models/outposts.json index 6c5b1a302da..15c00ba8b9d 100644 --- a/codegen/sdk-codegen/aws-models/outposts.json +++ b/codegen/sdk-codegen/aws-models/outposts.json @@ -4326,27 +4326,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/panorama.json b/codegen/sdk-codegen/aws-models/panorama.json index 67ba4e57247..f6cbc601206 100644 --- a/codegen/sdk-codegen/aws-models/panorama.json +++ b/codegen/sdk-codegen/aws-models/panorama.json @@ -4565,27 +4565,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/partnercentral-selling.json b/codegen/sdk-codegen/aws-models/partnercentral-selling.json index 6b01ce8bc7e..fffdb7049a8 100644 --- a/codegen/sdk-codegen/aws-models/partnercentral-selling.json +++ b/codegen/sdk-codegen/aws-models/partnercentral-selling.json @@ -103,19 +103,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/payment-cryptography-data.json b/codegen/sdk-codegen/aws-models/payment-cryptography-data.json index 7ccfdf943f3..5c1aea50291 100644 --- a/codegen/sdk-codegen/aws-models/payment-cryptography-data.json +++ b/codegen/sdk-codegen/aws-models/payment-cryptography-data.json @@ -2622,27 +2622,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/payment-cryptography.json b/codegen/sdk-codegen/aws-models/payment-cryptography.json index 4906eb0b4b7..2b9f2936303 100644 --- a/codegen/sdk-codegen/aws-models/payment-cryptography.json +++ b/codegen/sdk-codegen/aws-models/payment-cryptography.json @@ -47,7 +47,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Adds replication Amazon Web Services Regions to an existing Amazon Web Services Payment Cryptography key, enabling the key to be used for cryptographic operations in additional Amazon Web Services Regions.

Multi-region keys allow you to use the same key material across multiple Amazon Web Services Regions, providing lower latency for applications distributed across regions. When you add Replication Regions, Amazon Web Services Payment Cryptography securely replicates the key material to the specified Amazon Web Services Regions.

The key must be in an active state to add Replication Regions. You can add multiple regions in a single operation, and the key will be available for use in those regions once replication is complete.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" + "smithy.api#documentation": "

Adds replication Amazon Web Services Regions to an existing Amazon Web Services Payment Cryptography key, enabling the key to be used for cryptographic operations in additional Amazon Web Services Regions.

Multi-Region key replication allow you to use the same key material across multiple Amazon Web Services Regions, providing lower latency for applications distributed across regions. When you add Replication Regions, Amazon Web Services Payment Cryptography securely replicates the key material to the specified Amazon Web Services Regions.

The key must be in an active state to add Replication Regions. You can add multiple regions in a single operation, and the key will be available for use in those regions once replication is complete.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" } }, "com.amazonaws.paymentcryptography#AddKeyReplicationRegionsInput": { @@ -182,52 +182,52 @@ "CommonName": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Common Name to be used in the certificate signing request", + "smithy.api#documentation": "

The name you provide to create the certificate signing request.

", "smithy.api#length": { "min": 1, "max": 64 }, - "smithy.api#pattern": "^[A-Za-z]+$", + "smithy.api#pattern": "^[^\\[;\\]<>]+$", "smithy.api#required": {} } }, "OrganizationUnit": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Organization Unit to be used in the certificate signing request", + "smithy.api#documentation": "

The organization unit you provide to create the certificate signing request.

", "smithy.api#length": { "min": 1, "max": 64 }, - "smithy.api#pattern": "^[A-Za-z]+$" + "smithy.api#pattern": "^[^\\[;\\]<>]+$" } }, "Organization": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Organization to be used in the certificate signing request", + "smithy.api#documentation": "

The organization you provide to create the certificate signing request.

", "smithy.api#length": { "min": 1, "max": 64 }, - "smithy.api#pattern": "^[A-Za-z]+$" + "smithy.api#pattern": "^[^\\[;\\]<>]+$" } }, "City": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "City to be used in the certificate signing request", + "smithy.api#documentation": "

The city you provide to create the certificate signing request.

", "smithy.api#length": { "min": 1, "max": 128 }, - "smithy.api#pattern": "^[A-Za-z]+$" + "smithy.api#pattern": "^[^\\[;\\]<>]+$" } }, "Country": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Country to be used in the certificate signing request", + "smithy.api#documentation": "

The city you provide to create the certificate signing request.

", "smithy.api#length": { "min": 2, "max": 2 @@ -238,18 +238,18 @@ "StateOrProvince": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "State Or Province to be used in the certificate signing request", + "smithy.api#documentation": "

The state or province you provide to create the certificate signing request.

", "smithy.api#length": { "min": 1, "max": 128 }, - "smithy.api#pattern": "^[A-Za-z]+$" + "smithy.api#pattern": "^[^\\[;\\]<>]+$" } }, "EmailAddress": { "target": "smithy.api#String", "traits": { - "smithy.api#documentation": "Email to be used in the certificate signing request", + "smithy.api#documentation": "

The email address you provide to create the certificate signing request.

", "smithy.api#length": { "min": 1, "max": 128 @@ -259,7 +259,7 @@ } }, "traits": { - "smithy.api#documentation": "Metadata used in generating the CSR" + "smithy.api#documentation": "

The metadata used to create the certificate signing request.

" } }, "com.amazonaws.paymentcryptography#CertificateType": { @@ -780,7 +780,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Disables multi-region key replication settings for the specified Amazon Web Services Regions in your account, preventing new keys from being automatically replicated to those regions.

After disabling default replication for specific regions, new keys created in your account will not be automatically replicated to those regions. You can still manually add replication to those regions for individual keys using the AddKeyReplicationRegions operation.

This operation does not affect existing keys or their current replication configuration.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" + "smithy.api#documentation": "

Disables Multi-Region key replication settings for the specified Amazon Web Services Regions in your Amazon Web Services account, preventing new keys from being automatically replicated to those regions.

After disabling Multi-Region key replication for specific regions, new keys created in your account will not be automatically replicated to those regions. You can still manually add replication to those regions for individual keys using the AddKeyReplicationRegions operation.

This operation does not affect existing keys or their current replication configuration.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" } }, "com.amazonaws.paymentcryptography#DisableDefaultKeyReplicationRegionsInput": { @@ -848,7 +848,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Enables multi-region key replication settings for your account, causing new keys to be automatically replicated to the specified Amazon Web Services Regions when created.

When default Replication Regions are enabled, any new keys created in your account will automatically be replicated to these regions unless you explicitly override this behavior during key creation. This simplifies key management for applications that operate across multiple regions.

Existing keys are not affected by this operation - only keys created after enabling default replication will be automatically replicated.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" + "smithy.api#documentation": "

Enables Multi-Region key replication settings for your Amazon Web Services account, causing new keys to be automatically replicated to the specified Amazon Web Services Regions when created.

When Multi-Region key replication are enabled, any new keys created in your account will automatically be replicated to these regions unless you explicitly override this behavior during key creation. This simplifies key management for applications that operate across multiple regions.

Existing keys are not affected by this operation - only keys created after enabling default replication will be automatically replicated.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" } }, "com.amazonaws.paymentcryptography#EnableDefaultKeyReplicationRegionsInput": { @@ -857,7 +857,7 @@ "ReplicationRegions": { "target": "com.amazonaws.paymentcryptography#Regions", "traits": { - "smithy.api#documentation": "

The list of Amazon Web Services Regions to enable as default replication regions for the account.

New keys created in this account will automatically be replicated to these regions unless explicitly overridden during key creation.

", + "smithy.api#documentation": "

The list of Amazon Web Services Regions to enable as default replication regions for the Amazon Web Services account for Multi-Region key replication.

New keys created in this account will automatically be replicated to these regions unless explicitly overridden during key creation.

", "smithy.api#required": {} } } @@ -1181,13 +1181,13 @@ "SigningKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "Key Identifier used for signing the export key" + "smithy.api#documentation": "

Key Identifier used for signing the export key

" } }, "SigningKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "Certificate used for signing the export key" + "smithy.api#documentation": "

The certificate used to sign the TR-34 key block.

" } }, "KeyBlockFormat": { @@ -1312,7 +1312,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "Used to retrieve the public key for a keypair." + "smithy.api#documentation": "

Creates a certificate signing request (CSR) from a key pair.

" } }, "com.amazonaws.paymentcryptography#GetCertificateSigningRequestInput": { @@ -1321,21 +1321,21 @@ "KeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "Asymmetric key used for generating the certificate signing request", + "smithy.api#documentation": "

Asymmetric key used for generating the certificate signing request

", "smithy.api#required": {} } }, "SigningAlgorithm": { "target": "com.amazonaws.paymentcryptography#SigningAlgorithmType", "traits": { - "smithy.api#documentation": "Algorithm used to generate the certificate signing request", + "smithy.api#documentation": "

The cryptographic algorithm used to sign your CSR.

", "smithy.api#required": {} } }, "CertificateSubject": { "target": "com.amazonaws.paymentcryptography#CertificateSubjectType", "traits": { - "smithy.api#documentation": "Certificate subject data", + "smithy.api#documentation": "

The metadata used to create the CSR.

", "smithy.api#required": {} } } @@ -1350,7 +1350,7 @@ "CertificateSigningRequest": { "target": "com.amazonaws.paymentcryptography#CertificateSigningRequestType", "traits": { - "smithy.api#documentation": "Certificate signing request", + "smithy.api#documentation": "

The certificate signing request generated using the key pair associated with the key identifier.

", "smithy.api#required": {} } } @@ -1392,7 +1392,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Retrieves the list of regions where default key replication is currently enabled for your account.

This operation returns the current configuration of default Replication Regions. New keys created in your account will be automatically replicated to these regions unless explicitly overridden during key creation.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" + "smithy.api#documentation": "

Retrieves the list of Amazon Web Services Regions where Multi-Region key replication is currently enabled for your Amazon Web Services account.

This operation returns the current Multi-Region key replication configuration. New keys created in your account will be automatically replicated to these regions unless explicitly overridden during key creation.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" } }, "com.amazonaws.paymentcryptography#GetDefaultKeyReplicationRegionsInput": { @@ -2071,13 +2071,13 @@ "WrappingKeyIdentifier": { "target": "com.amazonaws.paymentcryptography#KeyArnOrKeyAliasType", "traits": { - "smithy.api#documentation": "Key Identifier used for unwrapping the import key" + "smithy.api#documentation": "

Key Identifier used for unwrapping the import key

" } }, "WrappingKeyCertificate": { "target": "com.amazonaws.paymentcryptography#CertificateType", "traits": { - "smithy.api#documentation": "Key Identifier used for unwrapping the import key" + "smithy.api#documentation": "

The certificate used to wrap the TR-34 key block.

" } }, "WrappedKeyBlock": { @@ -2258,7 +2258,7 @@ "target": "com.amazonaws.paymentcryptography#MultiRegionKeyType", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

Indicates whether this key is a multi-region key and its role in the multi-region key hierarchy.

Multi-region keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a primary key (which can be replicated to other regions) or a replica key (which is a copy of a primary key in another region).

", + "smithy.api#documentation": "

Indicates whether this key is a Multi-Region key and its role in the Multi-Region key hierarchy.

Multi-Region replication keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a Primary Region key (PRK) (which can be replicated to other Amazon Web Services Regions) or a Replica Region key (RRK) (which is a copy of a PRK in another Region). For more information, see Multi-Region key replication.

", "smithy.api#suppress": [ "UnstableTrait" ] @@ -2277,7 +2277,7 @@ "target": "com.amazonaws.paymentcryptography#ReplicationStatus", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

Information about the replication status of the key across different regions.

This field provides details about the current state of key replication, including any status messages or operational information. It helps track the progress and health of key replication operations.

", + "smithy.api#documentation": "

Information about the replication status of the key across different Amazon Web Services Regions.

This field provides details about the current state of key replication, including any status messages or operational information. It helps track the progress and health of key replication operations.

", "smithy.api#suppress": [ "UnstableTrait" ] @@ -2287,7 +2287,7 @@ "target": "smithy.api#Boolean", "traits": { "aws.cloudformation#cfnExcludeProperty": {}, - "smithy.api#documentation": "

Indicates whether this key is using the account's default replication regions configuration.

When set to true, the key automatically replicates to the regions specified in the account's default replication settings. When set to false, the key has a custom replication configuration that overrides the account defaults.

", + "smithy.api#documentation": "

Indicates whether this key is using the account's default replication regions configuration for Multi-Region key replication.

When set to true, the key automatically replicates to the regions specified in the account's default replication settings. When set to false, the key has a custom replication configuration that overrides the account defaults.

", "smithy.api#suppress": [ "UnstableTrait" ] @@ -2579,7 +2579,7 @@ "type": "string", "traits": { "smithy.api#length": { - "min": 48, + "min": 32, "max": 16384 }, "smithy.api#sensitive": {} @@ -2843,7 +2843,7 @@ "MultiRegionKeyType": { "target": "com.amazonaws.paymentcryptography#MultiRegionKeyType", "traits": { - "smithy.api#documentation": "

Indicates whether this key is a multi-region key and its role in the multi-region key hierarchy.

Multi-region keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a primary key (which can be replicated to other regions) or a replica key (which is a copy of a primary key in another region).

" + "smithy.api#documentation": "

Indicates whether this key is a Multi-Region key and its role in the Multi-Region key hierarchy.

Multi-Region replication keys allow the same key material to be used across multiple Amazon Web Services Regions. This field specifies whether the key is a Primary Region key (PRK) (which can be replicated to other Amazon Web Services Regions) or a Replica Region key (RRK) (which is a copy of a PRK in another Region). For more information, see Multi-Region key replication.

" } }, "PrimaryRegion": { @@ -3374,27 +3374,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -4038,7 +4038,7 @@ ], "traits": { "aws.api#controlPlane": {}, - "smithy.api#documentation": "

Removes Replication Regions from an existing Amazon Web Services Payment Cryptography key, disabling the key's availability for cryptographic operations in the specified Amazon Web Services Regions.

When you remove Replication Regions, the key material is securely deleted from those regions and can no longer be used for cryptographic operations there. This operation is irreversible for the specified Amazon Web Services Regions.

Ensure that no active cryptographic operations or applications depend on the key in the regions you're removing before performing this operation.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" + "smithy.api#documentation": "

Removes Replication Regions from an existing Amazon Web Services Payment Cryptography key, disabling the key's availability for cryptographic operations in the specified Amazon Web Services Regions.

When you remove Replication Regions, the key material is securely deleted from those regions and can no longer be used for cryptographic operations there. This operation is irreversible for the specified Amazon Web Services Regions. For more information, see Multi-Region key replication.

Ensure that no active cryptographic operations or applications depend on the key in the regions you're removing before performing this operation.

Cross-account use: This operation can't be used across different Amazon Web Services accounts.

Related operations:

" } }, "com.amazonaws.paymentcryptography#RemoveKeyReplicationRegionsInput": { @@ -4099,7 +4099,7 @@ "Status": { "target": "com.amazonaws.paymentcryptography#KeyReplicationState", "traits": { - "smithy.api#documentation": "

The current status of key replication in this region.

This field indicates whether the key replication is in progress, completed successfully, or has encountered an error. Possible values include states such as SYNCRHONIZED, IN_PROGRESS, DELETE_IN_PROGRESS, or FAILED. This provides visibility into the replication process for monitoring and troubleshooting purposes.

", + "smithy.api#documentation": "

The current status of key replication in this Amazon Web Services Region.

This field indicates whether the key replication is in progress, completed successfully, or has encountered an error. Possible values include states such as SYNCRHONIZED, IN_PROGRESS, DELETE_IN_PROGRESS, or FAILED. This provides visibility into the replication process for monitoring and troubleshooting purposes.

", "smithy.api#required": {} } }, @@ -4111,7 +4111,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents the replication status information for a key in a replication region.

This structure contains details about the current state of key replication, including any status messages and operational information about the replication process.

" + "smithy.api#documentation": "

Represents the replication status information for a key in a replication region for Multi-Region key replication.

This structure contains details about the current state of key replication, including any status messages and operational information about the replication process.

" } }, "com.amazonaws.paymentcryptography#ResourceArn": { @@ -4274,7 +4274,7 @@ "com.amazonaws.paymentcryptography#SigningAlgorithmType": { "type": "string", "traits": { - "smithy.api#documentation": "Defines the Algorithm used to generate the certificate signing request", + "smithy.api#documentation": "

Defines the Algorithm used to generate the certificate signing request

", "smithy.api#enum": [ { "value": "SHA224", diff --git a/codegen/sdk-codegen/aws-models/pca-connector-ad.json b/codegen/sdk-codegen/aws-models/pca-connector-ad.json index 2f2f2053231..fcc09be49f1 100644 --- a/codegen/sdk-codegen/aws-models/pca-connector-ad.json +++ b/codegen/sdk-codegen/aws-models/pca-connector-ad.json @@ -3365,27 +3365,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pca-connector-scep.json b/codegen/sdk-codegen/aws-models/pca-connector-scep.json index c023a7f5d38..9dd2df9e8b7 100644 --- a/codegen/sdk-codegen/aws-models/pca-connector-scep.json +++ b/codegen/sdk-codegen/aws-models/pca-connector-scep.json @@ -1377,27 +1377,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pcs.json b/codegen/sdk-codegen/aws-models/pcs.json index 3eb97da8af9..4a5123f91c4 100644 --- a/codegen/sdk-codegen/aws-models/pcs.json +++ b/codegen/sdk-codegen/aws-models/pcs.json @@ -65,27 +65,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/personalize-events.json b/codegen/sdk-codegen/aws-models/personalize-events.json index bce06cd6b8b..85ddfa03a80 100644 --- a/codegen/sdk-codegen/aws-models/personalize-events.json +++ b/codegen/sdk-codegen/aws-models/personalize-events.json @@ -203,27 +203,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/personalize-runtime.json b/codegen/sdk-codegen/aws-models/personalize-runtime.json index 41eefe2f954..60d088f4330 100644 --- a/codegen/sdk-codegen/aws-models/personalize-runtime.json +++ b/codegen/sdk-codegen/aws-models/personalize-runtime.json @@ -79,27 +79,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/personalize.json b/codegen/sdk-codegen/aws-models/personalize.json index 17a2332c782..a85cdd23fe0 100644 --- a/codegen/sdk-codegen/aws-models/personalize.json +++ b/codegen/sdk-codegen/aws-models/personalize.json @@ -366,27 +366,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pi.json b/codegen/sdk-codegen/aws-models/pi.json index deb82f4669a..ccc89129126 100644 --- a/codegen/sdk-codegen/aws-models/pi.json +++ b/codegen/sdk-codegen/aws-models/pi.json @@ -1965,27 +1965,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pinpoint-email.json b/codegen/sdk-codegen/aws-models/pinpoint-email.json index 2afc96106b2..2b84c7b3eaa 100644 --- a/codegen/sdk-codegen/aws-models/pinpoint-email.json +++ b/codegen/sdk-codegen/aws-models/pinpoint-email.json @@ -207,27 +207,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pinpoint-sms-voice-v2.json b/codegen/sdk-codegen/aws-models/pinpoint-sms-voice-v2.json index 9cb49bc0d64..fa7745cde05 100644 --- a/codegen/sdk-codegen/aws-models/pinpoint-sms-voice-v2.json +++ b/codegen/sdk-codegen/aws-models/pinpoint-sms-voice-v2.json @@ -7688,27 +7688,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pinpoint-sms-voice.json b/codegen/sdk-codegen/aws-models/pinpoint-sms-voice.json index 16542aff60e..d7706d2141a 100644 --- a/codegen/sdk-codegen/aws-models/pinpoint-sms-voice.json +++ b/codegen/sdk-codegen/aws-models/pinpoint-sms-voice.json @@ -721,27 +721,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pinpoint.json b/codegen/sdk-codegen/aws-models/pinpoint.json index 4b6dd4b3b4b..0c4dcd90c08 100644 --- a/codegen/sdk-codegen/aws-models/pinpoint.json +++ b/codegen/sdk-codegen/aws-models/pinpoint.json @@ -15242,27 +15242,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pipes.json b/codegen/sdk-codegen/aws-models/pipes.json index 1e8e2913280..bb549ea2976 100644 --- a/codegen/sdk-codegen/aws-models/pipes.json +++ b/codegen/sdk-codegen/aws-models/pipes.json @@ -3521,27 +3521,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/polly.json b/codegen/sdk-codegen/aws-models/polly.json index d0e18abbf0d..1b77dc8a80c 100644 --- a/codegen/sdk-codegen/aws-models/polly.json +++ b/codegen/sdk-codegen/aws-models/polly.json @@ -1284,27 +1284,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/pricing.json b/codegen/sdk-codegen/aws-models/pricing.json index f734f803e89..aeaa8a6b554 100644 --- a/codegen/sdk-codegen/aws-models/pricing.json +++ b/codegen/sdk-codegen/aws-models/pricing.json @@ -42,27 +42,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/qapps.json b/codegen/sdk-codegen/aws-models/qapps.json index 4d5b13f1394..ee302b8225b 100644 --- a/codegen/sdk-codegen/aws-models/qapps.json +++ b/codegen/sdk-codegen/aws-models/qapps.json @@ -4750,27 +4750,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/qbusiness.json b/codegen/sdk-codegen/aws-models/qbusiness.json index d0578c13e5c..45a4093209a 100644 --- a/codegen/sdk-codegen/aws-models/qbusiness.json +++ b/codegen/sdk-codegen/aws-models/qbusiness.json @@ -6966,20 +6966,20 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/qldb-session.json b/codegen/sdk-codegen/aws-models/qldb-session.json deleted file mode 100644 index 4fcbb5c2ac6..00000000000 --- a/codegen/sdk-codegen/aws-models/qldb-session.json +++ /dev/null @@ -1,1457 +0,0 @@ -{ - "smithy": "2.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, - "shapes": { - "com.amazonaws.qldbsession#AbortTransactionRequest": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "

Contains the details of the transaction to abort.

" - } - }, - "com.amazonaws.qldbsession#AbortTransactionResult": { - "type": "structure", - "members": { - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the aborted transaction.

" - } - }, - "com.amazonaws.qldbsession#BadRequestException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldbsession#ErrorMessage" - }, - "Code": { - "target": "com.amazonaws.qldbsession#ErrorCode" - } - }, - "traits": { - "smithy.api#documentation": "

Returned if the request is malformed or contains an error such as an invalid parameter\n value or a missing required parameter.

", - "smithy.api#error": "client" - } - }, - "com.amazonaws.qldbsession#CapacityExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldbsession#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

Returned when the request exceeds the processing capacity of the ledger.

", - "smithy.api#error": "server", - "smithy.api#httpError": 503 - } - }, - "com.amazonaws.qldbsession#CommitDigest": { - "type": "blob" - }, - "com.amazonaws.qldbsession#CommitTransactionRequest": { - "type": "structure", - "members": { - "TransactionId": { - "target": "com.amazonaws.qldbsession#TransactionId", - "traits": { - "smithy.api#documentation": "

Specifies the transaction ID of the transaction to commit.

", - "smithy.api#required": {} - } - }, - "CommitDigest": { - "target": "com.amazonaws.qldbsession#CommitDigest", - "traits": { - "smithy.api#documentation": "

Specifies the commit digest for the transaction to commit. For every active transaction,\n the commit digest must be passed. QLDB validates CommitDigest and rejects\n the commit with an error if the digest computed on the client does not match the digest\n computed by QLDB.

\n

The purpose of the CommitDigest parameter is to ensure that QLDB commits\n a transaction if and only if the server has processed the exact set of statements sent by\n the client, in the same order that client sent them, and with no duplicates.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the transaction to commit.

" - } - }, - "com.amazonaws.qldbsession#CommitTransactionResult": { - "type": "structure", - "members": { - "TransactionId": { - "target": "com.amazonaws.qldbsession#TransactionId", - "traits": { - "smithy.api#documentation": "

The transaction ID of the committed transaction.

" - } - }, - "CommitDigest": { - "target": "com.amazonaws.qldbsession#CommitDigest", - "traits": { - "smithy.api#documentation": "

The commit digest of the committed transaction.

" - } - }, - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - }, - "ConsumedIOs": { - "target": "com.amazonaws.qldbsession#IOUsage", - "traits": { - "smithy.api#documentation": "

Contains metrics about the number of I/O requests that were consumed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the committed transaction.

" - } - }, - "com.amazonaws.qldbsession#EndSessionRequest": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "

Specifies a request to end the session.

" - } - }, - "com.amazonaws.qldbsession#EndSessionResult": { - "type": "structure", - "members": { - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the ended session.

" - } - }, - "com.amazonaws.qldbsession#ErrorCode": { - "type": "string" - }, - "com.amazonaws.qldbsession#ErrorMessage": { - "type": "string" - }, - "com.amazonaws.qldbsession#ExecuteStatementRequest": { - "type": "structure", - "members": { - "TransactionId": { - "target": "com.amazonaws.qldbsession#TransactionId", - "traits": { - "smithy.api#documentation": "

Specifies the transaction ID of the request.

", - "smithy.api#required": {} - } - }, - "Statement": { - "target": "com.amazonaws.qldbsession#Statement", - "traits": { - "smithy.api#documentation": "

Specifies the statement of the request.

", - "smithy.api#required": {} - } - }, - "Parameters": { - "target": "com.amazonaws.qldbsession#StatementParameters", - "traits": { - "smithy.api#documentation": "

Specifies the parameters for the parameterized statement in the request.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a request to execute a statement.

" - } - }, - "com.amazonaws.qldbsession#ExecuteStatementResult": { - "type": "structure", - "members": { - "FirstPage": { - "target": "com.amazonaws.qldbsession#Page", - "traits": { - "smithy.api#documentation": "

Contains the details of the first fetched page.

" - } - }, - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - }, - "ConsumedIOs": { - "target": "com.amazonaws.qldbsession#IOUsage", - "traits": { - "smithy.api#documentation": "

Contains metrics about the number of I/O requests that were consumed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the executed statement.

" - } - }, - "com.amazonaws.qldbsession#FetchPageRequest": { - "type": "structure", - "members": { - "TransactionId": { - "target": "com.amazonaws.qldbsession#TransactionId", - "traits": { - "smithy.api#documentation": "

Specifies the transaction ID of the page to be fetched.

", - "smithy.api#required": {} - } - }, - "NextPageToken": { - "target": "com.amazonaws.qldbsession#PageToken", - "traits": { - "smithy.api#documentation": "

Specifies the next page token of the page to be fetched.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies the details of the page to be fetched.

" - } - }, - "com.amazonaws.qldbsession#FetchPageResult": { - "type": "structure", - "members": { - "Page": { - "target": "com.amazonaws.qldbsession#Page", - "traits": { - "smithy.api#documentation": "

Contains details of the fetched page.

" - } - }, - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - }, - "ConsumedIOs": { - "target": "com.amazonaws.qldbsession#IOUsage", - "traits": { - "smithy.api#documentation": "

Contains metrics about the number of I/O requests that were consumed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the page that was fetched.

" - } - }, - "com.amazonaws.qldbsession#IOUsage": { - "type": "structure", - "members": { - "ReadIOs": { - "target": "com.amazonaws.qldbsession#ReadIOs", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of read I/O requests that the command made.

" - } - }, - "WriteIOs": { - "target": "com.amazonaws.qldbsession#WriteIOs", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of write I/O requests that the command made.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains I/O usage metrics for a command that was invoked.

" - } - }, - "com.amazonaws.qldbsession#InvalidSessionException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldbsession#ErrorMessage" - }, - "Code": { - "target": "com.amazonaws.qldbsession#ErrorCode" - } - }, - "traits": { - "smithy.api#documentation": "

Returned if the session doesn't exist anymore because it timed out or expired.

", - "smithy.api#error": "client" - } - }, - "com.amazonaws.qldbsession#IonBinary": { - "type": "blob", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 131072 - } - } - }, - "com.amazonaws.qldbsession#IonText": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1048576 - } - } - }, - "com.amazonaws.qldbsession#LedgerName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 32 - }, - "smithy.api#pattern": "^(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$" - } - }, - "com.amazonaws.qldbsession#LimitExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldbsession#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

Returned if a resource limit such as number of active sessions is exceeded.

", - "smithy.api#error": "client" - } - }, - "com.amazonaws.qldbsession#OccConflictException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldbsession#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

Returned when a transaction cannot be written to the journal due to a failure in the\n verification phase of optimistic concurrency control (OCC).

", - "smithy.api#error": "client" - } - }, - "com.amazonaws.qldbsession#Page": { - "type": "structure", - "members": { - "Values": { - "target": "com.amazonaws.qldbsession#ValueHolders", - "traits": { - "smithy.api#documentation": "

A structure that contains values in multiple encoding formats.

" - } - }, - "NextPageToken": { - "target": "com.amazonaws.qldbsession#PageToken", - "traits": { - "smithy.api#documentation": "

The token of the next page.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains details of the fetched page.

" - } - }, - "com.amazonaws.qldbsession#PageToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 4, - "max": 1024 - }, - "smithy.api#pattern": "^[A-Za-z-0-9+/=]+$" - } - }, - "com.amazonaws.qldbsession#ProcessingTimeMilliseconds": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.qldbsession#QLDBSession": { - "type": "service", - "version": "2019-07-11", - "operations": [ - { - "target": "com.amazonaws.qldbsession#SendCommand" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "QLDB Session", - "arnNamespace": "qldb", - "cloudFormationName": "QLDBSession", - "cloudTrailEventSource": "qldbsession.amazonaws.com", - "endpointPrefix": "session.qldb" - }, - "aws.auth#sigv4": { - "name": "qldb" - }, - "aws.protocols#awsJson1_0": {}, - "smithy.api#documentation": "

The transactional data APIs for Amazon QLDB

\n \n

Instead of interacting directly with this API, we recommend using the QLDB driver\n or the QLDB shell to execute data transactions on a ledger.

\n
    \n
  • \n

    If you are working with an AWS SDK, use the QLDB driver. The driver provides\n a high-level abstraction layer above this QLDB Session data\n plane and manages SendCommand API calls for you. For information and\n a list of supported programming languages, see Getting started\n with the driver in the Amazon QLDB Developer\n Guide.

    \n
  • \n
  • \n

    If you are working with the AWS Command Line Interface (AWS CLI), use the\n QLDB shell. The shell is a command line interface that uses the QLDB driver to\n interact with a ledger. For information, see Accessing Amazon QLDB using the\n QLDB shell.

    \n
  • \n
\n
", - "smithy.api#title": "Amazon QLDB Session", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://session.qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://session.qldb-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://session.qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://session.qldb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://session.qldb.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.qldbsession#RateExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldbsession#ErrorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

Returned when the rate of requests exceeds the allowed throughput.

", - "smithy.api#error": "client" - } - }, - "com.amazonaws.qldbsession#ReadIOs": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.qldbsession#SendCommand": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldbsession#SendCommandRequest" - }, - "output": { - "target": "com.amazonaws.qldbsession#SendCommandResult" - }, - "errors": [ - { - "target": "com.amazonaws.qldbsession#BadRequestException" - }, - { - "target": "com.amazonaws.qldbsession#CapacityExceededException" - }, - { - "target": "com.amazonaws.qldbsession#InvalidSessionException" - }, - { - "target": "com.amazonaws.qldbsession#LimitExceededException" - }, - { - "target": "com.amazonaws.qldbsession#OccConflictException" - }, - { - "target": "com.amazonaws.qldbsession#RateExceededException" - } - ], - "traits": { - "smithy.api#documentation": "

Sends a command to an Amazon QLDB ledger.

\n \n

Instead of interacting directly with this API, we recommend using the QLDB driver\n or the QLDB shell to execute data transactions on a ledger.

\n
    \n
  • \n

    If you are working with an AWS SDK, use the QLDB driver. The driver provides\n a high-level abstraction layer above this QLDB Session data\n plane and manages SendCommand API calls for you. For information and\n a list of supported programming languages, see Getting started\n with the driver in the Amazon QLDB Developer\n Guide.

    \n
  • \n
  • \n

    If you are working with the AWS Command Line Interface (AWS CLI), use the\n QLDB shell. The shell is a command line interface that uses the QLDB driver to\n interact with a ledger. For information, see Accessing Amazon QLDB using the\n QLDB shell.

    \n
  • \n
\n
" - } - }, - "com.amazonaws.qldbsession#SendCommandRequest": { - "type": "structure", - "members": { - "SessionToken": { - "target": "com.amazonaws.qldbsession#SessionToken", - "traits": { - "smithy.api#documentation": "

Specifies the session token for the current command. A session token is constant\n throughout the life of the session.

\n

To obtain a session token, run the StartSession command. This\n SessionToken is required for every subsequent command that is issued during\n the current session.

" - } - }, - "StartSession": { - "target": "com.amazonaws.qldbsession#StartSessionRequest", - "traits": { - "smithy.api#documentation": "

Command to start a new session. A session token is obtained as part of the\n response.

" - } - }, - "StartTransaction": { - "target": "com.amazonaws.qldbsession#StartTransactionRequest", - "traits": { - "smithy.api#documentation": "

Command to start a new transaction.

" - } - }, - "EndSession": { - "target": "com.amazonaws.qldbsession#EndSessionRequest", - "traits": { - "smithy.api#documentation": "

Command to end the current session.

" - } - }, - "CommitTransaction": { - "target": "com.amazonaws.qldbsession#CommitTransactionRequest", - "traits": { - "smithy.api#documentation": "

Command to commit the specified transaction.

" - } - }, - "AbortTransaction": { - "target": "com.amazonaws.qldbsession#AbortTransactionRequest", - "traits": { - "smithy.api#documentation": "

Command to abort the current transaction.

" - } - }, - "ExecuteStatement": { - "target": "com.amazonaws.qldbsession#ExecuteStatementRequest", - "traits": { - "smithy.api#documentation": "

Command to execute a statement in the specified transaction.

" - } - }, - "FetchPage": { - "target": "com.amazonaws.qldbsession#FetchPageRequest", - "traits": { - "smithy.api#documentation": "

Command to fetch a page.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldbsession#SendCommandResult": { - "type": "structure", - "members": { - "StartSession": { - "target": "com.amazonaws.qldbsession#StartSessionResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the started session that includes a session token. This\n SessionToken is required for every subsequent command that is issued during\n the current session.

" - } - }, - "StartTransaction": { - "target": "com.amazonaws.qldbsession#StartTransactionResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the started transaction.

" - } - }, - "EndSession": { - "target": "com.amazonaws.qldbsession#EndSessionResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the ended session.

" - } - }, - "CommitTransaction": { - "target": "com.amazonaws.qldbsession#CommitTransactionResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the committed transaction.

" - } - }, - "AbortTransaction": { - "target": "com.amazonaws.qldbsession#AbortTransactionResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the aborted transaction.

" - } - }, - "ExecuteStatement": { - "target": "com.amazonaws.qldbsession#ExecuteStatementResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the executed statement.

" - } - }, - "FetchPage": { - "target": "com.amazonaws.qldbsession#FetchPageResult", - "traits": { - "smithy.api#documentation": "

Contains the details of the fetched page.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldbsession#SessionToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 4, - "max": 1024 - }, - "smithy.api#pattern": "^[A-Za-z-0-9+/=]+$" - } - }, - "com.amazonaws.qldbsession#StartSessionRequest": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldbsession#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger to start a new session against.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Specifies a request to start a new session.

" - } - }, - "com.amazonaws.qldbsession#StartSessionResult": { - "type": "structure", - "members": { - "SessionToken": { - "target": "com.amazonaws.qldbsession#SessionToken", - "traits": { - "smithy.api#documentation": "

Session token of the started session. This SessionToken is required for\n every subsequent command that is issued during the current session.

" - } - }, - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the started session.

" - } - }, - "com.amazonaws.qldbsession#StartTransactionRequest": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#documentation": "

Specifies a request to start a transaction.

" - } - }, - "com.amazonaws.qldbsession#StartTransactionResult": { - "type": "structure", - "members": { - "TransactionId": { - "target": "com.amazonaws.qldbsession#TransactionId", - "traits": { - "smithy.api#documentation": "

The transaction ID of the started transaction.

" - } - }, - "TimingInformation": { - "target": "com.amazonaws.qldbsession#TimingInformation", - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for the command.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains the details of the started transaction.

" - } - }, - "com.amazonaws.qldbsession#Statement": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100000 - } - } - }, - "com.amazonaws.qldbsession#StatementParameters": { - "type": "list", - "member": { - "target": "com.amazonaws.qldbsession#ValueHolder" - } - }, - "com.amazonaws.qldbsession#TimingInformation": { - "type": "structure", - "members": { - "ProcessingTimeMilliseconds": { - "target": "com.amazonaws.qldbsession#ProcessingTimeMilliseconds", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The amount of time that QLDB spent on processing the command, measured in\n milliseconds.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Contains server-side performance information for a command. Amazon QLDB captures timing\n information between the times when it receives the request and when it sends the\n corresponding response.

" - } - }, - "com.amazonaws.qldbsession#TransactionId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 22, - "max": 22 - }, - "smithy.api#pattern": "^[A-Za-z-0-9]+$" - } - }, - "com.amazonaws.qldbsession#ValueHolder": { - "type": "structure", - "members": { - "IonBinary": { - "target": "com.amazonaws.qldbsession#IonBinary", - "traits": { - "smithy.api#documentation": "

An Amazon Ion binary value contained in a ValueHolder structure.

" - } - }, - "IonText": { - "target": "com.amazonaws.qldbsession#IonText", - "traits": { - "smithy.api#documentation": "

An Amazon Ion plaintext value contained in a ValueHolder structure.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A structure that can contain a value in multiple encoding formats.

" - } - }, - "com.amazonaws.qldbsession#ValueHolders": { - "type": "list", - "member": { - "target": "com.amazonaws.qldbsession#ValueHolder" - } - }, - "com.amazonaws.qldbsession#WriteIOs": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - } - } -} diff --git a/codegen/sdk-codegen/aws-models/qldb.json b/codegen/sdk-codegen/aws-models/qldb.json deleted file mode 100644 index 0700c7607d1..00000000000 --- a/codegen/sdk-codegen/aws-models/qldb.json +++ /dev/null @@ -1,3166 +0,0 @@ -{ - "smithy": "2.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, - "shapes": { - "com.amazonaws.qldb#AmazonQLDB": { - "type": "service", - "version": "2019-01-02", - "operations": [ - { - "target": "com.amazonaws.qldb#CancelJournalKinesisStream" - }, - { - "target": "com.amazonaws.qldb#CreateLedger" - }, - { - "target": "com.amazonaws.qldb#DeleteLedger" - }, - { - "target": "com.amazonaws.qldb#DescribeJournalKinesisStream" - }, - { - "target": "com.amazonaws.qldb#DescribeJournalS3Export" - }, - { - "target": "com.amazonaws.qldb#DescribeLedger" - }, - { - "target": "com.amazonaws.qldb#ExportJournalToS3" - }, - { - "target": "com.amazonaws.qldb#GetBlock" - }, - { - "target": "com.amazonaws.qldb#GetDigest" - }, - { - "target": "com.amazonaws.qldb#GetRevision" - }, - { - "target": "com.amazonaws.qldb#ListJournalKinesisStreamsForLedger" - }, - { - "target": "com.amazonaws.qldb#ListJournalS3Exports" - }, - { - "target": "com.amazonaws.qldb#ListJournalS3ExportsForLedger" - }, - { - "target": "com.amazonaws.qldb#ListLedgers" - }, - { - "target": "com.amazonaws.qldb#ListTagsForResource" - }, - { - "target": "com.amazonaws.qldb#StreamJournalToKinesis" - }, - { - "target": "com.amazonaws.qldb#TagResource" - }, - { - "target": "com.amazonaws.qldb#UntagResource" - }, - { - "target": "com.amazonaws.qldb#UpdateLedger" - }, - { - "target": "com.amazonaws.qldb#UpdateLedgerPermissionsMode" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "QLDB", - "arnNamespace": "qldb", - "cloudFormationName": "QLDB", - "cloudTrailEventSource": "qldb.amazonaws.com", - "endpointPrefix": "qldb" - }, - "aws.auth#sigv4": { - "name": "qldb" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

The resource management API for Amazon QLDB

", - "smithy.api#title": "Amazon QLDB", - "smithy.api#xmlNamespace": { - "uri": "http://ledger.amazonaws.com/doc/2019-01-02/" - }, - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://qldb-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://qldb-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://qldb.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://qldb.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.eu-west-2.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://qldb.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://qldb.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - }, - "com.amazonaws.qldb#Arn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 20, - "max": 1600 - } - } - }, - "com.amazonaws.qldb#Boolean": { - "type": "boolean" - }, - "com.amazonaws.qldb#CancelJournalKinesisStream": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#CancelJournalKinesisStreamRequest" - }, - "output": { - "target": "com.amazonaws.qldb#CancelJournalKinesisStreamResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Ends a given Amazon QLDB journal stream. Before a stream can be canceled, its current\n status must be ACTIVE.

\n

You can't restart a stream after you cancel it. Canceled QLDB stream resources are\n subject to a 7-day retention period, so they are automatically deleted after this limit\n expires.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/ledgers/{LedgerName}/journal-kinesis-streams/{StreamId}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#CancelJournalKinesisStreamRequest": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "StreamId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) of the QLDB journal stream to be\n canceled.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#CancelJournalKinesisStreamResponse": { - "type": "structure", - "members": { - "StreamId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (Base62-encoded text) of the canceled QLDB journal stream.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#CreateLedger": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#CreateLedgerRequest" - }, - "output": { - "target": "com.amazonaws.qldb#CreateLedgerResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#LimitExceededException" - }, - { - "target": "com.amazonaws.qldb#ResourceAlreadyExistsException" - }, - { - "target": "com.amazonaws.qldb#ResourceInUseException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates a new ledger in your Amazon Web Services account in the current Region.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ledgers", - "code": 200 - } - } - }, - "com.amazonaws.qldb#CreateLedgerRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger that you want to create. The name must be unique among all of the\n ledgers in your Amazon Web Services account in the current Region.

\n

Naming constraints for ledger names are defined in Quotas in Amazon QLDB\n in the Amazon QLDB Developer Guide.

", - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.qldb#Tags", - "traits": { - "smithy.api#documentation": "

The key-value pairs to add as tags to the ledger that you want to create. Tag keys are\n case sensitive. Tag values are case sensitive and can be null.

" - } - }, - "PermissionsMode": { - "target": "com.amazonaws.qldb#PermissionsMode", - "traits": { - "smithy.api#documentation": "

The permissions mode to assign to the ledger that you want to create. This parameter can\n have one of the following values:

\n
    \n
  • \n

    \n ALLOW_ALL: A legacy permissions mode that enables access control with\n API-level granularity for ledgers.

    \n

    This mode allows users who have the SendCommand API permission for\n this ledger to run all PartiQL commands (hence, ALLOW_ALL) on any tables\n in the specified ledger. This mode disregards any table-level or command-level IAM\n permissions policies that you create for the ledger.

    \n
  • \n
  • \n

    \n STANDARD: (Recommended) A permissions mode that\n enables access control with finer granularity for ledgers, tables, and PartiQL\n commands.

    \n

    By default, this mode denies all user requests to run any PartiQL commands on any\n tables in this ledger. To allow PartiQL commands to run, you must create IAM\n permissions policies for specific table resources and PartiQL actions, in addition to\n the SendCommand API permission for the ledger. For information, see\n Getting\n started with the standard permissions mode in the Amazon QLDB\n Developer Guide.

    \n
  • \n
\n \n

We strongly recommend using the STANDARD permissions mode to maximize\n the security of your ledger data.

\n
", - "smithy.api#required": {} - } - }, - "DeletionProtection": { - "target": "com.amazonaws.qldb#DeletionProtection", - "traits": { - "smithy.api#documentation": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during\n ledger creation, this feature is enabled (true) by default.

\n

If deletion protection is enabled, you must first disable it before you can delete the\n ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

" - } - }, - "KmsKey": { - "target": "com.amazonaws.qldb#KmsKey", - "traits": { - "smithy.api#documentation": "

The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For\n more information, see Encryption at rest in\n the Amazon QLDB Developer Guide.

\n

Use one of the following options to specify this parameter:

\n
    \n
  • \n

    \n AWS_OWNED_KMS_KEY: Use an KMS key that is owned and managed by Amazon Web Services\n on your behalf.

    \n
  • \n
  • \n

    \n Undefined: By default, use an Amazon Web Services owned KMS\n key.

    \n
  • \n
  • \n

    \n A valid symmetric customer managed KMS key: Use\n the specified symmetric encryption KMS key in your account that you create, own, and\n manage.

    \n

    Amazon QLDB does not support asymmetric keys. For more information, see Using symmetric and asymmetric keys in the Key Management Service Developer\n Guide.

    \n
  • \n
\n

To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name\n (ARN), alias name, or alias ARN. When using an alias name, prefix it with\n \"alias/\". To specify a key in a different Amazon Web Services account, you must use the key\n ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN:\n arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN:\n arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

For more information, see Key identifiers (KeyId) in\n the Key Management Service Developer Guide.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#CreateLedgerResponse": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

" - } - }, - "Arn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the ledger.

" - } - }, - "State": { - "target": "com.amazonaws.qldb#LedgerState", - "traits": { - "smithy.api#documentation": "

The current status of the ledger.

" - } - }, - "CreationDateTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the ledger was created. (Epoch time format\n is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

" - } - }, - "PermissionsMode": { - "target": "com.amazonaws.qldb#PermissionsMode", - "traits": { - "smithy.api#documentation": "

The permissions mode of the ledger that you created.

" - } - }, - "DeletionProtection": { - "target": "com.amazonaws.qldb#DeletionProtection", - "traits": { - "smithy.api#documentation": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during\n ledger creation, this feature is enabled (true) by default.

\n

If deletion protection is enabled, you must first disable it before you can delete the\n ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

" - } - }, - "KmsKeyArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The ARN of the customer managed KMS key that the ledger uses for encryption at rest. If\n this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#DeleteLedger": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#DeleteLedgerRequest" - }, - "output": { - "target": "smithy.api#Unit" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceInUseException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Deletes a ledger and all of its contents. This action is irreversible.

\n

If deletion protection is enabled, you must first disable it before you can delete the\n ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/ledgers/{Name}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#DeleteLedgerRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger that you want to delete.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#DeletionProtection": { - "type": "boolean" - }, - "com.amazonaws.qldb#DescribeJournalKinesisStream": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#DescribeJournalKinesisStreamRequest" - }, - "output": { - "target": "com.amazonaws.qldb#DescribeJournalKinesisStreamResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns detailed information about a given Amazon QLDB journal stream. The output\n includes the Amazon Resource Name (ARN), stream name, current status, creation time, and\n the parameters of the original stream creation request.

\n

This action does not return any expired journal streams. For more information, see\n Expiration for terminal streams in the Amazon QLDB Developer\n Guide.

", - "smithy.api#http": { - "method": "GET", - "uri": "/ledgers/{LedgerName}/journal-kinesis-streams/{StreamId}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#DescribeJournalKinesisStreamRequest": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "StreamId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) of the QLDB journal stream to\n describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#DescribeJournalKinesisStreamResponse": { - "type": "structure", - "members": { - "Stream": { - "target": "com.amazonaws.qldb#JournalKinesisStreamDescription", - "traits": { - "smithy.api#documentation": "

Information about the QLDB journal stream returned by a\n DescribeJournalS3Export request.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#DescribeJournalS3Export": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#DescribeJournalS3ExportRequest" - }, - "output": { - "target": "com.amazonaws.qldb#DescribeJournalS3ExportResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns information about a journal export job, including the ledger name, export ID,\n creation time, current status, and the parameters of the original export creation\n request.

\n

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer\n Guide.

\n

If the export job with the given ExportId doesn't exist, then throws\n ResourceNotFoundException.

\n

If the ledger with the given Name doesn't exist, then throws\n ResourceNotFoundException.

", - "smithy.api#http": { - "method": "GET", - "uri": "/ledgers/{Name}/journal-s3-exports/{ExportId}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#DescribeJournalS3ExportRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "ExportId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) of the journal export job to\n describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#DescribeJournalS3ExportResponse": { - "type": "structure", - "members": { - "ExportDescription": { - "target": "com.amazonaws.qldb#JournalS3ExportDescription", - "traits": { - "smithy.api#documentation": "

Information about the journal export job returned by a\n DescribeJournalS3Export request.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#DescribeLedger": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#DescribeLedgerRequest" - }, - "output": { - "target": "com.amazonaws.qldb#DescribeLedgerResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns information about a ledger, including its state, permissions mode, encryption at\n rest settings, and when it was created.

", - "smithy.api#http": { - "method": "GET", - "uri": "/ledgers/{Name}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#DescribeLedgerRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger that you want to describe.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#DescribeLedgerResponse": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

" - } - }, - "Arn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the ledger.

" - } - }, - "State": { - "target": "com.amazonaws.qldb#LedgerState", - "traits": { - "smithy.api#documentation": "

The current status of the ledger.

" - } - }, - "CreationDateTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the ledger was created. (Epoch time format\n is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

" - } - }, - "PermissionsMode": { - "target": "com.amazonaws.qldb#PermissionsMode", - "traits": { - "smithy.api#documentation": "

The permissions mode of the ledger.

" - } - }, - "DeletionProtection": { - "target": "com.amazonaws.qldb#DeletionProtection", - "traits": { - "smithy.api#documentation": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during\n ledger creation, this feature is enabled (true) by default.

\n

If deletion protection is enabled, you must first disable it before you can delete the\n ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

" - } - }, - "EncryptionDescription": { - "target": "com.amazonaws.qldb#LedgerEncryptionDescription", - "traits": { - "smithy.api#documentation": "

Information about the encryption of data at rest in the ledger. This includes the\n current status, the KMS key, and when the key became inaccessible (in the case of an\n error). If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key for encryption.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#Digest": { - "type": "blob", - "traits": { - "smithy.api#length": { - "min": 32, - "max": 32 - } - } - }, - "com.amazonaws.qldb#EncryptionStatus": { - "type": "enum", - "members": { - "ENABLED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ENABLED" - } - }, - "UPDATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPDATING" - } - }, - "KMS_KEY_INACCESSIBLE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "KMS_KEY_INACCESSIBLE" - } - } - } - }, - "com.amazonaws.qldb#ErrorCause": { - "type": "enum", - "members": { - "KINESIS_STREAM_NOT_FOUND": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "KINESIS_STREAM_NOT_FOUND" - } - }, - "IAM_PERMISSION_REVOKED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "IAM_PERMISSION_REVOKED" - } - } - } - }, - "com.amazonaws.qldb#ErrorMessage": { - "type": "string" - }, - "com.amazonaws.qldb#ExportJournalToS3": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#ExportJournalToS3Request" - }, - "output": { - "target": "com.amazonaws.qldb#ExportJournalToS3Response" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Exports journal contents within a date and time range from a ledger into a specified\n Amazon Simple Storage Service (Amazon S3) bucket. A journal export job can write the data objects in either the text\n or binary representation of Amazon Ion format, or in JSON Lines text\n format.

\n

If the ledger with the given Name doesn't exist, then throws\n ResourceNotFoundException.

\n

If the ledger with the given Name is in CREATING status, then\n throws ResourcePreconditionNotMetException.

\n

You can initiate up to two concurrent journal export requests for each ledger. Beyond\n this limit, journal export requests throw LimitExceededException.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ledgers/{Name}/journal-s3-exports", - "code": 200 - } - } - }, - "com.amazonaws.qldb#ExportJournalToS3Request": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "InclusiveStartTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The inclusive start date and time for the range of journal contents to export.

\n

The InclusiveStartTime must be in ISO 8601 date and time\n format and in Universal Coordinated Time (UTC). For example:\n 2019-06-13T21:36:34Z.

\n

The InclusiveStartTime must be before ExclusiveEndTime.

\n

If you provide an InclusiveStartTime that is before the ledger's\n CreationDateTime, Amazon QLDB defaults it to the ledger's\n CreationDateTime.

", - "smithy.api#required": {} - } - }, - "ExclusiveEndTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The exclusive end date and time for the range of journal contents to export.

\n

The ExclusiveEndTime must be in ISO 8601 date and time format\n and in Universal Coordinated Time (UTC). For example:\n 2019-06-13T21:36:34Z.

\n

The ExclusiveEndTime must be less than or equal to the current UTC date and\n time.

", - "smithy.api#required": {} - } - }, - "S3ExportConfiguration": { - "target": "com.amazonaws.qldb#S3ExportConfiguration", - "traits": { - "smithy.api#documentation": "

The configuration settings of the Amazon S3 bucket destination for your export\n request.

", - "smithy.api#required": {} - } - }, - "RoleArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a\n journal export job to do the following:

\n
    \n
  • \n

    Write objects into your Amazon S3 bucket.

    \n
  • \n
  • \n

    (Optional) Use your customer managed key in Key Management Service (KMS) for server-side\n encryption of your exported data.

    \n
  • \n
\n

To pass a role to QLDB when requesting a journal export, you must have permissions to\n perform the iam:PassRole action on the IAM role resource. This is required for\n all journal export requests.

", - "smithy.api#required": {} - } - }, - "OutputFormat": { - "target": "com.amazonaws.qldb#OutputFormat", - "traits": { - "smithy.api#documentation": "

The output format of your exported journal data. A journal export job can write the data\n objects in either the text or binary representation of Amazon Ion format, or in JSON Lines text format.

\n

Default: ION_TEXT\n

\n

In JSON Lines format, each journal block in an exported data object is a valid JSON\n object that is delimited by a newline. You can use this format to directly integrate JSON\n exports with analytics tools such as Amazon Athena and Glue\n because these services can parse newline-delimited JSON automatically.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#ExportJournalToS3Response": { - "type": "structure", - "members": { - "ExportId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) that QLDB assigns to each journal export\n job.

\n

To describe your export request and check the status of the job, you can use\n ExportId to call DescribeJournalS3Export.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#ExportStatus": { - "type": "enum", - "members": { - "IN_PROGRESS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "IN_PROGRESS" - } - }, - "COMPLETED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "COMPLETED" - } - }, - "CANCELLED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CANCELLED" - } - } - } - }, - "com.amazonaws.qldb#GetBlock": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#GetBlockRequest" - }, - "output": { - "target": "com.amazonaws.qldb#GetBlockResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a block object at a specified address in a journal. Also returns a proof of the\n specified block for verification if DigestTipAddress is provided.

\n

For information about the data contents in a block, see Journal contents in the\n Amazon QLDB Developer Guide.

\n

If the specified ledger doesn't exist or is in DELETING status, then throws\n ResourceNotFoundException.

\n

If the specified ledger is in CREATING status, then throws\n ResourcePreconditionNotMetException.

\n

If no block exists with the specified address, then throws\n InvalidParameterException.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ledgers/{Name}/block", - "code": 200 - } - } - }, - "com.amazonaws.qldb#GetBlockRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "BlockAddress": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The location of the block that you want to request. An address is an Amazon Ion\n structure that has two fields: strandId and sequenceNo.

\n

For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:14}.

", - "smithy.api#required": {} - } - }, - "DigestTipAddress": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The latest block location covered by the digest for which to request a proof. An address\n is an Amazon Ion structure that has two fields: strandId and\n sequenceNo.

\n

For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:49}.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#GetBlockResponse": { - "type": "structure", - "members": { - "Block": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The block data object in Amazon Ion format.

", - "smithy.api#required": {} - } - }, - "Proof": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The proof object in Amazon Ion format returned by a GetBlock request. A\n proof contains the list of hash values required to recalculate the specified digest using a\n Merkle tree, starting with the specified block.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#GetDigest": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#GetDigestRequest" - }, - "output": { - "target": "com.amazonaws.qldb#GetDigestResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns the digest of a ledger at the latest committed block in the journal. The\n response includes a 256-bit hash value and a block address.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ledgers/{Name}/digest", - "code": 200 - } - } - }, - "com.amazonaws.qldb#GetDigestRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#GetDigestResponse": { - "type": "structure", - "members": { - "Digest": { - "target": "com.amazonaws.qldb#Digest", - "traits": { - "smithy.api#documentation": "

The 256-bit hash value representing the digest returned by a GetDigest\n request.

", - "smithy.api#required": {} - } - }, - "DigestTipAddress": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The latest block location covered by the digest that you requested. An address is an\n Amazon Ion structure that has two fields: strandId and\n sequenceNo.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#GetRevision": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#GetRevisionRequest" - }, - "output": { - "target": "com.amazonaws.qldb#GetRevisionResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns a revision data object for a specified document ID and block address. Also\n returns a proof of the specified revision for verification if DigestTipAddress\n is provided.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ledgers/{Name}/revision", - "code": 200 - } - } - }, - "com.amazonaws.qldb#GetRevisionRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "BlockAddress": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The block location of the document revision to be verified. An address is an Amazon Ion\n structure that has two fields: strandId and sequenceNo.

\n

For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:14}.

", - "smithy.api#required": {} - } - }, - "DocumentId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) of the document to be verified.

", - "smithy.api#required": {} - } - }, - "DigestTipAddress": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The latest block location covered by the digest for which to request a proof. An address\n is an Amazon Ion structure that has two fields: strandId and\n sequenceNo.

\n

For example: {strandId:\"BlFTjlSXze9BIh1KOszcE3\",sequenceNo:49}.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#GetRevisionResponse": { - "type": "structure", - "members": { - "Proof": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The proof object in Amazon Ion format returned by a GetRevision request. A\n proof contains the list of hash values that are required to recalculate the specified\n digest using a Merkle tree, starting with the specified document revision.

" - } - }, - "Revision": { - "target": "com.amazonaws.qldb#ValueHolder", - "traits": { - "smithy.api#documentation": "

The document revision data object in Amazon Ion format.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#InvalidParameterException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldb#ErrorMessage" - }, - "ParameterName": { - "target": "com.amazonaws.qldb#ParameterName", - "traits": { - "smithy.api#documentation": "

The name of the invalid parameter.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

One or more parameters in the request aren't valid.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.qldb#IonText": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1048576 - }, - "smithy.api#sensitive": {} - } - }, - "com.amazonaws.qldb#JournalKinesisStreamDescription": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#required": {} - } - }, - "CreationTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the QLDB journal stream was created.\n (Epoch time format is the number of seconds elapsed since 12:00:00 AM January 1, 1970\n UTC.)

" - } - }, - "InclusiveStartTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The inclusive start date and time from which to start streaming journal data.

" - } - }, - "ExclusiveEndTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The exclusive date and time that specifies when the stream ends. If this parameter is\n undefined, the stream runs indefinitely until you cancel it.

" - } - }, - "RoleArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a\n journal stream to write data records to a Kinesis Data Streams resource.

", - "smithy.api#required": {} - } - }, - "StreamId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) of the QLDB journal stream.

", - "smithy.api#required": {} - } - }, - "Arn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the QLDB journal stream.

" - } - }, - "Status": { - "target": "com.amazonaws.qldb#StreamStatus", - "traits": { - "smithy.api#documentation": "

The current state of the QLDB journal stream.

", - "smithy.api#required": {} - } - }, - "KinesisConfiguration": { - "target": "com.amazonaws.qldb#KinesisConfiguration", - "traits": { - "smithy.api#documentation": "

The configuration settings of the Amazon Kinesis Data Streams destination for a QLDB journal\n stream.

", - "smithy.api#required": {} - } - }, - "ErrorCause": { - "target": "com.amazonaws.qldb#ErrorCause", - "traits": { - "smithy.api#documentation": "

The error message that describes the reason that a stream has a status of\n IMPAIRED or FAILED. This is not applicable to streams that\n have other status values.

" - } - }, - "StreamName": { - "target": "com.amazonaws.qldb#StreamName", - "traits": { - "smithy.api#documentation": "

The user-defined name of the QLDB journal stream.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an Amazon QLDB journal stream, including the Amazon Resource Name\n (ARN), stream name, creation time, current status, and the parameters of the original\n stream creation request.

" - } - }, - "com.amazonaws.qldb#JournalKinesisStreamDescriptionList": { - "type": "list", - "member": { - "target": "com.amazonaws.qldb#JournalKinesisStreamDescription" - } - }, - "com.amazonaws.qldb#JournalS3ExportDescription": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#required": {} - } - }, - "ExportId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) of the journal export job.

", - "smithy.api#required": {} - } - }, - "ExportCreationTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the export job was created. (Epoch time\n format is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

", - "smithy.api#required": {} - } - }, - "Status": { - "target": "com.amazonaws.qldb#ExportStatus", - "traits": { - "smithy.api#documentation": "

The current state of the journal export job.

", - "smithy.api#required": {} - } - }, - "InclusiveStartTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The inclusive start date and time for the range of journal contents that was specified\n in the original export request.

", - "smithy.api#required": {} - } - }, - "ExclusiveEndTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The exclusive end date and time for the range of journal contents that was specified in\n the original export request.

", - "smithy.api#required": {} - } - }, - "S3ExportConfiguration": { - "target": "com.amazonaws.qldb#S3ExportConfiguration", - "traits": { - "smithy.api#required": {} - } - }, - "RoleArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a\n journal export job to do the following:

\n
    \n
  • \n

    Write objects into your Amazon Simple Storage Service (Amazon S3) bucket.

    \n
  • \n
  • \n

    (Optional) Use your customer managed key in Key Management Service (KMS) for server-side\n encryption of your exported data.

    \n
  • \n
", - "smithy.api#required": {} - } - }, - "OutputFormat": { - "target": "com.amazonaws.qldb#OutputFormat", - "traits": { - "smithy.api#documentation": "

The output format of the exported journal data.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a journal export job, including the ledger name, export ID, creation\n time, current status, and the parameters of the original export creation request.

" - } - }, - "com.amazonaws.qldb#JournalS3ExportList": { - "type": "list", - "member": { - "target": "com.amazonaws.qldb#JournalS3ExportDescription" - } - }, - "com.amazonaws.qldb#KinesisConfiguration": { - "type": "structure", - "members": { - "StreamArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.

", - "smithy.api#required": {} - } - }, - "AggregationEnabled": { - "target": "com.amazonaws.qldb#Boolean", - "traits": { - "smithy.api#documentation": "

Enables QLDB to publish multiple data records in a single Kinesis Data Streams record, increasing the\n number of records sent per API call.

\n

Default: True\n

\n \n

Record aggregation has important implications for processing records and requires\n de-aggregation in your stream consumer. To learn more, see KPL Key Concepts and\n Consumer\n De-aggregation in the Amazon Kinesis Data Streams Developer Guide.

\n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

The configuration settings of the Amazon Kinesis Data Streams destination for an Amazon QLDB journal\n stream.

" - } - }, - "com.amazonaws.qldb#KmsKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1600 - } - } - }, - "com.amazonaws.qldb#LedgerEncryptionDescription": { - "type": "structure", - "members": { - "KmsKeyArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the customer managed KMS key that the ledger uses for\n encryption at rest. If this parameter is undefined, the ledger uses an Amazon Web Services owned KMS key\n for encryption. It will display AWS_OWNED_KMS_KEY when updating the ledger's encryption configuration to the Amazon Web Services owned KMS key.

", - "smithy.api#required": {} - } - }, - "EncryptionStatus": { - "target": "com.amazonaws.qldb#EncryptionStatus", - "traits": { - "smithy.api#documentation": "

The current state of encryption at rest for the ledger. This can be one of the following\n values:

\n
    \n
  • \n

    \n ENABLED: Encryption is fully enabled using the specified key.

    \n
  • \n
  • \n

    \n UPDATING: The ledger is actively processing the specified key\n change.

    \n

    Key changes in QLDB are asynchronous. The ledger is fully accessible without any\n performance impact while the key change is being processed. The amount of time it\n takes to update a key varies depending on the ledger size.

    \n
  • \n
  • \n

    \n KMS_KEY_INACCESSIBLE: The specified customer managed KMS key is not\n accessible, and the ledger is impaired. Either the key was disabled or deleted, or\n the grants on the key were revoked. When a ledger is impaired, it is not accessible\n and does not accept any read or write requests.

    \n

    An impaired ledger automatically returns to an active state after you restore the\n grants on the key, or re-enable the key that was disabled. However, deleting a\n customer managed KMS key is irreversible. After a key is deleted, you can no longer\n access the ledgers that are protected with that key, and the data becomes\n unrecoverable permanently.

    \n
  • \n
", - "smithy.api#required": {} - } - }, - "InaccessibleKmsKeyDateTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the KMS key first became inaccessible,\n in the case of an error. (Epoch time format is the number of seconds that have elapsed\n since 12:00:00 AM January 1, 1970 UTC.)

\n

This parameter is undefined if the KMS key is accessible.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the encryption of data at rest in an Amazon QLDB ledger. This includes\n the current status, the key in Key Management Service (KMS), and when the key became inaccessible (in\n the case of an error).

\n

For more information, see Encryption at rest in\n the Amazon QLDB Developer Guide.

" - } - }, - "com.amazonaws.qldb#LedgerList": { - "type": "list", - "member": { - "target": "com.amazonaws.qldb#LedgerSummary" - } - }, - "com.amazonaws.qldb#LedgerName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 32 - }, - "smithy.api#pattern": "^(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$" - } - }, - "com.amazonaws.qldb#LedgerState": { - "type": "enum", - "members": { - "CREATING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CREATING" - } - }, - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVE" - } - }, - "DELETING": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETING" - } - }, - "DELETED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DELETED" - } - } - } - }, - "com.amazonaws.qldb#LedgerSummary": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

" - } - }, - "State": { - "target": "com.amazonaws.qldb#LedgerState", - "traits": { - "smithy.api#documentation": "

The current status of the ledger.

" - } - }, - "CreationDateTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the ledger was created. (Epoch time format\n is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a ledger, including its name, state, and when it was created.

" - } - }, - "com.amazonaws.qldb#LimitExceededException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldb#ErrorMessage" - }, - "ResourceType": { - "target": "com.amazonaws.qldb#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

You have reached the limit on the maximum number of resources allowed.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.qldb#ListJournalKinesisStreamsForLedger": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#ListJournalKinesisStreamsForLedgerRequest" - }, - "output": { - "target": "com.amazonaws.qldb#ListJournalKinesisStreamsForLedgerResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns all Amazon QLDB journal streams for a given ledger.

\n

This action does not return any expired journal streams. For more information, see\n Expiration for terminal streams in the Amazon QLDB Developer\n Guide.

\n

This action returns a maximum of MaxResults items. It is paginated so that\n you can retrieve all the items by calling ListJournalKinesisStreamsForLedger\n multiple times.

", - "smithy.api#http": { - "method": "GET", - "uri": "/ledgers/{LedgerName}/journal-kinesis-streams", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.qldb#ListJournalKinesisStreamsForLedgerRequest": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "MaxResults": { - "target": "com.amazonaws.qldb#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return in a single\n ListJournalKinesisStreamsForLedger request. (The actual number of results\n returned might be fewer.)

", - "smithy.api#httpQuery": "max_results" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token, indicating that you want to retrieve the next page of results. If\n you received a value for NextToken in the response from a previous\n ListJournalKinesisStreamsForLedger call, you should use that value as input\n here.

", - "smithy.api#httpQuery": "next_token" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#ListJournalKinesisStreamsForLedgerResponse": { - "type": "structure", - "members": { - "Streams": { - "target": "com.amazonaws.qldb#JournalKinesisStreamDescriptionList", - "traits": { - "smithy.api#documentation": "

The QLDB journal streams that are currently associated with the given ledger.

" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "
    \n
  • \n

    If NextToken is empty, the last page of results has been processed\n and there are no more results to be retrieved.

    \n
  • \n
  • \n

    If NextToken is not empty, more results are\n available. To retrieve the next page of results, use the value of\n NextToken in a subsequent\n ListJournalKinesisStreamsForLedger call.

    \n
  • \n
" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#ListJournalS3Exports": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#ListJournalS3ExportsRequest" - }, - "output": { - "target": "com.amazonaws.qldb#ListJournalS3ExportsResponse" - }, - "traits": { - "smithy.api#documentation": "

Returns all journal export jobs for all ledgers that are associated with the current\n Amazon Web Services account and Region.

\n

This action returns a maximum of MaxResults items, and is paginated so that\n you can retrieve all the items by calling ListJournalS3Exports multiple\n times.

\n

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer\n Guide.

", - "smithy.api#http": { - "method": "GET", - "uri": "/journal-s3-exports", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.qldb#ListJournalS3ExportsForLedger": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#ListJournalS3ExportsForLedgerRequest" - }, - "output": { - "target": "com.amazonaws.qldb#ListJournalS3ExportsForLedgerResponse" - }, - "traits": { - "smithy.api#documentation": "

Returns all journal export jobs for a specified ledger.

\n

This action returns a maximum of MaxResults items, and is paginated so that\n you can retrieve all the items by calling ListJournalS3ExportsForLedger\n multiple times.

\n

This action does not return any expired export jobs. For more information, see Export job expiration in the Amazon QLDB Developer\n Guide.

", - "smithy.api#http": { - "method": "GET", - "uri": "/ledgers/{Name}/journal-s3-exports", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.qldb#ListJournalS3ExportsForLedgerRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "MaxResults": { - "target": "com.amazonaws.qldb#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return in a single\n ListJournalS3ExportsForLedger request. (The actual number of results\n returned might be fewer.)

", - "smithy.api#httpQuery": "max_results" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token, indicating that you want to retrieve the next page of results. If\n you received a value for NextToken in the response from a previous\n ListJournalS3ExportsForLedger call, then you should use that value as input\n here.

", - "smithy.api#httpQuery": "next_token" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#ListJournalS3ExportsForLedgerResponse": { - "type": "structure", - "members": { - "JournalS3Exports": { - "target": "com.amazonaws.qldb#JournalS3ExportList", - "traits": { - "smithy.api#documentation": "

The journal export jobs that are currently associated with the specified ledger.

" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "
    \n
  • \n

    If NextToken is empty, then the last page of results has been\n processed and there are no more results to be retrieved.

    \n
  • \n
  • \n

    If NextToken is not empty, then there are more\n results available. To retrieve the next page of results, use the value of\n NextToken in a subsequent ListJournalS3ExportsForLedger\n call.

    \n
  • \n
" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#ListJournalS3ExportsRequest": { - "type": "structure", - "members": { - "MaxResults": { - "target": "com.amazonaws.qldb#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return in a single ListJournalS3Exports\n request. (The actual number of results returned might be fewer.)

", - "smithy.api#httpQuery": "max_results" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token, indicating that you want to retrieve the next page of results. If\n you received a value for NextToken in the response from a previous\n ListJournalS3Exports call, then you should use that value as input\n here.

", - "smithy.api#httpQuery": "next_token" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#ListJournalS3ExportsResponse": { - "type": "structure", - "members": { - "JournalS3Exports": { - "target": "com.amazonaws.qldb#JournalS3ExportList", - "traits": { - "smithy.api#documentation": "

The journal export jobs for all ledgers that are associated with the current\n Amazon Web Services account and Region.

" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "
    \n
  • \n

    If NextToken is empty, then the last page of results has been\n processed and there are no more results to be retrieved.

    \n
  • \n
  • \n

    If NextToken is not empty, then there are more\n results available. To retrieve the next page of results, use the value of\n NextToken in a subsequent ListJournalS3Exports\n call.

    \n
  • \n
" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#ListLedgers": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#ListLedgersRequest" - }, - "output": { - "target": "com.amazonaws.qldb#ListLedgersResponse" - }, - "traits": { - "smithy.api#documentation": "

Returns all ledgers that are associated with the current Amazon Web Services account and\n Region.

\n

This action returns a maximum of MaxResults items and is paginated so that\n you can retrieve all the items by calling ListLedgers multiple times.

", - "smithy.api#http": { - "method": "GET", - "uri": "/ledgers", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "NextToken", - "outputToken": "NextToken", - "pageSize": "MaxResults" - } - } - }, - "com.amazonaws.qldb#ListLedgersRequest": { - "type": "structure", - "members": { - "MaxResults": { - "target": "com.amazonaws.qldb#MaxResults", - "traits": { - "smithy.api#documentation": "

The maximum number of results to return in a single ListLedgers request.\n (The actual number of results returned might be fewer.)

", - "smithy.api#httpQuery": "max_results" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token, indicating that you want to retrieve the next page of results. If\n you received a value for NextToken in the response from a previous\n ListLedgers call, then you should use that value as input here.

", - "smithy.api#httpQuery": "next_token" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#ListLedgersResponse": { - "type": "structure", - "members": { - "Ledgers": { - "target": "com.amazonaws.qldb#LedgerList", - "traits": { - "smithy.api#documentation": "

The ledgers that are associated with the current Amazon Web Services account and Region.

" - } - }, - "NextToken": { - "target": "com.amazonaws.qldb#NextToken", - "traits": { - "smithy.api#documentation": "

A pagination token, indicating whether there are more results available:

\n
    \n
  • \n

    If NextToken is empty, then the last page of results has been\n processed and there are no more results to be retrieved.

    \n
  • \n
  • \n

    If NextToken is not empty, then there are more\n results available. To retrieve the next page of results, use the value of\n NextToken in a subsequent ListLedgers call.

    \n
  • \n
" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.qldb#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Returns all tags for a specified Amazon QLDB resource.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for which to list the tags. For example:

\n

\n arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "Tags": { - "target": "com.amazonaws.qldb#Tags", - "traits": { - "smithy.api#documentation": "

The tags that are currently associated with the specified Amazon QLDB resource.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#MaxResults": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.qldb#NextToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 4, - "max": 1024 - }, - "smithy.api#pattern": "^[A-Za-z-0-9+/=]+$" - } - }, - "com.amazonaws.qldb#OutputFormat": { - "type": "enum", - "members": { - "ION_BINARY": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ION_BINARY" - } - }, - "ION_TEXT": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ION_TEXT" - } - }, - "JSON": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "JSON" - } - } - } - }, - "com.amazonaws.qldb#ParameterName": { - "type": "string" - }, - "com.amazonaws.qldb#PermissionsMode": { - "type": "enum", - "members": { - "ALLOW_ALL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ALLOW_ALL" - } - }, - "STANDARD": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "STANDARD" - } - } - } - }, - "com.amazonaws.qldb#ResourceAlreadyExistsException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldb#ErrorMessage" - }, - "ResourceType": { - "target": "com.amazonaws.qldb#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of resource.

" - } - }, - "ResourceName": { - "target": "com.amazonaws.qldb#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource already exists.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.qldb#ResourceInUseException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldb#ErrorMessage" - }, - "ResourceType": { - "target": "com.amazonaws.qldb#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of resource.

" - } - }, - "ResourceName": { - "target": "com.amazonaws.qldb#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource can't be modified at this time.

", - "smithy.api#error": "client", - "smithy.api#httpError": 409 - } - }, - "com.amazonaws.qldb#ResourceName": { - "type": "string" - }, - "com.amazonaws.qldb#ResourceNotFoundException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldb#ErrorMessage" - }, - "ResourceType": { - "target": "com.amazonaws.qldb#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of resource.

" - } - }, - "ResourceName": { - "target": "com.amazonaws.qldb#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource doesn't exist.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.qldb#ResourcePreconditionNotMetException": { - "type": "structure", - "members": { - "Message": { - "target": "com.amazonaws.qldb#ErrorMessage" - }, - "ResourceType": { - "target": "com.amazonaws.qldb#ResourceType", - "traits": { - "smithy.api#documentation": "

The type of resource.

" - } - }, - "ResourceName": { - "target": "com.amazonaws.qldb#ResourceName", - "traits": { - "smithy.api#documentation": "

The name of the resource.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The operation failed because a condition wasn't satisfied in advance.

", - "smithy.api#error": "client", - "smithy.api#httpError": 412 - } - }, - "com.amazonaws.qldb#ResourceType": { - "type": "string" - }, - "com.amazonaws.qldb#S3Bucket": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 255 - }, - "smithy.api#pattern": "^[A-Za-z-0-9-_.]+$" - } - }, - "com.amazonaws.qldb#S3EncryptionConfiguration": { - "type": "structure", - "members": { - "ObjectEncryptionType": { - "target": "com.amazonaws.qldb#S3ObjectEncryptionType", - "traits": { - "smithy.api#documentation": "

The Amazon S3 object encryption type.

\n

To learn more about server-side encryption options in Amazon S3, see Protecting Data\n Using Server-Side Encryption in the Amazon S3 Developer\n Guide.

", - "smithy.api#required": {} - } - }, - "KmsKeyArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a symmetric encryption key in Key Management Service (KMS). Amazon S3\n does not support asymmetric KMS keys.

\n

You must provide a KmsKeyArn if you specify SSE_KMS as the\n ObjectEncryptionType.

\n

\n KmsKeyArn is not required if you specify SSE_S3 as the\n ObjectEncryptionType.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The encryption settings that are used by a journal export job to write data in an\n Amazon Simple Storage Service (Amazon S3) bucket.

" - } - }, - "com.amazonaws.qldb#S3ExportConfiguration": { - "type": "structure", - "members": { - "Bucket": { - "target": "com.amazonaws.qldb#S3Bucket", - "traits": { - "smithy.api#documentation": "

The Amazon S3 bucket name in which a journal export job writes the journal contents.

\n

The bucket name must comply with the Amazon S3 bucket naming conventions. For more\n information, see Bucket Restrictions and\n Limitations in the Amazon S3 Developer Guide.

", - "smithy.api#required": {} - } - }, - "Prefix": { - "target": "com.amazonaws.qldb#S3Prefix", - "traits": { - "smithy.api#documentation": "

The prefix for the Amazon S3 bucket in which a journal export job writes the journal\n contents.

\n

The prefix must comply with Amazon S3 key naming rules and restrictions. For more\n information, see Object Key and Metadata in the Amazon S3 Developer\n Guide.

\n

The following are examples of valid Prefix values:

\n
    \n
  • \n

    \n JournalExports-ForMyLedger/Testing/\n

    \n
  • \n
  • \n

    \n JournalExports\n

    \n
  • \n
  • \n

    \n My:Tests/\n

    \n
  • \n
", - "smithy.api#required": {} - } - }, - "EncryptionConfiguration": { - "target": "com.amazonaws.qldb#S3EncryptionConfiguration", - "traits": { - "smithy.api#documentation": "

The encryption settings that are used by a journal export job to write data in an Amazon S3\n bucket.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

The Amazon Simple Storage Service (Amazon S3) bucket location in which a journal export job writes the journal\n contents.

" - } - }, - "com.amazonaws.qldb#S3ObjectEncryptionType": { - "type": "enum", - "members": { - "SSE_KMS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SSE_KMS" - } - }, - "SSE_S3": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SSE_S3" - } - }, - "NO_ENCRYPTION": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NO_ENCRYPTION" - } - } - } - }, - "com.amazonaws.qldb#S3Prefix": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 128 - } - } - }, - "com.amazonaws.qldb#StreamJournalToKinesis": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#StreamJournalToKinesisRequest" - }, - "output": { - "target": "com.amazonaws.qldb#StreamJournalToKinesisResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.qldb#ResourcePreconditionNotMetException" - } - ], - "traits": { - "smithy.api#documentation": "

Creates a journal stream for a given Amazon QLDB ledger. The stream captures every\n document revision that is committed to the ledger's journal and delivers the data to a\n specified Amazon Kinesis Data Streams resource.

", - "smithy.api#http": { - "method": "POST", - "uri": "/ledgers/{LedgerName}/journal-kinesis-streams", - "code": 200 - } - } - }, - "com.amazonaws.qldb#StreamJournalToKinesisRequest": { - "type": "structure", - "members": { - "LedgerName": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "RoleArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a\n journal stream to write data records to a Kinesis Data Streams resource.

\n

To pass a role to QLDB when requesting a journal stream, you must have permissions to\n perform the iam:PassRole action on the IAM role resource. This is required for\n all journal stream requests.

", - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.qldb#Tags", - "traits": { - "smithy.api#documentation": "

The key-value pairs to add as tags to the stream that you want to create. Tag keys are\n case sensitive. Tag values are case sensitive and can be null.

" - } - }, - "InclusiveStartTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The inclusive start date and time from which to start streaming journal data. This\n parameter must be in ISO 8601 date and time format and in Universal\n Coordinated Time (UTC). For example: 2019-06-13T21:36:34Z.

\n

The InclusiveStartTime cannot be in the future and must be before\n ExclusiveEndTime.

\n

If you provide an InclusiveStartTime that is before the ledger's\n CreationDateTime, QLDB effectively defaults it to the ledger's\n CreationDateTime.

", - "smithy.api#required": {} - } - }, - "ExclusiveEndTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The exclusive date and time that specifies when the stream ends. If you don't define\n this parameter, the stream runs indefinitely until you cancel it.

\n

The ExclusiveEndTime must be in ISO 8601 date and time format\n and in Universal Coordinated Time (UTC). For example:\n 2019-06-13T21:36:34Z.

" - } - }, - "KinesisConfiguration": { - "target": "com.amazonaws.qldb#KinesisConfiguration", - "traits": { - "smithy.api#documentation": "

The configuration settings of the Kinesis Data Streams destination for your stream request.

", - "smithy.api#required": {} - } - }, - "StreamName": { - "target": "com.amazonaws.qldb#StreamName", - "traits": { - "smithy.api#documentation": "

The name that you want to assign to the QLDB journal stream. User-defined names can\n help identify and indicate the purpose of a stream.

\n

Your stream name must be unique among other active streams for a\n given ledger. Stream names have the same naming constraints as ledger names, as defined in\n Quotas in Amazon QLDB in the Amazon QLDB Developer\n Guide.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#StreamJournalToKinesisResponse": { - "type": "structure", - "members": { - "StreamId": { - "target": "com.amazonaws.qldb#UniqueId", - "traits": { - "smithy.api#documentation": "

The UUID (represented in Base62-encoded text) that QLDB assigns to each QLDB journal\n stream.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#StreamName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 32 - }, - "smithy.api#pattern": "^(?!^.*--)(?!^[0-9]+$)(?!^-)(?!.*-$)^[A-Za-z0-9-]+$" - } - }, - "com.amazonaws.qldb#StreamStatus": { - "type": "enum", - "members": { - "ACTIVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ACTIVE" - } - }, - "COMPLETED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "COMPLETED" - } - }, - "CANCELED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CANCELED" - } - }, - "FAILED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FAILED" - } - }, - "IMPAIRED": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "IMPAIRED" - } - } - } - }, - "com.amazonaws.qldb#TagKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - } - } - }, - "com.amazonaws.qldb#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.qldb#TagKey" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.qldb#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.qldb#TagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Adds one or more tags to a specified Amazon QLDB resource.

\n

A resource can have up to 50 tags. If you try to create more than 50 tags for a\n resource, your request fails and returns an error.

", - "smithy.api#http": { - "method": "POST", - "uri": "/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#TagResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) to which you want to add the tags. For example:

\n

\n arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "Tags": { - "target": "com.amazonaws.qldb#Tags", - "traits": { - "smithy.api#documentation": "

The key-value pairs to add as tags to the specified QLDB resource. Tag keys are case\n sensitive. If you specify a key that already exists for the resource, your request fails\n and returns an error. Tag values are case sensitive and can be null.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#TagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#TagValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - } - } - }, - "com.amazonaws.qldb#Tags": { - "type": "map", - "key": { - "target": "com.amazonaws.qldb#TagKey" - }, - "value": { - "target": "com.amazonaws.qldb#TagValue" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - }, - "smithy.api#sparse": {} - } - }, - "com.amazonaws.qldb#Timestamp": { - "type": "timestamp" - }, - "com.amazonaws.qldb#UniqueId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 22, - "max": 22 - }, - "smithy.api#pattern": "^[A-Za-z-0-9]+$" - } - }, - "com.amazonaws.qldb#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#UntagResourceRequest" - }, - "output": { - "target": "com.amazonaws.qldb#UntagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Removes one or more tags from a specified Amazon QLDB resource. You can specify up to 50\n tag keys to remove.

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/tags/{ResourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#UntagResourceRequest": { - "type": "structure", - "members": { - "ResourceArn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) from which to remove the tags. For example:

\n

\n arn:aws:qldb:us-east-1:123456789012:ledger/exampleLedger\n

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "TagKeys": { - "target": "com.amazonaws.qldb#TagKeyList", - "traits": { - "smithy.api#documentation": "

The list of tag keys to remove.

", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#UntagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#UpdateLedger": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#UpdateLedgerRequest" - }, - "output": { - "target": "com.amazonaws.qldb#UpdateLedgerResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Updates properties on a ledger.

", - "smithy.api#http": { - "method": "PATCH", - "uri": "/ledgers/{Name}", - "code": 200 - } - } - }, - "com.amazonaws.qldb#UpdateLedgerPermissionsMode": { - "type": "operation", - "input": { - "target": "com.amazonaws.qldb#UpdateLedgerPermissionsModeRequest" - }, - "output": { - "target": "com.amazonaws.qldb#UpdateLedgerPermissionsModeResponse" - }, - "errors": [ - { - "target": "com.amazonaws.qldb#InvalidParameterException" - }, - { - "target": "com.amazonaws.qldb#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "

Updates the permissions mode of a ledger.

\n \n

Before you switch to the STANDARD permissions mode, you must first\n create all required IAM policies and table tags to avoid disruption to your users. To\n learn more, see Migrating to the standard permissions mode in the Amazon QLDB\n Developer Guide.

\n
", - "smithy.api#http": { - "method": "PATCH", - "uri": "/ledgers/{Name}/permissions-mode", - "code": 200 - } - } - }, - "com.amazonaws.qldb#UpdateLedgerPermissionsModeRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "PermissionsMode": { - "target": "com.amazonaws.qldb#PermissionsMode", - "traits": { - "smithy.api#documentation": "

The permissions mode to assign to the ledger. This parameter can have one of the\n following values:

\n
    \n
  • \n

    \n ALLOW_ALL: A legacy permissions mode that enables access control with\n API-level granularity for ledgers.

    \n

    This mode allows users who have the SendCommand API permission for\n this ledger to run all PartiQL commands (hence, ALLOW_ALL) on any tables\n in the specified ledger. This mode disregards any table-level or command-level IAM\n permissions policies that you create for the ledger.

    \n
  • \n
  • \n

    \n STANDARD: (Recommended) A permissions mode that\n enables access control with finer granularity for ledgers, tables, and PartiQL\n commands.

    \n

    By default, this mode denies all user requests to run any PartiQL commands on any\n tables in this ledger. To allow PartiQL commands to run, you must create IAM\n permissions policies for specific table resources and PartiQL actions, in addition to\n the SendCommand API permission for the ledger. For information, see\n Getting\n started with the standard permissions mode in the Amazon QLDB\n Developer Guide.

    \n
  • \n
\n \n

We strongly recommend using the STANDARD permissions mode to maximize\n the security of your ledger data.

\n
", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#UpdateLedgerPermissionsModeResponse": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

" - } - }, - "Arn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the ledger.

" - } - }, - "PermissionsMode": { - "target": "com.amazonaws.qldb#PermissionsMode", - "traits": { - "smithy.api#documentation": "

The current permissions mode of the ledger.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#UpdateLedgerRequest": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "DeletionProtection": { - "target": "com.amazonaws.qldb#DeletionProtection", - "traits": { - "smithy.api#documentation": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during\n ledger creation, this feature is enabled (true) by default.

\n

If deletion protection is enabled, you must first disable it before you can delete the\n ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

" - } - }, - "KmsKey": { - "target": "com.amazonaws.qldb#KmsKey", - "traits": { - "smithy.api#documentation": "

The key in Key Management Service (KMS) to use for encryption of data at rest in the ledger. For\n more information, see Encryption at rest in\n the Amazon QLDB Developer Guide.

\n

Use one of the following options to specify this parameter:

\n
    \n
  • \n

    \n AWS_OWNED_KMS_KEY: Use an KMS key that is owned and managed by Amazon Web Services\n on your behalf.

    \n
  • \n
  • \n

    \n Undefined: Make no changes to the KMS key of the\n ledger.

    \n
  • \n
  • \n

    \n A valid symmetric customer managed KMS key: Use\n the specified symmetric encryption KMS key in your account that you create, own, and\n manage.

    \n

    Amazon QLDB does not support asymmetric keys. For more information, see Using symmetric and asymmetric keys in the Key Management Service Developer\n Guide.

    \n
  • \n
\n

To specify a customer managed KMS key, you can use its key ID, Amazon Resource Name\n (ARN), alias name, or alias ARN. When using an alias name, prefix it with\n \"alias/\". To specify a key in a different Amazon Web Services account, you must use the key\n ARN or alias ARN.

\n

For example:

\n
    \n
  • \n

    Key ID: 1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Key ARN:\n arn:aws:kms:us-east-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab\n

    \n
  • \n
  • \n

    Alias name: alias/ExampleAlias\n

    \n
  • \n
  • \n

    Alias ARN:\n arn:aws:kms:us-east-2:111122223333:alias/ExampleAlias\n

    \n
  • \n
\n

For more information, see Key identifiers (KeyId) in\n the Key Management Service Developer Guide.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.qldb#UpdateLedgerResponse": { - "type": "structure", - "members": { - "Name": { - "target": "com.amazonaws.qldb#LedgerName", - "traits": { - "smithy.api#documentation": "

The name of the ledger.

" - } - }, - "Arn": { - "target": "com.amazonaws.qldb#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the ledger.

" - } - }, - "State": { - "target": "com.amazonaws.qldb#LedgerState", - "traits": { - "smithy.api#documentation": "

The current status of the ledger.

" - } - }, - "CreationDateTime": { - "target": "com.amazonaws.qldb#Timestamp", - "traits": { - "smithy.api#documentation": "

The date and time, in epoch time format, when the ledger was created. (Epoch time format\n is the number of seconds elapsed since 12:00:00 AM January 1, 1970 UTC.)

" - } - }, - "DeletionProtection": { - "target": "com.amazonaws.qldb#DeletionProtection", - "traits": { - "smithy.api#documentation": "

Specifies whether the ledger is protected from being deleted by any user. If not defined during\n ledger creation, this feature is enabled (true) by default.

\n

If deletion protection is enabled, you must first disable it before you can delete the\n ledger. You can disable it by calling the UpdateLedger operation to set this parameter to false.

" - } - }, - "EncryptionDescription": { - "target": "com.amazonaws.qldb#LedgerEncryptionDescription", - "traits": { - "smithy.api#documentation": "

Information about the encryption of data at rest in the ledger. This includes the\n current status, the KMS key, and when the key became inaccessible (in the case of an\n error).

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.qldb#ValueHolder": { - "type": "structure", - "members": { - "IonText": { - "target": "com.amazonaws.qldb#IonText", - "traits": { - "smithy.api#documentation": "

An Amazon Ion plaintext value contained in a ValueHolder structure.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

A structure that can contain a value in multiple encoding formats.

", - "smithy.api#sensitive": {} - } - } - } -} diff --git a/codegen/sdk-codegen/aws-models/ram.json b/codegen/sdk-codegen/aws-models/ram.json index 253f1a64fed..0d5284e64bf 100644 --- a/codegen/sdk-codegen/aws-models/ram.json +++ b/codegen/sdk-codegen/aws-models/ram.json @@ -247,27 +247,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/rbin.json b/codegen/sdk-codegen/aws-models/rbin.json index bb282035e30..6b5ec8c05eb 100644 --- a/codegen/sdk-codegen/aws-models/rbin.json +++ b/codegen/sdk-codegen/aws-models/rbin.json @@ -85,27 +85,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/rds-data.json b/codegen/sdk-codegen/aws-models/rds-data.json index aa174724c69..a775f79585d 100644 --- a/codegen/sdk-codegen/aws-models/rds-data.json +++ b/codegen/sdk-codegen/aws-models/rds-data.json @@ -1171,27 +1171,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/redshift-data.json b/codegen/sdk-codegen/aws-models/redshift-data.json index 180951ab6b1..e530ecd6572 100644 --- a/codegen/sdk-codegen/aws-models/redshift-data.json +++ b/codegen/sdk-codegen/aws-models/redshift-data.json @@ -1779,27 +1779,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/redshift-serverless.json b/codegen/sdk-codegen/aws-models/redshift-serverless.json index 247e936fbde..15943a9d795 100644 --- a/codegen/sdk-codegen/aws-models/redshift-serverless.json +++ b/codegen/sdk-codegen/aws-models/redshift-serverless.json @@ -4694,27 +4694,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/redshift.json b/codegen/sdk-codegen/aws-models/redshift.json index 78b72957c26..4ec8fc87455 100644 --- a/codegen/sdk-codegen/aws-models/redshift.json +++ b/codegen/sdk-codegen/aws-models/redshift.json @@ -14905,27 +14905,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/rekognition.json b/codegen/sdk-codegen/aws-models/rekognition.json index 1f0ae09e737..de78f37acb6 100644 --- a/codegen/sdk-codegen/aws-models/rekognition.json +++ b/codegen/sdk-codegen/aws-models/rekognition.json @@ -11429,27 +11429,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/repostspace.json b/codegen/sdk-codegen/aws-models/repostspace.json index f8a8d265204..00f693a26ce 100644 --- a/codegen/sdk-codegen/aws-models/repostspace.json +++ b/codegen/sdk-codegen/aws-models/repostspace.json @@ -2190,27 +2190,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/resiliencehub.json b/codegen/sdk-codegen/aws-models/resiliencehub.json index f7a2742ace5..6e696e7ac77 100644 --- a/codegen/sdk-codegen/aws-models/resiliencehub.json +++ b/codegen/sdk-codegen/aws-models/resiliencehub.json @@ -1466,27 +1466,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/resource-groups-tagging-api.json b/codegen/sdk-codegen/aws-models/resource-groups-tagging-api.json index aa2fcbae263..be2b2324460 100644 --- a/codegen/sdk-codegen/aws-models/resource-groups-tagging-api.json +++ b/codegen/sdk-codegen/aws-models/resource-groups-tagging-api.json @@ -775,27 +775,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/resource-groups.json b/codegen/sdk-codegen/aws-models/resource-groups.json index f131cf5271b..5b403ea37bd 100644 --- a/codegen/sdk-codegen/aws-models/resource-groups.json +++ b/codegen/sdk-codegen/aws-models/resource-groups.json @@ -175,27 +175,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/robomaker.json b/codegen/sdk-codegen/aws-models/robomaker.json deleted file mode 100644 index 6a8586eaec0..00000000000 --- a/codegen/sdk-codegen/aws-models/robomaker.json +++ /dev/null @@ -1,10244 +0,0 @@ -{ - "smithy": "2.0", - "metadata": { - "suppressions": [ - { - "id": "HttpMethodSemantics", - "namespace": "*" - }, - { - "id": "HttpResponseCodeSemantics", - "namespace": "*" - }, - { - "id": "PaginatedTrait", - "namespace": "*" - }, - { - "id": "HttpHeaderTrait", - "namespace": "*" - }, - { - "id": "HttpUriConflict", - "namespace": "*" - }, - { - "id": "Service", - "namespace": "*" - } - ] - }, - "shapes": { - "com.amazonaws.robomaker#Architecture": { - "type": "enum", - "members": { - "X86_64": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "X86_64" - } - }, - "ARM64": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ARM64" - } - }, - "ARMHF": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ARMHF" - } - } - } - }, - "com.amazonaws.robomaker#Arn": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1224 - }, - "smithy.api#pattern": "^arn:" - } - }, - "com.amazonaws.robomaker#Arns": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Arn" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#BatchDeleteWorlds": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#BatchDeleteWorldsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#BatchDeleteWorldsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Deletes one or more worlds in a batch operation.

", - "smithy.api#http": { - "method": "POST", - "uri": "/batchDeleteWorlds", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#BatchDeleteWorldsRequest": { - "type": "structure", - "members": { - "worlds": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of Amazon Resource Names (arns) that correspond to worlds to delete.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#BatchDeleteWorldsResponse": { - "type": "structure", - "members": { - "unprocessedWorlds": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of unprocessed worlds associated with the call. These worlds were not\n deleted.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#BatchDescribeSimulationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#BatchDescribeSimulationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#BatchDescribeSimulationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes one or more simulation jobs.

", - "smithy.api#http": { - "method": "POST", - "uri": "/batchDescribeSimulationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#BatchDescribeSimulationJobRequest": { - "type": "structure", - "members": { - "jobs": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of Amazon Resource Names (ARNs) of simulation jobs to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#BatchDescribeSimulationJobResponse": { - "type": "structure", - "members": { - "jobs": { - "target": "com.amazonaws.robomaker#SimulationJobs", - "traits": { - "smithy.api#documentation": "

A list of simulation jobs.

" - } - }, - "unprocessedJobs": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of unprocessed simulation job Amazon Resource Names (ARNs).

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#BatchPolicy": { - "type": "structure", - "members": { - "timeoutInSeconds": { - "target": "com.amazonaws.robomaker#BatchTimeoutInSeconds", - "traits": { - "smithy.api#documentation": "

The amount of time, in seconds, to wait for the batch to complete.\n \n

\n

If a batch times out, and there are pending requests that were failing due to an\n internal failure (like InternalServiceError), they will be moved to the failed\n list and the batch status will be Failed. If the pending requests were failing\n for any other reason, the failed pending requests will be moved to the failed list and the\n batch status will be TimedOut.

" - } - }, - "maxConcurrency": { - "target": "com.amazonaws.robomaker#MaxConcurrency", - "traits": { - "smithy.api#documentation": "

The number of active simulation jobs create as part of the batch that can be in an\n active state at the same time.

\n

Active states include: Pending,Preparing,\n Running, Restarting, RunningFailed and\n Terminating. All other states are terminal states.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the batch policy.

" - } - }, - "com.amazonaws.robomaker#BatchTimeoutInSeconds": { - "type": "long" - }, - "com.amazonaws.robomaker#Boolean": { - "type": "boolean", - "traits": { - "smithy.api#default": false - } - }, - "com.amazonaws.robomaker#BoxedBoolean": { - "type": "boolean" - }, - "com.amazonaws.robomaker#CancelDeploymentJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CancelDeploymentJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CancelDeploymentJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Cancels the specified deployment job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/cancelDeploymentJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CancelDeploymentJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The deployment job ARN to cancel.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CancelDeploymentJobResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CancelSimulationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CancelSimulationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CancelSimulationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Cancels the specified simulation job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/cancelSimulationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CancelSimulationJobBatch": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CancelSimulationJobBatchRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CancelSimulationJobBatchResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Cancels a simulation job batch. When you cancel a simulation job batch, you are also\n cancelling all of the active simulation jobs created as part of the batch.

", - "smithy.api#http": { - "method": "POST", - "uri": "/cancelSimulationJobBatch", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CancelSimulationJobBatchRequest": { - "type": "structure", - "members": { - "batch": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The id of the batch to cancel.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CancelSimulationJobBatchResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CancelSimulationJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The simulation job ARN to cancel.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CancelSimulationJobResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CancelWorldExportJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CancelWorldExportJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CancelWorldExportJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Cancels the specified export job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/cancelWorldExportJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CancelWorldExportJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world export job to cancel.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CancelWorldExportJobResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CancelWorldGenerationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CancelWorldGenerationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CancelWorldGenerationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Cancels the specified world generator job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/cancelWorldGenerationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CancelWorldGenerationJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world generator job to cancel.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CancelWorldGenerationJobResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ClientRequestToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 64 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_\\-=]*$" - } - }, - "com.amazonaws.robomaker#Command": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_.\\-]*$" - } - }, - "com.amazonaws.robomaker#CommandList": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#NonEmptyString" - } - }, - "com.amazonaws.robomaker#Compute": { - "type": "structure", - "members": { - "simulationUnitLimit": { - "target": "com.amazonaws.robomaker#SimulationUnit", - "traits": { - "smithy.api#documentation": "

The simulation unit limit. Your simulation is allocated CPU and memory proportional to\n the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB of memory. You are\n only billed for the SU utilization you consume up to the maximum value provided. The\n default is 15.

" - } - }, - "computeType": { - "target": "com.amazonaws.robomaker#ComputeType", - "traits": { - "smithy.api#documentation": "

Compute type information for the simulation job.

" - } - }, - "gpuUnitLimit": { - "target": "com.amazonaws.robomaker#GPUUnit", - "traits": { - "smithy.api#documentation": "

Compute GPU unit limit for the simulation job. It is the same as the number of GPUs\n allocated to the SimulationJob.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job.

" - } - }, - "com.amazonaws.robomaker#ComputeResponse": { - "type": "structure", - "members": { - "simulationUnitLimit": { - "target": "com.amazonaws.robomaker#SimulationUnit", - "traits": { - "smithy.api#documentation": "

The simulation unit limit. Your simulation is allocated CPU and memory proportional to\n the supplied simulation unit limit. A simulation unit is 1 vcpu and 2GB of memory. You are\n only billed for the SU utilization you consume up to the maximum value provided. The\n default is 15.

" - } - }, - "computeType": { - "target": "com.amazonaws.robomaker#ComputeType", - "traits": { - "smithy.api#documentation": "

Compute type response information for the simulation job.

" - } - }, - "gpuUnitLimit": { - "target": "com.amazonaws.robomaker#GPUUnit", - "traits": { - "smithy.api#documentation": "

Compute GPU unit limit for the simulation job. It is the same as the number of GPUs\n allocated to the SimulationJob.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job

" - } - }, - "com.amazonaws.robomaker#ComputeType": { - "type": "enum", - "members": { - "CPU": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "CPU" - } - }, - "GPU_AND_CPU": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GPU_AND_CPU" - } - } - } - }, - "com.amazonaws.robomaker#ConcurrentDeploymentException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The failure percentage threshold percentage was met.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#CreateDeploymentJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateDeploymentJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateDeploymentJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#ConcurrentDeploymentException" - }, - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the Support policy page.

\n
\n

Deploys a specific version of a robot application to robots in a fleet.

\n

The robot application must have a numbered applicationVersion for\n consistency reasons. To create a new version, use CreateRobotApplicationVersion or see \n Creating a Robot Application Version.\n

\n \n

After 90 days, deployment jobs expire and will be deleted. They will no longer be\n accessible.

\n
", - "smithy.api#http": { - "method": "POST", - "uri": "/createDeploymentJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateDeploymentJobRequest": { - "type": "structure", - "members": { - "deploymentConfig": { - "target": "com.amazonaws.robomaker#DeploymentConfig", - "traits": { - "smithy.api#documentation": "

The requested deployment configuration.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} - } - }, - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet to deploy.

", - "smithy.api#required": {} - } - }, - "deploymentApplicationConfigs": { - "target": "com.amazonaws.robomaker#DeploymentApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The deployment application configuration.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the deployment\n job.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateDeploymentJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the deployment job.

" - } - }, - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The target fleet for the deployment job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#DeploymentStatus", - "traits": { - "smithy.api#documentation": "

The status of the deployment job.

" - } - }, - "deploymentApplicationConfigs": { - "target": "com.amazonaws.robomaker#DeploymentApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The deployment application configuration.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The failure reason of the deployment job if it failed.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#DeploymentJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the simulation job if it failed:

\n
\n
BadPermissionError
\n
\n

AWS Greengrass requires a service-level role permission to access other\n services. The role must include the \n AWSGreengrassResourceAccessRolePolicy managed policy.\n

\n
\n
ExtractingBundleFailure
\n
\n

The robot application could not be extracted from the bundle.

\n
\n
FailureThresholdBreached
\n
\n

The percentage of robots that could not be updated exceeded the percentage set\n for the deployment.

\n
\n
GreengrassDeploymentFailed
\n
\n

The robot application could not be deployed to the robot.

\n
\n
GreengrassGroupVersionDoesNotExist
\n
\n

The AWS Greengrass group or version associated with a robot is missing.

\n
\n
InternalServerError
\n
\n

An internal error has occurred. Retry your request, but if the problem\n persists, contact us with details.

\n
\n
MissingRobotApplicationArchitecture
\n
\n

The robot application does not have a source that matches the architecture of\n the robot.

\n
\n
MissingRobotDeploymentResource
\n
\n

One or more of the resources specified for the robot application are missing.\n For example, does the robot application have the correct launch package and launch\n file?

\n
\n
PostLaunchFileFailure
\n
\n

The post-launch script failed.

\n
\n
PreLaunchFileFailure
\n
\n

The pre-launch script failed.

\n
\n
ResourceNotFound
\n
\n

One or more deployment resources are missing. For example, do robot application\n source bundles still exist?

\n
\n
RobotDeploymentNoResponse
\n
\n

There is no response from the robot. It might not be powered on or connected to\n the internet.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the fleet was created.

" - } - }, - "deploymentConfig": { - "target": "com.amazonaws.robomaker#DeploymentConfig", - "traits": { - "smithy.api#documentation": "

The deployment configuration.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the deployment job.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateFleet": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateFleetRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateFleetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the Support policy page.

\n
\n

Creates a fleet, a logical group of robots running the same robot application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createFleet", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateFleetRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the fleet.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the fleet.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateFleetResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the fleet.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the fleet was created.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the fleet.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateRobot": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateRobotRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateRobotResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceAlreadyExistsException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the Support policy page.

\n
\n

Creates a robot.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createRobot", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateRobotApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateRobotApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateRobotApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceAlreadyExistsException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a robot application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createRobotApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateRobotApplicationRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot application.

", - "smithy.api#required": {} - } - }, - "sources": { - "target": "com.amazonaws.robomaker#SourceConfigs", - "traits": { - "smithy.api#documentation": "

The sources of the robot application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the robot application.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the robot\n application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains that URI of the Docker image that you use for your robot\n application.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateRobotApplicationResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the robot application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the robot application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot application was last\n updated.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the robot application.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the robot application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

An object that contains the Docker image URI used to a create your robot\n application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateRobotApplicationVersion": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateRobotApplicationVersionRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateRobotApplicationVersionResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a version of a robot application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createRobotApplicationVersion", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateRobotApplicationVersionRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the robot application.

", - "smithy.api#required": {} - } - }, - "currentRevisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The current revision id for the robot application. If you provide a value and it matches\n the latest revision ID, a new version will be created.

" - } - }, - "s3Etags": { - "target": "com.amazonaws.robomaker#S3Etags", - "traits": { - "smithy.api#documentation": "

The Amazon S3 identifier for the zip file bundle that you use for your robot\n application.

" - } - }, - "imageDigest": { - "target": "com.amazonaws.robomaker#ImageDigest", - "traits": { - "smithy.api#documentation": "

A SHA256 identifier for the Docker image that you use for your robot application.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateRobotApplicationVersionResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the robot application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the robot application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot application was last\n updated.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the robot application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI used to create your robot\n application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateRobotRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name for the robot.

", - "smithy.api#required": {} - } - }, - "architecture": { - "target": "com.amazonaws.robomaker#Architecture", - "traits": { - "smithy.api#documentation": "

The target architecture of the robot.

", - "smithy.api#required": {} - } - }, - "greengrassGroupId": { - "target": "com.amazonaws.robomaker#Id", - "traits": { - "smithy.api#documentation": "

The Greengrass group id.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the robot.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateRobotResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot was created.

" - } - }, - "greengrassGroupId": { - "target": "com.amazonaws.robomaker#Id", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Greengrass group associated with the robot.

" - } - }, - "architecture": { - "target": "com.amazonaws.robomaker#Architecture", - "traits": { - "smithy.api#documentation": "

The target architecture of the robot.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the robot.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateSimulationApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateSimulationApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateSimulationApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceAlreadyExistsException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a simulation application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createSimulationApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateSimulationApplicationRequest": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation application.

", - "smithy.api#required": {} - } - }, - "sources": { - "target": "com.amazonaws.robomaker#SourceConfigs", - "traits": { - "smithy.api#documentation": "

The sources of the simulation application.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The simulation software suite used by the simulation application.

", - "smithy.api#required": {} - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the simulation application.

", - "smithy.api#required": {} - } - }, - "renderingEngine": { - "target": "com.amazonaws.robomaker#RenderingEngine", - "traits": { - "smithy.api#documentation": "

The rendering engine for the simulation application.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the simulation\n application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI used to create your simulation\n application.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateSimulationApplicationResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the simulation application.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The simulation software suite used by the simulation application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about the robot software suite.

" - } - }, - "renderingEngine": { - "target": "com.amazonaws.robomaker#RenderingEngine", - "traits": { - "smithy.api#documentation": "

The rendering engine for the simulation application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation application was last\n updated.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the simulation application.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the simulation application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI that you used to create your simulation\n application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateSimulationApplicationVersion": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateSimulationApplicationVersionRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateSimulationApplicationVersionResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a simulation application with a specific revision id.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createSimulationApplicationVersion", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateSimulationApplicationVersionRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the simulation application.

", - "smithy.api#required": {} - } - }, - "currentRevisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The current revision id for the simulation application. If you provide a value and it\n matches the latest revision ID, a new version will be created.

" - } - }, - "s3Etags": { - "target": "com.amazonaws.robomaker#S3Etags", - "traits": { - "smithy.api#documentation": "

The Amazon S3 eTag identifier for the zip file bundle that you use to create the\n simulation application.

" - } - }, - "imageDigest": { - "target": "com.amazonaws.robomaker#ImageDigest", - "traits": { - "smithy.api#documentation": "

The SHA256 digest used to identify the Docker image URI used to created the simulation\n application.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateSimulationApplicationVersionResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the simulation application.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The simulation software suite used by the simulation application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about the robot software suite.

" - } - }, - "renderingEngine": { - "target": "com.amazonaws.robomaker#RenderingEngine", - "traits": { - "smithy.api#documentation": "

The rendering engine for the simulation application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation application was last\n updated.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision ID of the simulation application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI used to create the simulation\n application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateSimulationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateSimulationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateSimulationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ServiceUnavailableException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a simulation job.

\n \n

After 90 days, simulation jobs expire and will be deleted. They will no longer be\n accessible.

\n
", - "smithy.api#http": { - "method": "POST", - "uri": "/createSimulationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateSimulationJobRequest": { - "type": "structure", - "members": { - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#idempotencyToken": {} - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation", - "traits": { - "smithy.api#documentation": "

Location for output files generated by the simulation job.

" - } - }, - "loggingConfig": { - "target": "com.amazonaws.robomaker#LoggingConfig", - "traits": { - "smithy.api#documentation": "

The logging configuration.

" - } - }, - "maxJobDurationInSeconds": { - "target": "com.amazonaws.robomaker#JobDuration", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum simulation job duration in seconds (up to 14 days or 1,209,600 seconds. When\n maxJobDurationInSeconds is reached, the simulation job will status will\n transition to Completed.

", - "smithy.api#required": {} - } - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role name that allows the simulation instance to call the AWS APIs that are\n specified in its associated policies on your behalf. This is how credentials are passed in\n to your simulation job.

", - "smithy.api#required": {} - } - }, - "failureBehavior": { - "target": "com.amazonaws.robomaker#FailureBehavior", - "traits": { - "smithy.api#documentation": "

The failure behavior the simulation job.

\n
\n
Continue
\n
\n

Leaves the instance running for its maximum timeout duration after a\n 4XX error code.

\n
\n
Fail
\n
\n

Stop the simulation job and terminate the instance.

\n
\n
" - } - }, - "robotApplications": { - "target": "com.amazonaws.robomaker#RobotApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The robot application to use in the simulation job.

" - } - }, - "simulationApplications": { - "target": "com.amazonaws.robomaker#SimulationApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The simulation application to use in the simulation job.

" - } - }, - "dataSources": { - "target": "com.amazonaws.robomaker#DataSourceConfigs", - "traits": { - "smithy.api#documentation": "

Specify data sources to mount read-only files from S3 into your simulation. These files\n are available under /opt/robomaker/datasources/data_source_name.

\n \n

There is a limit of 100 files and a combined size of 25GB for all\n DataSourceConfig objects.

\n
" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the simulation\n job.

" - } - }, - "vpcConfig": { - "target": "com.amazonaws.robomaker#VPCConfig", - "traits": { - "smithy.api#documentation": "

If your simulation job accesses resources in a VPC, you provide this parameter\n identifying the list of security group IDs and subnet IDs. These must belong to the same\n VPC. You must provide at least one security group and one subnet ID.

" - } - }, - "compute": { - "target": "com.amazonaws.robomaker#Compute", - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateSimulationJobRequests": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SimulationJobRequest" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1000 - } - } - }, - "com.amazonaws.robomaker#CreateSimulationJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the simulation job.

" - } - }, - "lastStartedAt": { - "target": "com.amazonaws.robomaker#LastStartedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n started.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n updated.

" - } - }, - "failureBehavior": { - "target": "com.amazonaws.robomaker#FailureBehavior", - "traits": { - "smithy.api#documentation": "

the failure behavior for the simulation job.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#SimulationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the simulation job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
RobotApplicationCrash
\n
\n

Robot application exited abnormally.

\n
\n
SimulationApplicationCrash
\n
\n

Simulation application exited abnormally.

\n
\n
BadPermissionsRobotApplication
\n
\n

Robot application bundle could not be downloaded.

\n
\n
BadPermissionsSimulationApplication
\n
\n

Simulation application bundle could not be downloaded.

\n
\n
BadPermissionsS3Output
\n
\n

Unable to publish outputs to customer-provided S3 bucket.

\n
\n
BadPermissionsCloudwatchLogs
\n
\n

Unable to publish logs to customer-provided CloudWatch Logs resource.

\n
\n
SubnetIpLimitExceeded
\n
\n

Subnet IP limit exceeded.

\n
\n
ENILimitExceeded
\n
\n

ENI limit exceeded.

\n
\n
BadPermissionsUserCredentials
\n
\n

Unable to use the Role provided.

\n
\n
InvalidBundleRobotApplication
\n
\n

Robot bundle cannot be extracted (invalid format, bundling error, or other\n issue).

\n
\n
InvalidBundleSimulationApplication
\n
\n

Simulation bundle cannot be extracted (invalid format, bundling error, or other\n issue).

\n
\n
RobotApplicationVersionMismatchedEtag
\n
\n

Etag for RobotApplication does not match value during version creation.

\n
\n
SimulationApplicationVersionMismatchedEtag
\n
\n

Etag for SimulationApplication does not match value during version\n creation.

\n
\n
" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation", - "traits": { - "smithy.api#documentation": "

Simulation job output files location.

" - } - }, - "loggingConfig": { - "target": "com.amazonaws.robomaker#LoggingConfig", - "traits": { - "smithy.api#documentation": "

The logging configuration.

" - } - }, - "maxJobDurationInSeconds": { - "target": "com.amazonaws.robomaker#JobDuration", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum simulation job duration in seconds.

" - } - }, - "simulationTimeMillis": { - "target": "com.amazonaws.robomaker#SimulationTimeMillis", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The simulation job execution duration in milliseconds.

" - } - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role that allows the simulation job to call the AWS APIs that are specified in\n its associated policies on your behalf.

" - } - }, - "robotApplications": { - "target": "com.amazonaws.robomaker#RobotApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The robot application used by the simulation job.

" - } - }, - "simulationApplications": { - "target": "com.amazonaws.robomaker#SimulationApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The simulation application used by the simulation job.

" - } - }, - "dataSources": { - "target": "com.amazonaws.robomaker#DataSources", - "traits": { - "smithy.api#documentation": "

The data sources for the simulation job.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the simulation job.

" - } - }, - "vpcConfig": { - "target": "com.amazonaws.robomaker#VPCConfigResponse", - "traits": { - "smithy.api#documentation": "

Information about the vpc configuration.

" - } - }, - "compute": { - "target": "com.amazonaws.robomaker#ComputeResponse", - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateWorldExportJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateWorldExportJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateWorldExportJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ServiceUnavailableException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a world export job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createWorldExportJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateWorldExportJobRequest": { - "type": "structure", - "members": { - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#idempotencyToken": {} - } - }, - "worlds": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of Amazon Resource Names (arns) that correspond to worlds to export.

", - "smithy.api#required": {} - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation", - "traits": { - "smithy.api#required": {} - } - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role that the world export process uses to access the Amazon S3 bucket and put\n the export.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world export\n job.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateWorldExportJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world export job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#WorldExportJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the world export job.

\n
\n
Pending
\n
\n

The world export job request is pending.

\n
\n
Running
\n
\n

The world export job is running.

\n
\n
Completed
\n
\n

The world export job completed.

\n
\n
Failed
\n
\n

The world export job failed. See failureCode for more information.\n

\n
\n
Canceled
\n
\n

The world export job was cancelled.

\n
\n
Canceling
\n
\n

The world export job is being cancelled.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world export job was created.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#WorldExportJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the world export job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
LimitExceeded
\n
\n

The requested resource exceeds the maximum number allowed, or the number of\n concurrent stream requests exceeds the maximum number allowed.

\n
\n
ResourceNotFound
\n
\n

The specified resource could not be found.

\n
\n
RequestThrottled
\n
\n

The request was throttled.

\n
\n
InvalidInput
\n
\n

An input parameter in the request is not valid.

\n
\n
AllWorldGenerationFailed
\n
\n

All of the worlds in the world generation job failed. This can happen if your\n worldCount is greater than 50 or less than 1.

\n
\n
\n

For more information about troubleshooting WorldForge, see Troubleshooting Simulation WorldForge.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation" - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role that the world export process uses to access the Amazon S3 bucket and put\n the export.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world export\n job.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateWorldGenerationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateWorldGenerationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateWorldGenerationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ServiceUnavailableException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates worlds using the specified template.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createWorldGenerationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateWorldGenerationJobRequest": { - "type": "structure", - "members": { - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#idempotencyToken": {} - } - }, - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template describing the worlds you want to\n create.

", - "smithy.api#required": {} - } - }, - "worldCount": { - "target": "com.amazonaws.robomaker#WorldCount", - "traits": { - "smithy.api#documentation": "

Information about the world count.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world generator\n job.

" - } - }, - "worldTags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the generated\n worlds.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateWorldGenerationJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world generator job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#WorldGenerationJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the world generator job.

\n
\n
Pending
\n
\n

The world generator job request is pending.

\n
\n
Running
\n
\n

The world generator job is running.

\n
\n
Completed
\n
\n

The world generator job completed.

\n
\n
Failed
\n
\n

The world generator job failed. See failureCode for more\n information.

\n
\n
PartialFailed
\n
\n

Some worlds did not generate.

\n
\n
Canceled
\n
\n

The world generator job was cancelled.

\n
\n
Canceling
\n
\n

The world generator job is being cancelled.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world generator job was\n created.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#WorldGenerationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the world generator job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
LimitExceeded
\n
\n

The requested resource exceeds the maximum number allowed, or the number of\n concurrent stream requests exceeds the maximum number allowed.

\n
\n
ResourceNotFound
\n
\n

The specified resource could not be found.

\n
\n
RequestThrottled
\n
\n

The request was throttled.

\n
\n
InvalidInput
\n
\n

An input parameter in the request is not valid.

\n
\n
" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template.

" - } - }, - "worldCount": { - "target": "com.amazonaws.robomaker#WorldCount", - "traits": { - "smithy.api#documentation": "

Information about the world count.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world generator\n job.

" - } - }, - "worldTags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the generated\n worlds.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreateWorldTemplate": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#CreateWorldTemplateRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#CreateWorldTemplateResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceAlreadyExistsException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Creates a world template.

", - "smithy.api#http": { - "method": "POST", - "uri": "/createWorldTemplate", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#CreateWorldTemplateRequest": { - "type": "structure", - "members": { - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#TemplateName", - "traits": { - "smithy.api#documentation": "

The name of the world template.

" - } - }, - "templateBody": { - "target": "com.amazonaws.robomaker#Json", - "traits": { - "smithy.api#documentation": "

The world template body.

" - } - }, - "templateLocation": { - "target": "com.amazonaws.robomaker#TemplateLocation", - "traits": { - "smithy.api#documentation": "

The location of the world template.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world\n template.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#CreateWorldTemplateResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world template.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world template was created.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#TemplateName", - "traits": { - "smithy.api#documentation": "

The name of the world template.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world\n template.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#CreatedAt": { - "type": "timestamp" - }, - "com.amazonaws.robomaker#DataSource": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the data source.

" - } - }, - "s3Bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The S3 bucket where the data files are located.

" - } - }, - "s3Keys": { - "target": "com.amazonaws.robomaker#S3KeyOutputs", - "traits": { - "smithy.api#documentation": "

The list of S3 keys identifying the data source files.

" - } - }, - "type": { - "target": "com.amazonaws.robomaker#DataSourceType", - "traits": { - "smithy.api#documentation": "

The data type for the data source that you're using for your container image or\n simulation job. You can use this field to specify whether your data source is an Archive,\n an Amazon S3 prefix, or a file.

\n

If you don't specify a field, the default value is File.

" - } - }, - "destination": { - "target": "com.amazonaws.robomaker#Path", - "traits": { - "smithy.api#documentation": "

The location where your files are mounted in the container image.

\n

If you've specified the type of the data source as an Archive,\n you must provide an Amazon S3 object key to your archive. The object key must point to\n either a .zip or .tar.gz file.

\n

If you've specified the type of the data source as a Prefix,\n you provide the Amazon S3 prefix that points to the files that you are using for your data\n source.

\n

If you've specified the type of the data source as a File, you\n provide the Amazon S3 path to the file that you're using as your data source.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a data source.

" - } - }, - "com.amazonaws.robomaker#DataSourceConfig": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the data source.

", - "smithy.api#required": {} - } - }, - "s3Bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The S3 bucket where the data files are located.

", - "smithy.api#required": {} - } - }, - "s3Keys": { - "target": "com.amazonaws.robomaker#S3KeysOrPrefixes", - "traits": { - "smithy.api#documentation": "

The list of S3 keys identifying the data source files.

", - "smithy.api#required": {} - } - }, - "type": { - "target": "com.amazonaws.robomaker#DataSourceType", - "traits": { - "smithy.api#documentation": "

The data type for the data source that you're using for your container image or\n simulation job. You can use this field to specify whether your data source is an Archive,\n an Amazon S3 prefix, or a file.

\n

If you don't specify a field, the default value is File.

" - } - }, - "destination": { - "target": "com.amazonaws.robomaker#Path", - "traits": { - "smithy.api#documentation": "

The location where your files are mounted in the container image.

\n

If you've specified the type of the data source as an Archive,\n you must provide an Amazon S3 object key to your archive. The object key must point to\n either a .zip or .tar.gz file.

\n

If you've specified the type of the data source as a Prefix,\n you provide the Amazon S3 prefix that points to the files that you are using for your data\n source.

\n

If you've specified the type of the data source as a File, you\n provide the Amazon S3 path to the file that you're using as your data source.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a data source.

" - } - }, - "com.amazonaws.robomaker#DataSourceConfigs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#DataSourceConfig" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 6 - } - } - }, - "com.amazonaws.robomaker#DataSourceNames": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Name" - } - }, - "com.amazonaws.robomaker#DataSourceType": { - "type": "enum", - "members": { - "Prefix": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Prefix" - } - }, - "Archive": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Archive" - } - }, - "File": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "File" - } - } - } - }, - "com.amazonaws.robomaker#DataSources": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#DataSource" - } - }, - "com.amazonaws.robomaker#DeleteFleet": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DeleteFleetRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DeleteFleetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Deletes a fleet.

", - "smithy.api#http": { - "method": "POST", - "uri": "/deleteFleet", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DeleteFleetRequest": { - "type": "structure", - "members": { - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DeleteFleetResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DeleteRobot": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DeleteRobotRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DeleteRobotResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Deletes a robot.

", - "smithy.api#http": { - "method": "POST", - "uri": "/deleteRobot", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DeleteRobotApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DeleteRobotApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DeleteRobotApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Deletes a robot application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/deleteRobotApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DeleteRobotApplicationRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the the robot application.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application to delete.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DeleteRobotApplicationResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DeleteRobotRequest": { - "type": "structure", - "members": { - "robot": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DeleteRobotResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DeleteSimulationApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DeleteSimulationApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DeleteSimulationApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Deletes a simulation application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/deleteSimulationApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DeleteSimulationApplicationRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the simulation application to delete.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application to delete.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DeleteSimulationApplicationResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DeleteWorldTemplate": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DeleteWorldTemplateRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DeleteWorldTemplateResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Deletes a world template.

", - "smithy.api#http": { - "method": "POST", - "uri": "/deleteWorldTemplate", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DeleteWorldTemplateRequest": { - "type": "structure", - "members": { - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template you want to delete.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DeleteWorldTemplateResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DeploymentApplicationConfig": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot application.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#DeploymentVersion", - "traits": { - "smithy.api#documentation": "

The version of the application.

", - "smithy.api#required": {} - } - }, - "launchConfig": { - "target": "com.amazonaws.robomaker#DeploymentLaunchConfig", - "traits": { - "smithy.api#documentation": "

The launch configuration.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a deployment application configuration.

" - } - }, - "com.amazonaws.robomaker#DeploymentApplicationConfigs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#DeploymentApplicationConfig" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#DeploymentConfig": { - "type": "structure", - "members": { - "concurrentDeploymentPercentage": { - "target": "com.amazonaws.robomaker#Percentage", - "traits": { - "smithy.api#documentation": "

The percentage of robots receiving the deployment at the same time.

" - } - }, - "failureThresholdPercentage": { - "target": "com.amazonaws.robomaker#Percentage", - "traits": { - "smithy.api#documentation": "

The percentage of deployments that need to fail before stopping deployment.

" - } - }, - "robotDeploymentTimeoutInSeconds": { - "target": "com.amazonaws.robomaker#DeploymentTimeout", - "traits": { - "smithy.api#documentation": "

The amount of time, in seconds, to wait for deployment to a single robot to complete.\n Choose a time between 1 minute and 7 days. The default is 5 hours.

" - } - }, - "downloadConditionFile": { - "target": "com.amazonaws.robomaker#S3Object", - "traits": { - "smithy.api#documentation": "

The download condition file.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a deployment configuration.

" - } - }, - "com.amazonaws.robomaker#DeploymentJob": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the deployment job.

" - } - }, - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#DeploymentStatus", - "traits": { - "smithy.api#documentation": "

The status of the deployment job.

" - } - }, - "deploymentApplicationConfigs": { - "target": "com.amazonaws.robomaker#DeploymentApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The deployment application configuration.

" - } - }, - "deploymentConfig": { - "target": "com.amazonaws.robomaker#DeploymentConfig", - "traits": { - "smithy.api#documentation": "

The deployment configuration.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

A short description of the reason why the deployment job failed.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#DeploymentJobErrorCode", - "traits": { - "smithy.api#documentation": "

The deployment job failure code.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the deployment job was created.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a deployment job.

" - } - }, - "com.amazonaws.robomaker#DeploymentJobErrorCode": { - "type": "enum", - "members": { - "ResourceNotFound": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ResourceNotFound" - } - }, - "EnvironmentSetupError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "EnvironmentSetupError" - } - }, - "EtagMismatch": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "EtagMismatch" - } - }, - "FailureThresholdBreached": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FailureThresholdBreached" - } - }, - "RobotDeploymentAborted": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotDeploymentAborted" - } - }, - "RobotDeploymentNoResponse": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotDeploymentNoResponse" - } - }, - "RobotAgentConnectionTimeout": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotAgentConnectionTimeout" - } - }, - "GreengrassDeploymentFailed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GreengrassDeploymentFailed" - } - }, - "InvalidGreengrassGroup": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidGreengrassGroup" - } - }, - "MissingRobotArchitecture": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MissingRobotArchitecture" - } - }, - "MissingRobotApplicationArchitecture": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MissingRobotApplicationArchitecture" - } - }, - "MissingRobotDeploymentResource": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MissingRobotDeploymentResource" - } - }, - "GreengrassGroupVersionDoesNotExist": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "GreengrassGroupVersionDoesNotExist" - } - }, - "LambdaDeleted": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LambdaDeleted" - } - }, - "ExtractingBundleFailure": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ExtractingBundleFailure" - } - }, - "PreLaunchFileFailure": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PreLaunchFileFailure" - } - }, - "PostLaunchFileFailure": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PostLaunchFileFailure" - } - }, - "BadPermissionError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionError" - } - }, - "DownloadConditionFailed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DownloadConditionFailed" - } - }, - "BadLambdaAssociated": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadLambdaAssociated" - } - }, - "InternalServerError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InternalServerError" - } - }, - "RobotApplicationDoesNotExist": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotApplicationDoesNotExist" - } - }, - "DeploymentFleetDoesNotExist": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DeploymentFleetDoesNotExist" - } - }, - "FleetDeploymentTimeout": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FleetDeploymentTimeout" - } - } - } - }, - "com.amazonaws.robomaker#DeploymentJobs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#DeploymentJob" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.robomaker#DeploymentLaunchConfig": { - "type": "structure", - "members": { - "packageName": { - "target": "com.amazonaws.robomaker#Command", - "traits": { - "smithy.api#documentation": "

The package name.

", - "smithy.api#required": {} - } - }, - "preLaunchFile": { - "target": "com.amazonaws.robomaker#Path", - "traits": { - "smithy.api#documentation": "

The deployment pre-launch file. This file will be executed prior to the launch\n file.

" - } - }, - "launchFile": { - "target": "com.amazonaws.robomaker#Command", - "traits": { - "smithy.api#documentation": "

The launch file name.

", - "smithy.api#required": {} - } - }, - "postLaunchFile": { - "target": "com.amazonaws.robomaker#Path", - "traits": { - "smithy.api#documentation": "

The deployment post-launch file. This file will be executed after the launch\n file.

" - } - }, - "environmentVariables": { - "target": "com.amazonaws.robomaker#EnvironmentVariableMap", - "traits": { - "smithy.api#documentation": "

An array of key/value pairs specifying environment variables for the robot\n application

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Configuration information for a deployment launch.

" - } - }, - "com.amazonaws.robomaker#DeploymentStatus": { - "type": "enum", - "members": { - "Pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Pending" - } - }, - "Preparing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Preparing" - } - }, - "InProgress": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InProgress" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "Succeeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Succeeded" - } - }, - "Canceled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceled" - } - } - } - }, - "com.amazonaws.robomaker#DeploymentTimeout": { - "type": "long" - }, - "com.amazonaws.robomaker#DeploymentVersion": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^[0-9]*$" - } - }, - "com.amazonaws.robomaker#DeregisterRobot": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DeregisterRobotRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DeregisterRobotResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Deregisters a robot.

", - "smithy.api#http": { - "method": "POST", - "uri": "/deregisterRobot", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DeregisterRobotRequest": { - "type": "structure", - "members": { - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

", - "smithy.api#required": {} - } - }, - "robot": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DeregisterRobotResponse": { - "type": "structure", - "members": { - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "robot": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeDeploymentJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeDeploymentJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeDeploymentJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Describes a deployment job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeDeploymentJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeDeploymentJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the deployment job.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeDeploymentJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the deployment job.

" - } - }, - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#DeploymentStatus", - "traits": { - "smithy.api#documentation": "

The status of the deployment job.

" - } - }, - "deploymentConfig": { - "target": "com.amazonaws.robomaker#DeploymentConfig", - "traits": { - "smithy.api#documentation": "

The deployment configuration.

" - } - }, - "deploymentApplicationConfigs": { - "target": "com.amazonaws.robomaker#DeploymentApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The deployment application configuration.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

A short description of the reason why the deployment job failed.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#DeploymentJobErrorCode", - "traits": { - "smithy.api#documentation": "

The deployment job failure code.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the deployment job was created.

" - } - }, - "robotDeploymentSummary": { - "target": "com.amazonaws.robomaker#RobotDeploymentSummary", - "traits": { - "smithy.api#documentation": "

A list of robot deployment summaries.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified deployment job.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeFleet": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeFleetRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeFleetResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Describes a fleet.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeFleet", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeFleetRequest": { - "type": "structure", - "members": { - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeFleetResponse": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the fleet.

" - } - }, - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "robots": { - "target": "com.amazonaws.robomaker#Robots", - "traits": { - "smithy.api#documentation": "

A list of robots.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the fleet was created.

" - } - }, - "lastDeploymentStatus": { - "target": "com.amazonaws.robomaker#DeploymentStatus", - "traits": { - "smithy.api#documentation": "

The status of the last deployment.

" - } - }, - "lastDeploymentJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the last deployment job.

" - } - }, - "lastDeploymentTime": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time of the last deployment.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified fleet.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeRobot": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeRobotRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeRobotResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

Describes a robot.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeRobot", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeRobotApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeRobotApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeRobotApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a robot application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeRobotApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeRobotApplicationRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot application.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application to describe.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeRobotApplicationResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the robot application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the robot application.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the robot application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot application was last\n updated.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified robot application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI used to create the robot\n application.

" - } - }, - "imageDigest": { - "target": "com.amazonaws.robomaker#ImageDigest", - "traits": { - "smithy.api#documentation": "

A SHA256 identifier for the Docker image that you use for your robot application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeRobotRequest": { - "type": "structure", - "members": { - "robot": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot to be described.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeRobotResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot.

" - } - }, - "fleetArn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#RobotStatus", - "traits": { - "smithy.api#documentation": "

The status of the fleet.

" - } - }, - "greengrassGroupId": { - "target": "com.amazonaws.robomaker#Id", - "traits": { - "smithy.api#documentation": "

The Greengrass group id.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot was created.

" - } - }, - "architecture": { - "target": "com.amazonaws.robomaker#Architecture", - "traits": { - "smithy.api#documentation": "

The target architecture of the robot application.

" - } - }, - "lastDeploymentJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the last deployment job.

" - } - }, - "lastDeploymentTime": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time of the last deployment job.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified robot.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeSimulationApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeSimulationApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeSimulationApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a simulation application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeSimulationApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeSimulationApplicationRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the simulation application.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application to describe.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeSimulationApplicationResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot simulation application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the simulation application.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The simulation software suite used by the simulation application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about the robot software suite.

" - } - }, - "renderingEngine": { - "target": "com.amazonaws.robomaker#RenderingEngine", - "traits": { - "smithy.api#documentation": "

The rendering engine for the simulation application.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the simulation application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation application was last\n updated.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified simulation application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI used to create the simulation\n application.

" - } - }, - "imageDigest": { - "target": "com.amazonaws.robomaker#ImageDigest", - "traits": { - "smithy.api#documentation": "

A SHA256 identifier for the Docker image that you use for your simulation\n application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeSimulationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeSimulationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeSimulationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a simulation job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeSimulationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeSimulationJobBatch": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeSimulationJobBatchRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeSimulationJobBatchResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a simulation job batch.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeSimulationJobBatch", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeSimulationJobBatchRequest": { - "type": "structure", - "members": { - "batch": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The id of the batch to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeSimulationJobBatchResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobBatchStatus", - "traits": { - "smithy.api#documentation": "

The status of the batch.

\n
\n
Pending
\n
\n

The simulation job batch request is pending.

\n
\n
InProgress
\n
\n

The simulation job batch is in progress.

\n
\n
Failed
\n
\n

The simulation job batch failed. One or more simulation job requests could not\n be completed due to an internal failure (like InternalServiceError).\n See failureCode and failureReason for more\n information.

\n
\n
Completed
\n
\n

The simulation batch job completed. A batch is complete when (1) there are no\n pending simulation job requests in the batch and none of the failed simulation job\n requests are due to InternalServiceError and (2) when all created\n simulation jobs have reached a terminal state (for example, Completed\n or Failed).

\n
\n
Canceled
\n
\n

The simulation batch job was cancelled.

\n
\n
Canceling
\n
\n

The simulation batch job is being cancelled.

\n
\n
Completing
\n
\n

The simulation batch job is completing.

\n
\n
TimingOut
\n
\n

The simulation job batch is timing out.

\n

If a batch timing out, and there are pending requests that were failing due to\n an internal failure (like InternalServiceError), the batch status\n will be Failed. If there are no such failing request, the batch\n status will be TimedOut.

\n
\n
TimedOut
\n
\n

The simulation batch job timed out.

\n
\n
" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job batch was last\n updated.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job batch was\n created.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "batchPolicy": { - "target": "com.amazonaws.robomaker#BatchPolicy", - "traits": { - "smithy.api#documentation": "

The batch policy.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#SimulationJobBatchErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the simulation job batch.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The reason the simulation job batch failed.

" - } - }, - "failedRequests": { - "target": "com.amazonaws.robomaker#FailedCreateSimulationJobRequests", - "traits": { - "smithy.api#documentation": "

A list of failed create simulation job requests. The request failed to be created into a\n simulation job. Failed requests do not have a simulation job ID.

" - } - }, - "pendingRequests": { - "target": "com.amazonaws.robomaker#CreateSimulationJobRequests", - "traits": { - "smithy.api#documentation": "

A list of pending simulation job requests. These requests have not yet been created into\n simulation jobs.

" - } - }, - "createdRequests": { - "target": "com.amazonaws.robomaker#SimulationJobSummaries", - "traits": { - "smithy.api#documentation": "

A list of created simulation job summaries.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the simulation job\n batch.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeSimulationJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation job to be described.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeSimulationJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation job.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the simulation job.

" - } - }, - "lastStartedAt": { - "target": "com.amazonaws.robomaker#LastStartedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n started.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n updated.

" - } - }, - "failureBehavior": { - "target": "com.amazonaws.robomaker#FailureBehavior", - "traits": { - "smithy.api#documentation": "

The failure behavior for the simulation job.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#SimulationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the simulation job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
RobotApplicationCrash
\n
\n

Robot application exited abnormally.

\n
\n
SimulationApplicationCrash
\n
\n

Simulation application exited abnormally.

\n
\n
BadPermissionsRobotApplication
\n
\n

Robot application bundle could not be downloaded.

\n
\n
BadPermissionsSimulationApplication
\n
\n

Simulation application bundle could not be downloaded.

\n
\n
BadPermissionsS3Output
\n
\n

Unable to publish outputs to customer-provided S3 bucket.

\n
\n
BadPermissionsCloudwatchLogs
\n
\n

Unable to publish logs to customer-provided CloudWatch Logs resource.

\n
\n
SubnetIpLimitExceeded
\n
\n

Subnet IP limit exceeded.

\n
\n
ENILimitExceeded
\n
\n

ENI limit exceeded.

\n
\n
BadPermissionsUserCredentials
\n
\n

Unable to use the Role provided.

\n
\n
InvalidBundleRobotApplication
\n
\n

Robot bundle cannot be extracted (invalid format, bundling error, or other\n issue).

\n
\n
InvalidBundleSimulationApplication
\n
\n

Simulation bundle cannot be extracted (invalid format, bundling error, or other\n issue).

\n
\n
RobotApplicationVersionMismatchedEtag
\n
\n

Etag for RobotApplication does not match value during version creation.

\n
\n
SimulationApplicationVersionMismatchedEtag
\n
\n

Etag for SimulationApplication does not match value during version\n creation.

\n
\n
" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

Details about why the simulation job failed. For more information about troubleshooting,\n see Troubleshooting.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation", - "traits": { - "smithy.api#documentation": "

Location for output files generated by the simulation job.

" - } - }, - "loggingConfig": { - "target": "com.amazonaws.robomaker#LoggingConfig", - "traits": { - "smithy.api#documentation": "

The logging configuration.

" - } - }, - "maxJobDurationInSeconds": { - "target": "com.amazonaws.robomaker#JobDuration", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum job duration in seconds. The value must be 8 days (691,200 seconds) or\n less.

" - } - }, - "simulationTimeMillis": { - "target": "com.amazonaws.robomaker#SimulationTimeMillis", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The simulation job execution duration in milliseconds.

" - } - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role that allows the simulation instance to call the AWS APIs that are specified\n in its associated policies on your behalf.

" - } - }, - "robotApplications": { - "target": "com.amazonaws.robomaker#RobotApplicationConfigs", - "traits": { - "smithy.api#documentation": "

A list of robot applications.

" - } - }, - "simulationApplications": { - "target": "com.amazonaws.robomaker#SimulationApplicationConfigs", - "traits": { - "smithy.api#documentation": "

A list of simulation applications.

" - } - }, - "dataSources": { - "target": "com.amazonaws.robomaker#DataSources", - "traits": { - "smithy.api#documentation": "

The data sources for the simulation job.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified simulation job.

" - } - }, - "vpcConfig": { - "target": "com.amazonaws.robomaker#VPCConfigResponse", - "traits": { - "smithy.api#documentation": "

The VPC configuration.

" - } - }, - "networkInterface": { - "target": "com.amazonaws.robomaker#NetworkInterface", - "traits": { - "smithy.api#documentation": "

The network interface information for the simulation job.

" - } - }, - "compute": { - "target": "com.amazonaws.robomaker#ComputeResponse", - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeWorld": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeWorldRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeWorldResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a world.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeWorld", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeWorldExportJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeWorldExportJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeWorldExportJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a world export job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeWorldExportJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeWorldExportJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world export job to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldExportJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world export job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#WorldExportJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the world export job.

\n
\n
Pending
\n
\n

The world export job request is pending.

\n
\n
Running
\n
\n

The world export job is running.

\n
\n
Completed
\n
\n

The world export job completed.

\n
\n
Failed
\n
\n

The world export job failed. See failureCode and\n failureReason for more information.

\n
\n
Canceled
\n
\n

The world export job was cancelled.

\n
\n
Canceling
\n
\n

The world export job is being cancelled.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world export job was created.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#WorldExportJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the world export job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
LimitExceeded
\n
\n

The requested resource exceeds the maximum number allowed, or the number of\n concurrent stream requests exceeds the maximum number allowed.

\n
\n
ResourceNotFound
\n
\n

The specified resource could not be found.

\n
\n
RequestThrottled
\n
\n

The request was throttled.

\n
\n
InvalidInput
\n
\n

An input parameter in the request is not valid.

\n
\n
" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The reason why the world export job failed.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "worlds": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of Amazon Resource Names (arns) that correspond to worlds to be exported.

" - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation" - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role that the world export process uses to access the Amazon S3 bucket and put\n the export.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world export\n job.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldGenerationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeWorldGenerationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeWorldGenerationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a world generation job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeWorldGenerationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeWorldGenerationJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world generation job to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldGenerationJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world generation job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#WorldGenerationJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the world generation job:

\n
\n
Pending
\n
\n

The world generation job request is pending.

\n
\n
Running
\n
\n

The world generation job is running.

\n
\n
Completed
\n
\n

The world generation job completed.

\n
\n
Failed
\n
\n

The world generation job failed. See failureCode for more\n information.

\n
\n
PartialFailed
\n
\n

Some worlds did not generate.

\n
\n
Canceled
\n
\n

The world generation job was cancelled.

\n
\n
Canceling
\n
\n

The world generation job is being cancelled.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world generation job was\n created.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#WorldGenerationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the world generation job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
LimitExceeded
\n
\n

The requested resource exceeds the maximum number allowed, or the number of\n concurrent stream requests exceeds the maximum number allowed.

\n
\n
ResourceNotFound
\n
\n

The specified resource could not be found.

\n
\n
RequestThrottled
\n
\n

The request was throttled.

\n
\n
InvalidInput
\n
\n

An input parameter in the request is not valid.

\n
\n
" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The reason why the world generation job failed.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template.

" - } - }, - "worldCount": { - "target": "com.amazonaws.robomaker#WorldCount", - "traits": { - "smithy.api#documentation": "

Information about the world count.

" - } - }, - "finishedWorldsSummary": { - "target": "com.amazonaws.robomaker#FinishedWorldsSummary", - "traits": { - "smithy.api#documentation": "

Summary information about finished worlds.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world generation\n job.

" - } - }, - "worldTags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the generated\n worlds.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldRequest": { - "type": "structure", - "members": { - "world": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world you want to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world.

" - } - }, - "generationJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world generation job that generated the\n world.

" - } - }, - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The world template.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world was created.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world.

" - } - }, - "worldDescriptionBody": { - "target": "com.amazonaws.robomaker#Json", - "traits": { - "smithy.api#documentation": "

Returns the JSON formatted string that describes the contents of your world.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldTemplate": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#DescribeWorldTemplateRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#DescribeWorldTemplateResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Describes a world template.

", - "smithy.api#http": { - "method": "POST", - "uri": "/describeWorldTemplate", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#DescribeWorldTemplateRequest": { - "type": "structure", - "members": { - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template you want to describe.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#DescribeWorldTemplateResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world template.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#TemplateName", - "traits": { - "smithy.api#documentation": "

The name of the world template.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world template was created.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world template was last\n updated.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the world\n template.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The version of the world template that you're using.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#Environment": { - "type": "structure", - "members": { - "uri": { - "target": "com.amazonaws.robomaker#RepositoryUrl", - "traits": { - "smithy.api#documentation": "

The Docker image URI for either your robot or simulation applications.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI for either your robot or simulation\n applications.

" - } - }, - "com.amazonaws.robomaker#EnvironmentVariableKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": "^[A-Z_][A-Z0-9_]*$" - } - }, - "com.amazonaws.robomaker#EnvironmentVariableMap": { - "type": "map", - "key": { - "target": "com.amazonaws.robomaker#EnvironmentVariableKey" - }, - "value": { - "target": "com.amazonaws.robomaker#EnvironmentVariableValue" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 20 - } - } - }, - "com.amazonaws.robomaker#EnvironmentVariableValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#ExitBehavior": { - "type": "enum", - "members": { - "FAIL": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "FAIL" - } - }, - "RESTART": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RESTART" - } - } - } - }, - "com.amazonaws.robomaker#FailedAt": { - "type": "timestamp" - }, - "com.amazonaws.robomaker#FailedCreateSimulationJobRequest": { - "type": "structure", - "members": { - "request": { - "target": "com.amazonaws.robomaker#SimulationJobRequest", - "traits": { - "smithy.api#documentation": "

The simulation job request.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The failure reason of the simulation job request.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#SimulationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code.

" - } - }, - "failedAt": { - "target": "com.amazonaws.robomaker#FailedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job batch failed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a failed create simulation job request.

" - } - }, - "com.amazonaws.robomaker#FailedCreateSimulationJobRequests": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#FailedCreateSimulationJobRequest" - } - }, - "com.amazonaws.robomaker#FailureBehavior": { - "type": "enum", - "members": { - "Fail": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Fail" - } - }, - "Continue": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Continue" - } - } - } - }, - "com.amazonaws.robomaker#FailureSummary": { - "type": "structure", - "members": { - "totalFailureCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of failures.

" - } - }, - "failures": { - "target": "com.amazonaws.robomaker#WorldFailures", - "traits": { - "smithy.api#documentation": "

The worlds that failed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about worlds that failed.

" - } - }, - "com.amazonaws.robomaker#Filter": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the filter.

" - } - }, - "values": { - "target": "com.amazonaws.robomaker#FilterValues", - "traits": { - "smithy.api#documentation": "

A list of values.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a filter.

" - } - }, - "com.amazonaws.robomaker#FilterValues": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Name" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#Filters": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Filter" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#FinishedWorldsSummary": { - "type": "structure", - "members": { - "finishedCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The total number of finished worlds.

" - } - }, - "succeededWorlds": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of worlds that succeeded.

" - } - }, - "failureSummary": { - "target": "com.amazonaws.robomaker#FailureSummary", - "traits": { - "smithy.api#documentation": "

Information about worlds that failed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about worlds that finished.

" - } - }, - "com.amazonaws.robomaker#Fleet": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the fleet.

" - } - }, - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the fleet was created.

" - } - }, - "lastDeploymentStatus": { - "target": "com.amazonaws.robomaker#DeploymentStatus", - "traits": { - "smithy.api#documentation": "

The status of the last fleet deployment.

" - } - }, - "lastDeploymentJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the last deployment job.

" - } - }, - "lastDeploymentTime": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time of the last deployment.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a fleet.

" - } - }, - "com.amazonaws.robomaker#Fleets": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Fleet" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 200 - } - } - }, - "com.amazonaws.robomaker#FloorplanCount": { - "type": "integer" - }, - "com.amazonaws.robomaker#GPUUnit": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 0, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#GenericInteger": { - "type": "integer" - }, - "com.amazonaws.robomaker#GenericString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#GetWorldTemplateBody": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#GetWorldTemplateBodyRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#GetWorldTemplateBodyResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Gets the world template body.

", - "smithy.api#http": { - "method": "POST", - "uri": "/getWorldTemplateBody", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#GetWorldTemplateBodyRequest": { - "type": "structure", - "members": { - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template.

" - } - }, - "generationJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world generator job.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#GetWorldTemplateBodyResponse": { - "type": "structure", - "members": { - "templateBody": { - "target": "com.amazonaws.robomaker#Json", - "traits": { - "smithy.api#documentation": "

The world template body.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#IamRole": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^arn:aws:iam::\\w+:role/" - } - }, - "com.amazonaws.robomaker#Id": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1224 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#IdempotentParameterMismatchException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The request uses the same client token as a previous, but non-identical request. Do not\n reuse a client token with different requests, unless the requests are identical.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#ImageDigest": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 72 - }, - "smithy.api#pattern": "^[Ss][Hh][Aa]256:[0-9a-fA-F]{64}$" - } - }, - "com.amazonaws.robomaker#Integer": { - "type": "integer", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.robomaker#InteriorCountPerFloorplan": { - "type": "integer" - }, - "com.amazonaws.robomaker#InternalServerException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

AWS RoboMaker experienced a service issue. Try your call again.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500 - } - }, - "com.amazonaws.robomaker#InvalidParameterException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

A parameter specified in a request is not valid, is unsupported, or cannot be used. The\n returned message provides an explanation of the error value.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#JobDuration": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.robomaker#Json": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 262144 - }, - "smithy.api#pattern": "^[\\S\\s]+$" - } - }, - "com.amazonaws.robomaker#LastStartedAt": { - "type": "timestamp" - }, - "com.amazonaws.robomaker#LastUpdatedAt": { - "type": "timestamp" - }, - "com.amazonaws.robomaker#LaunchConfig": { - "type": "structure", - "members": { - "packageName": { - "target": "com.amazonaws.robomaker#Command", - "traits": { - "smithy.api#documentation": "

The package name.

" - } - }, - "launchFile": { - "target": "com.amazonaws.robomaker#Command", - "traits": { - "smithy.api#documentation": "

The launch file name.

" - } - }, - "environmentVariables": { - "target": "com.amazonaws.robomaker#EnvironmentVariableMap", - "traits": { - "smithy.api#documentation": "

The environment variables for the application launch.

" - } - }, - "portForwardingConfig": { - "target": "com.amazonaws.robomaker#PortForwardingConfig", - "traits": { - "smithy.api#documentation": "

The port forwarding configuration.

" - } - }, - "streamUI": { - "target": "com.amazonaws.robomaker#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

Boolean indicating whether a streaming session will be configured for the application.\n If True, AWS RoboMaker will configure a connection so you can interact with\n your application as it is running in the simulation. You must configure and launch the\n component. It must have a graphical user interface.

" - } - }, - "command": { - "target": "com.amazonaws.robomaker#CommandList", - "traits": { - "smithy.api#documentation": "

If you've specified General as the value for your RobotSoftwareSuite, you can use this field to specify a list of commands for your container image.

\n

If you've specified SimulationRuntime as the value for your SimulationSoftwareSuite, you can use this field to specify a list of commands for your container image.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a launch configuration.

" - } - }, - "com.amazonaws.robomaker#LimitExceededException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The requested resource exceeds the maximum number allowed, or the number of concurrent\n stream requests exceeds the maximum number allowed.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#ListDeploymentJobs": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListDeploymentJobsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListDeploymentJobsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

\n Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.\n

", - "smithy.api#http": { - "method": "POST", - "uri": "/listDeploymentJobs", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "deploymentJobs", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListDeploymentJobsRequest": { - "type": "structure", - "members": { - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter names status and fleetName are supported. When\n filtering, you must use the complete value of the filtered item. You can use up to three\n filters, but they must be for the same named item. For example, if you are looking for\n items with the status InProgress or the status Pending.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListDeploymentJobs again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListDeploymentJobs only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListDeploymentJobs request with the returned nextToken\n value. This value can be between 1 and 200. If this parameter is not used, then\n ListDeploymentJobs returns up to 200 results and a nextToken\n value if applicable.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListDeploymentJobsResponse": { - "type": "structure", - "members": { - "deploymentJobs": { - "target": "com.amazonaws.robomaker#DeploymentJobs", - "traits": { - "smithy.api#documentation": "

A list of deployment jobs that meet the criteria of the request.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListDeploymentJobs again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListFleets": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListFleetsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListFleetsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

\n Returns a list of fleets. You can optionally provide filters to retrieve specific fleets.\n

", - "smithy.api#http": { - "method": "POST", - "uri": "/listFleets", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "fleetDetails", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListFleetsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListFleets again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

\n \n

This token should be treated as an opaque identifier that is only used to retrieve\n the next items in a list and not for other programmatic purposes.

\n
" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListFleets only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListFleets request with the returned nextToken value.\n This value can be between 1 and 200. If this parameter is not used, then\n ListFleets returns up to 200 results and a nextToken value if\n applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter name name is supported. When filtering, you must use the\n complete value of the filtered item. You can use up to three filters.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListFleetsResponse": { - "type": "structure", - "members": { - "fleetDetails": { - "target": "com.amazonaws.robomaker#Fleets", - "traits": { - "smithy.api#documentation": "

A list of fleet details meeting the request criteria.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListFleets again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListRobotApplications": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListRobotApplicationsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListRobotApplicationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Returns a list of robot application. You can optionally provide filters to retrieve\n specific robot applications.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listRobotApplications", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "robotApplicationSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListRobotApplicationsRequest": { - "type": "structure", - "members": { - "versionQualifier": { - "target": "com.amazonaws.robomaker#VersionQualifier", - "traits": { - "smithy.api#documentation": "

The version qualifier of the robot application.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListRobotApplications again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListRobotApplications only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListRobotApplications request with the returned nextToken\n value. This value can be between 1 and 100. If this parameter is not used, then\n ListRobotApplications returns up to 100 results and a\n nextToken value if applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter name name is supported. When filtering, you must use the\n complete value of the filtered item. You can use up to three filters.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListRobotApplicationsResponse": { - "type": "structure", - "members": { - "robotApplicationSummaries": { - "target": "com.amazonaws.robomaker#RobotApplicationSummaries", - "traits": { - "smithy.api#documentation": "

A list of robot application summaries that meet the criteria of the request.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListRobotApplications again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListRobots": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListRobotsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListRobotsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

\n Returns a list of robots. You can optionally provide filters to retrieve specific robots.\n

", - "smithy.api#http": { - "method": "POST", - "uri": "/listRobots", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "robots", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListRobotsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListRobots again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListRobots only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListRobots request with the returned nextToken value.\n This value can be between 1 and 200. If this parameter is not used, then\n ListRobots returns up to 200 results and a nextToken value if\n applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter names status and fleetName are supported. When\n filtering, you must use the complete value of the filtered item. You can use up to three\n filters, but they must be for the same named item. For example, if you are looking for\n items with the status Registered or the status Available.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListRobotsResponse": { - "type": "structure", - "members": { - "robots": { - "target": "com.amazonaws.robomaker#Robots", - "traits": { - "smithy.api#documentation": "

A list of robots that meet the criteria of the request.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListRobots again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListSimulationApplications": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListSimulationApplicationsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListSimulationApplicationsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Returns a list of simulation applications. You can optionally provide filters to\n retrieve specific simulation applications.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listSimulationApplications", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "simulationApplicationSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListSimulationApplicationsRequest": { - "type": "structure", - "members": { - "versionQualifier": { - "target": "com.amazonaws.robomaker#VersionQualifier", - "traits": { - "smithy.api#documentation": "

The version qualifier of the simulation application.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListSimulationApplications again and assign that\n token to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListSimulationApplications only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListSimulationApplications request with the returned\n nextToken value. This value can be between 1 and 100. If this parameter is\n not used, then ListSimulationApplications returns up to 100 results and a\n nextToken value if applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional list of filters to limit results.

\n

The filter name name is supported. When filtering, you must use the\n complete value of the filtered item. You can use up to three filters.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListSimulationApplicationsResponse": { - "type": "structure", - "members": { - "simulationApplicationSummaries": { - "target": "com.amazonaws.robomaker#SimulationApplicationSummaries", - "traits": { - "smithy.api#documentation": "

A list of simulation application summaries that meet the criteria of the request.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListSimulationApplications again and assign that\n token to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListSimulationJobBatches": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListSimulationJobBatchesRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListSimulationJobBatchesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Returns a list simulation job batches. You can optionally provide filters to retrieve\n specific simulation batch jobs.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listSimulationJobBatches", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "simulationJobBatchSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListSimulationJobBatchesRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListSimulationJobBatches again and assign that token\n to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListSimulationJobBatches only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListSimulationJobBatches request with the returned\n nextToken value.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListSimulationJobBatchesResponse": { - "type": "structure", - "members": { - "simulationJobBatchSummaries": { - "target": "com.amazonaws.robomaker#SimulationJobBatchSummaries", - "traits": { - "smithy.api#documentation": "

A list of simulation job batch summaries.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListSimulationJobBatches again and assign that token\n to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListSimulationJobs": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListSimulationJobsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListSimulationJobsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Returns a list of simulation jobs. You can optionally provide filters to retrieve\n specific simulation jobs.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listSimulationJobs", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "simulationJobSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListSimulationJobsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListSimulationJobs again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListSimulationJobs only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListSimulationJobs request with the returned nextToken\n value. This value can be between 1 and 1000. If this parameter is not used, then\n ListSimulationJobs returns up to 1000 results and a nextToken\n value if applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter names status and simulationApplicationName and\n robotApplicationName are supported. When filtering, you must use the\n complete value of the filtered item. You can use up to three filters, but they must be for\n the same named item. For example, if you are looking for items with the status\n Preparing or the status Running.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListSimulationJobsResponse": { - "type": "structure", - "members": { - "simulationJobSummaries": { - "target": "com.amazonaws.robomaker#SimulationJobSummaries", - "traits": { - "smithy.api#documentation": "

A list of simulation job summaries that meet the criteria of the request.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListSimulationJobs again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListTagsForResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListTagsForResourceRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListTagsForResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Lists all tags on a AWS RoboMaker resource.

", - "smithy.api#http": { - "method": "GET", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#ListTagsForResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The AWS RoboMaker Amazon Resource Name (ARN) with tags to be listed.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListTagsForResourceResponse": { - "type": "structure", - "members": { - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

The list of all tags added to the specified resource.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListWorldExportJobs": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListWorldExportJobsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListWorldExportJobsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Lists world export jobs.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listWorldExportJobs", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "worldExportJobSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListWorldExportJobsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorldExportJobs again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListWorldExportJobs only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListWorldExportJobs request with the returned nextToken\n value. This value can be between 1 and 100. If this parameter is not used, then\n ListWorldExportJobs returns up to 100 results and a nextToken\n value if applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results. You can use generationJobId and\n templateId.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListWorldExportJobsResponse": { - "type": "structure", - "members": { - "worldExportJobSummaries": { - "target": "com.amazonaws.robomaker#WorldExportJobSummaries", - "traits": { - "smithy.api#documentation": "

Summary information for world export jobs.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorldExportJobsRequest again and assign that\n token to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListWorldGenerationJobs": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListWorldGenerationJobsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListWorldGenerationJobsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Lists world generator jobs.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listWorldGenerationJobs", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "worldGenerationJobSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListWorldGenerationJobsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorldGenerationJobsRequest again and assign that\n token to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListWorldGeneratorJobs only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListWorldGeneratorJobs request with the returned\n nextToken value. This value can be between 1 and 100. If this parameter is\n not used, then ListWorldGeneratorJobs returns up to 100 results and a\n nextToken value if applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results. You can use status and\n templateId.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListWorldGenerationJobsResponse": { - "type": "structure", - "members": { - "worldGenerationJobSummaries": { - "target": "com.amazonaws.robomaker#WorldGenerationJobSummaries", - "traits": { - "smithy.api#documentation": "

Summary information for world generator jobs.

", - "smithy.api#required": {} - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorldGeneratorJobsRequest again and assign that\n token to the request object's nextToken parameter. If there are no remaining\n results, the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListWorldTemplates": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListWorldTemplatesRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListWorldTemplatesResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Lists world templates.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listWorldTemplates", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "templateSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListWorldTemplatesRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorldTemplates again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListWorldTemplates only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListWorldTemplates request with the returned nextToken\n value. This value can be between 1 and 100. If this parameter is not used, then\n ListWorldTemplates returns up to 100 results and a nextToken\n value if applicable.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListWorldTemplatesResponse": { - "type": "structure", - "members": { - "templateSummaries": { - "target": "com.amazonaws.robomaker#TemplateSummaries", - "traits": { - "smithy.api#documentation": "

Summary information for templates.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorldTemplates again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#ListWorlds": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#ListWorldsRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#ListWorldsResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Lists worlds.

", - "smithy.api#http": { - "method": "POST", - "uri": "/listWorlds", - "code": 200 - }, - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "items": "worldSummaries", - "pageSize": "maxResults" - } - } - }, - "com.amazonaws.robomaker#ListWorldsRequest": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorlds again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" - } - }, - "maxResults": { - "target": "com.amazonaws.robomaker#MaxResults", - "traits": { - "smithy.api#documentation": "

When this parameter is used, ListWorlds only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListWorlds request with the returned nextToken value.\n This value can be between 1 and 100. If this parameter is not used, then\n ListWorlds returns up to 100 results and a nextToken value if\n applicable.

" - } - }, - "filters": { - "target": "com.amazonaws.robomaker#Filters", - "traits": { - "smithy.api#documentation": "

Optional filters to limit results. You can use status.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#ListWorldsResponse": { - "type": "structure", - "members": { - "worldSummaries": { - "target": "com.amazonaws.robomaker#WorldSummaries", - "traits": { - "smithy.api#documentation": "

Summary information for worlds.

" - } - }, - "nextToken": { - "target": "com.amazonaws.robomaker#PaginationToken", - "traits": { - "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListWorlds again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#LoggingConfig": { - "type": "structure", - "members": { - "recordAllRosTopics": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html." - }, - "smithy.api#documentation": "

A boolean indicating whether to record all ROS topics.

\n \n

This API is no longer supported and will throw an error if used.

\n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

The logging configuration.

" - } - }, - "com.amazonaws.robomaker#MaxConcurrency": { - "type": "integer" - }, - "com.amazonaws.robomaker#MaxResults": { - "type": "integer" - }, - "com.amazonaws.robomaker#Name": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_\\-]*$" - } - }, - "com.amazonaws.robomaker#NetworkInterface": { - "type": "structure", - "members": { - "networkInterfaceId": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The ID of the network interface.

" - } - }, - "privateIpAddress": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The IPv4 address of the network interface within the subnet.

" - } - }, - "publicIpAddress": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The IPv4 public address of the network interface.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Describes a network interface.

" - } - }, - "com.amazonaws.robomaker#NonEmptyString": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^.+$" - } - }, - "com.amazonaws.robomaker#NonSystemPort": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1024, - "max": 65535 - } - } - }, - "com.amazonaws.robomaker#OutputLocation": { - "type": "structure", - "members": { - "s3Bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The S3 bucket for output.

" - } - }, - "s3Prefix": { - "target": "com.amazonaws.robomaker#S3Key", - "traits": { - "smithy.api#documentation": "

The S3 folder in the s3Bucket where output files will be placed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The output location.

" - } - }, - "com.amazonaws.robomaker#PaginationToken": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 2048 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_.\\-\\/+=]*$" - } - }, - "com.amazonaws.robomaker#Path": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#PercentDone": { - "type": "float", - "traits": { - "smithy.api#range": { - "min": 0.0, - "max": 100.0 - } - } - }, - "com.amazonaws.robomaker#Percentage": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#Port": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 65535 - } - } - }, - "com.amazonaws.robomaker#PortForwardingConfig": { - "type": "structure", - "members": { - "portMappings": { - "target": "com.amazonaws.robomaker#PortMappingList", - "traits": { - "smithy.api#documentation": "

The port mappings for the configuration.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Configuration information for port forwarding.

" - } - }, - "com.amazonaws.robomaker#PortMapping": { - "type": "structure", - "members": { - "jobPort": { - "target": "com.amazonaws.robomaker#Port", - "traits": { - "smithy.api#documentation": "

The port number on the simulation job instance to use as a remote connection point.\n

", - "smithy.api#required": {} - } - }, - "applicationPort": { - "target": "com.amazonaws.robomaker#NonSystemPort", - "traits": { - "smithy.api#documentation": "

The port number on the application.

", - "smithy.api#required": {} - } - }, - "enableOnPublicIp": { - "target": "com.amazonaws.robomaker#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

A Boolean indicating whether to enable this port mapping on public IP.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

An object representing a port mapping.

" - } - }, - "com.amazonaws.robomaker#PortMappingList": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#PortMapping" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 - } - } - }, - "com.amazonaws.robomaker#ProgressDetail": { - "type": "structure", - "members": { - "currentProgress": { - "target": "com.amazonaws.robomaker#RobotDeploymentStep", - "traits": { - "smithy.api#documentation": "

The current progress status.

\n
\n
Validating
\n
\n

Validating the deployment.

\n
\n
DownloadingExtracting
\n
\n

Downloading and extracting the bundle on the robot.

\n
\n
ExecutingPreLaunch
\n
\n

Executing pre-launch script(s) if provided.

\n
\n
Launching
\n
\n

Launching the robot application.

\n
\n
ExecutingPostLaunch
\n
\n

Executing post-launch script(s) if provided.

\n
\n
Finished
\n
\n

Deployment is complete.

\n
\n
" - } - }, - "percentDone": { - "target": "com.amazonaws.robomaker#PercentDone", - "traits": { - "smithy.api#documentation": "

Precentage of the step that is done. This currently only applies to the\n Downloading/Extracting step of the deployment. It is empty for other\n steps.

" - } - }, - "estimatedTimeRemainingSeconds": { - "target": "com.amazonaws.robomaker#GenericInteger", - "traits": { - "smithy.api#documentation": "

Estimated amount of time in seconds remaining in the step. This currently only applies\n to the Downloading/Extracting step of the deployment. It is empty for other\n steps.

" - } - }, - "targetResource": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the deployment job.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about the progress of a deployment job.

" - } - }, - "com.amazonaws.robomaker#RegisterRobot": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#RegisterRobotRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#RegisterRobotResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Registers a robot with a fleet.

\n \n

This API is no longer supported and will throw an error if used. For more information, see the January 31, 2022 update in the Support policy page.

\n
", - "smithy.api#http": { - "method": "POST", - "uri": "/registerRobot", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#RegisterRobotRequest": { - "type": "structure", - "members": { - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

", - "smithy.api#required": {} - } - }, - "robot": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#RegisterRobotResponse": { - "type": "structure", - "members": { - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet that the robot will join.

" - } - }, - "robot": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

Information about the robot registration.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#RenderingEngine": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#RenderingEngineType", - "traits": { - "smithy.api#documentation": "

The name of the rendering engine.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#RenderingEngineVersionType", - "traits": { - "smithy.api#documentation": "

The version of the rendering engine.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a rendering engine.

" - } - }, - "com.amazonaws.robomaker#RenderingEngineType": { - "type": "enum", - "members": { - "OGRE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "OGRE" - } - } - } - }, - "com.amazonaws.robomaker#RenderingEngineVersionType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 4 - }, - "smithy.api#pattern": "^1.x$" - } - }, - "com.amazonaws.robomaker#RepositoryUrl": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": "^.+$" - } - }, - "com.amazonaws.robomaker#ResourceAlreadyExistsException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource already exists.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#ResourceNotFoundException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The specified resource does not exist.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#RestartSimulationJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#RestartSimulationJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#RestartSimulationJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Restarts a running simulation job.

", - "smithy.api#http": { - "method": "POST", - "uri": "/restartSimulationJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#RestartSimulationJobRequest": { - "type": "structure", - "members": { - "job": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation job.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#RestartSimulationJobResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#RevisionId": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 40 - }, - "smithy.api#pattern": "^[a-zA-Z0-9_.\\-]*$" - } - }, - "com.amazonaws.robomaker#Robot": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot.

" - } - }, - "fleetArn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#RobotStatus", - "traits": { - "smithy.api#documentation": "

The status of the robot.

" - } - }, - "greenGrassGroupId": { - "target": "com.amazonaws.robomaker#Id", - "traits": { - "smithy.api#documentation": "

The Greengrass group associated with the robot.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot was created.

" - } - }, - "architecture": { - "target": "com.amazonaws.robomaker#Architecture", - "traits": { - "smithy.api#documentation": "

The architecture of the robot.

" - } - }, - "lastDeploymentJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the last deployment job.

" - } - }, - "lastDeploymentTime": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time of the last deployment.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a robot.

" - } - }, - "com.amazonaws.robomaker#RobotApplicationConfig": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the robot application.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "launchConfig": { - "target": "com.amazonaws.robomaker#LaunchConfig", - "traits": { - "smithy.api#documentation": "

The launch configuration for the robot application.

", - "smithy.api#required": {} - } - }, - "uploadConfigurations": { - "target": "com.amazonaws.robomaker#UploadConfigurations", - "traits": { - "smithy.api#documentation": "

The upload configurations for the robot application.

" - } - }, - "useDefaultUploadConfigurations": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html." - }, - "smithy.api#documentation": "

A Boolean indicating whether to use default upload configurations. By default,\n .ros and .gazebo files are uploaded when the application\n terminates and all ROS topics will be recorded.

\n

If you set this value, you must specify an outputLocation.

\n \n

This API is no longer supported and will throw an error if used.

\n
" - } - }, - "tools": { - "target": "com.amazonaws.robomaker#Tools", - "traits": { - "smithy.api#documentation": "

Information about tools configured for the robot application.

" - } - }, - "useDefaultTools": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html." - }, - "smithy.api#documentation": "

A Boolean indicating whether to use default robot application tools. The default tools\n are rviz, rqt, terminal and rosbag record. The default is False.

\n \n

This API is no longer supported and will throw an error if used.

\n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

Application configuration information for a robot.

" - } - }, - "com.amazonaws.robomaker#RobotApplicationConfigs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#RobotApplicationConfig" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#RobotApplicationNames": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Name" - } - }, - "com.amazonaws.robomaker#RobotApplicationSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#RobotApplicationSummary" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#RobotApplicationSummary": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot application.

" - } - }, - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot application was last\n updated.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about a robot software suite.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Summary information for a robot application.

" - } - }, - "com.amazonaws.robomaker#RobotDeployment": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The robot deployment Amazon Resource Name (ARN).

" - } - }, - "deploymentStartTime": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the deployment was started.

" - } - }, - "deploymentFinishTime": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the deployment finished.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#RobotStatus", - "traits": { - "smithy.api#documentation": "

The status of the robot deployment.

" - } - }, - "progressDetail": { - "target": "com.amazonaws.robomaker#ProgressDetail", - "traits": { - "smithy.api#documentation": "

Information about how the deployment is progressing.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

A short description of the reason why the robot deployment failed.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#DeploymentJobErrorCode", - "traits": { - "smithy.api#documentation": "

The robot deployment failure code.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a robot deployment.

" - } - }, - "com.amazonaws.robomaker#RobotDeploymentStep": { - "type": "enum", - "members": { - "ValidatingStep": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Validating" - } - }, - "DownloadingExtractingStep": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "DownloadingExtracting" - } - }, - "ExecutingDownloadCondition": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ExecutingDownloadCondition" - } - }, - "PreLaunchStep": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ExecutingPreLaunch" - } - }, - "LaunchingStep": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Launching" - } - }, - "PostLaunchStep": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ExecutingPostLaunch" - } - }, - "FinishedStep": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Finished" - } - } - } - }, - "com.amazonaws.robomaker#RobotDeploymentSummary": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#RobotDeployment" - } - }, - "com.amazonaws.robomaker#RobotSoftwareSuite": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuiteType", - "traits": { - "smithy.api#documentation": "

The name of the robot software suite. General is the only supported value.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuiteVersionType", - "traits": { - "smithy.api#documentation": "

The version of the robot software suite. Not applicable for General software suite.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a robot software suite.

" - } - }, - "com.amazonaws.robomaker#RobotSoftwareSuiteType": { - "type": "enum", - "members": { - "ROS": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ROS" - } - }, - "ROS2": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ROS2" - } - }, - "General": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "General" - } - } - } - }, - "com.amazonaws.robomaker#RobotSoftwareSuiteVersionType": { - "type": "enum", - "members": { - "Kinetic": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Kinetic" - } - }, - "Melodic": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Melodic" - } - }, - "Dashing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Dashing" - } - }, - "Foxy": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Foxy" - } - } - } - }, - "com.amazonaws.robomaker#RobotStatus": { - "type": "enum", - "members": { - "Available": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Available" - } - }, - "Registered": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Registered" - } - }, - "PendingNewDeployment": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PendingNewDeployment" - } - }, - "Deploying": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Deploying" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "InSync": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InSync" - } - }, - "NoResponse": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "NoResponse" - } - } - } - }, - "com.amazonaws.robomaker#Robots": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Robot" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1000 - } - } - }, - "com.amazonaws.robomaker#S3Bucket": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 3, - "max": 63 - }, - "smithy.api#pattern": "^[a-z0-9][a-z0-9.\\-]*[a-z0-9]$" - } - }, - "com.amazonaws.robomaker#S3Etag": { - "type": "string" - }, - "com.amazonaws.robomaker#S3Etags": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#S3Etag" - } - }, - "com.amazonaws.robomaker#S3Key": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#S3KeyOrPrefix": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#S3KeyOutput": { - "type": "structure", - "members": { - "s3Key": { - "target": "com.amazonaws.robomaker#S3KeyOrPrefix", - "traits": { - "smithy.api#documentation": "

The S3 key.

" - } - }, - "etag": { - "target": "com.amazonaws.robomaker#S3Etag", - "traits": { - "smithy.api#documentation": "

The etag for the object.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about S3 keys.

" - } - }, - "com.amazonaws.robomaker#S3KeyOutputs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#S3KeyOutput" - } - }, - "com.amazonaws.robomaker#S3KeysOrPrefixes": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#S3KeyOrPrefix" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#S3Object": { - "type": "structure", - "members": { - "bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The bucket containing the object.

", - "smithy.api#required": {} - } - }, - "key": { - "target": "com.amazonaws.robomaker#S3Key", - "traits": { - "smithy.api#documentation": "

The key of the object.

", - "smithy.api#required": {} - } - }, - "etag": { - "target": "com.amazonaws.robomaker#S3Etag", - "traits": { - "smithy.api#documentation": "

The etag of the object.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about an S3 object.

" - } - }, - "com.amazonaws.robomaker#SecurityGroups": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#NonEmptyString" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 5 - } - } - }, - "com.amazonaws.robomaker#ServiceUnavailableException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

The request has failed due to a temporary failure of the server.

", - "smithy.api#error": "server", - "smithy.api#httpError": 503 - } - }, - "com.amazonaws.robomaker#SimulationApplicationConfig": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the simulation application.

", - "smithy.api#required": {} - } - }, - "applicationVersion": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application.

" - } - }, - "launchConfig": { - "target": "com.amazonaws.robomaker#LaunchConfig", - "traits": { - "smithy.api#documentation": "

The launch configuration for the simulation application.

", - "smithy.api#required": {} - } - }, - "uploadConfigurations": { - "target": "com.amazonaws.robomaker#UploadConfigurations", - "traits": { - "smithy.api#documentation": "

Information about upload configurations for the simulation application.

" - } - }, - "worldConfigs": { - "target": "com.amazonaws.robomaker#WorldConfigs", - "traits": { - "smithy.api#documentation": "

A list of world configurations.

\n \n

This API is no longer supported and will throw an error if used.

\n
" - } - }, - "useDefaultUploadConfigurations": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html." - }, - "smithy.api#documentation": "

A Boolean indicating whether to use default upload configurations. By default,\n .ros and .gazebo files are uploaded when the application\n terminates and all ROS topics will be recorded.

\n

If you set this value, you must specify an outputLocation.

\n \n

This API is no longer supported and will throw an error if used.

\n
" - } - }, - "tools": { - "target": "com.amazonaws.robomaker#Tools", - "traits": { - "smithy.api#documentation": "

Information about tools configured for the simulation application.

" - } - }, - "useDefaultTools": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#deprecated": { - "message": "AWS RoboMaker is ending support for ROS software suite. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/software-support-policy.html." - }, - "smithy.api#documentation": "

A Boolean indicating whether to use default simulation application tools. The default\n tools are rviz, rqt, terminal and rosbag record. The default is False.

\n \n

This API is no longer supported and will throw an error if used.

\n
" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a simulation application configuration.

" - } - }, - "com.amazonaws.robomaker#SimulationApplicationConfigs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SimulationApplicationConfig" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#SimulationApplicationNames": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Name" - } - }, - "com.amazonaws.robomaker#SimulationApplicationSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SimulationApplicationSummary" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#SimulationApplicationSummary": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation application.

" - } - }, - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the simulation application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation application was last\n updated.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about a robot software suite.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about a simulation software suite.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Summary information for a simulation application.

" - } - }, - "com.amazonaws.robomaker#SimulationJob": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation job.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobStatus", - "traits": { - "smithy.api#documentation": "

Status of the simulation job.

" - } - }, - "lastStartedAt": { - "target": "com.amazonaws.robomaker#LastStartedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n started.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n updated.

" - } - }, - "failureBehavior": { - "target": "com.amazonaws.robomaker#FailureBehavior", - "traits": { - "smithy.api#documentation": "

The failure behavior the simulation job.

\n
\n
Continue
\n
\n

Leaves the host running for its maximum timeout duration after a\n 4XX error code.

\n
\n
Fail
\n
\n

Stop the simulation job and terminate the instance.

\n
\n
" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#SimulationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the simulation job if it failed.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The reason why the simulation job failed.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

A unique identifier for this SimulationJob request.

" - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation", - "traits": { - "smithy.api#documentation": "

Location for output files generated by the simulation job.

" - } - }, - "loggingConfig": { - "target": "com.amazonaws.robomaker#LoggingConfig", - "traits": { - "smithy.api#documentation": "

The logging configuration.

" - } - }, - "maxJobDurationInSeconds": { - "target": "com.amazonaws.robomaker#JobDuration", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum simulation job duration in seconds. The value must be 8 days (691,200\n seconds) or less.

" - } - }, - "simulationTimeMillis": { - "target": "com.amazonaws.robomaker#SimulationTimeMillis", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The simulation job execution duration in milliseconds.

" - } - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role that allows the simulation instance to call the AWS APIs that are specified\n in its associated policies on your behalf. This is how credentials are passed in to your\n simulation job.

" - } - }, - "robotApplications": { - "target": "com.amazonaws.robomaker#RobotApplicationConfigs", - "traits": { - "smithy.api#documentation": "

A list of robot applications.

" - } - }, - "simulationApplications": { - "target": "com.amazonaws.robomaker#SimulationApplicationConfigs", - "traits": { - "smithy.api#documentation": "

A list of simulation applications.

" - } - }, - "dataSources": { - "target": "com.amazonaws.robomaker#DataSources", - "traits": { - "smithy.api#documentation": "

The data sources for the simulation job.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the simulation\n job.

" - } - }, - "vpcConfig": { - "target": "com.amazonaws.robomaker#VPCConfigResponse", - "traits": { - "smithy.api#documentation": "

VPC configuration information.

" - } - }, - "networkInterface": { - "target": "com.amazonaws.robomaker#NetworkInterface", - "traits": { - "smithy.api#documentation": "

Information about a network interface.

" - } - }, - "compute": { - "target": "com.amazonaws.robomaker#ComputeResponse", - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a simulation job.

" - } - }, - "com.amazonaws.robomaker#SimulationJobBatchErrorCode": { - "type": "enum", - "members": { - "InternalServiceError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InternalServiceError" - } - } - } - }, - "com.amazonaws.robomaker#SimulationJobBatchStatus": { - "type": "enum", - "members": { - "Pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Pending" - } - }, - "InProgress": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InProgress" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "Completed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Completed" - } - }, - "Canceled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceled" - } - }, - "Canceling": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceling" - } - }, - "Completing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Completing" - } - }, - "TimingOut": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TimingOut" - } - }, - "TimedOut": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "TimedOut" - } - } - } - }, - "com.amazonaws.robomaker#SimulationJobBatchSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SimulationJobBatchSummary" - } - }, - "com.amazonaws.robomaker#SimulationJobBatchSummary": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the batch.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job batch was last updated.\n

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job batch was\n created.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobBatchStatus", - "traits": { - "smithy.api#documentation": "

The status of the simulation job batch.

\n
\n
Pending
\n
\n

The simulation job batch request is pending.

\n
\n
InProgress
\n
\n

The simulation job batch is in progress.

\n
\n
Failed
\n
\n

The simulation job batch failed. One or more simulation job requests could not\n be completed due to an internal failure (like InternalServiceError).\n See failureCode and failureReason for more\n information.

\n
\n
Completed
\n
\n

The simulation batch job completed. A batch is complete when (1) there are no\n pending simulation job requests in the batch and none of the failed simulation job\n requests are due to InternalServiceError and (2) when all created\n simulation jobs have reached a terminal state (for example, Completed\n or Failed).

\n
\n
Canceled
\n
\n

The simulation batch job was cancelled.

\n
\n
Canceling
\n
\n

The simulation batch job is being cancelled.

\n
\n
Completing
\n
\n

The simulation batch job is completing.

\n
\n
TimingOut
\n
\n

The simulation job batch is timing out.

\n

If a batch timing out, and there are pending requests that were failing due to\n an internal failure (like InternalServiceError), the batch status\n will be Failed. If there are no such failing request, the batch\n status will be TimedOut.

\n
\n
TimedOut
\n
\n

The simulation batch job timed out.

\n
\n
" - } - }, - "failedRequestCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of failed simulation job requests.

" - } - }, - "pendingRequestCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of pending simulation job requests.

" - } - }, - "createdRequestCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of created simulation job requests.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a simulation job batch.

" - } - }, - "com.amazonaws.robomaker#SimulationJobErrorCode": { - "type": "enum", - "members": { - "InternalServiceError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InternalServiceError" - } - }, - "RobotApplicationCrash": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotApplicationCrash" - } - }, - "SimulationApplicationCrash": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SimulationApplicationCrash" - } - }, - "RobotApplicationHealthCheckFailure": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotApplicationHealthCheckFailure" - } - }, - "SimulationApplicationHealthCheckFailure": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SimulationApplicationHealthCheckFailure" - } - }, - "BadPermissionsRobotApplication": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionsRobotApplication" - } - }, - "BadPermissionsSimulationApplication": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionsSimulationApplication" - } - }, - "BadPermissionsS3Object": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionsS3Object" - } - }, - "BadPermissionsS3Output": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionsS3Output" - } - }, - "BadPermissionsCloudwatchLogs": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionsCloudwatchLogs" - } - }, - "SubnetIpLimitExceeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SubnetIpLimitExceeded" - } - }, - "ENILimitExceeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ENILimitExceeded" - } - }, - "BadPermissionsUserCredentials": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BadPermissionsUserCredentials" - } - }, - "InvalidBundleRobotApplication": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidBundleRobotApplication" - } - }, - "InvalidBundleSimulationApplication": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidBundleSimulationApplication" - } - }, - "InvalidS3Resource": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidS3Resource" - } - }, - "ThrottlingError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ThrottlingError" - } - }, - "LimitExceeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LimitExceeded" - } - }, - "MismatchedEtag": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "MismatchedEtag" - } - }, - "RobotApplicationVersionMismatchedEtag": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RobotApplicationVersionMismatchedEtag" - } - }, - "SimulationApplicationVersionMismatchedEtag": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SimulationApplicationVersionMismatchedEtag" - } - }, - "ResourceNotFound": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ResourceNotFound" - } - }, - "RequestThrottled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RequestThrottled" - } - }, - "BatchTimedOut": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BatchTimedOut" - } - }, - "BatchCanceled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "BatchCanceled" - } - }, - "InvalidInput": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidInput" - } - }, - "WrongRegionS3Bucket": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "WrongRegionS3Bucket" - } - }, - "WrongRegionS3Output": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "WrongRegionS3Output" - } - }, - "WrongRegionRobotApplication": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "WrongRegionRobotApplication" - } - }, - "WrongRegionSimulationApplication": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "WrongRegionSimulationApplication" - } - }, - "UploadContentMismatchError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UploadContentMismatchError" - } - } - } - }, - "com.amazonaws.robomaker#SimulationJobRequest": { - "type": "structure", - "members": { - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation" - }, - "loggingConfig": { - "target": "com.amazonaws.robomaker#LoggingConfig" - }, - "maxJobDurationInSeconds": { - "target": "com.amazonaws.robomaker#JobDuration", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum simulation job duration in seconds. The value must be 8 days (691,200\n seconds) or less.

", - "smithy.api#required": {} - } - }, - "iamRole": { - "target": "com.amazonaws.robomaker#IamRole", - "traits": { - "smithy.api#documentation": "

The IAM role name that allows the simulation instance to call the AWS APIs that are\n specified in its associated policies on your behalf. This is how credentials are passed in\n to your simulation job.

" - } - }, - "failureBehavior": { - "target": "com.amazonaws.robomaker#FailureBehavior", - "traits": { - "smithy.api#documentation": "

The failure behavior the simulation job.

\n
\n
Continue
\n
\n

Leaves the host running for its maximum timeout duration after a\n 4XX error code.

\n
\n
Fail
\n
\n

Stop the simulation job and terminate the instance.

\n
\n
" - } - }, - "useDefaultApplications": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

A Boolean indicating whether to use default applications in the simulation job. Default\n applications include Gazebo, rqt, rviz and terminal access.

" - } - }, - "robotApplications": { - "target": "com.amazonaws.robomaker#RobotApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The robot applications to use in the simulation job.

" - } - }, - "simulationApplications": { - "target": "com.amazonaws.robomaker#SimulationApplicationConfigs", - "traits": { - "smithy.api#documentation": "

The simulation applications to use in the simulation job.

" - } - }, - "dataSources": { - "target": "com.amazonaws.robomaker#DataSourceConfigs", - "traits": { - "smithy.api#documentation": "

Specify data sources to mount read-only files from S3 into your simulation. These files\n are available under /opt/robomaker/datasources/data_source_name.

\n \n

There is a limit of 100 files and a combined size of 25GB for all\n DataSourceConfig objects.

\n
" - } - }, - "vpcConfig": { - "target": "com.amazonaws.robomaker#VPCConfig" - }, - "compute": { - "target": "com.amazonaws.robomaker#Compute", - "traits": { - "smithy.api#documentation": "

Compute information for the simulation job

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the simulation job\n request.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a simulation job request.

" - } - }, - "com.amazonaws.robomaker#SimulationJobStatus": { - "type": "enum", - "members": { - "Pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Pending" - } - }, - "Preparing": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Preparing" - } - }, - "Running": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Running" - } - }, - "Restarting": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Restarting" - } - }, - "Completed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Completed" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "RunningFailed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RunningFailed" - } - }, - "Terminating": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Terminating" - } - }, - "Terminated": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Terminated" - } - }, - "Canceled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceled" - } - } - } - }, - "com.amazonaws.robomaker#SimulationJobSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SimulationJobSummary" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#SimulationJobSummary": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the simulation job.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job was last\n updated.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the simulation job.

" - } - }, - "simulationApplicationNames": { - "target": "com.amazonaws.robomaker#SimulationApplicationNames", - "traits": { - "smithy.api#documentation": "

A list of simulation job simulation application names.

" - } - }, - "robotApplicationNames": { - "target": "com.amazonaws.robomaker#RobotApplicationNames", - "traits": { - "smithy.api#documentation": "

A list of simulation job robot application names.

" - } - }, - "dataSourceNames": { - "target": "com.amazonaws.robomaker#DataSourceNames", - "traits": { - "smithy.api#documentation": "

The names of the data sources.

" - } - }, - "computeType": { - "target": "com.amazonaws.robomaker#ComputeType", - "traits": { - "smithy.api#documentation": "

The compute type for the simulation job summary.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Summary information for a simulation job.

" - } - }, - "com.amazonaws.robomaker#SimulationJobs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SimulationJob" - } - }, - "com.amazonaws.robomaker#SimulationSoftwareSuite": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuiteType", - "traits": { - "smithy.api#documentation": "

The name of the simulation software suite. SimulationRuntime is the only supported value.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuiteVersionType", - "traits": { - "smithy.api#documentation": "

The version of the simulation software suite. Not applicable for SimulationRuntime.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a simulation software suite.

" - } - }, - "com.amazonaws.robomaker#SimulationSoftwareSuiteType": { - "type": "enum", - "members": { - "Gazebo": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Gazebo" - } - }, - "RosbagPlay": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RosbagPlay" - } - }, - "SimulationRuntime": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "SimulationRuntime" - } - } - } - }, - "com.amazonaws.robomaker#SimulationSoftwareSuiteVersionType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1024 - }, - "smithy.api#pattern": "^7|9|11|Kinetic|Melodic|Dashing|Foxy$" - } - }, - "com.amazonaws.robomaker#SimulationTimeMillis": { - "type": "long", - "traits": { - "smithy.api#default": 0 - } - }, - "com.amazonaws.robomaker#SimulationUnit": { - "type": "integer", - "traits": { - "smithy.api#range": { - "min": 1, - "max": 15 - } - } - }, - "com.amazonaws.robomaker#Source": { - "type": "structure", - "members": { - "s3Bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The s3 bucket name.

" - } - }, - "s3Key": { - "target": "com.amazonaws.robomaker#S3Key", - "traits": { - "smithy.api#documentation": "

The s3 object key.

" - } - }, - "etag": { - "target": "com.amazonaws.robomaker#S3Etag", - "traits": { - "smithy.api#documentation": "

A hash of the object specified by s3Bucket and s3Key.

" - } - }, - "architecture": { - "target": "com.amazonaws.robomaker#Architecture", - "traits": { - "smithy.api#documentation": "

The taget processor architecture for the application.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a source.

" - } - }, - "com.amazonaws.robomaker#SourceConfig": { - "type": "structure", - "members": { - "s3Bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The Amazon S3 bucket name.

" - } - }, - "s3Key": { - "target": "com.amazonaws.robomaker#S3Key", - "traits": { - "smithy.api#documentation": "

The s3 object key.

" - } - }, - "architecture": { - "target": "com.amazonaws.robomaker#Architecture", - "traits": { - "smithy.api#documentation": "

The target processor architecture for the application.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a source configuration.

" - } - }, - "com.amazonaws.robomaker#SourceConfigs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#SourceConfig" - } - }, - "com.amazonaws.robomaker#Sources": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Source" - } - }, - "com.amazonaws.robomaker#StartSimulationJobBatch": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#StartSimulationJobBatchRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#StartSimulationJobBatchResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Starts a new simulation job batch. The batch is defined using one or more\n SimulationJobRequest objects.

", - "smithy.api#http": { - "method": "POST", - "uri": "/startSimulationJobBatch", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#StartSimulationJobBatchRequest": { - "type": "structure", - "members": { - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#idempotencyToken": {} - } - }, - "batchPolicy": { - "target": "com.amazonaws.robomaker#BatchPolicy", - "traits": { - "smithy.api#documentation": "

The batch policy.

" - } - }, - "createSimulationJobRequests": { - "target": "com.amazonaws.robomaker#CreateSimulationJobRequests", - "traits": { - "smithy.api#documentation": "

A list of simulation job requests to create in the batch.

", - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the deployment job\n batch.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#StartSimulationJobBatchResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the batch.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#SimulationJobBatchStatus", - "traits": { - "smithy.api#documentation": "

The status of the simulation job batch.

\n
\n
Pending
\n
\n

The simulation job batch request is pending.

\n
\n
InProgress
\n
\n

The simulation job batch is in progress.

\n
\n
Failed
\n
\n

The simulation job batch failed. One or more simulation job requests could not\n be completed due to an internal failure (like InternalServiceError).\n See failureCode and failureReason for more\n information.

\n
\n
Completed
\n
\n

The simulation batch job completed. A batch is complete when (1) there are no\n pending simulation job requests in the batch and none of the failed simulation job\n requests are due to InternalServiceError and (2) when all created\n simulation jobs have reached a terminal state (for example, Completed\n or Failed).

\n
\n
Canceled
\n
\n

The simulation batch job was cancelled.

\n
\n
Canceling
\n
\n

The simulation batch job is being cancelled.

\n
\n
Completing
\n
\n

The simulation batch job is completing.

\n
\n
TimingOut
\n
\n

The simulation job batch is timing out.

\n

If a batch timing out, and there are pending requests that were failing due to\n an internal failure (like InternalServiceError), the batch status\n will be Failed. If there are no such failing request, the batch\n status will be TimedOut.

\n
\n
TimedOut
\n
\n

The simulation batch job timed out.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation job batch was\n created.

" - } - }, - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

" - } - }, - "batchPolicy": { - "target": "com.amazonaws.robomaker#BatchPolicy", - "traits": { - "smithy.api#documentation": "

The batch policy.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#SimulationJobBatchErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code if the simulation job batch failed.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The reason the simulation job batch failed.

" - } - }, - "failedRequests": { - "target": "com.amazonaws.robomaker#FailedCreateSimulationJobRequests", - "traits": { - "smithy.api#documentation": "

A list of failed simulation job requests. The request failed to be created into a\n simulation job. Failed requests do not have a simulation job ID.

" - } - }, - "pendingRequests": { - "target": "com.amazonaws.robomaker#CreateSimulationJobRequests", - "traits": { - "smithy.api#documentation": "

A list of pending simulation job requests. These requests have not yet been created into\n simulation jobs.

" - } - }, - "createdRequests": { - "target": "com.amazonaws.robomaker#SimulationJobSummaries", - "traits": { - "smithy.api#documentation": "

A list of created simulation job request summaries.

" - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the deployment job\n batch.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#Subnets": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#NonEmptyString" - }, - "traits": { - "smithy.api#length": { - "min": 1, - "max": 16 - } - } - }, - "com.amazonaws.robomaker#SyncDeploymentJob": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#SyncDeploymentJobRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#SyncDeploymentJobResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#ConcurrentDeploymentException" - }, - { - "target": "com.amazonaws.robomaker#IdempotentParameterMismatchException" - }, - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n \n

This API is no longer supported. For more information, see the May 2, 2022 update in the Support policy page.

\n
\n

\n Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment.\n

", - "smithy.api#http": { - "method": "POST", - "uri": "/syncDeploymentJob", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#SyncDeploymentJobRequest": { - "type": "structure", - "members": { - "clientRequestToken": { - "target": "com.amazonaws.robomaker#ClientRequestToken", - "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", - "smithy.api#idempotencyToken": {}, - "smithy.api#required": {} - } - }, - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The target fleet for the synchronization.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#SyncDeploymentJobResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the synchronization request.

" - } - }, - "fleet": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the fleet.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#DeploymentStatus", - "traits": { - "smithy.api#documentation": "

The status of the synchronization job.

" - } - }, - "deploymentConfig": { - "target": "com.amazonaws.robomaker#DeploymentConfig", - "traits": { - "smithy.api#documentation": "

Information about the deployment configuration.

" - } - }, - "deploymentApplicationConfigs": { - "target": "com.amazonaws.robomaker#DeploymentApplicationConfigs", - "traits": { - "smithy.api#documentation": "

Information about the deployment application configurations.

" - } - }, - "failureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The failure reason if the job fails.

" - } - }, - "failureCode": { - "target": "com.amazonaws.robomaker#DeploymentJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code if the job fails:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
RobotApplicationCrash
\n
\n

Robot application exited abnormally.

\n
\n
SimulationApplicationCrash
\n
\n

Simulation application exited abnormally.

\n
\n
BadPermissionsRobotApplication
\n
\n

Robot application bundle could not be downloaded.

\n
\n
BadPermissionsSimulationApplication
\n
\n

Simulation application bundle could not be downloaded.

\n
\n
BadPermissionsS3Output
\n
\n

Unable to publish outputs to customer-provided S3 bucket.

\n
\n
BadPermissionsCloudwatchLogs
\n
\n

Unable to publish logs to customer-provided CloudWatch Logs resource.

\n
\n
SubnetIpLimitExceeded
\n
\n

Subnet IP limit exceeded.

\n
\n
ENILimitExceeded
\n
\n

ENI limit exceeded.

\n
\n
BadPermissionsUserCredentials
\n
\n

Unable to use the Role provided.

\n
\n
InvalidBundleRobotApplication
\n
\n

Robot bundle cannot be extracted (invalid format, bundling error, or other\n issue).

\n
\n
InvalidBundleSimulationApplication
\n
\n

Simulation bundle cannot be extracted (invalid format, bundling error, or other\n issue).

\n
\n
RobotApplicationVersionMismatchedEtag
\n
\n

Etag for RobotApplication does not match value during version creation.

\n
\n
SimulationApplicationVersionMismatchedEtag
\n
\n

Etag for SimulationApplication does not match value during version\n creation.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the fleet was created.

" - } - } - }, - "traits": { - "smithy.api#deprecated": { - "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." - }, - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#TagKey": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 128 - }, - "smithy.api#pattern": "^[a-zA-Z0-9 _.\\-\\/+=:]*$" - } - }, - "com.amazonaws.robomaker#TagKeyList": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#TagKey" - } - }, - "com.amazonaws.robomaker#TagMap": { - "type": "map", - "key": { - "target": "com.amazonaws.robomaker#TagKey" - }, - "value": { - "target": "com.amazonaws.robomaker#TagValue" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 50 - } - } - }, - "com.amazonaws.robomaker#TagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#TagResourceRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#TagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Adds or edits tags for a AWS RoboMaker resource.

\n

Each tag consists of a tag key and a tag value. Tag keys and tag values are both\n required, but tag values can be empty strings.

\n

For information about the rules that apply to tag keys and tag values, see User-Defined Tag Restrictions in the AWS Billing and Cost Management\n User Guide.

", - "smithy.api#http": { - "method": "POST", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#TagResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are tagging.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "tags": { - "target": "com.amazonaws.robomaker#TagMap", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the resource.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#TagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#TagValue": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 256 - }, - "smithy.api#pattern": "^[a-zA-Z0-9 _.\\-\\/+=:]*$" - } - }, - "com.amazonaws.robomaker#TemplateLocation": { - "type": "structure", - "members": { - "s3Bucket": { - "target": "com.amazonaws.robomaker#S3Bucket", - "traits": { - "smithy.api#documentation": "

The Amazon S3 bucket name.

", - "smithy.api#required": {} - } - }, - "s3Key": { - "target": "com.amazonaws.robomaker#S3Key", - "traits": { - "smithy.api#documentation": "

The list of S3 keys identifying the data source files.

", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a template location.

" - } - }, - "com.amazonaws.robomaker#TemplateName": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 255 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#TemplateSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#TemplateSummary" - } - }, - "com.amazonaws.robomaker#TemplateSummary": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the template.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the template was created.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the template was last updated.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#TemplateName", - "traits": { - "smithy.api#documentation": "

The name of the template.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The version of the template that you're using.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Summary information for a template.

" - } - }, - "com.amazonaws.robomaker#ThrottlingException": { - "type": "structure", - "members": { - "message": { - "target": "com.amazonaws.robomaker#errorMessage" - } - }, - "traits": { - "smithy.api#documentation": "

AWS RoboMaker is temporarily unable to process the request. Try your call again.

", - "smithy.api#error": "client", - "smithy.api#httpError": 400 - } - }, - "com.amazonaws.robomaker#Tool": { - "type": "structure", - "members": { - "streamUI": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

Boolean indicating whether a streaming session will be configured for the tool. If\n True, AWS RoboMaker will configure a connection so you can interact with\n the tool as it is running in the simulation. It must have a graphical user interface. The\n default is False.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the tool.

", - "smithy.api#required": {} - } - }, - "command": { - "target": "com.amazonaws.robomaker#UnrestrictedCommand", - "traits": { - "smithy.api#documentation": "

Command-line arguments for the tool. It must include the tool executable name.

", - "smithy.api#required": {} - } - }, - "streamOutputToCloudWatch": { - "target": "com.amazonaws.robomaker#BoxedBoolean", - "traits": { - "smithy.api#documentation": "

Boolean indicating whether logs will be recorded in CloudWatch for the tool. The default\n is False.

" - } - }, - "exitBehavior": { - "target": "com.amazonaws.robomaker#ExitBehavior", - "traits": { - "smithy.api#documentation": "

Exit behavior determines what happens when your tool quits running. RESTART\n will cause your tool to be restarted. FAIL will cause your job to exit. The\n default is RESTART.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a tool. Tools are used in a simulation job.

" - } - }, - "com.amazonaws.robomaker#Tools": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#Tool" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 - } - } - }, - "com.amazonaws.robomaker#UnrestrictedCommand": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 1024 - }, - "smithy.api#pattern": ".*" - } - }, - "com.amazonaws.robomaker#UntagResource": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#UntagResourceRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#UntagResourceResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Removes the specified tags from the specified AWS RoboMaker resource.

\n

To remove a tag, specify the tag key. To change the tag value of an existing tag key,\n use \n TagResource\n .

", - "smithy.api#http": { - "method": "DELETE", - "uri": "/tags/{resourceArn}", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#UntagResourceRequest": { - "type": "structure", - "members": { - "resourceArn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS RoboMaker resource you are removing\n tags.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "tagKeys": { - "target": "com.amazonaws.robomaker#TagKeyList", - "traits": { - "smithy.api#documentation": "

A map that contains tag keys and tag values that will be unattached from the\n resource.

", - "smithy.api#httpQuery": "tagKeys", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#UntagResourceResponse": { - "type": "structure", - "members": {}, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#UpdateRobotApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#UpdateRobotApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#UpdateRobotApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Updates a robot application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/updateRobotApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#UpdateRobotApplicationRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the robot application.

", - "smithy.api#required": {} - } - }, - "sources": { - "target": "com.amazonaws.robomaker#SourceConfigs", - "traits": { - "smithy.api#documentation": "

The sources of the robot application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the robot application.

", - "smithy.api#required": {} - } - }, - "currentRevisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id for the robot application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI for your robot application.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#UpdateRobotApplicationResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated robot application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the robot application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the robot application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The robot software suite used by the robot application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the robot application was last\n updated.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the robot application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI for your robot application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#UpdateSimulationApplication": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#UpdateSimulationApplicationRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#UpdateSimulationApplicationResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#LimitExceededException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Updates a simulation application.

", - "smithy.api#http": { - "method": "POST", - "uri": "/updateSimulationApplication", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#UpdateSimulationApplicationRequest": { - "type": "structure", - "members": { - "application": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The application information for the simulation application.

", - "smithy.api#required": {} - } - }, - "sources": { - "target": "com.amazonaws.robomaker#SourceConfigs", - "traits": { - "smithy.api#documentation": "

The sources of the simulation application.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The simulation software suite used by the simulation application.

", - "smithy.api#required": {} - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about the robot software suite.

", - "smithy.api#required": {} - } - }, - "renderingEngine": { - "target": "com.amazonaws.robomaker#RenderingEngine", - "traits": { - "smithy.api#documentation": "

The rendering engine for the simulation application.

" - } - }, - "currentRevisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id for the robot application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI for your simulation application.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#UpdateSimulationApplicationResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the updated simulation application.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

The name of the simulation application.

" - } - }, - "version": { - "target": "com.amazonaws.robomaker#Version", - "traits": { - "smithy.api#documentation": "

The version of the robot application.

" - } - }, - "sources": { - "target": "com.amazonaws.robomaker#Sources", - "traits": { - "smithy.api#documentation": "

The sources of the simulation application.

" - } - }, - "simulationSoftwareSuite": { - "target": "com.amazonaws.robomaker#SimulationSoftwareSuite", - "traits": { - "smithy.api#documentation": "

The simulation software suite used by the simulation application.

" - } - }, - "robotSoftwareSuite": { - "target": "com.amazonaws.robomaker#RobotSoftwareSuite", - "traits": { - "smithy.api#documentation": "

Information about the robot software suite.

" - } - }, - "renderingEngine": { - "target": "com.amazonaws.robomaker#RenderingEngine", - "traits": { - "smithy.api#documentation": "

The rendering engine for the simulation application.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the simulation application was last\n updated.

" - } - }, - "revisionId": { - "target": "com.amazonaws.robomaker#RevisionId", - "traits": { - "smithy.api#documentation": "

The revision id of the simulation application.

" - } - }, - "environment": { - "target": "com.amazonaws.robomaker#Environment", - "traits": { - "smithy.api#documentation": "

The object that contains the Docker image URI used for your simulation\n application.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#UpdateWorldTemplate": { - "type": "operation", - "input": { - "target": "com.amazonaws.robomaker#UpdateWorldTemplateRequest" - }, - "output": { - "target": "com.amazonaws.robomaker#UpdateWorldTemplateResponse" - }, - "errors": [ - { - "target": "com.amazonaws.robomaker#InternalServerException" - }, - { - "target": "com.amazonaws.robomaker#InvalidParameterException" - }, - { - "target": "com.amazonaws.robomaker#ResourceNotFoundException" - }, - { - "target": "com.amazonaws.robomaker#ThrottlingException" - } - ], - "traits": { - "smithy.api#documentation": "\n

End of support notice: On September 10, 2025, Amazon Web Services\n will discontinue support for Amazon Web Services RoboMaker. After September 10, 2025, you will\n no longer be able to access the Amazon Web Services RoboMaker console or Amazon Web Services RoboMaker resources. \n For more information on transitioning to Batch to help run containerized\n simulations, visit https://aws.amazon.com/blogs/hpc/run-simulations-using-multiple-containers-in-a-single-aws-batch-job/.\n

\n
\n

Updates a world template.

", - "smithy.api#http": { - "method": "POST", - "uri": "/updateWorldTemplate", - "code": 200 - } - } - }, - "com.amazonaws.robomaker#UpdateWorldTemplateRequest": { - "type": "structure", - "members": { - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template to update.

", - "smithy.api#required": {} - } - }, - "name": { - "target": "com.amazonaws.robomaker#TemplateName", - "traits": { - "smithy.api#documentation": "

The name of the template.

" - } - }, - "templateBody": { - "target": "com.amazonaws.robomaker#Json", - "traits": { - "smithy.api#documentation": "

The world template body.

" - } - }, - "templateLocation": { - "target": "com.amazonaws.robomaker#TemplateLocation", - "traits": { - "smithy.api#documentation": "

The location of the world template.

" - } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.robomaker#UpdateWorldTemplateResponse": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template.

" - } - }, - "name": { - "target": "com.amazonaws.robomaker#TemplateName", - "traits": { - "smithy.api#documentation": "

The name of the world template.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world template was created.

" - } - }, - "lastUpdatedAt": { - "target": "com.amazonaws.robomaker#LastUpdatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world template was last\n updated.

" - } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.robomaker#UploadBehavior": { - "type": "enum", - "members": { - "UPLOAD_ON_TERMINATE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPLOAD_ON_TERMINATE" - } - }, - "UPLOAD_ROLLING_AUTO_REMOVE": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "UPLOAD_ROLLING_AUTO_REMOVE" - } - } - } - }, - "com.amazonaws.robomaker#UploadConfiguration": { - "type": "structure", - "members": { - "name": { - "target": "com.amazonaws.robomaker#Name", - "traits": { - "smithy.api#documentation": "

A prefix that specifies where files will be uploaded in Amazon S3. It is appended to the\n simulation output location to determine the final path.

\n

For example, if your simulation output location is s3://amzn-s3-demo-bucket and your\n upload configuration name is robot-test, your files will be uploaded to\n s3://amzn-s3-demo-bucket///robot-test.

", - "smithy.api#required": {} - } - }, - "path": { - "target": "com.amazonaws.robomaker#Path", - "traits": { - "smithy.api#documentation": "

Specifies the path of the file(s) to upload. Standard Unix glob matching rules are\n accepted, with the addition of ** as a super asterisk.\n For example, specifying /var/log/**.log causes all .log files in the\n /var/log directory tree to be collected. For more examples, see Glob Library.

", - "smithy.api#required": {} - } - }, - "uploadBehavior": { - "target": "com.amazonaws.robomaker#UploadBehavior", - "traits": { - "smithy.api#documentation": "

Specifies when to upload the files:

\n
\n
UPLOAD_ON_TERMINATE
\n
\n

Matching files are uploaded once the simulation enters the\n TERMINATING state. Matching files are not uploaded until all of\n your code (including tools) have stopped.

\n

If there is a problem uploading a file, the upload is retried. If problems\n persist, no further upload attempts will be made.

\n
\n
UPLOAD_ROLLING_AUTO_REMOVE
\n
\n

Matching files are uploaded as they are created. They are deleted after they\n are uploaded. The specified path is checked every 5 seconds. A final check is made\n when all of your code (including tools) have stopped.

\n
\n
", - "smithy.api#required": {} - } - } - }, - "traits": { - "smithy.api#documentation": "

Provides upload configuration information. Files are uploaded from the simulation job to\n a location you specify.

" - } - }, - "com.amazonaws.robomaker#UploadConfigurations": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#UploadConfiguration" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 10 - } - } - }, - "com.amazonaws.robomaker#VPCConfig": { - "type": "structure", - "members": { - "subnets": { - "target": "com.amazonaws.robomaker#Subnets", - "traits": { - "smithy.api#documentation": "

A list of one or more subnet IDs in your VPC.

", - "smithy.api#required": {} - } - }, - "securityGroups": { - "target": "com.amazonaws.robomaker#SecurityGroups", - "traits": { - "smithy.api#documentation": "

A list of one or more security groups IDs in your VPC.

" - } - }, - "assignPublicIp": { - "target": "com.amazonaws.robomaker#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

A boolean indicating whether to assign a public IP address.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

If your simulation job accesses resources in a VPC, you provide this parameter\n identifying the list of security group IDs and subnet IDs. These must belong to the same\n VPC. You must provide at least one security group and two subnet IDs.

" - } - }, - "com.amazonaws.robomaker#VPCConfigResponse": { - "type": "structure", - "members": { - "subnets": { - "target": "com.amazonaws.robomaker#Subnets", - "traits": { - "smithy.api#documentation": "

A list of subnet IDs associated with the simulation job.

" - } - }, - "securityGroups": { - "target": "com.amazonaws.robomaker#SecurityGroups", - "traits": { - "smithy.api#documentation": "

A list of security group IDs associated with the simulation job.

" - } - }, - "vpcId": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The VPC ID associated with your simulation job.

" - } - }, - "assignPublicIp": { - "target": "com.amazonaws.robomaker#Boolean", - "traits": { - "smithy.api#default": false, - "smithy.api#documentation": "

A boolean indicating if a public IP was assigned.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

VPC configuration associated with your simulation job.

" - } - }, - "com.amazonaws.robomaker#Version": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^(\\$LATEST)|[0-9]*$" - } - }, - "com.amazonaws.robomaker#VersionQualifier": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 1, - "max": 255 - }, - "smithy.api#pattern": "^ALL$" - } - }, - "com.amazonaws.robomaker#WorldConfig": { - "type": "structure", - "members": { - "world": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The world generated by Simulation WorldForge.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Configuration information for a world.

" - } - }, - "com.amazonaws.robomaker#WorldConfigs": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#WorldConfig" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 1 - } - } - }, - "com.amazonaws.robomaker#WorldCount": { - "type": "structure", - "members": { - "floorplanCount": { - "target": "com.amazonaws.robomaker#FloorplanCount", - "traits": { - "smithy.api#documentation": "

The number of unique floorplans.

" - } - }, - "interiorCountPerFloorplan": { - "target": "com.amazonaws.robomaker#InteriorCountPerFloorplan", - "traits": { - "smithy.api#documentation": "

The number of unique interiors per floorplan.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

The number of worlds that will be created. You can configure the number of unique\n floorplans and the number of unique interiors for each floor plan. For example, if you want\n 1 world with 20 unique interiors, you set floorplanCount = 1 and\n interiorCountPerFloorplan = 20. This will result in 20 worlds\n (floorplanCount * interiorCountPerFloorplan).

\n

If you set floorplanCount = 4 and interiorCountPerFloorplan =\n 5, there will be 20 worlds with 5 unique floor plans.

" - } - }, - "com.amazonaws.robomaker#WorldExportJobErrorCode": { - "type": "enum", - "members": { - "InternalServiceError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InternalServiceError" - } - }, - "LimitExceeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LimitExceeded" - } - }, - "ResourceNotFound": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ResourceNotFound" - } - }, - "RequestThrottled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RequestThrottled" - } - }, - "InvalidInput": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidInput" - } - }, - "AccessDenied": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "AccessDenied" - } - } - } - }, - "com.amazonaws.robomaker#WorldExportJobStatus": { - "type": "enum", - "members": { - "Pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Pending" - } - }, - "Running": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Running" - } - }, - "Completed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Completed" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "Canceling": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceling" - } - }, - "Canceled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceled" - } - } - } - }, - "com.amazonaws.robomaker#WorldExportJobSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#WorldExportJobSummary" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#WorldExportJobSummary": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world export job.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#WorldExportJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the world export job.

\n
\n
Pending
\n
\n

The world export job request is pending.

\n
\n
Running
\n
\n

The world export job is running.

\n
\n
Completed
\n
\n

The world export job completed.

\n
\n
Failed
\n
\n

The world export job failed. See failureCode for more information.\n

\n
\n
Canceled
\n
\n

The world export job was cancelled.

\n
\n
Canceling
\n
\n

The world export job is being cancelled.

\n
\n
" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world export job was created.

" - } - }, - "worlds": { - "target": "com.amazonaws.robomaker#Arns", - "traits": { - "smithy.api#documentation": "

A list of worlds.

" - } - }, - "outputLocation": { - "target": "com.amazonaws.robomaker#OutputLocation" - } - }, - "traits": { - "smithy.api#documentation": "

Information about a world export job.

" - } - }, - "com.amazonaws.robomaker#WorldFailure": { - "type": "structure", - "members": { - "failureCode": { - "target": "com.amazonaws.robomaker#WorldGenerationJobErrorCode", - "traits": { - "smithy.api#documentation": "

The failure code of the world export job if it failed:

\n
\n
InternalServiceError
\n
\n

Internal service error.

\n
\n
LimitExceeded
\n
\n

The requested resource exceeds the maximum number allowed, or the number of\n concurrent stream requests exceeds the maximum number allowed.

\n
\n
ResourceNotFound
\n
\n

The specified resource could not be found.

\n
\n
RequestThrottled
\n
\n

The request was throttled.

\n
\n
InvalidInput
\n
\n

An input parameter in the request is not valid.

\n
\n
" - } - }, - "sampleFailureReason": { - "target": "com.amazonaws.robomaker#GenericString", - "traits": { - "smithy.api#documentation": "

The sample reason why the world failed. World errors are aggregated. A sample is used as\n the sampleFailureReason.

" - } - }, - "failureCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of failed worlds.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a failed world.

" - } - }, - "com.amazonaws.robomaker#WorldFailures": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#WorldFailure" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#WorldGenerationJobErrorCode": { - "type": "enum", - "members": { - "InternalServiceError": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InternalServiceError" - } - }, - "LimitExceeded": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "LimitExceeded" - } - }, - "ResourceNotFound": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "ResourceNotFound" - } - }, - "RequestThrottled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "RequestThrottled" - } - }, - "InvalidInput": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "InvalidInput" - } - }, - "AllWorldGenerationFailed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "AllWorldGenerationFailed" - } - } - } - }, - "com.amazonaws.robomaker#WorldGenerationJobStatus": { - "type": "enum", - "members": { - "Pending": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Pending" - } - }, - "Running": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Running" - } - }, - "Completed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Completed" - } - }, - "Failed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Failed" - } - }, - "PartialFailed": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "PartialFailed" - } - }, - "Canceling": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceling" - } - }, - "Canceled": { - "target": "smithy.api#Unit", - "traits": { - "smithy.api#enumValue": "Canceled" - } - } - } - }, - "com.amazonaws.robomaker#WorldGenerationJobSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#WorldGenerationJobSummary" - }, - "traits": { - "smithy.api#length": { - "min": 0, - "max": 100 - } - } - }, - "com.amazonaws.robomaker#WorldGenerationJobSummary": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world generator job.

" - } - }, - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world generator job was\n created.

" - } - }, - "status": { - "target": "com.amazonaws.robomaker#WorldGenerationJobStatus", - "traits": { - "smithy.api#documentation": "

The status of the world generator job:

\n
\n
Pending
\n
\n

The world generator job request is pending.

\n
\n
Running
\n
\n

The world generator job is running.

\n
\n
Completed
\n
\n

The world generator job completed.

\n
\n
Failed
\n
\n

The world generator job failed. See failureCode for more\n information.

\n
\n
PartialFailed
\n
\n

Some worlds did not generate.

\n
\n
Canceled
\n
\n

The world generator job was cancelled.

\n
\n
Canceling
\n
\n

The world generator job is being cancelled.

\n
\n
" - } - }, - "worldCount": { - "target": "com.amazonaws.robomaker#WorldCount", - "traits": { - "smithy.api#documentation": "

Information about the world count.

" - } - }, - "succeededWorldCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of worlds that were generated.

" - } - }, - "failedWorldCount": { - "target": "com.amazonaws.robomaker#Integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The number of worlds that failed.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a world generator job.

" - } - }, - "com.amazonaws.robomaker#WorldSummaries": { - "type": "list", - "member": { - "target": "com.amazonaws.robomaker#WorldSummary" - } - }, - "com.amazonaws.robomaker#WorldSummary": { - "type": "structure", - "members": { - "arn": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the world.

" - } - }, - "createdAt": { - "target": "com.amazonaws.robomaker#CreatedAt", - "traits": { - "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the world was created.

" - } - }, - "generationJob": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world generation job.

" - } - }, - "template": { - "target": "com.amazonaws.robomaker#Arn", - "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (arn) of the world template.

" - } - } - }, - "traits": { - "smithy.api#documentation": "

Information about a world.

" - } - }, - "com.amazonaws.robomaker#errorMessage": { - "type": "string" - }, - "com.amazonaws.robomaker#robomaker": { - "type": "service", - "version": "2018-06-29", - "operations": [ - { - "target": "com.amazonaws.robomaker#BatchDeleteWorlds" - }, - { - "target": "com.amazonaws.robomaker#BatchDescribeSimulationJob" - }, - { - "target": "com.amazonaws.robomaker#CancelDeploymentJob" - }, - { - "target": "com.amazonaws.robomaker#CancelSimulationJob" - }, - { - "target": "com.amazonaws.robomaker#CancelSimulationJobBatch" - }, - { - "target": "com.amazonaws.robomaker#CancelWorldExportJob" - }, - { - "target": "com.amazonaws.robomaker#CancelWorldGenerationJob" - }, - { - "target": "com.amazonaws.robomaker#CreateDeploymentJob" - }, - { - "target": "com.amazonaws.robomaker#CreateFleet" - }, - { - "target": "com.amazonaws.robomaker#CreateRobot" - }, - { - "target": "com.amazonaws.robomaker#CreateRobotApplication" - }, - { - "target": "com.amazonaws.robomaker#CreateRobotApplicationVersion" - }, - { - "target": "com.amazonaws.robomaker#CreateSimulationApplication" - }, - { - "target": "com.amazonaws.robomaker#CreateSimulationApplicationVersion" - }, - { - "target": "com.amazonaws.robomaker#CreateSimulationJob" - }, - { - "target": "com.amazonaws.robomaker#CreateWorldExportJob" - }, - { - "target": "com.amazonaws.robomaker#CreateWorldGenerationJob" - }, - { - "target": "com.amazonaws.robomaker#CreateWorldTemplate" - }, - { - "target": "com.amazonaws.robomaker#DeleteFleet" - }, - { - "target": "com.amazonaws.robomaker#DeleteRobot" - }, - { - "target": "com.amazonaws.robomaker#DeleteRobotApplication" - }, - { - "target": "com.amazonaws.robomaker#DeleteSimulationApplication" - }, - { - "target": "com.amazonaws.robomaker#DeleteWorldTemplate" - }, - { - "target": "com.amazonaws.robomaker#DeregisterRobot" - }, - { - "target": "com.amazonaws.robomaker#DescribeDeploymentJob" - }, - { - "target": "com.amazonaws.robomaker#DescribeFleet" - }, - { - "target": "com.amazonaws.robomaker#DescribeRobot" - }, - { - "target": "com.amazonaws.robomaker#DescribeRobotApplication" - }, - { - "target": "com.amazonaws.robomaker#DescribeSimulationApplication" - }, - { - "target": "com.amazonaws.robomaker#DescribeSimulationJob" - }, - { - "target": "com.amazonaws.robomaker#DescribeSimulationJobBatch" - }, - { - "target": "com.amazonaws.robomaker#DescribeWorld" - }, - { - "target": "com.amazonaws.robomaker#DescribeWorldExportJob" - }, - { - "target": "com.amazonaws.robomaker#DescribeWorldGenerationJob" - }, - { - "target": "com.amazonaws.robomaker#DescribeWorldTemplate" - }, - { - "target": "com.amazonaws.robomaker#GetWorldTemplateBody" - }, - { - "target": "com.amazonaws.robomaker#ListDeploymentJobs" - }, - { - "target": "com.amazonaws.robomaker#ListFleets" - }, - { - "target": "com.amazonaws.robomaker#ListRobotApplications" - }, - { - "target": "com.amazonaws.robomaker#ListRobots" - }, - { - "target": "com.amazonaws.robomaker#ListSimulationApplications" - }, - { - "target": "com.amazonaws.robomaker#ListSimulationJobBatches" - }, - { - "target": "com.amazonaws.robomaker#ListSimulationJobs" - }, - { - "target": "com.amazonaws.robomaker#ListTagsForResource" - }, - { - "target": "com.amazonaws.robomaker#ListWorldExportJobs" - }, - { - "target": "com.amazonaws.robomaker#ListWorldGenerationJobs" - }, - { - "target": "com.amazonaws.robomaker#ListWorlds" - }, - { - "target": "com.amazonaws.robomaker#ListWorldTemplates" - }, - { - "target": "com.amazonaws.robomaker#RegisterRobot" - }, - { - "target": "com.amazonaws.robomaker#RestartSimulationJob" - }, - { - "target": "com.amazonaws.robomaker#StartSimulationJobBatch" - }, - { - "target": "com.amazonaws.robomaker#SyncDeploymentJob" - }, - { - "target": "com.amazonaws.robomaker#TagResource" - }, - { - "target": "com.amazonaws.robomaker#UntagResource" - }, - { - "target": "com.amazonaws.robomaker#UpdateRobotApplication" - }, - { - "target": "com.amazonaws.robomaker#UpdateSimulationApplication" - }, - { - "target": "com.amazonaws.robomaker#UpdateWorldTemplate" - } - ], - "traits": { - "aws.api#service": { - "sdkId": "RoboMaker", - "arnNamespace": "robomaker", - "cloudFormationName": "RoboMaker", - "cloudTrailEventSource": "robomaker.amazonaws.com", - "endpointPrefix": "robomaker" - }, - "aws.auth#sigv4": { - "name": "robomaker" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

This section provides documentation for the AWS RoboMaker API operations.

", - "smithy.api#title": "AWS RoboMaker", - "smithy.rules#endpointRuleSet": { - "version": "1.0", - "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, - "UseDualStack": { - "builtIn": "AWS::UseDualStack", - "required": true, - "default": false, - "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" - }, - "UseFIPS": { - "builtIn": "AWS::UseFIPS", - "required": true, - "default": false, - "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" - }, - "Endpoint": { - "builtIn": "SDK::Endpoint", - "required": false, - "documentation": "Override the endpoint used to send this request", - "type": "String" - } - }, - "rules": [ - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Endpoint" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "aws.partition", - "argv": [ - { - "ref": "Region" - } - ], - "assign": "PartitionResult" - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://robomaker-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] - }, - true - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://robomaker-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - true, - { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } - ] - } - ], - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://robomaker.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://robomaker.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-iso-east-1.c2s.ic.gov" - } - }, - "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker-fips.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://robomaker.us-isob-east-1.sc2s.sgov.gov" - } - }, - "params": { - "Region": "us-isob-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", - "expect": { - "endpoint": { - "url": "https://example.com" - } - }, - "params": { - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", - "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "Missing region", - "expect": { - "error": "Invalid Configuration: Missing Region" - } - } - ], - "version": "1.0" - } - } - } - } -} diff --git a/codegen/sdk-codegen/aws-models/rolesanywhere.json b/codegen/sdk-codegen/aws-models/rolesanywhere.json index 7aeaac939a8..89e813d1b52 100644 --- a/codegen/sdk-codegen/aws-models/rolesanywhere.json +++ b/codegen/sdk-codegen/aws-models/rolesanywhere.json @@ -2006,27 +2006,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/route-53-domains.json b/codegen/sdk-codegen/aws-models/route-53-domains.json index 6b1f60cee01..b231b629077 100644 --- a/codegen/sdk-codegen/aws-models/route-53-domains.json +++ b/codegen/sdk-codegen/aws-models/route-53-domains.json @@ -5018,27 +5018,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/route-53.json b/codegen/sdk-codegen/aws-models/route-53.json index dc6d87943e5..09a5cf68b4e 100644 --- a/codegen/sdk-codegen/aws-models/route-53.json +++ b/codegen/sdk-codegen/aws-models/route-53.json @@ -282,27 +282,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -1831,7 +1831,7 @@ "target": "com.amazonaws.route53#AliasHealthEnabled", "traits": { "smithy.api#default": false, - "smithy.api#documentation": "

\n Applies only to alias, failover alias, geolocation alias, latency alias, and\n\t\t\t\tweighted alias resource record sets: When\n\t\t\t\tEvaluateTargetHealth is true, an alias resource record set\n\t\t\tinherits the health of the referenced Amazon Web Services resource, such as an ELB load\n\t\t\tbalancer or another resource record set in the hosted zone.

\n

Note the following:

\n
\n
CloudFront distributions
\n
\n

You can't set EvaluateTargetHealth to true when\n\t\t\t\t\t\tthe alias target is a CloudFront distribution.

\n
\n
Elastic Beanstalk environments that have regionalized subdomains
\n
\n

If you specify an Elastic Beanstalk environment in DNSName\n\t\t\t\t\t\tand the environment contains an ELB load balancer, Elastic Load Balancing\n\t\t\t\t\t\troutes queries only to the healthy Amazon EC2 instances that are registered\n\t\t\t\t\t\twith the load balancer. (An environment automatically contains an ELB load\n\t\t\t\t\t\tbalancer if it includes more than one Amazon EC2 instance.) If you set\n\t\t\t\t\t\t\tEvaluateTargetHealth to true and either no\n\t\t\t\t\t\tAmazon EC2 instances are healthy or the load balancer itself is unhealthy,\n\t\t\t\t\t\tRoute 53 routes queries to other available resources that are healthy, if\n\t\t\t\t\t\tany.

\n

If the environment contains a single Amazon EC2 instance, there are no\n\t\t\t\t\t\tspecial requirements.

\n
\n
ELB load balancers
\n
\n

Health checking behavior depends on the type of load balancer:

\n
    \n
  • \n

    \n Classic Load Balancers: If you\n\t\t\t\t\t\t\t\tspecify an ELB Classic Load Balancer in DNSName,\n\t\t\t\t\t\t\t\tElastic Load Balancing routes queries only to the healthy Amazon EC2\n\t\t\t\t\t\t\t\tinstances that are registered with the load balancer. If you set\n\t\t\t\t\t\t\t\t\tEvaluateTargetHealth to true and\n\t\t\t\t\t\t\t\teither no EC2 instances are healthy or the load balancer itself is\n\t\t\t\t\t\t\t\tunhealthy, Route 53 routes queries to other resources.

    \n
  • \n
  • \n

    \n Application and Network Load\n\t\t\t\t\t\t\t\t\tBalancers: If you specify an ELB Application or\n\t\t\t\t\t\t\t\tNetwork Load Balancer and you set EvaluateTargetHealth\n\t\t\t\t\t\t\t\tto true, Route 53 routes queries to the load balancer\n\t\t\t\t\t\t\t\tbased on the health of the target groups that are associated with\n\t\t\t\t\t\t\t\tthe load balancer:

    \n
      \n
    • \n

      For an Application or Network Load Balancer to be\n\t\t\t\t\t\t\t\t\t\tconsidered healthy, every target group that contains targets\n\t\t\t\t\t\t\t\t\t\tmust contain at least one healthy target. If any target\n\t\t\t\t\t\t\t\t\t\tgroup contains only unhealthy targets, the load balancer is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy, and Route 53 routes queries to other\n\t\t\t\t\t\t\t\t\t\tresources.

      \n
    • \n
    • \n

      A target group that has no registered targets is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy.

      \n
    • \n
    \n
  • \n
\n \n

When you create a load balancer, you configure settings for Elastic\n\t\t\t\t\t\t\tLoad Balancing health checks; they're not Route 53 health checks, but\n\t\t\t\t\t\t\tthey perform a similar function. Do not create Route 53 health checks\n\t\t\t\t\t\t\tfor the EC2 instances that you register with an ELB load balancer.\n\t\t\t\t\t\t

\n
\n
\n
S3 buckets
\n
\n

There are no special requirements for setting\n\t\t\t\t\t\t\tEvaluateTargetHealth to true when the alias\n\t\t\t\t\t\ttarget is an S3 bucket.

\n
\n
Other records in the same hosted zone
\n
\n

If the Amazon Web Services resource that you specify in\n\t\t\t\t\t\t\tDNSName is a record or a group of records (for example, a\n\t\t\t\t\t\tgroup of weighted records) but is not another alias record, we recommend\n\t\t\t\t\t\tthat you associate a health check with all of the records in the alias\n\t\t\t\t\t\ttarget. For more information, see What Happens When You Omit Health Checks? in the\n\t\t\t\t\t\t\tAmazon Route 53 Developer Guide.

\n
\n
\n

For more information and examples, see Amazon Route 53 Health Checks\n\t\t\t\tand DNS Failover in the Amazon Route 53 Developer\n\t\t\tGuide.

", + "smithy.api#documentation": "

\n Applies only to alias, failover alias, geolocation alias, latency alias, and\n\t\t\t\tweighted alias resource record sets: When\n\t\t\t\tEvaluateTargetHealth is true, an alias resource record set\n\t\t\tinherits the health of the referenced Amazon Web Services resource, such as an ELB load\n\t\t\tbalancer or another resource record set in the hosted zone.

\n

Note the following:

\n
\n
CloudFront distributions
\n
\n

You can't set EvaluateTargetHealth to true when\n\t\t\t\t\t\tthe alias target is a CloudFront distribution.

\n
\n
Elastic Beanstalk environments that have regionalized subdomains
\n
\n

If you specify an Elastic Beanstalk environment in DNSName\n\t\t\t\t\t\tand the environment contains an ELB load balancer, Elastic Load Balancing\n\t\t\t\t\t\troutes queries only to the healthy Amazon EC2 instances that are registered\n\t\t\t\t\t\twith the load balancer. (An environment automatically contains an ELB load\n\t\t\t\t\t\tbalancer if it includes more than one Amazon EC2 instance.) If you set\n\t\t\t\t\t\t\tEvaluateTargetHealth to true and either no\n\t\t\t\t\t\tAmazon EC2 instances are healthy or the load balancer itself is unhealthy,\n\t\t\t\t\t\tRoute 53 routes queries to other available resources that are healthy, if\n\t\t\t\t\t\tany.

\n

If the environment contains a single Amazon EC2 instance, there are no\n\t\t\t\t\t\tspecial requirements.

\n
\n
ELB load balancers
\n
\n

Health checking behavior depends on the type of load balancer:

\n
    \n
  • \n

    \n Classic Load Balancers: If you\n\t\t\t\t\t\t\t\tspecify an ELB Classic Load Balancer in DNSName,\n\t\t\t\t\t\t\t\tElastic Load Balancing routes queries only to the healthy Amazon EC2\n\t\t\t\t\t\t\t\tinstances that are registered with the load balancer. If you set\n\t\t\t\t\t\t\t\t\tEvaluateTargetHealth to true and\n\t\t\t\t\t\t\t\teither no EC2 instances are healthy or the load balancer itself is\n\t\t\t\t\t\t\t\tunhealthy, Route 53 routes queries to other resources.

    \n
  • \n
  • \n

    \n Application and Network Load\n\t\t\t\t\t\t\t\t\tBalancers: If you specify an ELB Application or\n\t\t\t\t\t\t\t\tNetwork Load Balancer and you set EvaluateTargetHealth\n\t\t\t\t\t\t\t\tto true, Route 53 routes queries to the load balancer\n\t\t\t\t\t\t\t\tbased on the health of the target groups that are associated with\n\t\t\t\t\t\t\t\tthe load balancer:

    \n
      \n
    • \n

      For an Application or Network Load Balancer to be\n\t\t\t\t\t\t\t\t\t\tconsidered healthy, every target group that contains targets\n\t\t\t\t\t\t\t\t\t\tmust contain at least one healthy target. If any target\n\t\t\t\t\t\t\t\t\t\tgroup contains only unhealthy targets, the load balancer is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy, and Route 53 routes queries to other\n\t\t\t\t\t\t\t\t\t\tresources.

      \n
    • \n
    • \n

      A target group that has no registered targets is\n\t\t\t\t\t\t\t\t\t\tconsidered unhealthy.

      \n
    • \n
    \n
  • \n
\n \n

When you create a load balancer, you configure settings for Elastic\n\t\t\t\t\t\t\tLoad Balancing health checks; they're not Route 53 health checks, but\n\t\t\t\t\t\t\tthey perform a similar function. Do not create Route 53 health checks\n\t\t\t\t\t\t\tfor the EC2 instances that you register with an ELB load balancer.\n\t\t\t\t\t\t

\n
\n
\n
API Gateway APIs
\n
\n

There are no special requirements for setting\n\t\t\t\t\t\t\tEvaluateTargetHealth to true when the alias\n\t\t\t\t\t\ttarget is an API Gateway API. However, because API Gateway is highly\n\t\t\t\t\t\tavailable by design, EvaluateTargetHealth provides no\n\t\t\t\t\t\toperational benefit and Route 53 health\n\t\t\t\t\t\t\tchecks are recommended instead for failover scenarios.

\n
\n
S3 buckets
\n
\n

There are no special requirements for setting\n\t\t\t\t\t\t\tEvaluateTargetHealth to true when the alias\n\t\t\t\t\t\ttarget is an S3 bucket. However, because S3 buckets are highly available by\n\t\t\t\t\t\tdesign, EvaluateTargetHealth provides no operational benefit\n\t\t\t\t\t\tand Route 53 health\n\t\t\t\t\t\t\tchecks are recommended instead for failover scenarios.

\n
\n
VPC interface endpoints
\n
\n

There are no special requirements for setting\n\t\t\t\t\t\t\tEvaluateTargetHealth to true when the alias\n\t\t\t\t\t\ttarget is a VPC interface endpoint. However, because VPC interface endpoints\n\t\t\t\t\t\tare highly available by design, EvaluateTargetHealth provides\n\t\t\t\t\t\tno operational benefit and Route 53 health\n\t\t\t\t\t\t\tchecks are recommended instead for failover scenarios.

\n
\n
Other records in the same hosted zone
\n
\n

If the Amazon Web Services resource that you specify in\n\t\t\t\t\t\t\tDNSName is a record or a group of records (for example, a\n\t\t\t\t\t\tgroup of weighted records) but is not another alias record, we recommend\n\t\t\t\t\t\tthat you associate a health check with all of the records in the alias\n\t\t\t\t\t\ttarget. For more information, see What Happens When You Omit Health Checks? in the\n\t\t\t\t\t\t\tAmazon Route 53 Developer Guide.

\n
\n
\n \n

While EvaluateTargetHealth can be set to true for highly\n\t\t\t\tavailable Amazon Web Services services (such as S3 buckets, VPC interface endpoints,\n\t\t\t\tand API Gateway), these services are designed for high availability and rarely\n\t\t\t\texperience outages that would be detected by this feature. For failover scenarios\n\t\t\t\twith these services, consider using Route 53 health\n\t\t\t\t\tchecks that monitor your application's ability to access the service\n\t\t\t\tinstead.

\n
\n

For more information and examples, see Amazon Route 53 Health Checks\n\t\t\t\tand DNS Failover in the Amazon Route 53 Developer\n\t\t\tGuide.

", "smithy.api#required": {} } } @@ -3498,6 +3498,12 @@ "traits": { "smithy.api#enumValue": "ap-southeast-6" } + }, + "us_isob_west_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "us-isob-west-1" + } } }, "traits": { @@ -3766,7 +3772,7 @@ "CallerReference": { "target": "com.amazonaws.route53#HealthCheckNonce", "traits": { - "smithy.api#documentation": "

A unique string that identifies the request and that allows you to retry a failed\n\t\t\t\tCreateHealthCheck request without the risk of creating two identical\n\t\t\thealth checks:

\n
    \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference and settings as a previous request, and if the\n\t\t\t\t\thealth check doesn't exist, Amazon Route 53 creates the health check. If the\n\t\t\t\t\thealth check does exist, Route 53 returns the settings for the existing health\n\t\t\t\t\tcheck.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as a deleted health check, regardless of the\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as an existing health check but with different\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with a unique\n\t\t\t\t\t\tCallerReference but settings identical to an existing health\n\t\t\t\t\tcheck, Route 53 creates the health check.

    \n
  • \n
\n

Route 53 does not store the CallerReference for a deleted health check indefinitely. \n\t\t\tThe CallerReference for a deleted health check will be deleted after a number of days.

", + "smithy.api#documentation": "

A unique string that identifies the request and that allows you to retry a failed\n\t\t\t\tCreateHealthCheck request without the risk of creating two identical\n\t\t\thealth checks:

\n
    \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference and settings as a previous request, and if the\n\t\t\t\t\thealth check doesn't exist, Amazon Route 53 creates the health check. If the\n\t\t\t\t\thealth check does exist, Route 53 returns the health check configuration in the\n\t\t\t\t\tresponse.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as a deleted health check, regardless of the\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with the same\n\t\t\t\t\t\tCallerReference as an existing health check but with different\n\t\t\t\t\tsettings, Route 53 returns a HealthCheckAlreadyExists error.

    \n
  • \n
  • \n

    If you send a CreateHealthCheck request with a unique\n\t\t\t\t\t\tCallerReference but settings identical to an existing health\n\t\t\t\t\tcheck, Route 53 creates the health check.

    \n
  • \n
\n

Route 53 does not store the CallerReference for a deleted health check indefinitely. \n\t\t\tThe CallerReference for a deleted health check will be deleted after a number of days.

", "smithy.api#required": {} } }, @@ -4961,7 +4967,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a hosted zone.

\n

If the hosted zone was created by another service, such as Cloud Map, see\n\t\t\t\tDeleting Public Hosted Zones That Were Created by Another Service in the\n\t\t\t\t\tAmazon Route 53 Developer Guide for information\n\t\t\tabout how to delete it. (The process is the same for public and private hosted zones\n\t\t\tthat were created by another service.)

\n

If you want to keep your domain registration but you want to stop routing internet\n\t\t\ttraffic to your website or web application, we recommend that you delete resource record\n\t\t\tsets in the hosted zone instead of deleting the hosted zone.

\n \n

If you delete a hosted zone, you can't undelete it. You must create a new hosted\n\t\t\t\tzone and update the name servers for your domain registration, which can require up\n\t\t\t\tto 48 hours to take effect. (If you delegated responsibility for a subdomain to a\n\t\t\t\thosted zone and you delete the child hosted zone, you must update the name servers\n\t\t\t\tin the parent hosted zone.) In addition, if you delete a hosted zone, someone could\n\t\t\t\thijack the domain and route traffic to their own resources using your domain\n\t\t\t\tname.

\n
\n

If you want to avoid the monthly charge for the hosted zone, you can transfer DNS\n\t\t\tservice for the domain to a free DNS service. When you transfer DNS service, you have to\n\t\t\tupdate the name servers for the domain registration. If the domain is registered with\n\t\t\t\tRoute 53, see UpdateDomainNameservers for information about how to replace Route 53 name servers with name servers for the new DNS service. If the domain is\n\t\t\tregistered with another registrar, use the method provided by the registrar to update\n\t\t\tname servers for the domain registration. For more information, perform an internet\n\t\t\tsearch on \"free DNS service.\"

\n

You can delete a hosted zone only if it contains only the default SOA record and NS\n\t\t\tresource record sets. If the hosted zone contains other resource record sets, you must\n\t\t\tdelete them before you can delete the hosted zone. If you try to delete a hosted zone\n\t\t\tthat contains other resource record sets, the request fails, and Route 53\n\t\t\treturns a HostedZoneNotEmpty error. For information about deleting records\n\t\t\tfrom your hosted zone, see ChangeResourceRecordSets.

\n

To verify that the hosted zone has been deleted, do one of the following:

\n
    \n
  • \n

    Use the GetHostedZone action to request information about the\n\t\t\t\t\thosted zone.

    \n
  • \n
  • \n

    Use the ListHostedZones action to get a list of the hosted zones\n\t\t\t\t\tassociated with the current Amazon Web Services account.

    \n
  • \n
", + "smithy.api#documentation": "

Deletes a hosted zone.

\n

If the hosted zone was created by another service, such as Cloud Map, see\n\t\t\t\tDeleting Public Hosted Zones That Were Created by Another Service in the\n\t\t\t\t\tAmazon Route 53 Developer Guide for information\n\t\t\tabout how to delete it. (The process is the same for public and private hosted zones\n\t\t\tthat were created by another service.)

\n

If you want to keep your domain registration but you want to stop routing internet\n\t\t\ttraffic to your website or web application, we recommend that you delete resource record\n\t\t\tsets in the hosted zone instead of deleting the hosted zone.

\n \n

If you delete a hosted zone, you can't undelete it. You must create a new hosted\n\t\t\t\tzone and update the name servers for your domain registration, which can require up\n\t\t\t\tto 48 hours to take effect. (If you delegated responsibility for a subdomain to a\n\t\t\t\thosted zone and you delete the child hosted zone, you must update the name servers\n\t\t\t\tin the parent hosted zone.) In addition, if you delete a hosted zone, someone could\n\t\t\t\thijack the domain and route traffic to their own resources using your domain\n\t\t\t\tname.

\n
\n

If you want to avoid the monthly charge for the hosted zone, you can transfer DNS\n\t\t\tservice for the domain to a free DNS service. When you transfer DNS service, you have to\n\t\t\tupdate the name servers for the domain registration. If the domain is registered with\n\t\t\t\tRoute 53, see UpdateDomainNameservers for information about how to replace Route 53 name servers with name servers for the new DNS service. If the domain is\n\t\t\tregistered with another registrar, use the method provided by the registrar to update\n\t\t\tname servers for the domain registration. For more information, perform an internet\n\t\t\tsearch on \"free DNS service.\"

\n

You can delete a hosted zone only if it contains only the default SOA and NS records\n\t\t\tand has DNSSEC signing disabled. If the hosted zone contains other records or has DNSSEC\n\t\t\tenabled, you must delete the records and disable DNSSEC before deletion. Attempting to\n\t\t\tdelete a hosted zone with additional records or DNSSEC enabled returns a\n\t\t\t\tHostedZoneNotEmpty error. For information about deleting records, see\n\t\t\t\tChangeResourceRecordSets.

\n

To verify that the hosted zone has been deleted, do one of the following:

\n
    \n
  • \n

    Use the GetHostedZone action to request information about the\n\t\t\t\t\thosted zone.

    \n
  • \n
  • \n

    Use the ListHostedZones action to get a list of the hosted zones\n\t\t\t\t\tassociated with the current Amazon Web Services account.

    \n
  • \n
", "smithy.api#http": { "method": "DELETE", "uri": "/2013-04-01/hostedzone/{Id}", @@ -12645,6 +12651,12 @@ "traits": { "smithy.api#enumValue": "ap-southeast-6" } + }, + "us_isob_west_1": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "us-isob-west-1" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/route53-recovery-cluster.json b/codegen/sdk-codegen/aws-models/route53-recovery-cluster.json index 6d6591197c8..1f6ca0a211d 100644 --- a/codegen/sdk-codegen/aws-models/route53-recovery-cluster.json +++ b/codegen/sdk-codegen/aws-models/route53-recovery-cluster.json @@ -549,27 +549,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/route53-recovery-control-config.json b/codegen/sdk-codegen/aws-models/route53-recovery-control-config.json index a930af67d23..2928a232c82 100644 --- a/codegen/sdk-codegen/aws-models/route53-recovery-control-config.json +++ b/codegen/sdk-codegen/aws-models/route53-recovery-control-config.json @@ -2245,26 +2245,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ @@ -2913,85 +2913,43 @@ } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://route53-recovery-control-config-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://route53-recovery-control-config-fips.us-gov-west-1.amazonaws.com" + "url": "https://route53-recovery-control-config-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "properties": { - "authSchemes": [ - { - "name": "sigv4", - "signingRegion": "us-gov-west-1" - } - ] - }, - "url": "https://route53-recovery-control-config.us-gov-west-1.api.aws" - } - }, - "params": { - "Region": "us-gov-west-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "us-gov-west-1" + "signingRegion": "eusc-de-east-1" } ] }, - "url": "https://route53-recovery-control-config.us-gov-west-1.amazonaws.com" + "url": "https://route53-recovery-control-config.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-west-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } @@ -3165,43 +3123,85 @@ } }, { - "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://route53-recovery-control-config-fips.eusc-de-east-1.amazonaws.eu" + "url": "https://route53-recovery-control-config-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://route53-recovery-control-config-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { "properties": { "authSchemes": [ { "name": "sigv4", - "signingRegion": "eusc-de-east-1" + "signingRegion": "us-gov-west-1" } ] }, - "url": "https://route53-recovery-control-config.eusc-de-east-1.amazonaws.eu" + "url": "https://route53-recovery-control-config.us-gov-west-1.api.aws" } }, "params": { - "Region": "eusc-de-east-1", + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingRegion": "us-gov-west-1" + } + ] + }, + "url": "https://route53-recovery-control-config.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", "UseFIPS": false, "UseDualStack": false } diff --git a/codegen/sdk-codegen/aws-models/route53-recovery-readiness.json b/codegen/sdk-codegen/aws-models/route53-recovery-readiness.json index 6aea6e50125..6e4a90b4d6e 100644 --- a/codegen/sdk-codegen/aws-models/route53-recovery-readiness.json +++ b/codegen/sdk-codegen/aws-models/route53-recovery-readiness.json @@ -2864,27 +2864,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/route53profiles.json b/codegen/sdk-codegen/aws-models/route53profiles.json index 9e174d976da..2f666fa92aa 100644 --- a/codegen/sdk-codegen/aws-models/route53profiles.json +++ b/codegen/sdk-codegen/aws-models/route53profiles.json @@ -1605,27 +1605,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/route53resolver.json b/codegen/sdk-codegen/aws-models/route53resolver.json index 2504e6fcf8a..1f726b5bcc4 100644 --- a/codegen/sdk-codegen/aws-models/route53resolver.json +++ b/codegen/sdk-codegen/aws-models/route53resolver.json @@ -7069,27 +7069,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/rtbfabric.json b/codegen/sdk-codegen/aws-models/rtbfabric.json new file mode 100644 index 00000000000..03e48d5eef4 --- /dev/null +++ b/codegen/sdk-codegen/aws-models/rtbfabric.json @@ -0,0 +1,6433 @@ +{ + "smithy": "2.0", + "shapes": { + "com.amazonaws.rtbfabric#AcceptLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#AcceptLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#AcceptLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Accepts a link request between gateways.

When a requester gateway requests to link with a responder gateway, the responder can use this operation to accept the link request and establish the connection.

", + "smithy.api#examples": [ + { + "title": "Accept a link request", + "documentation": "Accepts a link request from requester gateway", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "logSettings": { + "applicationLogs": { + "sampling": { + "errorLog": 100.0, + "filterLog": 0.0 + } + } + } + }, + "output": { + "linkId": "link-87654321", + "gatewayId": "rtb-gw-12345678", + "peerGatewayId": "rtb-gw-87654321", + "status": "ACCEPTED", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/gateway/{gatewayId}/link/{linkId}/accept" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "AcceptLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345", + "logSettings": { + "applicationLogs": { + "sampling": { + "errorLog": 100.0, + "filterLog": 0.0 + } + } + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#AcceptLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "logSettings": { + "target": "com.amazonaws.rtbfabric#LinkLogSettings", + "traits": { + "smithy.api#documentation": "

Settings for the application logs.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#AcceptLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "peerGatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the peer gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the link.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was updated.

", + "smithy.api#required": {} + } + }, + "direction": { + "target": "com.amazonaws.rtbfabric#LinkDirection", + "traits": { + "smithy.api#documentation": "

The direction of the link.

" + } + }, + "flowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of flow modules.

" + } + }, + "pendingFlowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of pending flow modules.

" + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request could not be completed because you do not have sufficient access to perform this action.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, + "com.amazonaws.rtbfabric#Action": { + "type": "union", + "members": { + "noBid": { + "target": "com.amazonaws.rtbfabric#NoBidAction", + "traits": { + "smithy.api#documentation": "

Describes a no bid action.

" + } + }, + "headerTag": { + "target": "com.amazonaws.rtbfabric#HeaderTagAction", + "traits": { + "smithy.api#documentation": "

Describes the header tag for a bid action.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a bid action.

" + } + }, + "com.amazonaws.rtbfabric#AutoScalingGroupName": { + "type": "string" + }, + "com.amazonaws.rtbfabric#AutoScalingGroupNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#AutoScalingGroupName" + } + }, + "com.amazonaws.rtbfabric#AutoScalingGroupsConfiguration": { + "type": "structure", + "members": { + "autoScalingGroupNames": { + "target": "com.amazonaws.rtbfabric#AutoScalingGroupNameList", + "traits": { + "smithy.api#documentation": "

The names of the auto scaling group.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The role ARN of the auto scaling group.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of an auto scaling group.

" + } + }, + "com.amazonaws.rtbfabric#Base64EncodedCertificateChain": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2097152 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.rtbfabric#CertificateAuthorityCertificates": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#Base64EncodedCertificateChain" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2 + } + } + }, + "com.amazonaws.rtbfabric#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request could not be completed because of a conflict in the current state of the resource.

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, + "com.amazonaws.rtbfabric#CreateInboundExternalLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#CreateInboundExternalLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#CreateInboundExternalLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an inbound external link.

", + "smithy.api#examples": [ + { + "title": "Create an inbound external link", + "documentation": "Create an inbound external link for a responder gateway", + "input": { + "gatewayId": "rtb-gw-12345678", + "clientToken": "randomClientToken" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "status": "ACTIVE", + "domainName": "rtb-gw-12345678.example.com" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/responder-gateway/{gatewayId}/inbound-external-link" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateInboundExternalLink", + "params": { + "gatewayId": "rtb-gw-12345", + "clientToken": "abc123def456" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#CreateInboundExternalLinkRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#CreateInboundExternalLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + }, + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#CreateLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#CreateLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#CreateLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new link between gateways.

Establishes a connection that allows gateways to communicate and exchange bid requests and responses.

", + "smithy.api#examples": [ + { + "title": "Create a new link", + "documentation": "Creates a new link between RTB applications", + "input": { + "gatewayId": "rtb-gw-12345678", + "peerGatewayId": "rtb-gw-87654321", + "logSettings": { + "applicationLogs": { + "sampling": { + "errorLog": 100.0, + "filterLog": 0.0 + } + } + } + }, + "output": { + "linkId": "link-87654321", + "gatewayId": "rtb-gw-12345678", + "peerGatewayId": "rtb-gw-87654321", + "status": "PENDING_REQUEST", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:30:00Z" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/gateway/{gatewayId}/create-link" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateLink", + "params": { + "gatewayId": "rtb-gw-12345", + "peerGatewayId": "rtb-gw-67890", + "logSettings": { + "applicationLogs": { + "sampling": { + "errorLog": 100.0, + "filterLog": 0.0 + } + } + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#CreateLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "peerGatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the peer gateway.

", + "smithy.api#required": {} + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "httpResponderAllowed": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Boolean to specify if an HTTP responder is allowed.

" + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + }, + "logSettings": { + "target": "com.amazonaws.rtbfabric#LinkLogSettings", + "traits": { + "smithy.api#documentation": "

Settings for the application logs.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#CreateLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "peerGatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the peer gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was updated.

", + "smithy.api#required": {} + } + }, + "direction": { + "target": "com.amazonaws.rtbfabric#LinkDirection", + "traits": { + "smithy.api#documentation": "

The direction of the link.

" + } + }, + "flowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of flow modules.

" + } + }, + "pendingFlowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of pending flow modules.

" + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "customerProvidedId": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The customer-provided unique identifier of the link.

", + "smithy.api#pattern": "^[a-zA-Z0-9_-]{5,50}$" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#CreateOutboundExternalLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#CreateOutboundExternalLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#CreateOutboundExternalLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an outbound external link.

", + "smithy.api#examples": [ + { + "title": "Create an outbound external link", + "documentation": "Create an outbound external link for a requester gateway to connect to external public responder endpoints", + "input": { + "gatewayId": "rtb-gw-12345678", + "publicEndpoint": "https://external-responder.example.com", + "clientToken": "12345678-1234-1234-1234-123456789012" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "status": "ACTIVE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/requester-gateway/{gatewayId}/outbound-external-link" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateOutboundExternalLink", + "params": { + "gatewayId": "rtb-gw-12345", + "publicEndpoint": "https://example.com", + "clientToken": "mno345pqr678" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#CreateOutboundExternalLinkRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "publicEndpoint": { + "target": "com.amazonaws.rtbfabric#URL", + "traits": { + "smithy.api#documentation": "

The public endpoint of the link.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#CreateOutboundExternalLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#CreateRequesterGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#CreateRequesterGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#CreateRequesterGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a requester gateway.

", + "smithy.api#examples": [ + { + "title": "Create a requester gateway", + "documentation": "Create requester gateway", + "input": { + "description": "My requester gateway", + "vpcId": "vpc-12345678", + "subnetIds": [ + "subnet-12345678", + "subnet-87654321" + ], + "securityGroupIds": [ + "sg-12345678" + ], + "clientToken": "12345678-1234-1234-1234-123456789012" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "domainName": "rtb-gw-12345678.example.com", + "status": "ACTIVE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/requester-gateway" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateRequesterGateway", + "params": { + "description": "Test gateway", + "vpcId": "vpc-12345678", + "subnetIds": [ + "subnet-12345678" + ], + "securityGroupIds": [ + "sg-12345678" + ], + "clientToken": "ghi901jkl234" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#CreateRequesterGatewayRequest": { + "type": "structure", + "members": { + "vpcId": { + "target": "com.amazonaws.rtbfabric#VpcId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Virtual Private Cloud (VPC).

", + "smithy.api#required": {} + } + }, + "subnetIds": { + "target": "com.amazonaws.rtbfabric#SubnetIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the subnets.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.rtbfabric#SecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the security groups.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

An optional description for the requester gateway.

", + "smithy.api#pattern": "^[A-Za-z0-9 ]+$" + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#CreateRequesterGatewayResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name of the requester gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#RequesterGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#CreateResponderGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#CreateResponderGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#CreateResponderGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a responder gateway.

A domain name or managed endpoint is required.

", + "smithy.api#examples": [ + { + "title": "Create a responder gateway", + "documentation": "Create responder gateway", + "input": { + "description": "My responder gateway", + "vpcId": "vpc-12345678", + "subnetIds": [ + "subnet-12345678", + "subnet-87654321" + ], + "securityGroupIds": [ + "sg-12345678" + ], + "port": 443, + "protocol": "HTTPS", + "clientToken": "12345678-1234-1234-1234-123456789012" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "ACTIVE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/responder-gateway" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "CreateResponderGateway", + "params": { + "description": "Test gateway", + "vpcId": "vpc-12345678", + "subnetIds": [ + "subnet-12345678" + ], + "securityGroupIds": [ + "sg-12345678" + ], + "port": 443, + "protocol": "HTTPS", + "clientToken": "stu567vwx890" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#CreateResponderGatewayRequest": { + "type": "structure", + "members": { + "vpcId": { + "target": "com.amazonaws.rtbfabric#VpcId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Virtual Private Cloud (VPC).

", + "smithy.api#required": {} + } + }, + "subnetIds": { + "target": "com.amazonaws.rtbfabric#SubnetIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the subnets.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.rtbfabric#SecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the security groups.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name for the responder gateway.

" + } + }, + "port": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The networking port to use.

", + "smithy.api#range": { + "min": 1, + "max": 65535 + }, + "smithy.api#required": {} + } + }, + "protocol": { + "target": "com.amazonaws.rtbfabric#Protocol", + "traits": { + "smithy.api#documentation": "

The networking protocol to use.

", + "smithy.api#required": {} + } + }, + "trustStoreConfiguration": { + "target": "com.amazonaws.rtbfabric#TrustStoreConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration of the trust store.

" + } + }, + "managedEndpointConfiguration": { + "target": "com.amazonaws.rtbfabric#ManagedEndpointConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for the managed endpoint.

" + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

An optional description for the responder gateway.

", + "smithy.api#pattern": "^[A-Za-z0-9 ]+$" + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#CreateResponderGatewayResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#ResponderGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#CustomerProvidedId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[a-zA-Z0-9_-]+$" + } + }, + "com.amazonaws.rtbfabric#DeleteInboundExternalLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#DeleteInboundExternalLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#DeleteInboundExternalLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an inbound external link.

", + "smithy.api#examples": [ + { + "title": "Delete an inbound external link", + "documentation": "Delete an inbound external link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "linkId": "link-87654321", + "status": "DELETED" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/responder-gateway/{gatewayId}/inbound-external-link/{linkId}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "DeleteInboundExternalLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#DeleteInboundExternalLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#DeleteInboundExternalLinkResponse": { + "type": "structure", + "members": { + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#DeleteLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#DeleteLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#DeleteLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a link between gateways.

Permanently removes the connection between gateways. This action cannot be undone.

", + "smithy.api#examples": [ + { + "title": "Delete a link", + "documentation": "Deletes an existing link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "linkId": "link-87654321", + "status": "PENDING_DELETION" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/gateway/{gatewayId}/link/{linkId}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "DeleteLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#DeleteLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#DeleteLinkResponse": { + "type": "structure", + "members": { + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the link.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#DeleteOutboundExternalLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#DeleteOutboundExternalLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#DeleteOutboundExternalLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes an outbound external link.

", + "smithy.api#examples": [ + { + "title": "Delete an outbound external link", + "documentation": "Delete an outbound external link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "linkId": "link-87654321", + "status": "DELETED" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/requester-gateway/{gatewayId}/outbound-external-link/{linkId}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "DeleteOutboundExternalLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#DeleteOutboundExternalLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#DeleteOutboundExternalLinkResponse": { + "type": "structure", + "members": { + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#DeleteRequesterGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#DeleteRequesterGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#DeleteRequesterGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a requester gateway.

", + "smithy.api#examples": [ + { + "title": "Delete a requester gateway", + "documentation": "Delete requester gateway", + "input": { + "gatewayId": "rtb-gw-12345678" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "PENDING_DELETION" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/requester-gateway/{gatewayId}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "DeleteRequesterGateway", + "params": { + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#DeleteRequesterGatewayRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#DeleteRequesterGatewayResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#RequesterGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#DeleteResponderGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#DeleteResponderGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#DeleteResponderGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a responder gateway.

", + "smithy.api#examples": [ + { + "title": "Delete a responder gateway", + "documentation": "Delete responder gateway", + "input": { + "gatewayId": "rtb-gw-12345678" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "PENDING_DELETION" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "DELETE", + "uri": "/responder-gateway/{gatewayId}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "DeleteResponderGateway", + "params": { + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#DeleteResponderGatewayRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#DeleteResponderGatewayResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#ResponderGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#DomainName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)(?:\\.(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?))+$" + } + }, + "com.amazonaws.rtbfabric#EksEndpointsConfiguration": { + "type": "structure", + "members": { + "endpointsResourceName": { + "target": "com.amazonaws.rtbfabric#KubernetesEndpointsResourceName", + "traits": { + "smithy.api#documentation": "

The name of the endpoint resource.

", + "smithy.api#required": {} + } + }, + "endpointsResourceNamespace": { + "target": "com.amazonaws.rtbfabric#KubernetesNamespace", + "traits": { + "smithy.api#documentation": "

The namespace of the endpoint resource.

", + "smithy.api#required": {} + } + }, + "clusterApiServerEndpointUri": { + "target": "com.amazonaws.rtbfabric#URI", + "traits": { + "smithy.api#documentation": "

The URI of the cluster API server endpoint.

", + "smithy.api#required": {} + } + }, + "clusterApiServerCaCertificateChain": { + "target": "com.amazonaws.rtbfabric#Base64EncodedCertificateChain", + "traits": { + "smithy.api#documentation": "

The CA certificate chain of the cluster API server.

", + "smithy.api#required": {} + } + }, + "clusterName": { + "target": "com.amazonaws.rtbfabric#KubernetesClusterName", + "traits": { + "smithy.api#documentation": "

The name of the cluster.

", + "smithy.api#required": {} + } + }, + "roleArn": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The role ARN for the cluster.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of an Amazon Elastic Kubernetes Service endpoint.

" + } + }, + "com.amazonaws.rtbfabric#Filter": { + "type": "structure", + "members": { + "criteria": { + "target": "com.amazonaws.rtbfabric#FilterCriteria", + "traits": { + "smithy.api#documentation": "

Describes the criteria for a filter.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of a filter.

" + } + }, + "com.amazonaws.rtbfabric#FilterConfiguration": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#Filter" + } + }, + "com.amazonaws.rtbfabric#FilterCriteria": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#FilterCriterion" + } + }, + "com.amazonaws.rtbfabric#FilterCriterion": { + "type": "structure", + "members": { + "path": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The path to filter.

", + "smithy.api#required": {} + } + }, + "values": { + "target": "com.amazonaws.rtbfabric#ValueList", + "traits": { + "smithy.api#documentation": "

The value to filter.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the criteria for a filter.

" + } + }, + "com.amazonaws.rtbfabric#FilterType": { + "type": "enum", + "members": { + "INCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INCLUDE" + } + }, + "EXCLUDE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "EXCLUDE" + } + } + } + }, + "com.amazonaws.rtbfabric#FlowModuleName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^[A-Za-z0-9 -]+$" + } + }, + "com.amazonaws.rtbfabric#FlowModuleNameList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#FlowModuleName" + } + }, + "com.amazonaws.rtbfabric#Gateway": { + "type": "resource", + "identifiers": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId" + } + }, + "resources": [ + { + "target": "com.amazonaws.rtbfabric#Link" + } + ], + "traits": { + "aws.api#arn": { + "template": "gateway/{gatewayId}" + } + } + }, + "com.amazonaws.rtbfabric#GatewayId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^rtb-gw-[a-z0-9-]{1,25}$" + } + }, + "com.amazonaws.rtbfabric#GatewayIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#GatewayId" + } + }, + "com.amazonaws.rtbfabric#GetInboundExternalLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#GetInboundExternalLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#GetInboundExternalLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about an inbound external link.

", + "smithy.api#examples": [ + { + "title": "Get inbound external link details", + "documentation": "Get details of an inbound external link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "status": "ACTIVE", + "domainName": "rtb-gw-12345678.example.com", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/responder-gateway/{gatewayId}/inbound-external-link/{linkId}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetInboundExternalLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ], + "smithy.waiters#waitable": { + "InboundExternalLinkActive": { + "minDelay": 30, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "REJECTED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "ISOLATED", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.rtbfabric#GetInboundExternalLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#GetInboundExternalLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + }, + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name.

", + "smithy.api#required": {} + } + }, + "flowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of flow modules.

" + } + }, + "pendingFlowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of pending flow modules.

" + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the inbound external link was created.

" + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the inbound external link was updated.

" + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

", + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#GetLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#GetLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#GetLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about a link between gateways.

Returns detailed information about the link configuration, status, and associated gateways.

", + "smithy.api#examples": [ + { + "title": "Get link details", + "documentation": "Retrieves details of a specific link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "linkId": "link-87654321", + "gatewayId": "rtb-gw-12345678", + "peerGatewayId": "rtb-gw-87654321", + "status": "ACTIVE", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/gateway/{gatewayId}/link/{linkId}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetLink", + "params": { + "linkId": "link-12345", + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ], + "smithy.waiters#waitable": { + "LinkAccepted": { + "minDelay": 30, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "ACCEPTED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "REJECTED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + } + ] + }, + "LinkActive": { + "minDelay": 30, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "REJECTED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.rtbfabric#GetLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#GetLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "peerGatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the peer gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the link.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was updated.

", + "smithy.api#required": {} + } + }, + "direction": { + "target": "com.amazonaws.rtbfabric#LinkDirection", + "traits": { + "smithy.api#documentation": "

The direction of the link.

" + } + }, + "flowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of flow modules.

" + } + }, + "pendingFlowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of pending flow modules.

" + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

" + } + }, + "logSettings": { + "target": "com.amazonaws.rtbfabric#LinkLogSettings", + "traits": { + "smithy.api#documentation": "

Settings for the application logs.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#GetOutboundExternalLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#GetOutboundExternalLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#GetOutboundExternalLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about an outbound external link.

", + "smithy.api#examples": [ + { + "title": "Get outbound external link details", + "documentation": "Get details of a specific outbound external link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "status": "ACTIVE", + "publicEndpoint": "https://external-responder.example.com", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/requester-gateway/{gatewayId}/outbound-external-link/{linkId}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetOutboundExternalLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ], + "smithy.waiters#waitable": { + "OutboundExternalLinkActive": { + "minDelay": 30, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "REJECTED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "FAILED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "ISOLATED", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.rtbfabric#GetOutboundExternalLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#GetOutboundExternalLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + }, + "publicEndpoint": { + "target": "com.amazonaws.rtbfabric#URL", + "traits": { + "smithy.api#documentation": "

The public endpoint for the link.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the outbound external link was created.

" + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the outbound external link was updated.

" + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

", + "smithy.api#notProperty": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#GetRequesterGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#GetRequesterGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#GetRequesterGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about a requester gateway.

", + "smithy.api#examples": [ + { + "title": "Get requester gateway details", + "documentation": "Get requester gateway", + "input": { + "gatewayId": "rtb-gw-12345678" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "ACTIVE", + "domainName": "rtb-gw-12345678.example.com", + "description": "My requester gateway", + "vpcId": "vpc-12345678", + "subnetIds": [ + "subnet-12345678", + "subnet-87654321" + ], + "securityGroupIds": [ + "sg-12345678" + ], + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z", + "activeLinksCount": 2, + "totalLinksCount": 5 + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/requester-gateway/{gatewayId}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetRequesterGateway", + "params": { + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ], + "smithy.waiters#waitable": { + "RequesterGatewayActive": { + "minDelay": 30, + "maxDelay": 120, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "ERROR", + "comparator": "stringEquals" + } + } + } + ] + }, + "RequesterGatewayDeleted": { + "minDelay": 30, + "maxDelay": 120, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "ERROR", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.rtbfabric#GetRequesterGatewayRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#GetRequesterGatewayResponse": { + "type": "structure", + "members": { + "status": { + "target": "com.amazonaws.rtbfabric#RequesterGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + }, + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name of the requester gateway.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The description of the requester gateway.

", + "smithy.api#pattern": "^[A-Za-z0-9 ]+$" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the requester gateway was created.

" + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the requester gateway was updated.

" + } + }, + "vpcId": { + "target": "com.amazonaws.rtbfabric#VpcId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Virtual Private Cloud (VPC).

", + "smithy.api#required": {} + } + }, + "subnetIds": { + "target": "com.amazonaws.rtbfabric#SubnetIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the subnets.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.rtbfabric#SecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the security groups.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

" + } + }, + "activeLinksCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The count of active links for the requester gateway.

" + } + }, + "totalLinksCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The total count of links for the requester gateway.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#GetResponderGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#GetResponderGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#GetResponderGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information about a responder gateway.

", + "smithy.api#examples": [ + { + "title": "Get responder gateway details", + "documentation": "Get responder gateway", + "input": { + "gatewayId": "rtb-gw-12345678" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "ACTIVE", + "description": "My responder gateway", + "vpcId": "vpc-12345678", + "subnetIds": [ + "subnet-12345678", + "subnet-87654321" + ], + "securityGroupIds": [ + "sg-12345678" + ], + "port": 443, + "protocol": "HTTPS", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z", + "activeLinksCount": 2, + "totalLinksCount": 5, + "inboundLinksCount": 3 + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/responder-gateway/{gatewayId}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "GetResponderGateway", + "params": { + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ], + "smithy.waiters#waitable": { + "ResponderGatewayActive": { + "minDelay": 30, + "maxDelay": 120, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "ACTIVE", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "ERROR", + "comparator": "stringEquals" + } + } + } + ] + }, + "ResponderGatewayDeleted": { + "minDelay": 30, + "maxDelay": 120, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "DELETED", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "status", + "expected": "ERROR", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.rtbfabric#GetResponderGatewayRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#GetResponderGatewayResponse": { + "type": "structure", + "members": { + "vpcId": { + "target": "com.amazonaws.rtbfabric#VpcId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the Virtual Private Cloud (VPC).

", + "smithy.api#required": {} + } + }, + "subnetIds": { + "target": "com.amazonaws.rtbfabric#SubnetIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the subnets.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "securityGroupIds": { + "target": "com.amazonaws.rtbfabric#SecurityGroupIdList", + "traits": { + "smithy.api#documentation": "

The unique identifiers of the security groups.

", + "smithy.api#length": { + "min": 1 + }, + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#ResponderGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The description of the responder gateway.

", + "smithy.api#pattern": "^[A-Za-z0-9 ]+$" + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the responder gateway was created.

" + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the responder gateway was updated.

" + } + }, + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name of the responder gateway.

" + } + }, + "port": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The networking port.

", + "smithy.api#range": { + "min": 1, + "max": 65535 + }, + "smithy.api#required": {} + } + }, + "protocol": { + "target": "com.amazonaws.rtbfabric#Protocol", + "traits": { + "smithy.api#documentation": "

The networking protocol.

", + "smithy.api#required": {} + } + }, + "trustStoreConfiguration": { + "target": "com.amazonaws.rtbfabric#TrustStoreConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration of the trust store.

" + } + }, + "managedEndpointConfiguration": { + "target": "com.amazonaws.rtbfabric#ManagedEndpointConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration of the managed endpoint.

" + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

" + } + }, + "activeLinksCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The count of active links for the responder gateway.

" + } + }, + "totalLinksCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The total count of links for the responder gateway.

" + } + }, + "inboundLinksCount": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The count of inbound links for the responder gateway.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#HeaderTagAction": { + "type": "structure", + "members": { + "name": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The name of the bid action.

", + "smithy.api#required": {} + } + }, + "value": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The value of the bid action.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the header tag for a bid action.

" + } + }, + "com.amazonaws.rtbfabric#InboundExternalLink": { + "type": "resource", + "identifiers": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId" + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId" + } + }, + "create": { + "target": "com.amazonaws.rtbfabric#CreateInboundExternalLink" + }, + "operations": [ + { + "target": "com.amazonaws.rtbfabric#DeleteInboundExternalLink" + }, + { + "target": "com.amazonaws.rtbfabric#GetInboundExternalLink" + } + ], + "traits": { + "aws.api#arn": { + "template": "gateway/{gatewayId}/link/{linkId}" + } + } + }, + "com.amazonaws.rtbfabric#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request could not be completed because of an internal server error. Try your call again.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.rtbfabric#KubernetesClusterName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9]$" + } + }, + "com.amazonaws.rtbfabric#KubernetesEndpointsResourceName": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9]$" + } + }, + "com.amazonaws.rtbfabric#KubernetesNamespace": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9]$" + } + }, + "com.amazonaws.rtbfabric#Link": { + "type": "resource", + "identifiers": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId" + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId" + } + }, + "create": { + "target": "com.amazonaws.rtbfabric#CreateLink" + }, + "read": { + "target": "com.amazonaws.rtbfabric#GetLink" + }, + "delete": { + "target": "com.amazonaws.rtbfabric#DeleteLink" + }, + "list": { + "target": "com.amazonaws.rtbfabric#ListLinks" + }, + "operations": [ + { + "target": "com.amazonaws.rtbfabric#AcceptLink" + }, + { + "target": "com.amazonaws.rtbfabric#RejectLink" + }, + { + "target": "com.amazonaws.rtbfabric#UpdateLink" + }, + { + "target": "com.amazonaws.rtbfabric#UpdateLinkModuleFlow" + } + ], + "traits": { + "aws.api#arn": { + "template": "gateway/{gatewayId}/link/{linkId}" + } + } + }, + "com.amazonaws.rtbfabric#LinkApplicationLogConfiguration": { + "type": "structure", + "members": { + "sampling": { + "target": "com.amazonaws.rtbfabric#LinkApplicationLogSampling", + "traits": { + "smithy.api#documentation": "

Describes a link application log sample.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of a link application log.

" + } + }, + "com.amazonaws.rtbfabric#LinkApplicationLogSampling": { + "type": "structure", + "members": { + "errorLog": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

An error log entry.

", + "smithy.api#range": { + "min": 0.0, + "max": 100.0 + }, + "smithy.api#required": {} + } + }, + "filterLog": { + "target": "smithy.api#Double", + "traits": { + "smithy.api#documentation": "

A filter log entry.

", + "smithy.api#range": { + "min": 0.0, + "max": 100.0 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a link application log sample.

" + } + }, + "com.amazonaws.rtbfabric#LinkAttributes": { + "type": "structure", + "members": { + "responderErrorMasking": { + "target": "com.amazonaws.rtbfabric#ResponderErrorMasking", + "traits": { + "smithy.api#documentation": "

Describes the masking for HTTP error codes.

" + } + }, + "customerProvidedId": { + "target": "com.amazonaws.rtbfabric#CustomerProvidedId", + "traits": { + "smithy.api#documentation": "

The customer-provided unique identifier of the link.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the attributes of a link.

" + } + }, + "com.amazonaws.rtbfabric#LinkDirection": { + "type": "enum", + "members": { + "RESPONSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESPONSE" + } + }, + "REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REQUEST" + } + } + } + }, + "com.amazonaws.rtbfabric#LinkId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^link-[a-z0-9-]{1,25}$" + } + }, + "com.amazonaws.rtbfabric#LinkList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#ListLinksResponseStructure" + } + }, + "com.amazonaws.rtbfabric#LinkLogSettings": { + "type": "structure", + "members": { + "applicationLogs": { + "target": "com.amazonaws.rtbfabric#LinkApplicationLogConfiguration", + "traits": { + "smithy.api#documentation": "

Describes the configuration of a link application log.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the settings for a link log.

" + } + }, + "com.amazonaws.rtbfabric#LinkStatus": { + "type": "enum", + "members": { + "PENDING_CREATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_CREATION" + } + }, + "PENDING_REQUEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_REQUEST" + } + }, + "REQUESTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REQUESTED" + } + }, + "ACCEPTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACCEPTED" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "REJECTED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REJECTED" + } + }, + "FAILED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "FAILED" + } + }, + "PENDING_DELETION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_DELETION" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "PENDING_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_UPDATE" + } + }, + "PENDING_ISOLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_ISOLATION" + } + }, + "ISOLATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ISOLATED" + } + }, + "PENDING_RESTORATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_RESTORATION" + } + } + } + }, + "com.amazonaws.rtbfabric#ListLinks": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#ListLinksRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#ListLinksResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists links associated with gateways.

Returns a list of all links for the specified gateways, including their status and configuration details.

", + "smithy.api#examples": [ + { + "title": "List links for a gateway", + "documentation": "Lists all links for the specified gateway", + "input": { + "gatewayId": "rtb-gw-12345678", + "maxResults": 10 + }, + "output": { + "links": [ + { + "linkId": "link-87654321", + "gatewayId": "rtb-gw-12345678", + "peerGatewayId": "rtb-gw-87654321", + "status": "ACTIVE", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z" + } + ] + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/gateway/{gatewayId}/links/" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "links" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListLinks", + "params": { + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#ListLinksRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#ListLinksResponse": { + "type": "structure", + "members": { + "links": { + "target": "com.amazonaws.rtbfabric#LinkList", + "traits": { + "smithy.api#documentation": "

Information about created links.

" + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#ListLinksResponseStructure": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "peerGatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the peer gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the link.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was updated.

", + "smithy.api#required": {} + } + }, + "direction": { + "target": "com.amazonaws.rtbfabric#LinkDirection", + "traits": { + "smithy.api#documentation": "

The direction of the link.

" + } + }, + "flowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

Describes the configuration of flow modules.

" + } + }, + "pendingFlowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

Describes the configuration of pending flow modules.

" + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Describes attributes of a link.

" + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a link.

" + } + }, + "com.amazonaws.rtbfabric#ListRequesterGateways": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#ListRequesterGatewaysRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#ListRequesterGatewaysResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists requester gateways.

", + "smithy.api#examples": [ + { + "title": "List requester gateways with default pagination", + "documentation": "Lists requester gateways using default pagination settings", + "input": { + "maxResults": 10 + }, + "output": { + "gatewayIds": [ + "rtb-gw-12345", + "rtb-gw-67890" + ] + } + }, + { + "title": "List requester gateways with pagination token", + "documentation": "Lists requester gateways using a pagination token to get the next page", + "input": { + "maxResults": 5, + "nextToken": "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVxLTEyMzQ1In19fQ==" + }, + "output": { + "gatewayIds": [ + "rtb-gw-12345", + "rtb-gw-09876" + ], + "nextToken": "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVxLWZnaGlqIn19fQ==" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/requester-gateways" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "gatewayIds" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.rtbfabric#ListRequesterGatewaysRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": 10, + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#ListRequesterGatewaysResponse": { + "type": "structure", + "members": { + "gatewayIds": { + "target": "com.amazonaws.rtbfabric#GatewayIdList", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateways.

" + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#ListResponderGateways": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#ListResponderGatewaysRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#ListResponderGatewaysResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists reponder gateways.

", + "smithy.api#examples": [ + { + "title": "List responder gateways with default pagination", + "documentation": "Lists responder gateways using default pagination settings", + "input": { + "maxResults": 10 + }, + "output": { + "gatewayIds": [ + "rtb-gw-54321", + "rtb-gw-09876" + ] + } + }, + { + "title": "List responder gateways with pagination token", + "documentation": "Lists responder gateways using a pagination token to get the next page", + "input": { + "maxResults": 3, + "nextToken": "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVzcC01NDMyMSJ9fX0=" + }, + "output": { + "gatewayIds": [ + "rtb-gw-12345", + "rtb-gw-09876" + ], + "nextToken": "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7ImlkIjp7IlMiOiJydGJhcHAtcmVzcC1hYmMzNCJ9fX0=" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/responder-gateways" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "gatewayIds" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.rtbfabric#ListResponderGatewaysRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#default": 10, + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

", + "smithy.api#httpQuery": "maxResults", + "smithy.api#range": { + "min": 1, + "max": 10 + } + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

", + "smithy.api#httpQuery": "nextToken" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#ListResponderGatewaysResponse": { + "type": "structure", + "members": { + "gatewayIds": { + "target": "com.amazonaws.rtbfabric#GatewayIdList", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateways.

" + } + }, + "nextToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#ListTagsForResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#ListTagsForResourceRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#ListTagsForResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists tags for a resource.

", + "smithy.api#examples": [ + { + "title": "List tags for a resource", + "documentation": "Lists tags for a resource", + "input": { + "resourceArn": "arn:aws:rtbfabric:us-east-1:123456789012:gateway/rtb-gw-12345678" + }, + "output": { + "tags": { + "Environment": "Production", + "Team": "RTB" + } + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "GET", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#readonly": {}, + "smithy.test#smokeTests": [ + { + "id": "ListTagsForResource_GatewayOnly", + "params": { + "resourceArn": "arn:aws:rtbfabric:us-west-2:123456789012:gateway/rtb-gw-123testapp" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + }, + { + "id": "ListTagsForResource_GatewayWithLink", + "params": { + "resourceArn": "arn:aws:rtbfabric:us-west-2:123456789012:gateway/rtb-gw-123testapp/link/link-nonexistent" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#ListTagsForResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.rtbfabric#RtbTaggableResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which you want to retrieve tags.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#ListTagsForResourceResponse": { + "type": "structure", + "members": { + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs for the tag or tags assigned to the specified resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#ManagedEndpointConfiguration": { + "type": "union", + "members": { + "autoScalingGroups": { + "target": "com.amazonaws.rtbfabric#AutoScalingGroupsConfiguration", + "traits": { + "smithy.api#documentation": "

Describes the configuration of an auto scaling group.

" + } + }, + "eksEndpoints": { + "target": "com.amazonaws.rtbfabric#EksEndpointsConfiguration", + "traits": { + "smithy.api#documentation": "

Describes the configuration of an Amazon Elastic Kubernetes Service endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of a managed endpoint.

" + } + }, + "com.amazonaws.rtbfabric#ModuleConfiguration": { + "type": "structure", + "members": { + "version": { + "target": "com.amazonaws.rtbfabric#Version", + "traits": { + "smithy.api#documentation": "

The version of the module.

" + } + }, + "name": { + "target": "com.amazonaws.rtbfabric#FlowModuleName", + "traits": { + "smithy.api#documentation": "

The name of the module.

", + "smithy.api#required": {} + } + }, + "dependsOn": { + "target": "com.amazonaws.rtbfabric#FlowModuleNameList", + "traits": { + "smithy.api#documentation": "

The dependencies of the module.

" + } + }, + "moduleParameters": { + "target": "com.amazonaws.rtbfabric#ModuleParameters", + "traits": { + "smithy.api#documentation": "

Describes the parameters of a module.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of a module.

" + } + }, + "com.amazonaws.rtbfabric#ModuleConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#ModuleConfiguration" + } + }, + "com.amazonaws.rtbfabric#ModuleParameters": { + "type": "union", + "members": { + "noBid": { + "target": "com.amazonaws.rtbfabric#NoBidModuleParameters", + "traits": { + "smithy.api#documentation": "

Describes the parameters of a no bid module.

" + } + }, + "openRtbAttribute": { + "target": "com.amazonaws.rtbfabric#OpenRtbAttributeModuleParameters", + "traits": { + "smithy.api#documentation": "

Describes the parameters of an open RTB attribute module.

" + } + }, + "rateLimiter": { + "target": "com.amazonaws.rtbfabric#RateLimiterModuleParameters", + "traits": { + "smithy.api#documentation": "

Describes the parameters of a rate limit.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the parameters of a module.

" + } + }, + "com.amazonaws.rtbfabric#NoBidAction": { + "type": "structure", + "members": { + "noBidReasonCode": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The reason code for the no bid action.

", + "smithy.api#range": { + "min": 0 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes a no bid action.

" + } + }, + "com.amazonaws.rtbfabric#NoBidModuleParameters": { + "type": "structure", + "members": { + "reason": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The reason description.

", + "smithy.api#length": { + "min": 1, + "max": 50 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]*$" + } + }, + "reasonCode": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The reason code.

", + "smithy.api#range": { + "min": 0, + "max": 10 + } + } + }, + "passThroughPercentage": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

The pass through percentage.

", + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the parameters of a no bid module.

" + } + }, + "com.amazonaws.rtbfabric#OpenRtbAttributeModuleParameters": { + "type": "structure", + "members": { + "filterType": { + "target": "com.amazonaws.rtbfabric#FilterType", + "traits": { + "smithy.api#documentation": "

The filter type.

", + "smithy.api#required": {} + } + }, + "filterConfiguration": { + "target": "com.amazonaws.rtbfabric#FilterConfiguration", + "traits": { + "smithy.api#documentation": "

Describes the configuration of a filter.

", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.rtbfabric#Action", + "traits": { + "smithy.api#documentation": "

Describes a bid action.

", + "smithy.api#required": {} + } + }, + "holdbackPercentage": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

The hold back percentage.

", + "smithy.api#range": { + "min": 0, + "max": 100 + }, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the parameters of an open RTB attribute module.

" + } + }, + "com.amazonaws.rtbfabric#OutboundExternalLink": { + "type": "resource", + "identifiers": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId" + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId" + } + }, + "create": { + "target": "com.amazonaws.rtbfabric#CreateOutboundExternalLink" + }, + "operations": [ + { + "target": "com.amazonaws.rtbfabric#DeleteOutboundExternalLink" + }, + { + "target": "com.amazonaws.rtbfabric#GetOutboundExternalLink" + } + ], + "traits": { + "aws.api#arn": { + "template": "gateway/{gatewayId}/link/{linkId}" + } + } + }, + "com.amazonaws.rtbfabric#Protocol": { + "type": "enum", + "members": { + "HTTP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTP" + } + }, + "HTTPS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "HTTPS" + } + } + } + }, + "com.amazonaws.rtbfabric#RTBFabric": { + "type": "service", + "version": "2023-05-15", + "operations": [ + { + "target": "com.amazonaws.rtbfabric#ListRequesterGateways" + }, + { + "target": "com.amazonaws.rtbfabric#ListResponderGateways" + }, + { + "target": "com.amazonaws.rtbfabric#ListTagsForResource" + }, + { + "target": "com.amazonaws.rtbfabric#TagResource" + }, + { + "target": "com.amazonaws.rtbfabric#UntagResource" + } + ], + "resources": [ + { + "target": "com.amazonaws.rtbfabric#Gateway" + }, + { + "target": "com.amazonaws.rtbfabric#RequesterGateway" + }, + { + "target": "com.amazonaws.rtbfabric#ResponderGateway" + } + ], + "traits": { + "aws.api#service": { + "sdkId": "RTBFabric", + "arnNamespace": "rtbfabric", + "cloudTrailEventSource": "rtbfabric.amazonaws.com" + }, + "aws.auth#sigv4": { + "name": "rtbfabric" + }, + "aws.endpoints#standardRegionalEndpoints": {}, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "*", + "content-type", + "x-amz-content-sha256", + "x-amz-user-agent", + "x-amzn-platform-id", + "x-amzn-trace-id" + ], + "additionalExposedHeaders": [ + "x-amzn-errortype", + "x-amzn-requestid", + "x-amzn-trace-id" + ], + "maxAge": 86400 + }, + "smithy.api#documentation": "

Amazon Web Services RTB Fabric provides secure, low-latency infrastructure for connecting real-time bidding (RTB) applications. Rather than hosting applications directly, RTB Fabric acts as the connecting fabric that enables your applications to communicate efficiently over private networks instead of the public internet. You maintain complete control over your applications, data, and bidding decisions, while RTB Fabric provides the underlying infrastructure for secure, reliable connectivity.

You can use these APIs to complete RTB Fabric tasks, such as setting up audit log ingestions or viewing user access. For more information about RTB Fabric, including the required permissions to use the service, see the Amazon Web Services RTB Fabric User Guide.

", + "smithy.api#title": "RTBFabric", + "smithy.rules#endpointRuleSet": { + "version": "1.0", + "parameters": { + "UseDualStack": { + "builtIn": "AWS::UseDualStack", + "required": true, + "default": false, + "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", + "type": "boolean" + }, + "UseFIPS": { + "builtIn": "AWS::UseFIPS", + "required": true, + "default": false, + "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", + "type": "boolean" + }, + "Endpoint": { + "builtIn": "SDK::Endpoint", + "required": false, + "documentation": "Override the endpoint used to send this request", + "type": "string" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "string" + } + }, + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + } + ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" + }, + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rtbfabric-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rtbfabric-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://rtbfabric.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://rtbfabric.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" + } + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ + { + "documentation": "For custom endpoint with region not set and fips disabled", + "expect": { + "endpoint": { + "url": "https://example.com" + } + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false + } + }, + { + "documentation": "For custom endpoint with fips enabled", + "expect": { + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": true + } + }, + { + "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "expect": { + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + }, + "params": { + "Endpoint": "https://example.com", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-east-1.api.aws" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-east-1.amazonaws.com" + } + }, + "params": { + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.cn-northwest-1.api.amazonwebservices.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.cn-northwest-1.amazonaws.com.cn" + } + }, + "params": { + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-gov-west-1.api.aws" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": true + } + }, + { + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-gov-west-1.amazonaws.com" + } + }, + "params": { + "Region": "us-gov-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-iso-east-1.c2s.ic.gov" + } + }, + "params": { + "Region": "us-iso-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-isob-east-1.sc2s.sgov.gov" + } + }, + "params": { + "Region": "us-isob-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.eu-isoe-west-1.cloud.adc-e.uk" + } + }, + "params": { + "Region": "eu-isoe-west-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.us-isof-south-1.csp.hci.ic.gov" + } + }, + "params": { + "Region": "us-isof-south-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric-fips.eusc-de-east-1.amazonaws.eu" + } + }, + "params": { + "Region": "eusc-de-east-1", + "UseFIPS": true, + "UseDualStack": false + } + }, + { + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", + "expect": { + "endpoint": { + "url": "https://rtbfabric.eusc-de-east-1.amazonaws.eu" + } + }, + "params": { + "Region": "eusc-de-east-1", + "UseFIPS": false, + "UseDualStack": false + } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } + } + ], + "version": "1.0" + } + } + }, + "com.amazonaws.rtbfabric#RateLimiterModuleParameters": { + "type": "structure", + "members": { + "tps": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

The transactions per second rate limit.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the parameters of a rate limit.

" + } + }, + "com.amazonaws.rtbfabric#RejectLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#RejectLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#RejectLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Rejects a link request between gateways.

When a requester gateway requests to link with a responder gateway, the responder can use this operation to decline the link request.

", + "smithy.api#examples": [ + { + "title": "Reject a link request", + "documentation": "Rejects a requested link request", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321" + }, + "output": { + "linkId": "link-87654321", + "gatewayId": "rtb-gw-12345678", + "peerGatewayId": "rtb-gw-87654321", + "status": "REJECTED", + "createdAt": "2024-01-15T10:30:00Z", + "updatedAt": "2024-01-15T10:35:00Z" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/gateway/{gatewayId}/link/{linkId}/reject" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "RejectLink", + "params": { + "gatewayId": "rtb-gw-12345", + "linkId": "link-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#RejectLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#RejectLinkResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "peerGatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the peer gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the link.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was created.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "smithy.api#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of when the link was updated.

", + "smithy.api#required": {} + } + }, + "direction": { + "target": "com.amazonaws.rtbfabric#LinkDirection", + "traits": { + "smithy.api#documentation": "

The direction of the link.

" + } + }, + "flowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of flow modules.

" + } + }, + "pendingFlowModules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of pending flow modules.

" + } + }, + "attributes": { + "target": "com.amazonaws.rtbfabric#LinkAttributes", + "traits": { + "smithy.api#documentation": "

Attributes of the link.

" + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#RequesterGateway": { + "type": "resource", + "identifiers": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId" + } + }, + "create": { + "target": "com.amazonaws.rtbfabric#CreateRequesterGateway" + }, + "read": { + "target": "com.amazonaws.rtbfabric#GetRequesterGateway" + }, + "delete": { + "target": "com.amazonaws.rtbfabric#DeleteRequesterGateway" + }, + "operations": [ + { + "target": "com.amazonaws.rtbfabric#UpdateRequesterGateway" + } + ], + "resources": [ + { + "target": "com.amazonaws.rtbfabric#OutboundExternalLink" + } + ], + "traits": { + "aws.api#arn": { + "template": "gateway/{gatewayId}" + } + } + }, + "com.amazonaws.rtbfabric#RequesterGatewayStatus": { + "type": "enum", + "members": { + "PENDING_CREATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_CREATION" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "PENDING_DELETION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_DELETION" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + }, + "PENDING_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_UPDATE" + } + }, + "ISOLATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ISOLATED" + } + }, + "PENDING_ISOLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_ISOLATION" + } + }, + "PENDING_RESTORATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_RESTORATION" + } + } + } + }, + "com.amazonaws.rtbfabric#ResourceNotFoundException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request could not be completed because the resource does not exist.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 + } + }, + "com.amazonaws.rtbfabric#ResponderErrorMasking": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#ResponderErrorMaskingForHttpCode" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 200 + } + } + }, + "com.amazonaws.rtbfabric#ResponderErrorMaskingAction": { + "type": "enum", + "members": { + "NO_BID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NO_BID" + } + }, + "PASSTHROUGH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PASSTHROUGH" + } + } + } + }, + "com.amazonaws.rtbfabric#ResponderErrorMaskingForHttpCode": { + "type": "structure", + "members": { + "httpCode": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The HTTP error code.

", + "smithy.api#length": { + "min": 3, + "max": 7 + }, + "smithy.api#pattern": "^DEFAULT|4XX|5XX|\\d{3}$", + "smithy.api#required": {} + } + }, + "action": { + "target": "com.amazonaws.rtbfabric#ResponderErrorMaskingAction", + "traits": { + "smithy.api#documentation": "

The action for the error..

", + "smithy.api#required": {} + } + }, + "loggingTypes": { + "target": "com.amazonaws.rtbfabric#ResponderErrorMaskingLoggingTypes", + "traits": { + "smithy.api#documentation": "

The error log type.

", + "smithy.api#required": {} + } + }, + "responseLoggingPercentage": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

The percentage of response logging.

", + "smithy.api#range": { + "min": 0, + "max": 100 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the masking for HTTP error codes.

" + } + }, + "com.amazonaws.rtbfabric#ResponderErrorMaskingLoggingType": { + "type": "enum", + "members": { + "NONE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "NONE" + } + }, + "METRIC": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "METRIC" + } + }, + "RESPONSE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "RESPONSE" + } + } + } + }, + "com.amazonaws.rtbfabric#ResponderErrorMaskingLoggingTypes": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#ResponderErrorMaskingLoggingType" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2 + } + } + }, + "com.amazonaws.rtbfabric#ResponderGateway": { + "type": "resource", + "identifiers": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId" + } + }, + "create": { + "target": "com.amazonaws.rtbfabric#CreateResponderGateway" + }, + "read": { + "target": "com.amazonaws.rtbfabric#GetResponderGateway" + }, + "delete": { + "target": "com.amazonaws.rtbfabric#DeleteResponderGateway" + }, + "operations": [ + { + "target": "com.amazonaws.rtbfabric#UpdateResponderGateway" + } + ], + "resources": [ + { + "target": "com.amazonaws.rtbfabric#InboundExternalLink" + } + ], + "traits": { + "aws.api#arn": { + "template": "gateway/{gatewayId}" + } + } + }, + "com.amazonaws.rtbfabric#ResponderGatewayStatus": { + "type": "enum", + "members": { + "PENDING_CREATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_CREATION" + } + }, + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "PENDING_DELETION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_DELETION" + } + }, + "DELETED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "DELETED" + } + }, + "ERROR": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERROR" + } + }, + "PENDING_UPDATE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_UPDATE" + } + }, + "ISOLATED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ISOLATED" + } + }, + "PENDING_ISOLATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_ISOLATION" + } + }, + "PENDING_RESTORATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING_RESTORATION" + } + } + } + }, + "com.amazonaws.rtbfabric#RtbTaggableResourceArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1600 + }, + "smithy.api#pattern": "^arn:aws:rtbfabric:[a-zA-Z0-9_-]+:[0-9]{12}:gateway/[a-zA-Z0-9-]+(/link/[a-zA-Z0-9-]+)?$" + } + }, + "com.amazonaws.rtbfabric#SecurityGroupId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^sg-[0-9a-f]{8,40}$" + } + }, + "com.amazonaws.rtbfabric#SecurityGroupIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#SecurityGroupId" + } + }, + "com.amazonaws.rtbfabric#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request could not be completed because you exceeded a service quota.

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, + "com.amazonaws.rtbfabric#SubnetId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^subnet-\\w{8,17}$" + } + }, + "com.amazonaws.rtbfabric#SubnetIdList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#SubnetId" + } + }, + "com.amazonaws.rtbfabric#TagKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^(resourceArn|internalId|(?!aws:)[a-zA-Z0-9+\\-=._:/@]+)$" + } + }, + "com.amazonaws.rtbfabric#TagKeyList": { + "type": "list", + "member": { + "target": "com.amazonaws.rtbfabric#TagKey" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 50 + } + } + }, + "com.amazonaws.rtbfabric#TagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#TagResourceRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#TagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Assigns one or more tags (key-value pairs) to the specified resource.

", + "smithy.api#examples": [ + { + "title": "Add tags to a resource", + "documentation": "Adds tags to a resource", + "input": { + "resourceArn": "arn:aws:rtbfabric:us-east-1:123456789012:gateway/rtb-gw-12345678", + "tags": { + "Environment": "Production", + "Team": "RTB" + } + }, + "output": {} + } + ], + "smithy.api#http": { + "code": 204, + "method": "POST", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "TagResource_GatewayOnly", + "params": { + "resourceArn": "arn:aws:rtbfabric:us-west-2:123456789012:gateway/rtb-gw-123testapp", + "tags": { + "Environment": "test", + "Owner": "test-team" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + }, + { + "id": "TagResource_GatewayWithLink", + "params": { + "resourceArn": "arn:aws:rtbfabric:us-west-2:123456789012:gateway/rtb-gw-123testapp/link/link-nonexistent", + "tags": { + "Environment": "test", + "Owner": "test-team" + } + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#TagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.rtbfabric#RtbTaggableResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource that you want to tag.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.rtbfabric#TagsMap", + "traits": { + "smithy.api#documentation": "

A map of the key-value pairs of the tag or tags to assign to the resource.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#TagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#TagValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1600 + } + } + }, + "com.amazonaws.rtbfabric#TagsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.rtbfabric#TagKey" + }, + "value": { + "target": "com.amazonaws.rtbfabric#TagValue" + } + }, + "com.amazonaws.rtbfabric#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request was denied due to request throttling.

", + "smithy.api#error": "client", + "smithy.api#httpError": 429, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.rtbfabric#TrustStoreConfiguration": { + "type": "structure", + "members": { + "certificateAuthorityCertificates": { + "target": "com.amazonaws.rtbfabric#CertificateAuthorityCertificates", + "traits": { + "smithy.api#documentation": "

The certificate authority certificate.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Describes the configuration of a trust store.

" + } + }, + "com.amazonaws.rtbfabric#URI": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^(https|http)://(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?)(?:\\.(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?))+$" + } + }, + "com.amazonaws.rtbfabric#URL": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 255 + }, + "smithy.api#pattern": "^(https|http)://.+$" + } + }, + "com.amazonaws.rtbfabric#UntagResource": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#UntagResourceRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#UntagResourceResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Removes a tag or tags from a resource.

", + "smithy.api#examples": [ + { + "title": "Remove tags from a resource", + "documentation": "Removes tags from a resource", + "input": { + "resourceArn": "arn:aws:rtbfabric:us-east-1:123456789012:gateway/rtb-gw-12345678", + "tagKeys": [ + "Environment", + "Team" + ] + }, + "output": {} + } + ], + "smithy.api#http": { + "code": 204, + "method": "DELETE", + "uri": "/tags/{resourceArn}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "UntagResource_GatewayOnly", + "params": { + "resourceArn": "arn:aws:rtbfabric:us-west-2:123456789012:gateway/rtb-gw-123testapp", + "tagKeys": [ + "Environment" + ] + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + }, + { + "id": "UntagResource_GatewayWithLink", + "params": { + "resourceArn": "arn:aws:rtbfabric:us-west-2:123456789012:gateway/rtb-gw-123testapp/link/link-nonexistent", + "tagKeys": [ + "Environment" + ] + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#UntagResourceRequest": { + "type": "structure", + "members": { + "resourceArn": { + "target": "com.amazonaws.rtbfabric#RtbTaggableResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource that you want to untag.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "tagKeys": { + "target": "com.amazonaws.rtbfabric#TagKeyList", + "traits": { + "smithy.api#documentation": "

The keys of the key-value pairs for the tag or tags you want to remove from the specified resource.

", + "smithy.api#httpQuery": "tagKeys", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#UntagResourceResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#UpdateLink": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#UpdateLinkRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#UpdateLinkResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the configuration of a link between gateways.

Allows you to modify settings and parameters for an existing link.

", + "smithy.api#examples": [ + { + "title": "Update link settings", + "documentation": "Updates configuration settings for an existing link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "logSettings": { + "applicationLogs": { + "sampling": { + "errorLog": 100.0, + "filterLog": 10.0 + } + } + } + }, + "output": { + "linkId": "link-87654321", + "status": "ACTIVE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "PATCH", + "uri": "/gateway/{gatewayId}/link/{linkId}" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "UpdateLink", + "params": { + "linkId": "link-12345", + "gatewayId": "rtb-gw-12345" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#UpdateLinkModuleFlow": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#UpdateLinkModuleFlowRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#UpdateLinkModuleFlowResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a link module flow.

", + "smithy.api#examples": [ + { + "title": "Update link module flow", + "documentation": "Update link module flow for link", + "input": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "clientToken": "randomClientToken", + "modules": [ + { + "name": "noBidModule", + "version": "1dot0dot0", + "dependsOn": [], + "moduleParameters": { + "noBid": { + "reason": "test", + "reasonCode": 1, + "passThroughPercentage": 50.0 + } + } + } + ] + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "linkId": "link-87654321", + "status": "ACTIVE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/gateway/{gatewayId}/link/{linkId}/module-flow" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "UpdateLinkModuleFlow", + "params": { + "linkId": "link-12345", + "gatewayId": "rtb-gw-12345", + "clientToken": "xyz789uvw012", + "modules": [ + { + "name": "module-name", + "version": "version" + } + ] + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#UpdateLinkModuleFlowRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "modules": { + "target": "com.amazonaws.rtbfabric#ModuleConfigurationList", + "traits": { + "smithy.api#documentation": "

The configuration of a module.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#UpdateLinkModuleFlowResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#UpdateLinkRequest": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "logSettings": { + "target": "com.amazonaws.rtbfabric#LinkLogSettings", + "traits": { + "smithy.api#documentation": "

Settings for the application logs.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#UpdateLinkResponse": { + "type": "structure", + "members": { + "linkId": { + "target": "com.amazonaws.rtbfabric#LinkId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the link.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#LinkStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#UpdateRequesterGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#UpdateRequesterGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#UpdateRequesterGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a requester gateway.

", + "smithy.api#examples": [ + { + "title": "Update requester gateway", + "documentation": "Update requester gateway", + "input": { + "gatewayId": "rtb-gw-12345678", + "description": "Updated requester gateway description", + "clientToken": "12345678-1234-1234-1234-123456789012" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "PENDING_UPDATE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/requester-gateway/{gatewayId}/update" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "UpdateRequesterGateway", + "params": { + "gatewayId": "rtb-gw-12345", + "description": "Updated test gateway", + "clientToken": "xyz789uvw012" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#UpdateRequesterGatewayRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

An optional description for the requester gateway.

", + "smithy.api#pattern": "^[A-Za-z0-9 ]+$" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#UpdateRequesterGatewayResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#RequesterGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#UpdateResponderGateway": { + "type": "operation", + "input": { + "target": "com.amazonaws.rtbfabric#UpdateResponderGatewayRequest" + }, + "output": { + "target": "com.amazonaws.rtbfabric#UpdateResponderGatewayResponse" + }, + "errors": [ + { + "target": "com.amazonaws.rtbfabric#AccessDeniedException" + }, + { + "target": "com.amazonaws.rtbfabric#ConflictException" + }, + { + "target": "com.amazonaws.rtbfabric#InternalServerException" + }, + { + "target": "com.amazonaws.rtbfabric#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.rtbfabric#ThrottlingException" + }, + { + "target": "com.amazonaws.rtbfabric#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates a responder gateway.

", + "smithy.api#examples": [ + { + "title": "Update responder gateway", + "documentation": "Update responder gateway", + "input": { + "gatewayId": "rtb-gw-12345678", + "description": "Updated responder gateway description", + "port": 8080, + "protocol": "HTTP", + "clientToken": "12345678-1234-1234-1234-123456789012" + }, + "output": { + "gatewayId": "rtb-gw-12345678", + "status": "PENDING_UPDATE" + } + } + ], + "smithy.api#http": { + "code": 200, + "method": "POST", + "uri": "/responder-gateway/{gatewayId}/update" + }, + "smithy.api#idempotent": {}, + "smithy.test#smokeTests": [ + { + "id": "UpdateResponderGateway", + "params": { + "gatewayId": "rtb-gw-12345", + "description": "Updated test gateway", + "protocol": "HTTPS", + "port": 433, + "clientToken": "xyz789uvw012" + }, + "vendorParamsShape": "aws.test#AwsVendorParams", + "vendorParams": { + "region": "us-east-1" + }, + "expect": { + "success": {} + } + } + ] + } + }, + "com.amazonaws.rtbfabric#UpdateResponderGatewayRequest": { + "type": "structure", + "members": { + "domainName": { + "target": "com.amazonaws.rtbfabric#DomainName", + "traits": { + "smithy.api#documentation": "

The domain name for the responder gateway.

" + } + }, + "port": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

The networking port to use.

", + "smithy.api#range": { + "min": 1, + "max": 65535 + }, + "smithy.api#required": {} + } + }, + "protocol": { + "target": "com.amazonaws.rtbfabric#Protocol", + "traits": { + "smithy.api#documentation": "

The networking protocol to use.

", + "smithy.api#required": {} + } + }, + "trustStoreConfiguration": { + "target": "com.amazonaws.rtbfabric#TrustStoreConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration of the trust store.

" + } + }, + "managedEndpointConfiguration": { + "target": "com.amazonaws.rtbfabric#ManagedEndpointConfiguration", + "traits": { + "smithy.api#documentation": "

The configuration for the managed endpoint.

" + } + }, + "clientToken": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

The unique client token.

", + "smithy.api#idempotencyToken": {}, + "smithy.api#required": {} + } + }, + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

An optional description for the responder gateway.

", + "smithy.api#pattern": "^[A-Za-z0-9 ]+$" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.rtbfabric#UpdateResponderGatewayResponse": { + "type": "structure", + "members": { + "gatewayId": { + "target": "com.amazonaws.rtbfabric#GatewayId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the gateway.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.rtbfabric#ResponderGatewayStatus", + "traits": { + "smithy.api#documentation": "

The status of the request.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.rtbfabric#ValidationException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request could not be completed because it fails satisfy the constraints specified by the service.

", + "smithy.api#error": "client", + "smithy.api#httpError": 400 + } + }, + "com.amazonaws.rtbfabric#ValueList": { + "type": "list", + "member": { + "target": "smithy.api#String" + } + }, + "com.amazonaws.rtbfabric#Version": { + "type": "string", + "traits": { + "smithy.api#pattern": "^[a-z0-9-]{1,25}$" + } + }, + "com.amazonaws.rtbfabric#VpcId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^vpc-[a-f0-9]{8,17}$" + } + } + } +} \ No newline at end of file diff --git a/codegen/sdk-codegen/aws-models/rum.json b/codegen/sdk-codegen/aws-models/rum.json index fee68788c8b..0670abe64a0 100644 --- a/codegen/sdk-codegen/aws-models/rum.json +++ b/codegen/sdk-codegen/aws-models/rum.json @@ -2434,27 +2434,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/s3-control.json b/codegen/sdk-codegen/aws-models/s3-control.json index 1acb2520084..883858657f4 100644 --- a/codegen/sdk-codegen/aws-models/s3-control.json +++ b/codegen/sdk-codegen/aws-models/s3-control.json @@ -356,68 +356,68 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "AccountId": { "required": false, "documentation": "The Account ID used to send the request. This is an optional parameter that will be set automatically for operations that require it.", - "type": "String" + "type": "string" }, "RequiresAccountId": { "required": false, "documentation": "Internal parameter for operations that require account id host prefix.", - "type": "Boolean" + "type": "boolean" }, "OutpostId": { "required": false, "documentation": "The Outpost ID. Some operations have an optional OutpostId which should be used in endpoint construction.", - "type": "String" + "type": "string" }, "Bucket": { "required": false, "documentation": "The S3 bucket used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 bucket.", - "type": "String" + "type": "string" }, "AccessPointName": { "required": false, "documentation": "The S3 AccessPointName used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 AccessPoint.", - "type": "String" + "type": "string" }, "UseArnRegion": { "builtIn": "AWS::S3Control::UseArnRegion", "required": false, "documentation": "When an Access Point ARN is provided and this flag is enabled, the SDK MUST use the ARN's region when constructing the endpoint instead of the client's configured region.", - "type": "Boolean" + "type": "boolean" }, "ResourceArn": { "required": false, "documentation": "The resource ARN included in the request. Only set on TagResource, UntagResourceand ListTagsForResource", - "type": "String" + "type": "string" }, "UseS3ExpressControlEndpoint": { "required": false, "documentation": "Internal parameter to indicate whether S3Express operation should use control plane, (ex. ListDirectoryAccessPoints)", - "type": "Boolean" + "type": "boolean" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/s3.json b/codegen/sdk-codegen/aws-models/s3.json index 00f9ff32dc6..3f1b186257d 100644 --- a/codegen/sdk-codegen/aws-models/s3.json +++ b/codegen/sdk-codegen/aws-models/s3.json @@ -60,7 +60,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts\n can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be\n freed. However, if any part uploads are currently in progress, those part uploads might or might not\n succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to\n completely free all storage consumed by all parts.

\n

To verify that all parts have been removed and prevent getting charged for the part storage, you\n should call the ListParts API operation and ensure that the parts list is empty.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart uploads in a\n directory bucket are in progress, you can't delete the bucket until all the in-progress multipart\n uploads are aborted or completed. To delete these in-progress multipart uploads, use the\n ListMultipartUploads operation to list the in-progress multipart uploads in the\n bucket and use the AbortMultipartUpload operation to abort all the in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to AbortMultipartUpload:

\n ", + "smithy.api#documentation": "

This operation aborts a multipart upload. After a multipart upload is aborted, no additional parts\n can be uploaded using that upload ID. The storage consumed by any previously uploaded parts will be\n freed. However, if any part uploads are currently in progress, those part uploads might or might not\n succeed. As a result, it might be necessary to abort a given multipart upload multiple times in order to\n completely free all storage consumed by all parts.

\n

To verify that all parts have been removed and prevent getting charged for the part storage, you\n should call the ListParts API operation and ensure that the parts list is empty.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart uploads in a\n directory bucket are in progress, you can't delete the bucket until all the in-progress multipart\n uploads are aborted or completed. To delete these in-progress multipart uploads, use the\n ListMultipartUploads operation to list the in-progress multipart uploads in the\n bucket and use the AbortMultipartUpload operation to abort all the in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to AbortMultipartUpload:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To abort a multipart upload", @@ -617,102 +617,102 @@ "Bucket": { "required": false, "documentation": "The S3 bucket used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 bucket.", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "ForcePathStyle": { "builtIn": "AWS::S3::ForcePathStyle", "required": true, "default": false, "documentation": "When true, force a path-style endpoint to be used where the bucket name is part of the path.", - "type": "Boolean" + "type": "boolean" }, "Accelerate": { "builtIn": "AWS::S3::Accelerate", "required": true, "default": false, "documentation": "When true, use S3 Accelerate. NOTE: Not all regions support S3 accelerate.", - "type": "Boolean" + "type": "boolean" }, "UseGlobalEndpoint": { "builtIn": "AWS::S3::UseGlobalEndpoint", "required": true, "default": false, "documentation": "Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.", - "type": "Boolean" + "type": "boolean" }, "UseObjectLambdaEndpoint": { "required": false, "documentation": "Internal parameter to use object lambda endpoint for an operation (eg: WriteGetObjectResponse)", - "type": "Boolean" + "type": "boolean" }, "Key": { "required": false, "documentation": "The S3 Key used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Key.", - "type": "String" + "type": "string" }, "Prefix": { "required": false, "documentation": "The S3 Prefix used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Prefix.", - "type": "String" + "type": "string" }, "CopySource": { "required": false, "documentation": "The Copy Source used for Copy Object request. This is an optional parameter that will be set automatically for operations that are scoped to Copy Source.", - "type": "String" + "type": "string" }, "DisableAccessPoints": { "required": false, "documentation": "Internal parameter to disable Access Point Buckets", - "type": "Boolean" + "type": "boolean" }, "DisableMultiRegionAccessPoints": { "builtIn": "AWS::S3::DisableMultiRegionAccessPoints", "required": true, "default": false, "documentation": "Whether multi-region access points (MRAP) should be disabled.", - "type": "Boolean" + "type": "boolean" }, "UseArnRegion": { "builtIn": "AWS::S3::UseArnRegion", "required": false, "documentation": "When an Access Point ARN is provided and this flag is enabled, the SDK MUST use the ARN's region when constructing the endpoint instead of the client's configured region.", - "type": "Boolean" + "type": "boolean" }, "UseS3ExpressControlEndpoint": { "required": false, "documentation": "Internal parameter to indicate whether S3Express operation should use control plane, (ex. CreateBucket)", - "type": "Boolean" + "type": "boolean" }, "DisableS3ExpressSessionAuth": { "required": false, "documentation": "Parameter to indicate whether S3Express session auth should be disabled", - "type": "Boolean" + "type": "boolean" } }, "rules": [ @@ -21706,7 +21706,7 @@ "ChecksumCRC32": { "target": "com.amazonaws.s3#ChecksumCRC32", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumCRC32C": { @@ -21724,13 +21724,13 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumType": { @@ -21866,7 +21866,7 @@ "target": "com.amazonaws.s3#CompleteMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "

Completes a multipart upload by assembling previously uploaded parts.

\n

You first initiate the multipart upload and then upload all parts using the UploadPart operation or the\n UploadPartCopy\n operation. After successfully uploading all relevant parts of an upload, you call this\n CompleteMultipartUpload operation to complete the upload. Upon receiving this request,\n Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the\n CompleteMultipartUpload request, you must provide the parts list and ensure that the parts list is\n complete. The CompleteMultipartUpload API operation concatenates the parts that you provide in the list.\n For each part in the list, you must provide the PartNumber value and the ETag\n value that are returned after that part was uploaded.

\n

The processing of a CompleteMultipartUpload request could take several minutes to finalize. After\n Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200\n OK response. While processing is in progress, Amazon S3 periodically sends white space characters to\n keep the connection from timing out. A request could fail after the initial 200 OK response\n has been sent. This means that a 200 OK response can contain either a success or an error.\n The error response might be embedded in the 200 OK response. If you call this API operation\n directly, make sure to design your application to parse the contents of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and\n apply error handling per your configuration settings (including automatically retrying the request as\n appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use\n exceptions, they return an error).

\n

Note that if CompleteMultipartUpload fails, applications should be prepared to retry\n any failed requests (including 500 error responses). For more information, see Amazon S3 Error Best\n Practices.

\n \n

You can't use Content-Type: application/x-www-form-urlencoded for the\n CompleteMultipartUpload requests. Also, if you don't provide a Content-Type header,\n CompleteMultipartUpload can still return a 200 OK response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload API, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n

    If you provide an additional checksum value in your MultipartUpload requests and the\n object is encrypted with Key Management Service, you must have permission to use the\n kms:Decrypt action for the CompleteMultipartUpload request to\n succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: EntityTooSmall\n

    \n
      \n
    • \n

      Description: Your proposed upload is smaller than the minimum allowed object size.\n Each part must be at least 5 MB in size, except the last part.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPart\n

    \n
      \n
    • \n

      Description: One or more of the specified parts could not be found. The part might not\n have been uploaded, or the specified ETag might not have matched the uploaded part's\n ETag.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPartOrder\n

    \n
      \n
    • \n

      Description: The list of parts was not in ascending order. The parts list must be\n specified in order by part number.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID might be\n invalid, or the multipart upload might have been aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CompleteMultipartUpload:

\n ", + "smithy.api#documentation": "

Completes a multipart upload by assembling previously uploaded parts.

\n

You first initiate the multipart upload and then upload all parts using the UploadPart operation or the\n UploadPartCopy\n operation. After successfully uploading all relevant parts of an upload, you call this\n CompleteMultipartUpload operation to complete the upload. Upon receiving this request,\n Amazon S3 concatenates all the parts in ascending order by part number to create a new object. In the\n CompleteMultipartUpload request, you must provide the parts list and ensure that the parts list is\n complete. The CompleteMultipartUpload API operation concatenates the parts that you provide in the list.\n For each part in the list, you must provide the PartNumber value and the ETag\n value that are returned after that part was uploaded.

\n

The processing of a CompleteMultipartUpload request could take several minutes to finalize. After\n Amazon S3 begins processing the request, it sends an HTTP response header that specifies a 200\n OK response. While processing is in progress, Amazon S3 periodically sends white space characters to\n keep the connection from timing out. A request could fail after the initial 200 OK response\n has been sent. This means that a 200 OK response can contain either a success or an error.\n The error response might be embedded in the 200 OK response. If you call this API operation\n directly, make sure to design your application to parse the contents of the response and handle it\n appropriately. If you use Amazon Web Services SDKs, SDKs handle this condition. The SDKs detect the embedded error and\n apply error handling per your configuration settings (including automatically retrying the request as\n appropriate). If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use\n exceptions, they return an error).

\n

Note that if CompleteMultipartUpload fails, applications should be prepared to retry\n any failed requests (including 500 error responses). For more information, see Amazon S3 Error Best\n Practices.

\n \n

You can't use Content-Type: application/x-www-form-urlencoded for the\n CompleteMultipartUpload requests. Also, if you don't provide a Content-Type header,\n CompleteMultipartUpload can still return a 200 OK response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload API, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n

    If you provide an additional checksum value in your MultipartUpload requests and the\n object is encrypted with Key Management Service, you must have permission to use the\n kms:Decrypt action for the CompleteMultipartUpload request to\n succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: EntityTooSmall\n

    \n
      \n
    • \n

      Description: Your proposed upload is smaller than the minimum allowed object size.\n Each part must be at least 5 MB in size, except the last part.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPart\n

    \n
      \n
    • \n

      Description: One or more of the specified parts could not be found. The part might not\n have been uploaded, or the specified ETag might not have matched the uploaded part's\n ETag.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidPartOrder\n

    \n
      \n
    • \n

      Description: The list of parts was not in ascending order. The parts list must be\n specified in order by part number.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID might be\n invalid, or the multipart upload might have been aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CompleteMultipartUpload:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To complete multipart upload", @@ -21940,7 +21940,7 @@ "ChecksumCRC32": { "target": "com.amazonaws.s3#ChecksumCRC32", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumCRC32C": { @@ -21958,13 +21958,13 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumType": { @@ -22316,7 +22316,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Creates a copy of an object that is already stored in Amazon S3.

\n \n

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5\n GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you\n must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see\n Copy Object\n Using the REST Multipart Upload API.

\n
\n

You can copy individual objects between general purpose buckets, between directory buckets, and between\n general purpose buckets and directory buckets.

\n \n
    \n
  • \n

    Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when\n using the Multi-Region Access Point ARN.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    VPC endpoints don't support cross-Region requests (including copies). If you're using VPC\n endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC\n endpoint.

    \n
  • \n
\n
\n

Both the Region that you want to copy the object from and the Region that you want to copy the\n object to must be enabled for your account. For more information about how to enable a Region for your\n account, see Enable\n or disable a Region for standalone accounts in the Amazon Web Services Account Management\n Guide.

\n \n

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region\n copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more\n information, see Transfer Acceleration.

\n
\n
\n
Authentication and authorization
\n
\n

All CopyObject requests must be authenticated and signed by using IAM\n credentials (access key ID and secret access key for the IAM identities). All headers with the\n x-amz- prefix, including x-amz-copy-source, must be signed. For more\n information, see REST Authentication.

\n

\n Directory buckets - You must use the IAM\n credentials to authenticate and authorize your access to the CopyObject API\n operation, instead of using the temporary security credentials through the\n CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

\n
\n
Permissions
\n
\n

You must have read access to the source object and\n write access to the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You must have\n permissions in an IAM policy based on the source and destination bucket types in a\n CopyObject operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have \n s3:GetObject\n permission to read the source object that is\n being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have \n s3:PutObject\n permission to write the object copy to the\n destination bucket.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have\n permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types\n in a CopyObject operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a directory bucket, you must have\n the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By default, the session is\n in the ReadWrite mode. If you want to restrict the access, you can explicitly\n set the s3express:SessionMode condition key to ReadOnly on the\n copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the destination. The\n s3express:SessionMode condition key can't be set to ReadOnly\n on the copy destination bucket.

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n

    For example policies, see Example\n bucket policies for S3 Express One Zone and Amazon Web Services\n Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
Response and special errors
\n
\n

When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is\n not an HTTP 1.1 request, the response would not contain the Content-Length. You\n always need to read the entire response body to check if the copy succeeds.

\n
    \n
  • \n

    If the copy is successful, you receive a response with information about the copied\n object.

    \n
  • \n
  • \n

    A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is\n copying the files. A 200 OK response can contain either a success or an\n error.

    \n
      \n
    • \n

      If the error occurs before the copy action starts, you receive a standard Amazon S3\n error.

      \n
    • \n
    • \n

      If the error occurs during the copy operation, the error response is embedded in the\n 200 OK response. For example, in a cross-region copy, you may encounter\n throttling and receive a 200 OK response. For more information, see Resolve the Error\n 200 response when copying objects to Amazon S3. The 200 OK status code\n means the copy was accepted, but it doesn't mean the copy is complete. Another example is\n when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and\n you may receive a 200 OK response. You must stay connected to Amazon S3 until the\n entire response is successfully received and processed.

      \n

      If you call this API operation directly, make sure to design your application to parse\n the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs\n handle this condition. The SDKs detect the embedded error and apply error handling per\n your configuration settings (including automatically retrying the request as appropriate).\n If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use\n exceptions, they return an error).

      \n
    • \n
    \n
  • \n
\n
\n
Charge
\n
\n

The copy request charge is based on the storage class and Region that you specify for the\n destination object. The request can also result in a data retrieval charge for the source if the\n source storage class bills for data retrieval. If the copy source is in a different region, the\n data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

\n
\n
HTTP Host header syntax
\n
\n
    \n
  • \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
  • \n
  • \n

    \n Amazon S3 on Outposts - When you use this action with\n S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The\n S3 on Outposts hostname takes the form\n \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com.\n The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

    \n
  • \n
\n
\n
\n

The following operations are related to CopyObject:

\n ", + "smithy.api#documentation": "

Creates a copy of an object that is already stored in Amazon S3.

\n \n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n \n

You can store individual objects of up to 5 TB in Amazon S3. You create a copy of your object up to 5\n GB in size in a single atomic action using this API. However, to copy an object greater than 5 GB, you\n must use the multipart upload Upload Part - Copy (UploadPartCopy) API. For more information, see\n Copy Object\n Using the REST Multipart Upload API.

\n
\n

You can copy individual objects between general purpose buckets, between directory buckets, and between\n general purpose buckets and directory buckets.

\n \n
    \n
  • \n

    Amazon S3 supports copy operations using Multi-Region Access Points only as a destination when\n using the Multi-Region Access Point ARN.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    VPC endpoints don't support cross-Region requests (including copies). If you're using VPC\n endpoints, your source and destination buckets should be in the same Amazon Web Services Region as your VPC\n endpoint.

    \n
  • \n
\n
\n

Both the Region that you want to copy the object from and the Region that you want to copy the\n object to must be enabled for your account. For more information about how to enable a Region for your\n account, see Enable\n or disable a Region for standalone accounts in the Amazon Web Services Account Management\n Guide.

\n \n

Amazon S3 transfer acceleration does not support cross-Region copies. If you request a cross-Region\n copy using a transfer acceleration endpoint, you get a 400 Bad Request error. For more\n information, see Transfer Acceleration.

\n
\n
\n
Authentication and authorization
\n
\n

All CopyObject requests must be authenticated and signed by using IAM\n credentials (access key ID and secret access key for the IAM identities). All headers with the\n x-amz- prefix, including x-amz-copy-source, must be signed. For more\n information, see REST Authentication.

\n

\n Directory buckets - You must use the IAM\n credentials to authenticate and authorize your access to the CopyObject API\n operation, instead of using the temporary security credentials through the\n CreateSession API operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

\n
\n
Permissions
\n
\n

You must have read access to the source object and\n write access to the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You must have\n permissions in an IAM policy based on the source and destination bucket types in a\n CopyObject operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have \n s3:GetObject\n permission to read the source object that is\n being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have \n s3:PutObject\n permission to write the object copy to the\n destination bucket.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have\n permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types\n in a CopyObject operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a directory bucket, you must have\n the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By default, the session is\n in the ReadWrite mode. If you want to restrict the access, you can explicitly\n set the s3express:SessionMode condition key to ReadOnly on the\n copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the destination. The\n s3express:SessionMode condition key can't be set to ReadOnly\n on the copy destination bucket.

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n

    For example policies, see Example\n bucket policies for S3 Express One Zone and Amazon Web Services\n Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
Response and special errors
\n
\n

When the request is an HTTP 1.1 request, the response is chunk encoded. When the request is\n not an HTTP 1.1 request, the response would not contain the Content-Length. You\n always need to read the entire response body to check if the copy succeeds.

\n
    \n
  • \n

    If the copy is successful, you receive a response with information about the copied\n object.

    \n
  • \n
  • \n

    A copy request might return an error when Amazon S3 receives the copy request or while Amazon S3 is\n copying the files. A 200 OK response can contain either a success or an\n error.

    \n
      \n
    • \n

      If the error occurs before the copy action starts, you receive a standard Amazon S3\n error.

      \n
    • \n
    • \n

      If the error occurs during the copy operation, the error response is embedded in the\n 200 OK response. For example, in a cross-region copy, you may encounter\n throttling and receive a 200 OK response. For more information, see Resolve the Error\n 200 response when copying objects to Amazon S3. The 200 OK status code\n means the copy was accepted, but it doesn't mean the copy is complete. Another example is\n when you disconnect from Amazon S3 before the copy is complete, Amazon S3 might cancel the copy and\n you may receive a 200 OK response. You must stay connected to Amazon S3 until the\n entire response is successfully received and processed.

      \n

      If you call this API operation directly, make sure to design your application to parse\n the content of the response and handle it appropriately. If you use Amazon Web Services SDKs, SDKs\n handle this condition. The SDKs detect the embedded error and apply error handling per\n your configuration settings (including automatically retrying the request as appropriate).\n If the condition persists, the SDKs throw an exception (or, for the SDKs that don't use\n exceptions, they return an error).

      \n
    • \n
    \n
  • \n
\n
\n
Charge
\n
\n

The copy request charge is based on the storage class and Region that you specify for the\n destination object. The request can also result in a data retrieval charge for the source if the\n source storage class bills for data retrieval. If the copy source is in a different region, the\n data transfer is billed to the copy source account. For pricing information, see Amazon S3 pricing.

\n
\n
HTTP Host header syntax
\n
\n
    \n
  • \n

    \n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

    \n
  • \n
  • \n

    \n Amazon S3 on Outposts - When you use this action with\n S3 on Outposts through the REST API, you must direct requests to the S3 on Outposts hostname. The\n S3 on Outposts hostname takes the form\n \n AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com.\n The hostname isn't required when you use the Amazon Web Services CLI or SDKs.

    \n
  • \n
\n
\n
\n

The following operations are related to CopyObject:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To copy an object", @@ -22567,6 +22567,20 @@ "smithy.api#httpHeader": "x-amz-grant-write-acp" } }, + "IfMatch": { + "target": "com.amazonaws.s3#IfMatch", + "traits": { + "smithy.api#documentation": "

Copies the object if the entity tag (ETag) of the destination object matches the specified\n tag. If the ETag values do not match, the operation returns a 412 Precondition\n Failed error. If a concurrent operation occurs during the upload S3 returns a\n 409 ConditionalRequestConflict response. On a 409 failure you should fetch the\n object's ETag and retry the upload.

\n

Expects the ETag value as a string.

\n

For more information about conditional requests, see RFC 7232.

", + "smithy.api#httpHeader": "If-Match" + } + }, + "IfNoneMatch": { + "target": "com.amazonaws.s3#IfNoneMatch", + "traits": { + "smithy.api#documentation": "

Copies the object only if the object key name at the destination does not already exist in\n the bucket specified. Otherwise, Amazon S3 returns a 412 Precondition Failed error. If a\n concurrent operation occurs during the upload S3 returns a 409 ConditionalRequestConflict\n response. On a 409 failure you should retry the upload.

\n

Expects the '*' (asterisk) character.

\n

For more information about conditional requests, see RFC 7232.

", + "smithy.api#httpHeader": "If-None-Match" + } + }, "Key": { "target": "com.amazonaws.s3#ObjectKey", "traits": { @@ -22766,7 +22780,7 @@ "ChecksumCRC32C": { "target": "com.amazonaws.s3#ChecksumCRC32C", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32C checksum of the object. This will only be present if the object was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumCRC64NVME": { @@ -22778,13 +22792,13 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

" } } }, @@ -22895,7 +22909,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

\n
\n

Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key\n ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the\n bucket, you become the bucket owner.

\n

There are two types of buckets: general purpose buckets and directory buckets. For more information about\n these bucket types, see Creating, configuring, and working with Amazon S3\n buckets in the Amazon S3 User Guide.

\n \n
    \n
  • \n

    \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global endpoint, the\n request goes to the us-east-1 Region. So the signature calculations in Signature\n Version 4 must use us-east-1 as the Region, even if the location constraint in the\n request specifies another Region where the bucket is to be created. If you create a bucket in a\n Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For\n more information, see Virtual hosting of buckets in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - In addition to the\n s3:CreateBucket permission, the following permissions are required in a policy\n when your CreateBucket request includes specific headers:

    \n
      \n
    • \n

      \n Access control lists (ACLs) - In your\n CreateBucket request, if you specify an access control list (ACL) and set\n it to public-read, public-read-write,\n authenticated-read, or if you explicitly specify any other custom ACLs,\n both s3:CreateBucket and s3:PutBucketAcl permissions are\n required. In your CreateBucket request, if you set the ACL to\n private, or if you don't specify any ACLs, only the\n s3:CreateBucket permission is required.

      \n
    • \n
    • \n

      \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning\n permissions are required.

      \n
    • \n
    • \n

      \n S3 Object Ownership - If your\n CreateBucket request includes the x-amz-object-ownership\n header, then the s3:PutBucketOwnershipControls permission is required.

      \n \n

      To set an ACL on a bucket as part of a CreateBucket request, you must\n explicitly set S3 Object Ownership for the bucket to a different value than the default,\n BucketOwnerEnforced. Additionally, if your desired bucket ACL grants\n public access, you must first create the bucket (without the bucket ACL) and then\n explicitly disable Block Public Access on the bucket before using\n PutBucketAcl to set the ACL. If you try to create a bucket with a public\n ACL, the request will fail.

      \n

      For the majority of modern use cases in S3, we recommend that you keep all Block\n Public Access settings enabled and keep ACLs disabled. If you would like to share data\n with users outside of your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of\n objects and disabling ACLs for your bucket and Blocking\n public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

      \n
      \n
    • \n
    • \n

      \n S3 Block Public Access - If your specific use\n case requires granting public access to your S3 resources, you can disable Block Public\n Access. Specifically, you can create a new bucket with Block Public Access enabled, then\n separately call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more information about S3\n Block Public Access, see Blocking public\n access to your Amazon S3 storage in the Amazon S3 User Guide.\n

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy.\n Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n \n

    The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access\n are not supported for directory buckets. For directory buckets, all Block Public Access\n settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner\n enforced (ACLs disabled). These settings can't be modified.

    \n

    For more information about permissions for creating and working with directory buckets,\n see Directory buckets\n in the Amazon S3 User Guide. For more information about supported S3\n features for directory buckets, see Features of\n S3 Express One Zone in the Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CreateBucket:

\n ", + "smithy.api#documentation": "\n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n \n

This action creates an Amazon S3 bucket. To create an Amazon S3 on Outposts bucket, see \n CreateBucket\n .

\n
\n

Creates a new S3 bucket. To create a bucket, you must set up Amazon S3 and have a valid Amazon Web Services Access Key\n ID to authenticate requests. Anonymous requests are never allowed to create buckets. By creating the\n bucket, you become the bucket owner.

\n

There are two types of buckets: general purpose buckets and directory buckets. For more information about\n these bucket types, see Creating, configuring, and working with Amazon S3\n buckets in the Amazon S3 User Guide.

\n \n
    \n
  • \n

    \n General purpose buckets - If you send your\n CreateBucket request to the s3.amazonaws.com global endpoint, the\n request goes to the us-east-1 Region. So the signature calculations in Signature\n Version 4 must use us-east-1 as the Region, even if the location constraint in the\n request specifies another Region where the bucket is to be created. If you create a bucket in a\n Region other than US East (N. Virginia), your application must be able to handle 307 redirect. For\n more information, see Virtual hosting of buckets in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - In addition to the\n s3:CreateBucket permission, the following permissions are required in a policy\n when your CreateBucket request includes specific headers:

    \n
      \n
    • \n

      \n Access control lists (ACLs) - In your\n CreateBucket request, if you specify an access control list (ACL) and set\n it to public-read, public-read-write,\n authenticated-read, or if you explicitly specify any other custom ACLs,\n both s3:CreateBucket and s3:PutBucketAcl permissions are\n required. In your CreateBucket request, if you set the ACL to\n private, or if you don't specify any ACLs, only the\n s3:CreateBucket permission is required.

      \n
    • \n
    • \n

      \n Object Lock - In your\n CreateBucket request, if you set\n x-amz-bucket-object-lock-enabled to true, the\n s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning\n permissions are required.

      \n
    • \n
    • \n

      \n S3 Object Ownership - If your\n CreateBucket request includes the x-amz-object-ownership\n header, then the s3:PutBucketOwnershipControls permission is required.

      \n \n

      To set an ACL on a bucket as part of a CreateBucket request, you must\n explicitly set S3 Object Ownership for the bucket to a different value than the default,\n BucketOwnerEnforced. Additionally, if your desired bucket ACL grants\n public access, you must first create the bucket (without the bucket ACL) and then\n explicitly disable Block Public Access on the bucket before using\n PutBucketAcl to set the ACL. If you try to create a bucket with a public\n ACL, the request will fail.

      \n

      For the majority of modern use cases in S3, we recommend that you keep all Block\n Public Access settings enabled and keep ACLs disabled. If you would like to share data\n with users outside of your account, you can use bucket policies as needed. For more\n information, see Controlling ownership of\n objects and disabling ACLs for your bucket and Blocking\n public access to your Amazon S3 storage in the\n Amazon S3 User Guide.

      \n
      \n
    • \n
    • \n

      \n S3 Block Public Access - If your specific use\n case requires granting public access to your S3 resources, you can disable Block Public\n Access. Specifically, you can create a new bucket with Block Public Access enabled, then\n separately call the \n DeletePublicAccessBlock\n API. To use this operation, you must have the\n s3:PutBucketPublicAccessBlock permission. For more information about S3\n Block Public Access, see Blocking public\n access to your Amazon S3 storage in the Amazon S3 User Guide.\n

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:CreateBucket permission in an IAM identity-based policy instead of a bucket policy.\n Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n \n

    The permissions for ACLs, Object Lock, S3 Object Ownership, and S3 Block Public Access\n are not supported for directory buckets. For directory buckets, all Block Public Access\n settings are enabled at the bucket level and S3 Object Ownership is set to Bucket owner\n enforced (ACLs disabled). These settings can't be modified.

    \n

    For more information about permissions for creating and working with directory buckets,\n see Directory buckets\n in the Amazon S3 User Guide. For more information about supported S3\n features for directory buckets, see Features of\n S3 Express One Zone in the Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CreateBucket:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To create a bucket in a specific region", @@ -22960,7 +22974,7 @@ "Tags": { "target": "com.amazonaws.s3#TagSet", "traits": { - "smithy.api#documentation": "

An array of tags that you can apply to the bucket that you're creating. Tags are key-value pairs of\n metadata used to categorize and organize your buckets, track costs, and control access.

\n \n

This parameter is only supported for S3 directory buckets. For more information, see Using tags with\n directory buckets.

\n
" + "smithy.api#documentation": "

An array of tags that you can apply to the bucket that you're creating. Tags are key-value pairs of\n metadata used to categorize and organize your buckets, track costs, and control access.

\n \n
    \n
  • \n

    This parameter is only supported for S3 directory buckets. For more information, see Using tags with\n directory buckets.

    \n
  • \n
  • \n

    You must have the s3express:TagResource permission to create a directory bucket with tags.

    \n
  • \n
\n
" } } }, @@ -22981,7 +22995,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Creates an S3 Metadata V2 metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the following permissions. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you want to encrypt your metadata tables with server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), you need additional permissions in your KMS key policy. For more\n information, see \n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you also want to integrate your table bucket with Amazon Web Services analytics services so that you can\n query your metadata table, you need additional permissions. For more information, see Integrating\n Amazon S3 Tables with Amazon Web Services analytics services in the\n Amazon S3 User Guide.

\n

To query your metadata tables, you need additional permissions. For more information, see \n \n Permissions for querying metadata tables in the Amazon S3 User Guide.

\n
    \n
  • \n

    \n s3:CreateBucketMetadataTableConfiguration\n

    \n \n

    The IAM policy action name is the same for the V1 and V2 API operations.

    \n
    \n
  • \n
  • \n

    \n s3tables:CreateTableBucket\n

    \n
  • \n
  • \n

    \n s3tables:CreateNamespace\n

    \n
  • \n
  • \n

    \n s3tables:GetTable\n

    \n
  • \n
  • \n

    \n s3tables:CreateTable\n

    \n
  • \n
  • \n

    \n s3tables:PutTablePolicy\n

    \n
  • \n
  • \n

    \n s3tables:PutTableEncryption\n

    \n
  • \n
  • \n

    \n kms:DescribeKey\n

    \n
  • \n
\n
\n
\n

The following operations are related to CreateBucketMetadataConfiguration:

\n ", + "smithy.api#documentation": "

Creates an S3 Metadata V2 metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the following permissions. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you want to encrypt your metadata tables with server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), you need additional permissions in your KMS key policy. For more\n information, see \n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you also want to integrate your table bucket with Amazon Web Services analytics services so that you can\n query your metadata table, you need additional permissions. For more information, see Integrating\n Amazon S3 Tables with Amazon Web Services analytics services in the\n Amazon S3 User Guide.

\n

To query your metadata tables, you need additional permissions. For more information, see \n \n Permissions for querying metadata tables in the Amazon S3 User Guide.

\n
    \n
  • \n

    \n s3:CreateBucketMetadataTableConfiguration\n

    \n \n

    The IAM policy action name is the same for the V1 and V2 API operations.

    \n
    \n
  • \n
  • \n

    \n s3tables:CreateTableBucket\n

    \n
  • \n
  • \n

    \n s3tables:CreateNamespace\n

    \n
  • \n
  • \n

    \n s3tables:GetTable\n

    \n
  • \n
  • \n

    \n s3tables:CreateTable\n

    \n
  • \n
  • \n

    \n s3tables:PutTablePolicy\n

    \n
  • \n
  • \n

    \n s3tables:PutTableEncryption\n

    \n
  • \n
  • \n

    \n kms:DescribeKey\n

    \n
  • \n
\n
\n
\n

The following operations are related to CreateBucketMetadataConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}?metadataConfiguration", @@ -23056,7 +23070,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

\n We recommend that you create your S3 Metadata configurations by using the V2 \n CreateBucketMetadataConfiguration API operation. We no longer recommend using the V1 \n CreateBucketMetadataTableConfiguration API operation.\n

\n

If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete \n and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create \n a live inventory table.

\n
\n

Creates a V1 S3 Metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the following permissions. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you want to encrypt your metadata tables with server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), you need additional permissions. For more\n information, see \n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you also want to integrate your table bucket with Amazon Web Services analytics services so that you can\n query your metadata table, you need additional permissions. For more information, see Integrating\n Amazon S3 Tables with Amazon Web Services analytics services in the\n Amazon S3 User Guide.

\n
    \n
  • \n

    \n s3:CreateBucketMetadataTableConfiguration\n

    \n
  • \n
  • \n

    \n s3tables:CreateNamespace\n

    \n
  • \n
  • \n

    \n s3tables:GetTable\n

    \n
  • \n
  • \n

    \n s3tables:CreateTable\n

    \n
  • \n
  • \n

    \n s3tables:PutTablePolicy\n

    \n
  • \n
\n
\n
\n

The following operations are related to CreateBucketMetadataTableConfiguration:

\n ", + "smithy.api#documentation": "\n

\n We recommend that you create your S3 Metadata configurations by using the V2 \n CreateBucketMetadataConfiguration API operation. We no longer recommend using the V1 \n CreateBucketMetadataTableConfiguration API operation.\n

\n

If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete \n and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create \n a live inventory table.

\n
\n

Creates a V1 S3 Metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the following permissions. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you want to encrypt your metadata tables with server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), you need additional permissions. For more\n information, see \n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you also want to integrate your table bucket with Amazon Web Services analytics services so that you can\n query your metadata table, you need additional permissions. For more information, see Integrating\n Amazon S3 Tables with Amazon Web Services analytics services in the\n Amazon S3 User Guide.

\n
    \n
  • \n

    \n s3:CreateBucketMetadataTableConfiguration\n

    \n
  • \n
  • \n

    \n s3tables:CreateNamespace\n

    \n
  • \n
  • \n

    \n s3tables:GetTable\n

    \n
  • \n
  • \n

    \n s3tables:CreateTable\n

    \n
  • \n
  • \n

    \n s3tables:PutTablePolicy\n

    \n
  • \n
\n
\n
\n

The following operations are related to CreateBucketMetadataTableConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}?metadataTable", @@ -23231,7 +23245,7 @@ "target": "com.amazonaws.s3#CreateMultipartUploadOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

This action initiates a multipart upload and returns an upload ID. This upload ID is used to\n associate all of the parts in the specific multipart upload. You specify this upload ID in each of your\n subsequent upload part requests (see UploadPart). You also include this upload ID in\n the final request to either complete or abort the multipart upload request. For more information about\n multipart uploads, see Multipart\n Upload Overview in the Amazon S3 User Guide.

\n \n

After you initiate a multipart upload and upload one or more parts, to stop being charged for\n storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the\n space used to store the parts and stops charging you for storing them only after you either complete\n or abort a multipart upload.

\n
\n

If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart\n upload must be completed within the number of days specified in the bucket lifecycle configuration.\n Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the\n multipart upload. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Request signing
\n
\n

For request signing, multipart upload is just a series of regular requests. You initiate a\n multipart upload, send one or more requests to upload parts, and then complete the multipart\n upload process. You sign each request individually. There is nothing special about signing\n multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services\n Signature Version 4) in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To perform a\n multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have\n permission to the kms:Decrypt and kms:GenerateDataKey actions on the\n key. The requester must also have permissions for the kms:GenerateDataKey action\n for the CreateMultipartUpload API. Then, the requester needs permissions for the\n kms:Decrypt action on the UploadPart and\n UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt\n and read data from the encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and\n permissions and Protecting data using server-side\n encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets - Server-side encryption is for\n data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers\n and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are\n uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is set to the\n default encryption configuration of the destination bucket. By default, all buckets have a\n base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys\n (SSE-S3). If the destination bucket has a default encryption configuration that uses\n server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to\n encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to\n use a different type of encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key,\n or a customer-provided key). When the encryption setting in your request is different from the\n default encryption configuration of the destination bucket, the encryption setting in your\n request takes precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the\n CreateMultipartUpload request.

    \n
      \n
    • \n

      Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and\n KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used\n to encrypt data, specify the following headers in the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-aws-kms-key-id\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-context\n

        \n
      • \n
      \n \n
        \n
      • \n

        If you specify x-amz-server-side-encryption:aws:kms, but don't\n provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the\n Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

        \n
      • \n
      • \n

        To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the\n requester must have permission to the kms:Decrypt and\n kms:GenerateDataKey* actions on the key. These permissions are\n required because Amazon S3 must decrypt and read data from the encrypted file parts\n before it completes the multipart upload. For more information, see Multipart\n upload API and permissions and Protecting data using\n server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the\n KMS key, then you must have these permissions on the key policy. If your IAM\n user or role is in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or role.

        \n
      • \n
      • \n

        All GET and PUT requests for an object protected by\n KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport\n Layer Security (TLS), or Signature Version 4. For information about configuring any\n of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request\n Authentication in the Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      For more information about server-side encryption with KMS keys (SSE-KMS), see\n Protecting Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      Use customer-provided encryption keys (SSE-C) – If you want to manage your own\n encryption keys, provide all the following headers in the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption-customer-algorithm\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key-MD5\n

        \n
      • \n
      \n

      For more information about server-side encryption with customer-provided encryption\n keys (SSE-C), see Protecting data\n using server-side encryption with customer-provided encryption keys (SSE-C) in\n the Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

    \n

    In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

    \n \n

    When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

    \n
    \n \n

    For directory buckets, when you perform a CreateMultipartUpload operation\n and an UploadPartCopy operation, the request headers you provide in the\n CreateMultipartUpload request must match the default encryption configuration\n of the destination bucket.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CreateMultipartUpload:

\n ", + "smithy.api#documentation": "\n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n

This action initiates a multipart upload and returns an upload ID. This upload ID is used to\n associate all of the parts in the specific multipart upload. You specify this upload ID in each of your\n subsequent upload part requests (see UploadPart). You also include this upload ID in\n the final request to either complete or abort the multipart upload request. For more information about\n multipart uploads, see Multipart\n Upload Overview in the Amazon S3 User Guide.

\n \n

After you initiate a multipart upload and upload one or more parts, to stop being charged for\n storing the uploaded parts, you must either complete or abort the multipart upload. Amazon S3 frees up the\n space used to store the parts and stops charging you for storing them only after you either complete\n or abort a multipart upload.

\n
\n

If you have configured a lifecycle rule to abort incomplete multipart uploads, the created multipart\n upload must be completed within the number of days specified in the bucket lifecycle configuration.\n Otherwise, the incomplete multipart upload becomes eligible for an abort action and Amazon S3 aborts the\n multipart upload. For more information, see Aborting\n Incomplete Multipart Uploads Using a Bucket Lifecycle Configuration.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Request signing
\n
\n

For request signing, multipart upload is just a series of regular requests. You initiate a\n multipart upload, send one or more requests to upload parts, and then complete the multipart\n upload process. You sign each request individually. There is nothing special about signing\n multipart upload requests. For more information about signing, see Authenticating Requests (Amazon Web Services\n Signature Version 4) in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To perform a\n multipart upload with encryption using an Key Management Service (KMS) KMS key, the requester must have\n permission to the kms:Decrypt and kms:GenerateDataKey actions on the\n key. The requester must also have permissions for the kms:GenerateDataKey action\n for the CreateMultipartUpload API. Then, the requester needs permissions for the\n kms:Decrypt action on the UploadPart and\n UploadPartCopy APIs. These permissions are required because Amazon S3 must decrypt\n and read data from the encrypted file parts before it completes the multipart upload. For more\n information, see Multipart upload API and\n permissions and Protecting data using server-side\n encryption with Amazon Web Services KMS in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets - Server-side encryption is for\n data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers\n and decrypts it when you access it. Amazon S3 automatically encrypts all new objects that are\n uploaded to an S3 bucket. When doing a multipart upload, if you don't specify encryption\n information in your request, the encryption setting of the uploaded parts is set to the\n default encryption configuration of the destination bucket. By default, all buckets have a\n base level of encryption configuration that uses server-side encryption with Amazon S3 managed keys\n (SSE-S3). If the destination bucket has a default encryption configuration that uses\n server-side encryption with an Key Management Service (KMS) key (SSE-KMS), or a customer-provided\n encryption key (SSE-C), Amazon S3 uses the corresponding KMS key, or a customer-provided key to\n encrypt the uploaded parts. When you perform a CreateMultipartUpload operation, if you want to\n use a different type of encryption setting for the uploaded parts, you can request that Amazon S3\n encrypts the object with a different encryption key (such as an Amazon S3 managed key, a KMS key,\n or a customer-provided key). When the encryption setting in your request is different from the\n default encryption configuration of the destination bucket, the encryption setting in your\n request takes precedence. If you choose to provide your own encryption key, the request\n headers you provide in UploadPart and UploadPartCopy requests must match the headers you used in the\n CreateMultipartUpload request.

    \n
      \n
    • \n

      Use KMS keys (SSE-KMS) that include the Amazon Web Services managed key (aws/s3) and\n KMS customer managed keys stored in Key Management Service (KMS) – If you want Amazon Web Services to manage the keys used\n to encrypt data, specify the following headers in the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-aws-kms-key-id\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-context\n

        \n
      • \n
      \n \n
        \n
      • \n

        If you specify x-amz-server-side-encryption:aws:kms, but don't\n provide x-amz-server-side-encryption-aws-kms-key-id, Amazon S3 uses the\n Amazon Web Services managed key (aws/s3 key) in KMS to protect the data.

        \n
      • \n
      • \n

        To perform a multipart upload with encryption by using an Amazon Web Services KMS key, the\n requester must have permission to the kms:Decrypt and\n kms:GenerateDataKey* actions on the key. These permissions are\n required because Amazon S3 must decrypt and read data from the encrypted file parts\n before it completes the multipart upload. For more information, see Multipart\n upload API and permissions and Protecting data using\n server-side encryption with Amazon Web Services KMS in the\n Amazon S3 User Guide.

        \n
      • \n
      • \n

        If your Identity and Access Management (IAM) user or role is in the same Amazon Web Services account as the\n KMS key, then you must have these permissions on the key policy. If your IAM\n user or role is in a different account from the key, then you must have the\n permissions on both the key policy and your IAM user or role.

        \n
      • \n
      • \n

        All GET and PUT requests for an object protected by\n KMS fail if you don't make them by using Secure Sockets Layer (SSL), Transport\n Layer Security (TLS), or Signature Version 4. For information about configuring any\n of the officially supported Amazon Web Services SDKs and Amazon Web Services CLI, see Specifying the Signature Version in Request\n Authentication in the Amazon S3 User Guide.

        \n
      • \n
      \n
      \n

      For more information about server-side encryption with KMS keys (SSE-KMS), see\n Protecting Data Using Server-Side Encryption with KMS keys in the\n Amazon S3 User Guide.

      \n
    • \n
    • \n

      Use customer-provided encryption keys (SSE-C) – If you want to manage your own\n encryption keys, provide all the following headers in the request.

      \n
        \n
      • \n

        \n x-amz-server-side-encryption-customer-algorithm\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key\n

        \n
      • \n
      • \n

        \n x-amz-server-side-encryption-customer-key-MD5\n

        \n
      • \n
      \n

      For more information about server-side encryption with customer-provided encryption\n keys (SSE-C), see Protecting data\n using server-side encryption with customer-provided encryption keys (SSE-C) in\n the Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

    \n

    In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, the encryption request headers must match the encryption settings that are specified in the CreateSession request. \n You can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) that are specified in the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

    \n \n

    When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n So in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n the encryption request headers must match the default encryption configuration of the directory bucket.\n\n

    \n
    \n \n

    For directory buckets, when you perform a CreateMultipartUpload operation\n and an UploadPartCopy operation, the request headers you provide in the\n CreateMultipartUpload request must match the default encryption configuration\n of the destination bucket.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to CreateMultipartUpload:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To initiate a multipart upload", @@ -23604,7 +23618,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a session that establishes temporary security credentials to support fast authentication and\n authorization for the Zonal endpoint API operations on directory buckets. For more information about Zonal endpoint API operations that\n include the Availability Zone in the request endpoint, see S3 Express One Zone APIs in the\n Amazon S3 User Guide.

\n

To make Zonal endpoint API requests on a directory bucket, use the CreateSession API\n operation. Specifically, you grant s3express:CreateSession permission to a bucket in\n a bucket policy or an IAM identity-based policy. Then, you use IAM credentials to make the CreateSession\n API request on the bucket, which returns temporary security credentials that include the access key ID,\n secret access key, session token, and expiration. These credentials have associated permissions to\n access the Zonal endpoint API operations. After the session is created, you don’t need to use other policies to grant\n permissions to each Zonal endpoint API individually. Instead, in your Zonal endpoint API requests, you sign your\n requests by applying the temporary security credentials of the session to the request headers and\n following the SigV4 protocol for authentication. You also apply the session token to the\n x-amz-s3session-token request header for authorization. Temporary security credentials\n are scoped to the bucket and expire after 5 minutes. After the expiration time, any calls that you make\n with those credentials will fail. You must use IAM credentials again to make a\n CreateSession API request that generates a new set of temporary credentials for use.\n Temporary credentials cannot be extended or refreshed beyond the original specified interval.

\n

If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically to avoid service\n interruptions when a session expires. We recommend that you use the Amazon Web Services SDKs to initiate and manage\n requests to the CreateSession API. For more information, see Performance guidelines and design patterns in the\n Amazon S3 User Guide.

\n \n
    \n
  • \n

    You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n \n CopyObject API operation - Unlike other\n Zonal endpoint API operations, the CopyObject API operation doesn't use the temporary security\n credentials returned from the CreateSession API operation for authentication and\n authorization. For information about authentication and authorization of the\n CopyObject API operation on directory buckets, see CopyObject.

    \n
  • \n
  • \n

    \n \n HeadBucket API operation - Unlike other\n Zonal endpoint API operations, the HeadBucket API operation doesn't use the temporary security\n credentials returned from the CreateSession API operation for authentication and\n authorization. For information about authentication and authorization of the\n HeadBucket API operation on directory buckets, see HeadBucket.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n

To obtain temporary security credentials, you must create a bucket policy or an IAM identity-based policy that\n grants s3express:CreateSession permission to the bucket. In a policy, you can have\n the s3express:SessionMode condition key to control who can create a\n ReadWrite or ReadOnly session. For more information about\n ReadWrite or ReadOnly sessions, see \n x-amz-create-session-mode\n . For example policies, see Example\n bucket policies for S3 Express One Zone and Amazon Web Services Identity\n and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

\n

To grant cross-account access to Zonal endpoint API operations, the bucket policy should also grant both\n accounts the s3express:CreateSession permission.

\n

If you want to encrypt objects with SSE-KMS, you must also have the\n kms:GenerateDataKey and the kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the target KMS key.

\n
\n
Encryption
\n
\n

For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n

For Zonal endpoint (object-level) API operations except CopyObject and UploadPartCopy, \nyou authenticate and authorize requests through CreateSession for low latency. \n To encrypt new objects in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). Then, when a session is created for Zonal endpoint API operations, new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys during the session.

\n \n

\n Only 1 customer managed key is supported per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (aws/s3) isn't supported. \n After you specify SSE-KMS as your bucket's default encryption configuration with a customer managed key, you can't change the customer managed key for the bucket's SSE-KMS configuration.\n

\n
\n

In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, \n you can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

\n \n

When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n Also, in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n it's not supported to override the values of the encryption settings from the CreateSession request. \n\n

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
", + "smithy.api#documentation": "

Creates a session that establishes temporary security credentials to support fast authentication and\n authorization for the Zonal endpoint API operations on directory buckets. For more information about Zonal endpoint API operations that\n include the Availability Zone in the request endpoint, see S3 Express One Zone APIs in the\n Amazon S3 User Guide.

\n

To make Zonal endpoint API requests on a directory bucket, use the CreateSession API\n operation. Specifically, you grant s3express:CreateSession permission to a bucket in\n a bucket policy or an IAM identity-based policy. Then, you use IAM credentials to make the CreateSession\n API request on the bucket, which returns temporary security credentials that include the access key ID,\n secret access key, session token, and expiration. These credentials have associated permissions to\n access the Zonal endpoint API operations. After the session is created, you don’t need to use other policies to grant\n permissions to each Zonal endpoint API individually. Instead, in your Zonal endpoint API requests, you sign your\n requests by applying the temporary security credentials of the session to the request headers and\n following the SigV4 protocol for authentication. You also apply the session token to the\n x-amz-s3session-token request header for authorization. Temporary security credentials\n are scoped to the bucket and expire after 5 minutes. After the expiration time, any calls that you make\n with those credentials will fail. You must use IAM credentials again to make a\n CreateSession API request that generates a new set of temporary credentials for use.\n Temporary credentials cannot be extended or refreshed beyond the original specified interval.

\n

If you use Amazon Web Services SDKs, SDKs handle the session token refreshes automatically to avoid service\n interruptions when a session expires. We recommend that you use the Amazon Web Services SDKs to initiate and manage\n requests to the CreateSession API. For more information, see Performance guidelines and design patterns in the\n Amazon S3 User Guide.

\n \n
    \n
  • \n

    You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n \n CopyObject API operation - Unlike other\n Zonal endpoint API operations, the CopyObject API operation doesn't use the temporary security\n credentials returned from the CreateSession API operation for authentication and\n authorization. For information about authentication and authorization of the\n CopyObject API operation on directory buckets, see CopyObject.

    \n
  • \n
  • \n

    \n \n HeadBucket API operation - Unlike other\n Zonal endpoint API operations, the HeadBucket API operation doesn't use the temporary security\n credentials returned from the CreateSession API operation for authentication and\n authorization. For information about authentication and authorization of the\n HeadBucket API operation on directory buckets, see HeadBucket.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n

To obtain temporary security credentials, you must create a bucket policy or an IAM identity-based policy that\n grants s3express:CreateSession permission to the bucket. In a policy, you can have\n the s3express:SessionMode condition key to control who can create a\n ReadWrite or ReadOnly session. For more information about\n ReadWrite or ReadOnly sessions, see \n x-amz-create-session-mode\n . For example policies, see Example\n bucket policies for S3 Express One Zone and Amazon Web Services Identity\n and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

\n

To grant cross-account access to Zonal endpoint API operations, the bucket policy should also grant both\n accounts the s3express:CreateSession permission.

\n

If you want to encrypt objects with SSE-KMS, you must also have the\n kms:GenerateDataKey and the kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the target KMS key.

\n
\n
Encryption
\n
\n

For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n

For Zonal endpoint (object-level) API operations except CopyObject and UploadPartCopy, \nyou authenticate and authorize requests through CreateSession for low latency. \n To encrypt new objects in a directory bucket with SSE-KMS, you must specify SSE-KMS as the directory bucket's default encryption configuration with a KMS key (specifically, a customer managed key). Then, when a session is created for Zonal endpoint API operations, new objects are automatically encrypted and decrypted with SSE-KMS and S3 Bucket Keys during the session.

\n \n

\n Only 1 customer managed key is supported per directory bucket for the lifetime of the bucket. The Amazon Web Services managed key (aws/s3) isn't supported. \n After you specify SSE-KMS as your bucket's default encryption configuration with a customer managed key, you can't change the customer managed key for the bucket's SSE-KMS configuration.\n

\n
\n

In the Zonal endpoint API calls (except CopyObject and UploadPartCopy) using the REST API, \n you can't override the values of the encryption settings (x-amz-server-side-encryption, x-amz-server-side-encryption-aws-kms-key-id, x-amz-server-side-encryption-context, and x-amz-server-side-encryption-bucket-key-enabled) from the CreateSession request. \n You don't need to explicitly specify these encryption settings values in Zonal endpoint API calls, and \n Amazon S3 will use the encryption settings values from the CreateSession request to protect new objects in the directory bucket. \n

\n \n

When you use the CLI or the Amazon Web Services SDKs, for CreateSession, the session token refreshes automatically to avoid service interruptions when a session expires. The CLI or the Amazon Web Services SDKs use the bucket's default encryption configuration for the \n CreateSession request. It's not supported to override the encryption settings values in the CreateSession request. \n Also, in the Zonal endpoint API calls (except CopyObject and UploadPartCopy), \n it's not supported to override the values of the encryption settings from the CreateSession request. \n\n

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?session", @@ -23806,7 +23820,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket\n must be deleted before the bucket itself can be deleted.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart uploads in a\n directory bucket are in progress, you can't delete the bucket until all the in-progress multipart\n uploads are aborted or completed.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You must have the\n s3:DeleteBucket permission on the specified bucket in a policy.

    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:DeleteBucket permission in an IAM identity-based policy instead of a bucket policy.\n Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucket:

\n ", + "smithy.api#documentation": "

Deletes the S3 bucket. All objects (including all object versions and delete markers) in the bucket\n must be deleted before the bucket itself can be deleted.

\n \n
    \n
  • \n

    \n Directory buckets - If multipart uploads in a\n directory bucket are in progress, you can't delete the bucket until all the in-progress multipart\n uploads are aborted or completed.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You must have the\n s3:DeleteBucket permission on the specified bucket in a policy.

    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:DeleteBucket permission in an IAM identity-based policy instead of a bucket policy.\n Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource. For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucket:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete a bucket", @@ -23837,7 +23851,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes an analytics configuration for the bucket (specified by the analytics configuration\n ID).

\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n

The following operations are related to DeleteBucketAnalyticsConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes an analytics configuration for the bucket (specified by the analytics configuration\n ID).

\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n

The following operations are related to DeleteBucketAnalyticsConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?analytics", @@ -23893,7 +23907,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the cors configuration information set for the bucket.

\n

To use this operation, you must have permission to perform the s3:PutBucketCORS action.\n The bucket owner has this permission by default and can grant this permission to others.

\n

For information about cors, see Enabling Cross-Origin Resource Sharing in the\n Amazon S3 User Guide.

\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the cors configuration information set for the bucket.

\n

To use this operation, you must have permission to perform the s3:PutBucketCORS action.\n The bucket owner has this permission by default and can grant this permission to others.

\n

For information about cors, see Enabling Cross-Origin Resource Sharing in the\n Amazon S3 User Guide.

\n

\n Related Resources\n

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete cors configuration on a bucket.", @@ -23950,7 +23964,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

This implementation of the DELETE action resets the default encryption for the bucket as server-side\n encryption with Amazon S3 managed keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a policy. The bucket\n owner has this permission by default. The bucket owner can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Operations and Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:PutEncryptionConfiguration\n permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketEncryption:

\n ", + "smithy.api#documentation": "

This implementation of the DELETE action resets the default encryption for the bucket as server-side\n encryption with Amazon S3 managed keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a policy. The bucket\n owner has this permission by default. The bucket owner can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Operations and Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:PutEncryptionConfiguration\n permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketEncryption:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?encryption", @@ -23998,7 +24012,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to DeleteBucketIntelligentTieringConfiguration include:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to DeleteBucketIntelligentTieringConfiguration include:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?intelligent-tiering", @@ -24054,7 +24068,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes an S3 Inventory configuration (identified by the inventory ID) from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

\n

Operations related to DeleteBucketInventoryConfiguration include:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes an S3 Inventory configuration (identified by the inventory ID) from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

\n

Operations related to DeleteBucketInventoryConfiguration include:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?inventory", @@ -24110,7 +24124,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle\n configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire,\n and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted\n lifecycle configuration.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By default, all Amazon S3\n resources are private, including buckets, objects, and related subresources (for example,\n lifecycle configuration and website configuration). Only the resource owner (that is, the\n Amazon Web Services account that created it) can access the resource. The resource owner can optionally\n grant access permissions to others by writing an access policy. For this operation, a user\n must have the s3:PutLifecycleConfiguration permission.

    \n

    For more information about permissions, see Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:PutLifecycleConfiguration permission in an IAM identity-based policy\n to use this operation. Cross-account access to this API operation isn't supported. The\n resource owner can optionally grant access permissions to others by creating a role or user\n for them as long as they are within the same account as the owner and resource.

    \n

    For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM in the Amazon S3 User\n Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

For more information about the object expiration, see Elements to\n Describe Lifecycle Actions.

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Deletes the lifecycle configuration from the specified bucket. Amazon S3 removes all the lifecycle\n configuration rules in the lifecycle subresource associated with the bucket. Your objects never expire,\n and Amazon S3 no longer automatically deletes any objects on the basis of rules contained in the deleted\n lifecycle configuration.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By default, all Amazon S3\n resources are private, including buckets, objects, and related subresources (for example,\n lifecycle configuration and website configuration). Only the resource owner (that is, the\n Amazon Web Services account that created it) can access the resource. The resource owner can optionally\n grant access permissions to others by writing an access policy. For this operation, a user\n must have the s3:PutLifecycleConfiguration permission.

    \n

    For more information about permissions, see Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:PutLifecycleConfiguration permission in an IAM identity-based policy\n to use this operation. Cross-account access to this API operation isn't supported. The\n resource owner can optionally grant access permissions to others by creating a role or user\n for them as long as they are within the same account as the owner and resource.

    \n

    For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM in the Amazon S3 User\n Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

For more information about the object expiration, see Elements to\n Describe Lifecycle Actions.

\n

Related actions include:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete lifecycle configuration on a bucket.", @@ -24167,7 +24181,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes an S3 Metadata configuration from a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 DeleteBucketMetadataConfiguration API operation with V1 or V2 \n metadata configurations. However, if you try to use the V1 \n DeleteBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the\n s3:DeleteBucketMetadataTableConfiguration permission. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n \n

The IAM policy action name is the same for the V1 and V2 API operations.

\n
\n
\n
\n

The following operations are related to DeleteBucketMetadataConfiguration:

\n ", + "smithy.api#documentation": "

Deletes an S3 Metadata configuration from a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 DeleteBucketMetadataConfiguration API operation with V1 or V2 \n metadata configurations. However, if you try to use the V1 \n DeleteBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the\n s3:DeleteBucketMetadataTableConfiguration permission. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n \n

The IAM policy action name is the same for the V1 and V2 API operations.

\n
\n
\n
\n

The following operations are related to DeleteBucketMetadataConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?metadataConfiguration", @@ -24215,7 +24229,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

\n We recommend that you delete your S3 Metadata configurations by using the V2 \n DeleteBucketMetadataTableConfiguration API operation. We no longer recommend using \n the V1 DeleteBucketMetadataTableConfiguration API operation.\n

\n

If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete \n and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create \n a live inventory table.

\n
\n

Deletes a V1 S3 Metadata configuration from a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 DeleteBucketMetadataConfiguration API operation with V1 or V2 \n metadata table configurations. However, if you try to use the V1 \n DeleteBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n

Make sure that you update your processes to use the new V2 API operations\n (CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration, and\n DeleteBucketMetadataConfiguration) instead of the V1 API operations.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the\n s3:DeleteBucketMetadataTableConfiguration permission. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n
\n
\n

The following operations are related to DeleteBucketMetadataTableConfiguration:

\n ", + "smithy.api#documentation": "\n

\n We recommend that you delete your S3 Metadata configurations by using the V2 \n DeleteBucketMetadataTableConfiguration API operation. We no longer recommend using \n the V1 DeleteBucketMetadataTableConfiguration API operation.\n

\n

If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete \n and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create \n a live inventory table.

\n
\n

Deletes a V1 S3 Metadata configuration from a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 DeleteBucketMetadataConfiguration API operation with V1 or V2 \n metadata table configurations. However, if you try to use the V1 \n DeleteBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n

Make sure that you update your processes to use the new V2 API operations\n (CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration, and\n DeleteBucketMetadataConfiguration) instead of the V1 API operations.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the\n s3:DeleteBucketMetadataTableConfiguration permission. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n
\n
\n

The following operations are related to DeleteBucketMetadataTableConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?metadataTable", @@ -24263,7 +24277,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the metrics\n configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.

\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

\n

The following operations are related to DeleteBucketMetricsConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes a metrics configuration for the Amazon CloudWatch request metrics (specified by the metrics\n configuration ID) from the bucket. Note that this doesn't include the daily storage metrics.

\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon CloudWatch.

\n

The following operations are related to DeleteBucketMetricsConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?metrics", @@ -24319,7 +24333,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Removes OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the\n s3:PutBucketOwnershipControls permission. For more information about Amazon S3 permissions,\n see Specifying\n Permissions in a Policy.

\n

For information about Amazon S3 Object Ownership, see Using Object Ownership.

\n

The following operations are related to DeleteBucketOwnershipControls:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Removes OwnershipControls for an Amazon S3 bucket. To use this operation, you must have the\n s3:PutBucketOwnershipControls permission. For more information about Amazon S3 permissions,\n see Specifying\n Permissions in a Policy.

\n

For information about Amazon S3 Object Ownership, see Using Object Ownership.

\n

The following operations are related to DeleteBucketOwnershipControls:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?ownershipControls", @@ -24367,7 +24381,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "

Deletes the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must both have the DeleteBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this operation.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access\n Denied error. If you have the correct permissions, but you're not using an identity that\n belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed\n error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets,\n the root principal in a bucket owner's Amazon Web Services account can perform the\n GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the\n root principal's access. Bucket owner root principals can only be blocked from performing these\n API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:DeleteBucketPolicy permission is required in a policy. For more information\n about general purpose buckets bucket policies, see Using Bucket Policies and User\n Policies in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:DeleteBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketPolicy\n

\n ", + "smithy.api#documentation": "

Deletes the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must both have the DeleteBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this operation.

\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403 Access\n Denied error. If you have the correct permissions, but you're not using an identity that\n belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed\n error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets,\n the root principal in a bucket owner's Amazon Web Services account can perform the\n GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the\n root principal's access. Bucket owner root principals can only be blocked from performing these\n API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:DeleteBucketPolicy permission is required in a policy. For more information\n about general purpose buckets bucket policies, see Using Bucket Policies and User\n Policies in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:DeleteBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteBucketPolicy\n

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete bucket policy", @@ -24424,7 +24438,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the replication configuration from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:PutReplicationConfiguration action. The bucket owner has these permissions by default\n and can grant it to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n \n

It can take a while for the deletion of a replication configuration to fully propagate.

\n
\n

For information about replication configuration, see Replication in the\n Amazon S3 User Guide.

\n

The following operations are related to DeleteBucketReplication:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the replication configuration from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:PutReplicationConfiguration action. The bucket owner has these permissions by default\n and can grant it to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n \n

It can take a while for the deletion of a replication configuration to fully propagate.

\n
\n

For information about replication configuration, see Replication in the\n Amazon S3 User Guide.

\n

The following operations are related to DeleteBucketReplication:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete bucket replication configuration", @@ -24507,7 +24521,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the tags from the bucket.

\n

To use this operation, you must have permission to perform the s3:PutBucketTagging\n action. By default, the bucket owner has this permission and can grant this permission to others.

\n

The following operations are related to DeleteBucketTagging:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Deletes the tags from the bucket.

\n

To use this operation, you must have permission to perform the s3:PutBucketTagging\n action. By default, the bucket owner has this permission and can grant this permission to others.

\n

The following operations are related to DeleteBucketTagging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete bucket tags", @@ -24564,7 +24578,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This action removes the website configuration for a bucket. Amazon S3 returns a 200 OK\n response upon successfully deleting a website configuration on the specified bucket. You will get a\n 200 OK response if the website configuration you are trying to delete does not exist on\n the bucket. Amazon S3 returns a 404 response if the bucket specified in the request does not\n exist.

\n

This DELETE action requires the S3:DeleteBucketWebsite permission. By default, only the\n bucket owner can delete the website configuration attached to a bucket. However, bucket owners can grant\n other users permission to delete the website configuration by writing a bucket policy granting them the\n S3:DeleteBucketWebsite permission.

\n

For more information about hosting websites, see Hosting Websites on Amazon S3.

\n

The following operations are related to DeleteBucketWebsite:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This action removes the website configuration for a bucket. Amazon S3 returns a 200 OK\n response upon successfully deleting a website configuration on the specified bucket. You will get a\n 200 OK response if the website configuration you are trying to delete does not exist on\n the bucket. Amazon S3 returns a 404 response if the bucket specified in the request does not\n exist.

\n

This DELETE action requires the S3:DeleteBucketWebsite permission. By default, only the\n bucket owner can delete the website configuration attached to a bucket. However, bucket owners can grant\n other users permission to delete the website configuration by writing a bucket policy granting them the\n S3:DeleteBucketWebsite permission.

\n

For more information about hosting websites, see Hosting Websites on Amazon S3.

\n

The following operations are related to DeleteBucketWebsite:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete bucket website configuration", @@ -24702,7 +24716,7 @@ "target": "com.amazonaws.s3#DeleteObjectOutput" }, "traits": { - "smithy.api#documentation": "

Removes an object from a bucket. The behavior depends on the bucket's versioning state:

\n
    \n
  • \n

    If bucket versioning is not enabled, the operation permanently deletes the object.

    \n
  • \n
  • \n

    If bucket versioning is enabled, the operation inserts a delete marker, which becomes the\n current version of the object. To permanently delete an object in a versioned bucket, you must\n include the object’s versionId in the request. For more information about\n versioning-enabled buckets, see Deleting object versions from a\n versioning-enabled bucket.

    \n
  • \n
  • \n

    If bucket versioning is suspended, the operation removes the object that has a null\n versionId, if there is one, and inserts a delete marker that becomes the current\n version of the object. If there isn't an object with a null versionId, and all versions\n of the object have a versionId, Amazon S3 does not remove the object and only inserts a\n delete marker. To permanently delete an object that has a versionId, you must include\n the object’s versionId in the request. For more information about versioning-suspended\n buckets, see Deleting\n objects from versioning-suspended buckets.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets.\n You can only specify null to the versionId query parameter in the\n request.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

To remove a specific version, you must use the versionId query parameter. Using this\n query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the\n response header x-amz-delete-marker to true.

\n

If the object you want to delete is in a bucket where the bucket versioning configuration is MFA\n Delete enabled, you must include the x-amz-mfa request header in the DELETE\n versionId request. Requests that include x-amz-mfa must use HTTPS. For more\n information about MFA Delete, see Using MFA Delete in the Amazon S3 User\n Guide. To see sample requests that use versioning, see Sample Request.

\n \n

\n Directory buckets - MFA delete is not supported by directory buckets.

\n
\n

You can delete objects by explicitly calling DELETE Object or calling (PutBucketLifecycle) to enable Amazon S3 to\n remove them for you. If you want to block users or accounts from removing or deleting objects from your\n bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and\n s3:PutLifeCycleConfiguration actions.

\n \n

\n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following\n permissions are required in your policies when your DeleteObjects request\n includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n - To delete an\n object from a bucket, you must always have the s3:DeleteObject\n permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versioning-enabled\n bucket, you must have the s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following action is related to DeleteObject:

\n ", + "smithy.api#documentation": "

Removes an object from a bucket. The behavior depends on the bucket's versioning state:

\n
    \n
  • \n

    If bucket versioning is not enabled, the operation permanently deletes the object.

    \n
  • \n
  • \n

    If bucket versioning is enabled, the operation inserts a delete marker, which becomes the\n current version of the object. To permanently delete an object in a versioned bucket, you must\n include the object’s versionId in the request. For more information about\n versioning-enabled buckets, see Deleting object versions from a\n versioning-enabled bucket.

    \n
  • \n
  • \n

    If bucket versioning is suspended, the operation removes the object that has a null\n versionId, if there is one, and inserts a delete marker that becomes the current\n version of the object. If there isn't an object with a null versionId, and all versions\n of the object have a versionId, Amazon S3 does not remove the object and only inserts a\n delete marker. To permanently delete an object that has a versionId, you must include\n the object’s versionId in the request. For more information about versioning-suspended\n buckets, see Deleting\n objects from versioning-suspended buckets.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets.\n You can only specify null to the versionId query parameter in the\n request.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

To remove a specific version, you must use the versionId query parameter. Using this\n query parameter permanently deletes the version. If the object deleted is a delete marker, Amazon S3 sets the\n response header x-amz-delete-marker to true.

\n

If the object you want to delete is in a bucket where the bucket versioning configuration is MFA\n Delete enabled, you must include the x-amz-mfa request header in the DELETE\n versionId request. Requests that include x-amz-mfa must use HTTPS. For more\n information about MFA Delete, see Using MFA Delete in the Amazon S3 User\n Guide. To see sample requests that use versioning, see Sample Request.

\n \n

\n Directory buckets - MFA delete is not supported by directory buckets.

\n
\n

You can delete objects by explicitly calling DELETE Object or calling (PutBucketLifecycle) to enable Amazon S3 to\n remove them for you. If you want to block users or accounts from removing or deleting objects from your\n bucket, you must deny them the s3:DeleteObject, s3:DeleteObjectVersion, and\n s3:PutLifeCycleConfiguration actions.

\n \n

\n Directory buckets -\n S3 Lifecycle is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following\n permissions are required in your policies when your DeleteObjects request\n includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n - To delete an\n object from a bucket, you must always have the s3:DeleteObject\n permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versioning-enabled\n bucket, you must have the s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following action is related to DeleteObject:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
\n \n

The If-Match header is supported for both general purpose and directory buckets. IfMatchLastModifiedTime and IfMatchSize is only supported for directory buckets.

\n
", "smithy.api#examples": [ { "title": "To delete an object (from a non-versioned bucket)", @@ -24819,7 +24833,7 @@ "IfMatch": { "target": "com.amazonaws.s3#IfMatch", "traits": { - "smithy.api#documentation": "

The If-Match header field makes the request method conditional on ETags. If the ETag\n value does not match, the operation returns a 412 Precondition Failed error. If the ETag\n matches or if the object doesn't exist, the operation will return a 204 Success (No Content)\n response.

\n

For more information about conditional requests, see RFC 7232.

\n \n

This functionality is only supported for directory buckets.

\n
", + "smithy.api#documentation": "

Deletes the object if the ETag (entity tag) value provided during the delete operation matches the ETag of the object in S3. \n If the ETag values do not match, the operation returns a 412 Precondition Failed error.

\n

Expects the ETag value as a string. If-Match does accept a string value of an '*' (asterisk) character to denote a match of any ETag.

\n

For more information about conditional requests, see RFC 7232.

", "smithy.api#httpHeader": "If-Match" } }, @@ -24851,7 +24865,7 @@ "target": "com.amazonaws.s3#DeleteObjectTaggingOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Removes the entire tag set from the specified object. For more information about managing object\n tags, see Object\n Tagging.

\n

To use this operation, you must have permission to perform the s3:DeleteObjectTagging\n action.

\n

To delete tags of a specific object version, add the versionId query parameter in the\n request. You will need permission for the s3:DeleteObjectVersionTagging action.

\n

The following operations are related to DeleteObjectTagging:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Removes the entire tag set from the specified object. For more information about managing object\n tags, see Object\n Tagging.

\n

To use this operation, you must have permission to perform the s3:DeleteObjectTagging\n action.

\n

To delete tags of a specific object version, add the versionId query parameter in the\n request. You will need permission for the s3:DeleteObjectVersionTagging action.

\n

The following operations are related to DeleteObjectTagging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To remove tag set from an object", @@ -24953,7 +24967,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

This operation enables you to delete multiple objects from a bucket using a single HTTP request. If\n you know the object keys that you want to delete, then this operation provides a suitable alternative to\n sending individual delete requests, reducing per-request overhead.

\n

The request can contain a list of up to 1,000 keys that you want to delete. In the XML, you provide\n the object key names, and optionally, version IDs if you want to delete a specific version of the object\n from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result\n of that delete, success or failure, in the response. If the object specified in the request isn't found,\n Amazon S3 confirms the deletion by returning the result as deleted.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

The operation supports two modes for the response: verbose and quiet. By default, the operation uses\n verbose mode in which the response includes the result of deletion of each key in your request. In quiet\n mode the response includes only keys where the delete operation encountered an error. For a successful\n deletion in a quiet mode, the operation does not return any information about the delete in the response\n body.

\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete any versioned\n objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if\n there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there\n are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For\n information about MFA Delete, see MFA Delete in the\n Amazon S3 User Guide.

\n \n

\n Directory buckets - MFA delete is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following\n permissions are required in your policies when your DeleteObjects request\n includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n - To delete an\n object from a bucket, you must always specify the s3:DeleteObject\n permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versioning-enabled\n bucket, you must specify the s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Content-MD5 request header
\n
\n
    \n
  • \n

    \n General purpose bucket - The Content-MD5 request header\n is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that\n your request body has not been altered in transit.

    \n
  • \n
  • \n

    \n Directory bucket - The Content-MD5 request header\n or a additional checksum request header (including x-amz-checksum-crc32,\n x-amz-checksum-crc32c, x-amz-checksum-sha1, or\n x-amz-checksum-sha256) is required for all Multi-Object Delete requests.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteObjects:

\n ", + "smithy.api#documentation": "

This operation enables you to delete multiple objects from a bucket using a single HTTP request. If\n you know the object keys that you want to delete, then this operation provides a suitable alternative to\n sending individual delete requests, reducing per-request overhead.

\n

The request can contain a list of up to 1,000 keys that you want to delete. In the XML, you provide\n the object key names, and optionally, version IDs if you want to delete a specific version of the object\n from a versioning-enabled bucket. For each key, Amazon S3 performs a delete operation and returns the result\n of that delete, success or failure, in the response. If the object specified in the request isn't found,\n Amazon S3 confirms the deletion by returning the result as deleted.

\n \n
    \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

The operation supports two modes for the response: verbose and quiet. By default, the operation uses\n verbose mode in which the response includes the result of deletion of each key in your request. In quiet\n mode the response includes only keys where the delete operation encountered an error. For a successful\n deletion in a quiet mode, the operation does not return any information about the delete in the response\n body.

\n

When performing this action on an MFA Delete enabled bucket, that attempts to delete any versioned\n objects, you must include an MFA token. If you do not provide one, the entire request will fail, even if\n there are non-versioned objects you are trying to delete. If you provide an invalid token, whether there\n are versioned keys in the request or not, the entire Multi-Object Delete request will fail. For\n information about MFA Delete, see MFA Delete in the\n Amazon S3 User Guide.

\n \n

\n Directory buckets - MFA delete is not supported by directory buckets.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following\n permissions are required in your policies when your DeleteObjects request\n includes specific headers.

    \n
      \n
    • \n

      \n \n s3:DeleteObject\n - To delete an\n object from a bucket, you must always specify the s3:DeleteObject\n permission.

      \n
    • \n
    • \n

      \n \n s3:DeleteObjectVersion\n - To delete a specific version of an object from a versioning-enabled\n bucket, you must specify the s3:DeleteObjectVersion permission.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Content-MD5 request header
\n
\n
    \n
  • \n

    \n General purpose bucket - The Content-MD5 request header\n is required for all Multi-Object Delete requests. Amazon S3 uses the header value to ensure that\n your request body has not been altered in transit.

    \n
  • \n
  • \n

    \n Directory bucket - The Content-MD5 request header\n or a additional checksum request header (including x-amz-checksum-crc32,\n x-amz-checksum-crc32c, x-amz-checksum-sha1, or\n x-amz-checksum-sha256) is required for all Multi-Object Delete requests.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to DeleteObjects:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To delete multiple object versions from a versioned bucket", @@ -25128,7 +25142,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation,\n you must have the s3:PutBucketPublicAccessBlock permission. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

The following operations are related to DeletePublicAccessBlock:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Removes the PublicAccessBlock configuration for an Amazon S3 bucket. To use this operation,\n you must have the s3:PutBucketPublicAccessBlock permission. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

The following operations are related to DeletePublicAccessBlock:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "DELETE", "uri": "/{Bucket}?publicAccessBlock", @@ -25830,7 +25844,7 @@ "target": "com.amazonaws.s3#GetBucketAccelerateConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This implementation of the GET action uses the accelerate subresource to return the\n Transfer Acceleration state of a bucket, which is either Enabled or Suspended.\n Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers\n to and from Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:GetAccelerateConfiguration action. The bucket owner has this permission by default.\n The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

You set the Transfer Acceleration state of an existing bucket to Enabled or\n Suspended by using the PutBucketAccelerateConfiguration operation.

\n

A GET accelerate request does not return a state value for a bucket that has no\n transfer acceleration state. A bucket has no Transfer Acceleration state if a state has never been set\n on the bucket.

\n

For more information about transfer acceleration, see Transfer Acceleration in the\n Amazon S3 User Guide.

\n

The following operations are related to GetBucketAccelerateConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This implementation of the GET action uses the accelerate subresource to return the\n Transfer Acceleration state of a bucket, which is either Enabled or Suspended.\n Amazon S3 Transfer Acceleration is a bucket-level feature that enables you to perform faster data transfers\n to and from Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:GetAccelerateConfiguration action. The bucket owner has this permission by default.\n The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

You set the Transfer Acceleration state of an existing bucket to Enabled or\n Suspended by using the PutBucketAccelerateConfiguration operation.

\n

A GET accelerate request does not return a state value for a bucket that has no\n transfer acceleration state. A bucket has no Transfer Acceleration state if a state has never been set\n on the bucket.

\n

For more information about transfer acceleration, see Transfer Acceleration in the\n Amazon S3 User Guide.

\n

The following operations are related to GetBucketAccelerateConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?accelerate", @@ -25905,7 +25919,7 @@ "target": "com.amazonaws.s3#GetBucketAclOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

This implementation of the GET action uses the acl subresource to return\n the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you\n must have the READ_ACP access to the bucket. If READ_ACP permission is granted\n to the anonymous user, you can return the ACL of the bucket without using an authorization\n header.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read\n ACLs are still supported and return the bucket-owner-full-control ACL with the owner\n being the account that created the bucket. For more information, see Controlling object ownership and\n disabling ACLs in the Amazon S3 User Guide.

\n
\n

The following operations are related to GetBucketAcl:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

This implementation of the GET action uses the acl subresource to return\n the access control list (ACL) of a bucket. To use GET to return the ACL of the bucket, you\n must have the READ_ACP access to the bucket. If READ_ACP permission is granted\n to the anonymous user, you can return the ACL of the bucket without using an authorization\n header.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read\n ACLs are still supported and return the bucket-owner-full-control ACL with the owner\n being the account that created the bucket. For more information, see Controlling object ownership and\n disabling ACLs in the Amazon S3 User Guide.

\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
\n

The following operations are related to GetBucketAcl:

\n ", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?acl", @@ -25975,7 +25989,7 @@ "target": "com.amazonaws.s3#GetBucketAnalyticsConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This implementation of the GET action returns an analytics configuration (identified by the\n analytics configuration ID) from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis\n in the Amazon S3 User Guide.

\n

The following operations are related to GetBucketAnalyticsConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This implementation of the GET action returns an analytics configuration (identified by the\n analytics configuration ID) from the bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class Analysis\n in the Amazon S3 User Guide.

\n

The following operations are related to GetBucketAnalyticsConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?analytics&x-id=GetBucketAnalyticsConfiguration", @@ -26046,7 +26060,7 @@ "target": "com.amazonaws.s3#GetBucketCorsOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the\n bucket.

\n

To use this operation, you must have permission to perform the s3:GetBucketCORS\n action. By default, the bucket owner has this permission and can grant it to others.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n

For more information about CORS, see Enabling Cross-Origin Resource Sharing.

\n

The following operations are related to GetBucketCors:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the Cross-Origin Resource Sharing (CORS) configuration information set for the\n bucket.

\n

To use this operation, you must have permission to perform the s3:GetBucketCORS\n action. By default, the bucket owner has this permission and can grant it to others.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n

For more information about CORS, see Enabling Cross-Origin Resource Sharing.

\n

The following operations are related to GetBucketCors:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get cors configuration set on a bucket", @@ -26136,7 +26150,7 @@ "target": "com.amazonaws.s3#GetBucketEncryptionOutput" }, "traits": { - "smithy.api#documentation": "

Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a\n default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetEncryptionConfiguration permission is required in a policy. The bucket\n owner has this permission by default. The bucket owner can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Operations and Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:GetEncryptionConfiguration\n permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to GetBucketEncryption:

\n ", + "smithy.api#documentation": "

Returns the default encryption configuration for an Amazon S3 bucket. By default, all buckets have a\n default encryption configuration that uses server-side encryption with Amazon S3 managed keys (SSE-S3).

\n \n \n \n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetEncryptionConfiguration permission is required in a policy. The bucket\n owner has this permission by default. The bucket owner can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Operations and Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:GetEncryptionConfiguration\n permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to GetBucketEncryption:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?encryption", @@ -26198,7 +26212,7 @@ "target": "com.amazonaws.s3#GetBucketIntelligentTieringConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to GetBucketIntelligentTieringConfiguration include:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to GetBucketIntelligentTieringConfiguration include:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?intelligent-tiering&x-id=GetBucketIntelligentTieringConfiguration", @@ -26269,7 +26283,7 @@ "target": "com.amazonaws.s3#GetBucketInventoryConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns an S3 Inventory configuration (identified by the inventory configuration ID) from the\n bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission by default and\n can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

\n

The following operations are related to GetBucketInventoryConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns an S3 Inventory configuration (identified by the inventory configuration ID) from the\n bucket.

\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission by default and\n can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory.

\n

The following operations are related to GetBucketInventoryConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?inventory&x-id=GetBucketInventoryConfiguration", @@ -26340,7 +26354,7 @@ "target": "com.amazonaws.s3#GetBucketLifecycleConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Returns the lifecycle configuration information set on the bucket. For information about lifecycle\n configuration, see Object Lifecycle Management.

\n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name\n prefix, one or more object tags, object size, or any combination of these. Accordingly, this section\n describes the latest API, which is compatible with the new functionality. The previous version of the\n API supported filtering based only on an object key name prefix, which is supported for general purpose\n buckets for backward compatibility. For the related API description, see GetBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and cancelling\n multipart uploads. Expiring of versioned objects, transitions and tag filters are not\n supported.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By default, all Amazon S3\n resources are private, including buckets, objects, and related subresources (for example,\n lifecycle configuration and website configuration). Only the resource owner (that is, the\n Amazon Web Services account that created it) can access the resource. The resource owner can optionally\n grant access permissions to others by writing an access policy. For this operation, a user\n must have the s3:GetLifecycleConfiguration permission.

    \n

    For more information about permissions, see Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:GetLifecycleConfiguration permission in an IAM identity-based policy\n to use this operation. Cross-account access to this API operation isn't supported. The\n resource owner can optionally grant access permissions to others by creating a role or user\n for them as long as they are within the same account as the owner and resource.

    \n

    For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM in the Amazon S3 User\n Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n

The following operations are related to GetBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "

Returns the lifecycle configuration information set on the bucket. For information about lifecycle\n configuration, see Object Lifecycle Management.

\n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name\n prefix, one or more object tags, object size, or any combination of these. Accordingly, this section\n describes the latest API, which is compatible with the new functionality. The previous version of the\n API supported filtering based only on an object key name prefix, which is supported for general purpose\n buckets for backward compatibility. For the related API description, see GetBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and cancelling\n multipart uploads. Expiring of versioned objects, transitions and tag filters are not\n supported.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By default, all Amazon S3\n resources are private, including buckets, objects, and related subresources (for example,\n lifecycle configuration and website configuration). Only the resource owner (that is, the\n Amazon Web Services account that created it) can access the resource. The resource owner can optionally\n grant access permissions to others by writing an access policy. For this operation, a user\n must have the s3:GetLifecycleConfiguration permission.

    \n

    For more information about permissions, see Managing Access Permissions to Your\n Amazon S3 Resources.

    \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:GetLifecycleConfiguration permission in an IAM identity-based policy\n to use this operation. Cross-account access to this API operation isn't supported. The\n resource owner can optionally grant access permissions to others by creating a role or user\n for them as long as they are within the same account as the owner and resource.

    \n

    For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM in the Amazon S3 User\n Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n

\n GetBucketLifecycleConfiguration has the following special error:

\n
    \n
  • \n

    Error code: NoSuchLifecycleConfiguration\n

    \n
      \n
    • \n

      Description: The lifecycle configuration does not exist.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n

The following operations are related to GetBucketLifecycleConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get lifecycle configuration on a bucket", @@ -26437,7 +26451,7 @@ }, "traits": { "aws.customizations#s3UnwrappedXmlOutput": {}, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the Region the bucket resides in. You set the bucket's Region using the\n LocationConstraint request parameter in a CreateBucket request. For more\n information, see CreateBucket.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

We recommend that you use HeadBucket to return the Region that a bucket\n resides in. For backward compatibility, Amazon S3 continues to support GetBucketLocation.

\n
\n

The following operations are related to GetBucketLocation:

\n ", + "smithy.api#documentation": "\n

Using the GetBucketLocation operation is no longer a best practice. To return the \n Region that a bucket resides in, we recommend that you use the \n HeadBucket \n operation instead. For backward compatibility, Amazon S3 continues to support the \n GetBucketLocation operation.

\n
\n

Returns the Region the bucket resides in. You set the bucket's Region using the\n LocationConstraint request parameter in a CreateBucket request. For more\n information, see CreateBucket.

\n \n

In a bucket's home Region, calls to the GetBucketLocation operation are governed \n by the bucket's policy. In other Regions, the bucket policy doesn't apply, which means that \n cross-account access won't be authorized. However, calls to the HeadBucket operation \n always return the bucket’s location through an HTTP response header, whether access to the bucket \n is authorized or not. Therefore, we recommend using the HeadBucket operation for \n bucket Region discovery and to avoid using the GetBucketLocation operation.

\n
\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n \n

This operation is not supported for directory buckets.

\n
\n

The following operations are related to GetBucketLocation:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get bucket location", @@ -26512,7 +26526,7 @@ "target": "com.amazonaws.s3#GetBucketLoggingOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns the logging status of a bucket and the permissions users have to view and modify that\n status.

\n

The following operations are related to GetBucketLogging:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns the logging status of a bucket and the permissions users have to view and modify that\n status.

\n

The following operations are related to GetBucketLogging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?logging", @@ -26572,7 +26586,7 @@ "target": "com.amazonaws.s3#GetBucketMetadataConfigurationOutput" }, "traits": { - "smithy.api#documentation": "

Retrieves the S3 Metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 GetBucketMetadataConfiguration API operation with V1 or V2 \n metadata configurations. However, if you try to use the V1 \n GetBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the s3:GetBucketMetadataTableConfiguration\n permission. For more information, see Setting up permissions for\n configuring metadata tables in the Amazon S3 User Guide.

\n \n

The IAM policy action name is the same for the V1 and V2 API operations.

\n
\n
\n
\n

The following operations are related to GetBucketMetadataConfiguration:

\n ", + "smithy.api#documentation": "

Retrieves the S3 Metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 GetBucketMetadataConfiguration API operation with V1 or V2 \n metadata configurations. However, if you try to use the V1 \n GetBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the s3:GetBucketMetadataTableConfiguration\n permission. For more information, see Setting up permissions for\n configuring metadata tables in the Amazon S3 User Guide.

\n \n

The IAM policy action name is the same for the V1 and V2 API operations.

\n
\n
\n
\n

The following operations are related to GetBucketMetadataConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?metadataConfiguration", @@ -26650,7 +26664,7 @@ "target": "com.amazonaws.s3#GetBucketMetadataTableConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

\n We recommend that you retrieve your S3 Metadata configurations by using the V2 \n GetBucketMetadataTableConfiguration API operation. We no longer recommend using the V1 \n GetBucketMetadataTableConfiguration API operation.\n

\n

If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete \n and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create \n a live inventory table.

\n
\n

Retrieves the V1 S3 Metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 GetBucketMetadataConfiguration API operation with V1 or V2 \n metadata table configurations. However, if you try to use the V1 \n GetBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n

Make sure that you update your processes to use the new V2 API operations\n (CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration, and\n DeleteBucketMetadataConfiguration) instead of the V1 API operations.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the s3:GetBucketMetadataTableConfiguration\n permission. For more information, see Setting up permissions for\n configuring metadata tables in the Amazon S3 User Guide.

\n
\n
\n

The following operations are related to GetBucketMetadataTableConfiguration:

\n ", + "smithy.api#documentation": "\n

\n We recommend that you retrieve your S3 Metadata configurations by using the V2 \n GetBucketMetadataTableConfiguration API operation. We no longer recommend using the V1 \n GetBucketMetadataTableConfiguration API operation.\n

\n

If you created your S3 Metadata configuration before July 15, 2025, we recommend that you delete \n and re-create your configuration by using CreateBucketMetadataConfiguration so that you can expire journal table records and create \n a live inventory table.

\n
\n

Retrieves the V1 S3 Metadata configuration for a general purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n \n

You can use the V2 GetBucketMetadataConfiguration API operation with V1 or V2 \n metadata table configurations. However, if you try to use the V1 \n GetBucketMetadataTableConfiguration API operation with V2 configurations, you\n will receive an HTTP 405 Method Not Allowed error.

\n

Make sure that you update your processes to use the new V2 API operations\n (CreateBucketMetadataConfiguration, GetBucketMetadataConfiguration, and\n DeleteBucketMetadataConfiguration) instead of the V1 API operations.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have the s3:GetBucketMetadataTableConfiguration\n permission. For more information, see Setting up permissions for\n configuring metadata tables in the Amazon S3 User Guide.

\n
\n
\n

The following operations are related to GetBucketMetadataTableConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?metadataTable", @@ -26741,7 +26755,7 @@ "target": "com.amazonaws.s3#GetBucketMetricsConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. Note that\n this doesn't include the daily storage metrics.

\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to GetBucketMetricsConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets a metrics configuration (specified by the metrics configuration ID) from the bucket. Note that\n this doesn't include the daily storage metrics.

\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to GetBucketMetricsConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?metrics&x-id=GetBucketMetricsConfiguration", @@ -26812,7 +26826,7 @@ "target": "com.amazonaws.s3#NotificationConfiguration" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the notification configuration of a bucket.

\n

If notifications are not enabled on the bucket, the action returns an empty\n NotificationConfiguration element.

\n

By default, you must be the bucket owner to read the notification configuration of a bucket.\n However, the bucket owner can use a bucket policy to grant permission to other users to read this\n configuration with the s3:GetBucketNotification permission.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n

For more information about setting and reading the notification configuration on a bucket, see\n Setting Up Notification\n of Bucket Events. For more information about bucket policies, see Using Bucket Policies.

\n

The following action is related to GetBucketNotification:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the notification configuration of a bucket.

\n

If notifications are not enabled on the bucket, the action returns an empty\n NotificationConfiguration element.

\n

By default, you must be the bucket owner to read the notification configuration of a bucket.\n However, the bucket owner can use a bucket policy to grant permission to other users to read this\n configuration with the s3:GetBucketNotification permission.

\n

When you use this API operation with an access point, provide the alias of the access point in place of the bucket name.

\n

When you use this API operation with an Object Lambda access point, provide the alias of the Object Lambda access point in place of the bucket name. \nIf the Object Lambda access point alias in a request is not valid, the error code InvalidAccessPointAliasError is returned. \nFor more information about InvalidAccessPointAliasError, see List of\n Error Codes.

\n

For more information about setting and reading the notification configuration on a bucket, see\n Setting Up Notification\n of Bucket Events. For more information about bucket policies, see Using Bucket Policies.

\n

The following action is related to GetBucketNotification:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?notification", @@ -26860,7 +26874,7 @@ "target": "com.amazonaws.s3#GetBucketOwnershipControlsOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have\n the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions,\n see Specifying\n permissions in a policy.

\n \n

A bucket doesn't have OwnershipControls settings in the following cases:

\n
    \n
  • \n

    The bucket was created before the BucketOwnerEnforced ownership setting was\n introduced and you've never explicitly applied this value

    \n
  • \n
  • \n

    You've manually deleted the bucket ownership control value using the\n DeleteBucketOwnershipControls API operation.

    \n
  • \n
\n

By default, Amazon S3 sets OwnershipControls for all newly created buckets.

\n
\n

For information about Amazon S3 Object Ownership, see Using Object Ownership.

\n

The following operations are related to GetBucketOwnershipControls:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation, you must have\n the s3:GetBucketOwnershipControls permission. For more information about Amazon S3 permissions,\n see Specifying\n permissions in a policy.

\n \n

A bucket doesn't have OwnershipControls settings in the following cases:

\n
    \n
  • \n

    The bucket was created before the BucketOwnerEnforced ownership setting was\n introduced and you've never explicitly applied this value

    \n
  • \n
  • \n

    You've manually deleted the bucket ownership control value using the\n DeleteBucketOwnershipControls API operation.

    \n
  • \n
\n

By default, Amazon S3 sets OwnershipControls for all newly created buckets.

\n
\n

For information about Amazon S3 Object Ownership, see Using Object Ownership.

\n

The following operations are related to GetBucketOwnershipControls:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?ownershipControls", @@ -26923,7 +26937,7 @@ "target": "com.amazonaws.s3#GetBucketPolicyOutput" }, "traits": { - "smithy.api#documentation": "

Returns the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must both have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this operation.

\n

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access\n Denied error. If you have the correct permissions, but you're not using an identity that\n belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed\n error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets,\n the root principal in a bucket owner's Amazon Web Services account can perform the\n GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the\n root principal's access. Bucket owner root principals can only be blocked from performing these\n API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetBucketPolicy permission is required in a policy. For more information\n about general purpose buckets bucket policies, see Using Bucket Policies and User\n Policies in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:GetBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies - See Example\n bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following action is related to GetBucketPolicy:

\n ", + "smithy.api#documentation": "

Returns the policy of a specified bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must both have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this operation.

\n

If you don't have GetBucketPolicy permissions, Amazon S3 returns a 403 Access\n Denied error. If you have the correct permissions, but you're not using an identity that\n belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed\n error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets,\n the root principal in a bucket owner's Amazon Web Services account can perform the\n GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the\n root principal's access. Bucket owner root principals can only be blocked from performing these\n API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:GetBucketPolicy permission is required in a policy. For more information\n about general purpose buckets bucket policies, see Using Bucket Policies and User\n Policies in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:GetBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies - See Example\n bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following action is related to GetBucketPolicy:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get bucket policy", @@ -26998,7 +27012,7 @@ "target": "com.amazonaws.s3#GetBucketPolicyStatusOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public. In order to\n use this operation, you must have the s3:GetBucketPolicyStatus permission. For more\n information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n

For more information about when Amazon S3 considers a bucket public, see The Meaning of \"Public\".

\n

The following operations are related to GetBucketPolicyStatus:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves the policy status for an Amazon S3 bucket, indicating whether the bucket is public. In order to\n use this operation, you must have the s3:GetBucketPolicyStatus permission. For more\n information about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n

For more information about when Amazon S3 considers a bucket public, see The Meaning of \"Public\".

\n

The following operations are related to GetBucketPolicyStatus:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?policyStatus", @@ -27061,7 +27075,7 @@ "target": "com.amazonaws.s3#GetBucketReplicationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the replication configuration of a bucket.

\n \n

It can take a while to propagate the put or delete a replication configuration to all Amazon S3\n systems. Therefore, a get request soon after put or delete can return a wrong result.

\n
\n

For information about replication configuration, see Replication in the\n Amazon S3 User Guide.

\n

This action requires permissions for the s3:GetReplicationConfiguration action. For\n more information about permissions, see Using Bucket Policies and User\n Policies.

\n

If you include the Filter element in a replication configuration, you must also include\n the DeleteMarkerReplication and Priority elements. The response also returns\n those elements.

\n

For information about GetBucketReplication errors, see List of replication-related\n error codes\n

\n

The following operations are related to GetBucketReplication:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the replication configuration of a bucket.

\n \n

It can take a while to propagate the put or delete a replication configuration to all Amazon S3\n systems. Therefore, a get request soon after put or delete can return a wrong result.

\n
\n

For information about replication configuration, see Replication in the\n Amazon S3 User Guide.

\n

This action requires permissions for the s3:GetReplicationConfiguration action. For\n more information about permissions, see Using Bucket Policies and User\n Policies.

\n

If you include the Filter element in a replication configuration, you must also include\n the DeleteMarkerReplication and Priority elements. The response also returns\n those elements.

\n

For information about GetBucketReplication errors, see List of replication-related\n error codes\n

\n

The following operations are related to GetBucketReplication:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get replication configuration set on a bucket", @@ -27147,7 +27161,7 @@ "target": "com.amazonaws.s3#GetBucketRequestPaymentOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the request payment configuration of a bucket. To use this version of the operation, you\n must be the bucket owner. For more information, see Requester Pays Buckets.

\n

The following operations are related to GetBucketRequestPayment:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the request payment configuration of a bucket. To use this version of the operation, you\n must be the bucket owner. For more information, see Requester Pays Buckets.

\n

The following operations are related to GetBucketRequestPayment:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get bucket versioning configuration", @@ -27222,7 +27236,7 @@ "target": "com.amazonaws.s3#GetBucketTaggingOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the tag set associated with the bucket.

\n

To use this operation, you must have permission to perform the s3:GetBucketTagging\n action. By default, the bucket owner has this permission and can grant this permission to others.

\n

\n GetBucketTagging has the following special error:

\n
    \n
  • \n

    Error code: NoSuchTagSet\n

    \n
      \n
    • \n

      Description: There is no tag set associated with the bucket.

      \n
    • \n
    \n
  • \n
\n

The following operations are related to GetBucketTagging:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the tag set associated with the bucket.

\n

To use this operation, you must have permission to perform the s3:GetBucketTagging\n action. By default, the bucket owner has this permission and can grant this permission to others.

\n

\n GetBucketTagging has the following special error:

\n
    \n
  • \n

    Error code: NoSuchTagSet\n

    \n
      \n
    • \n

      Description: There is no tag set associated with the bucket.

      \n
    • \n
    \n
  • \n
\n

The following operations are related to GetBucketTagging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get tag set associated with a bucket", @@ -27307,7 +27321,7 @@ "target": "com.amazonaws.s3#GetBucketVersioningOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the versioning state of a bucket.

\n

To retrieve the versioning state of a bucket, you must be the bucket owner.

\n

This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete\n status is enabled, the bucket owner must use an authentication device to change the\n versioning state of the bucket.

\n

The following operations are related to GetBucketVersioning:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the versioning state of a bucket.

\n

To retrieve the versioning state of a bucket, you must be the bucket owner.

\n

This implementation also returns the MFA Delete status of the versioning state. If the MFA Delete\n status is enabled, the bucket owner must use an authentication device to change the\n versioning state of the bucket.

\n

The following operations are related to GetBucketVersioning:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get bucket versioning configuration", @@ -27390,7 +27404,7 @@ "target": "com.amazonaws.s3#GetBucketWebsiteOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket\n as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3.

\n

This GET action requires the S3:GetBucketWebsite permission. By default, only the\n bucket owner can read the bucket website configuration. However, bucket owners can allow other users to\n read the website configuration by writing a bucket policy granting them the\n S3:GetBucketWebsite permission.

\n

The following operations are related to GetBucketWebsite:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the website configuration for a bucket. To host website on Amazon S3, you can configure a bucket\n as website by adding a website configuration. For more information about hosting websites, see Hosting Websites on Amazon S3.

\n

This GET action requires the S3:GetBucketWebsite permission. By default, only the\n bucket owner can read the bucket website configuration. However, bucket owners can allow other users to\n read the website configuration by writing a bucket policy granting them the\n S3:GetBucketWebsite permission.

\n

The following operations are related to GetBucketWebsite:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get bucket website configuration", @@ -27506,7 +27520,7 @@ "SHA1" ] }, - "smithy.api#documentation": "

Retrieves an object from Amazon S3.

\n

In the GetObject request, specify the full key name for the object.

\n

\n General purpose buckets - Both the virtual-hosted-style requests\n and the path-style requests are supported. For a virtual hosted-style request example, if you have the\n object photos/2006/February/sample.jpg, specify the object key name as\n /photos/2006/February/sample.jpg. For a path-style request example, if you have the\n object photos/2006/February/sample.jpg in the bucket named examplebucket,\n specify the object key name as /examplebucket/photos/2006/February/sample.jpg. For more\n information about request types, see HTTP Host Header Bucket\n Specification in the Amazon S3 User Guide.

\n

\n Directory buckets -\n Only virtual-hosted-style requests are supported. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named amzn-s3-demo-bucket--usw2-az1--x-s3, specify the object key name as /photos/2006/February/sample.jpg. Also, when you make requests to this API operation, your requests are sent to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You must have the\n required permissions in a policy. To use GetObject, you must have the\n READ access to the object (or version). If you grant READ access\n to the anonymous user, the GetObject operation returns the object without using\n an authorization header. For more information, see Specifying permissions in a\n policy in the Amazon S3 User Guide.

    \n

    If you include a versionId in your request header, you must have the\n s3:GetObjectVersion permission to access a specific version of an object. The\n s3:GetObject permission is not required in this scenario.

    \n

    If you request the current version of an object without a specific versionId\n in the request header, only the s3:GetObject permission is required. The\n s3:GetObjectVersion permission is not required in this scenario.

    \n

    If the object that you request doesn’t exist, the error that Amazon S3 returns depends on\n whether you also have the s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an\n HTTP status code 404 Not Found error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 Access Denied error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is\n encrypted using SSE-KMS, you must also have the kms:GenerateDataKey and\n kms:Decrypt permissions in IAM identity-based policies and KMS key policies\n for the KMS key.

    \n
  • \n
\n
\n
Storage classes
\n
\n

If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval storage class,\n the S3 Glacier Deep Archive storage class, the S3 Intelligent-Tiering Archive Access tier, or the\n S3 Intelligent-Tiering Deep Archive Access tier, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this operation returns an InvalidObjectState\n error. For information about restoring archived objects, see Restoring Archived Objects in the\n Amazon S3 User Guide.

\n

\n Directory buckets -\n Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones. \nUnsupported storage class values won't write a destination object and will respond with the HTTP status code 400 Bad Request.

\n
\n
Encryption
\n
\n

Encryption request headers, like x-amz-server-side-encryption, should not be sent\n for the GetObject requests, if your object uses server-side encryption with Amazon S3\n managed encryption keys (SSE-S3), server-side encryption with Key Management Service (KMS) keys (SSE-KMS), or\n dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you include the header in\n your GetObject requests for the object that uses these types of keys, you’ll get an\n HTTP 400 Bad Request error.

\n

\n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
Overriding response header values through the request
\n
\n

There are times when you want to override certain response header values of a\n GetObject response. For example, you might override the\n Content-Disposition response header value through your GetObject\n request.

\n

You can override values for a set of response headers. These modified response header values\n are included only in a successful response, that is, when the HTTP status code 200 OK\n is returned. The headers you can override using the following query parameters in the request are\n a subset of the headers that Amazon S3 accepts when you create an object.

\n

The response headers that you can override for the GetObject response are\n Cache-Control, Content-Disposition, Content-Encoding,\n Content-Language, Content-Type, and Expires.

\n

To override values for a set of response headers in the GetObject response, you\n can use the following query parameters in the request.

\n
    \n
  • \n

    \n response-cache-control\n

    \n
  • \n
  • \n

    \n response-content-disposition\n

    \n
  • \n
  • \n

    \n response-content-encoding\n

    \n
  • \n
  • \n

    \n response-content-language\n

    \n
  • \n
  • \n

    \n response-content-type\n

    \n
  • \n
  • \n

    \n response-expires\n

    \n
  • \n
\n \n

When you use these parameters, you must sign the request by using either an Authorization\n header or a presigned URL. These parameters cannot be used with an unsigned (anonymous)\n request.

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to GetObject:

\n ", + "smithy.api#documentation": "

Retrieves an object from Amazon S3.

\n

In the GetObject request, specify the full key name for the object.

\n

\n General purpose buckets - Both the virtual-hosted-style requests\n and the path-style requests are supported. For a virtual hosted-style request example, if you have the\n object photos/2006/February/sample.jpg, specify the object key name as\n /photos/2006/February/sample.jpg. For a path-style request example, if you have the\n object photos/2006/February/sample.jpg in the bucket named examplebucket,\n specify the object key name as /examplebucket/photos/2006/February/sample.jpg. For more\n information about request types, see HTTP Host Header Bucket\n Specification in the Amazon S3 User Guide.

\n

\n Directory buckets -\n Only virtual-hosted-style requests are supported. For a virtual hosted-style request example, if you have the object photos/2006/February/sample.jpg in the bucket named amzn-s3-demo-bucket--usw2-az1--x-s3, specify the object key name as /photos/2006/February/sample.jpg. Also, when you make requests to this API operation, your requests are sent to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - You must have the\n required permissions in a policy. To use GetObject, you must have the\n READ access to the object (or version). If you grant READ access\n to the anonymous user, the GetObject operation returns the object without using\n an authorization header. For more information, see Specifying permissions in a\n policy in the Amazon S3 User Guide.

    \n

    If you include a versionId in your request header, you must have the\n s3:GetObjectVersion permission to access a specific version of an object. The\n s3:GetObject permission is not required in this scenario.

    \n

    If you request the current version of an object without a specific versionId\n in the request header, only the s3:GetObject permission is required. The\n s3:GetObjectVersion permission is not required in this scenario.

    \n

    If the object that you request doesn’t exist, the error that Amazon S3 returns depends on\n whether you also have the s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an\n HTTP status code 404 Not Found error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 Access Denied error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is\n encrypted using SSE-KMS, you must also have the kms:GenerateDataKey and\n kms:Decrypt permissions in IAM identity-based policies and KMS key policies\n for the KMS key.

    \n
  • \n
\n
\n
Storage classes
\n
\n

If the object you are retrieving is stored in the S3 Glacier Flexible Retrieval storage class,\n the S3 Glacier Deep Archive storage class, the S3 Intelligent-Tiering Archive Access tier, or the\n S3 Intelligent-Tiering Deep Archive Access tier, before you can retrieve the object you must first restore a\n copy using RestoreObject. Otherwise, this operation returns an InvalidObjectState\n error. For information about restoring archived objects, see Restoring Archived Objects in the\n Amazon S3 User Guide.

\n

\n Directory buckets -\n Directory buckets only support EXPRESS_ONEZONE (the S3 Express One Zone storage class) in Availability Zones and ONEZONE_IA (the S3 One Zone-Infrequent Access storage class) in Dedicated Local Zones. \nUnsupported storage class values won't write a destination object and will respond with the HTTP status code 400 Bad Request.

\n
\n
Encryption
\n
\n

Encryption request headers, like x-amz-server-side-encryption, should not be sent\n for the GetObject requests, if your object uses server-side encryption with Amazon S3\n managed encryption keys (SSE-S3), server-side encryption with Key Management Service (KMS) keys (SSE-KMS), or\n dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS). If you include the header in\n your GetObject requests for the object that uses these types of keys, you’ll get an\n HTTP 400 Bad Request error.

\n

\n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
Overriding response header values through the request
\n
\n

There are times when you want to override certain response header values of a\n GetObject response. For example, you might override the\n Content-Disposition response header value through your GetObject\n request.

\n

You can override values for a set of response headers. These modified response header values\n are included only in a successful response, that is, when the HTTP status code 200 OK\n is returned. The headers you can override using the following query parameters in the request are\n a subset of the headers that Amazon S3 accepts when you create an object.

\n

The response headers that you can override for the GetObject response are\n Cache-Control, Content-Disposition, Content-Encoding,\n Content-Language, Content-Type, and Expires.

\n

To override values for a set of response headers in the GetObject response, you\n can use the following query parameters in the request.

\n
    \n
  • \n

    \n response-cache-control\n

    \n
  • \n
  • \n

    \n response-content-disposition\n

    \n
  • \n
  • \n

    \n response-content-encoding\n

    \n
  • \n
  • \n

    \n response-content-language\n

    \n
  • \n
  • \n

    \n response-content-type\n

    \n
  • \n
  • \n

    \n response-expires\n

    \n
  • \n
\n \n

When you use these parameters, you must sign the request by using either an Authorization\n header or a presigned URL. These parameters cannot be used with an unsigned (anonymous)\n request.

\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to GetObject:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To retrieve a byte range of an object ", @@ -27567,7 +27581,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the access control list (ACL) of an object. To use this operation, you must have\n s3:GetObjectAcl permissions or READ_ACP access to the object. For more\n information, see Mapping of ACL\n permissions and access policy permissions in the Amazon S3 User Guide\n

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

By default, GET returns ACL information about the current version of an object. To return ACL\n information about a different version, use the versionId subresource.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read\n ACLs are still supported and return the bucket-owner-full-control ACL with the owner\n being the account that created the bucket. For more information, see Controlling object ownership and\n disabling ACLs in the Amazon S3 User Guide.

\n
\n

The following operations are related to GetObjectAcl:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns the access control list (ACL) of an object. To use this operation, you must have\n s3:GetObjectAcl permissions or READ_ACP access to the object. For more\n information, see Mapping of ACL\n permissions and access policy permissions in the Amazon S3 User Guide\n

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

By default, GET returns ACL information about the current version of an object. To return ACL\n information about a different version, use the versionId subresource.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, requests to read\n ACLs are still supported and return the bucket-owner-full-control ACL with the owner\n being the account that created the bucket. For more information, see Controlling object ownership and\n disabling ACLs in the Amazon S3 User Guide.

\n
\n

The following operations are related to GetObjectAcl:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To retrieve object ACL", @@ -27717,7 +27731,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves all of the metadata from an object without returning the object itself. This operation is\n useful if you're interested only in an object's metadata.

\n

\n GetObjectAttributes combines the functionality of HeadObject and\n ListParts. All of the data returned with both of those individual calls can be returned\n with a single call to GetObjectAttributes.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To use\n GetObjectAttributes, you must have READ access to the object.

    \n

    The other permissions that you need to use this operation depend on whether the bucket is\n versioned and if a version ID is passed in the GetObjectAttributes request.

    \n
      \n
    • \n

      If you pass a version ID in your request, you need both the\n s3:GetObjectVersion and s3:GetObjectVersionAttributes\n permissions.

      \n
    • \n
    • \n

      If you do not pass a version ID in your request, you need the\n s3:GetObject and s3:GetObjectAttributes permissions.

      \n
    • \n
    \n

    For more information, see Specifying Permissions in a\n Policy in the Amazon S3 User Guide.

    \n

    If the object that you request does not exist, the error Amazon S3 returns depends on whether\n you also have the s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an\n HTTP status code 404 Not Found (\"no such key\") error.

      \n
    • \n
    • \n

      If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 Forbidden (\"access denied\") error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If\n the\n object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and\n kms:Decrypt permissions in IAM identity-based policies and KMS key policies\n for the KMS key.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption, should not be\n sent for HEAD requests if your object uses server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or\n server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you PUT an object\n to S3 and want to specify the encryption method. If you include this header in a\n GET request for an object that uses these types of keys, you’ll get an HTTP\n 400 Bad Request error. It's because the encryption method can't be changed when\n you retrieve the object.

\n
\n

If you encrypted an object when you stored the object in Amazon S3 by using server-side encryption\n with customer-provided encryption keys (SSE-C), then when you retrieve the metadata from the\n object, you must use the following headers. These headers provide the server with the encryption\n key required to retrieve the object's metadata. The headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

\n \n

\n Directory bucket permissions -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n
\n
\n
Versioning
\n
\n

\n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets.\n You can only specify null to the versionId query parameter in the\n request.

\n
\n
Conditional request headers
\n
\n

Consider the following when using request headers:

\n
    \n
  • \n

    If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK\n and the data requested:

    \n
      \n
    • \n

      \n If-Match condition evaluates to true.

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to false.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
  • \n

    If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not\n Modified:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to false.

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to true.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following actions are related to GetObjectAttributes:

\n ", + "smithy.api#documentation": "

Retrieves all of the metadata from an object without returning the object itself. This operation is\n useful if you're interested only in an object's metadata.

\n

\n GetObjectAttributes combines the functionality of HeadObject and\n ListParts. All of the data returned with both of those individual calls can be returned\n with a single call to GetObjectAttributes.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To use\n GetObjectAttributes, you must have READ access to the object.

    \n

    The other permissions that you need to use this operation depend on whether the bucket is\n versioned and if a version ID is passed in the GetObjectAttributes request.

    \n
      \n
    • \n

      If you pass a version ID in your request, you need both the\n s3:GetObjectVersion and s3:GetObjectVersionAttributes\n permissions.

      \n
    • \n
    • \n

      If you do not pass a version ID in your request, you need the\n s3:GetObject and s3:GetObjectAttributes permissions.

      \n
    • \n
    \n

    For more information, see Specifying Permissions in a\n Policy in the Amazon S3 User Guide.

    \n

    If the object that you request does not exist, the error Amazon S3 returns depends on whether\n you also have the s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an\n HTTP status code 404 Not Found (\"no such key\") error.

      \n
    • \n
    • \n

      If you don't have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 Forbidden (\"access denied\") error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If\n the\n object is encrypted with SSE-KMS, you must also have the kms:GenerateDataKey and\n kms:Decrypt permissions in IAM identity-based policies and KMS key policies\n for the KMS key.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption, should not be\n sent for HEAD requests if your object uses server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or\n server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you PUT an object\n to S3 and want to specify the encryption method. If you include this header in a\n GET request for an object that uses these types of keys, you’ll get an HTTP\n 400 Bad Request error. It's because the encryption method can't be changed when\n you retrieve the object.

\n
\n

If you encrypted an object when you stored the object in Amazon S3 by using server-side encryption\n with customer-provided encryption keys (SSE-C), then when you retrieve the metadata from the\n object, you must use the following headers. These headers provide the server with the encryption\n key required to retrieve the object's metadata. The headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

\n \n

\n Directory bucket permissions -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). We recommend that the bucket's default encryption uses the desired encryption configuration and you don't override the bucket default encryption in your \n CreateSession requests or PUT object requests. Then, new objects \n are automatically encrypted with the desired encryption settings. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide. For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

\n
\n
\n
Versioning
\n
\n

\n Directory buckets - S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets.\n You can only specify null to the versionId query parameter in the\n request.

\n
\n
Conditional request headers
\n
\n

Consider the following when using request headers:

\n
    \n
  • \n

    If both of the If-Match and If-Unmodified-Since headers are\n present in the request as follows, then Amazon S3 returns the HTTP status code 200 OK\n and the data requested:

    \n
      \n
    • \n

      \n If-Match condition evaluates to true.

      \n
    • \n
    • \n

      \n If-Unmodified-Since condition evaluates to false.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
  • \n

    If both of the If-None-Match and If-Modified-Since headers are\n present in the request as follows, then Amazon S3 returns the HTTP status code 304 Not\n Modified:

    \n
      \n
    • \n

      \n If-None-Match condition evaluates to false.

      \n
    • \n
    • \n

      \n If-Modified-Since condition evaluates to true.

      \n
    • \n
    \n

    For more information about conditional requests, see RFC 7232.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following actions are related to GetObjectAttributes:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?attributes", @@ -27937,7 +27951,7 @@ "target": "com.amazonaws.s3#GetObjectLegalHoldOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets an object's current legal hold status. For more information, see Locking Objects.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

The following action is related to GetObjectLegalHold:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets an object's current legal hold status. For more information, see Locking Objects.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

The following action is related to GetObjectLegalHold:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?legal-hold", @@ -28017,7 +28031,7 @@ "target": "com.amazonaws.s3#GetObjectLockConfigurationOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock configuration\n will be applied by default to every new object placed in the specified bucket. For more information, see\n Locking Objects.

\n

The following action is related to GetObjectLockConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Gets the Object Lock configuration for a bucket. The rule specified in the Object Lock configuration\n will be applied by default to every new object placed in the specified bucket. For more information, see\n Locking Objects.

\n

The following action is related to GetObjectLockConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?object-lock", @@ -28136,7 +28150,7 @@ "ChecksumCRC32C": { "target": "com.amazonaws.s3#ChecksumCRC32C", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32C checksum of the object. This will only be present if the object was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32C checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-crc32c" } }, @@ -28150,14 +28164,14 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha1" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. For more information, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha256" } }, @@ -28514,7 +28528,7 @@ "target": "com.amazonaws.s3#GetObjectRetentionOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves an object's retention settings. For more information, see Locking Objects.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

The following action is related to GetObjectRetention:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves an object's retention settings. For more information, see Locking Objects.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

The following action is related to GetObjectRetention:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}/{Key+}?retention", @@ -28594,7 +28608,7 @@ "target": "com.amazonaws.s3#GetObjectTaggingOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the tag-set of an object. You send the GET request against the tagging subresource\n associated with the object.

\n

To use this operation, you must have permission to perform the s3:GetObjectTagging\n action. By default, the GET action returns information about current version of an object. For a\n versioned bucket, you can have multiple versions of an object in your bucket. To retrieve tags of any\n other version, use the versionId query parameter. You also need permission for the\n s3:GetObjectVersionTagging action.

\n

By default, the bucket owner has this permission and can grant this permission to others.

\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n

The following actions are related to GetObjectTagging:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns the tag-set of an object. You send the GET request against the tagging subresource\n associated with the object.

\n

To use this operation, you must have permission to perform the s3:GetObjectTagging\n action. By default, the GET action returns information about current version of an object. For a\n versioned bucket, you can have multiple versions of an object in your bucket. To retrieve tags of any\n other version, use the versionId query parameter. You also need permission for the\n s3:GetObjectVersionTagging action.

\n

By default, the bucket owner has this permission and can grant this permission to others.

\n

For information about the Amazon S3 object tagging feature, see Object Tagging.

\n

The following actions are related to GetObjectTagging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To retrieve tag set of a specific object version", @@ -28722,7 +28736,7 @@ "target": "com.amazonaws.s3#GetObjectTorrentOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing\n large files.

\n \n

You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted\n using server-side encryption with a customer-provided encryption key.

\n
\n

To use GET, you must have READ access to the object.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

The following action is related to GetObjectTorrent:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns torrent files from a bucket. BitTorrent can save you bandwidth when you're distributing\n large files.

\n \n

You can get torrent only for objects that are less than 5 GB in size, and that are not encrypted\n using server-side encryption with a customer-provided encryption key.

\n
\n

To use GET, you must have READ access to the object.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

The following action is related to GetObjectTorrent:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To retrieve torrent files for an object", @@ -28812,7 +28826,7 @@ "target": "com.amazonaws.s3#GetPublicAccessBlockOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use this\n operation, you must have the s3:GetBucketPublicAccessBlock permission. For more information\n about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it\n checks the PublicAccessBlock configuration for both the bucket (or the bucket that\n contains the object) and the bucket owner's account. If the PublicAccessBlock settings\n are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the\n bucket-level and account-level settings.

\n
\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n

The following operations are related to GetPublicAccessBlock:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Retrieves the PublicAccessBlock configuration for an Amazon S3 bucket. To use this\n operation, you must have the s3:GetBucketPublicAccessBlock permission. For more information\n about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it\n checks the PublicAccessBlock configuration for both the bucket (or the bucket that\n contains the object) and the bucket owner's account. If the PublicAccessBlock settings\n are different between the bucket and the account, Amazon S3 uses the most restrictive combination of the\n bucket-level and account-level settings.

\n
\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n

The following operations are related to GetPublicAccessBlock:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?publicAccessBlock", @@ -28958,7 +28972,7 @@ } }, "traits": { - "smithy.api#documentation": "

Container for the person being granted permissions.

" + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Container for the person being granted permissions.

" } }, "com.amazonaws.s3#Grants": { @@ -28984,7 +28998,7 @@ } ], "traits": { - "smithy.api#documentation": "

You can use this operation to determine if a bucket exists and if you have permission to access it.\n The action returns a 200 OK if the bucket exists and you have permission to access\n it.

\n \n

If the bucket does not exist or you do not have permission to access it, the HEAD\n request returns a generic 400 Bad Request, 403 Forbidden or 404 Not\n Found code. A message body is not included, so you cannot determine the exception beyond\n these HTTP response codes.

\n
\n
\n
Authentication and authorization
\n
\n

\n General purpose buckets - Request to public buckets that\n grant the s3:ListBucket permission publicly do not need to be signed. All other\n HeadBucket requests must be authenticated and signed by using IAM credentials\n (access key ID and secret access key for the IAM identities). All headers with the\n x-amz- prefix, including x-amz-copy-source, must be signed. For more\n information, see REST Authentication.

\n

\n Directory buckets - You must use IAM credentials to\n authenticate and authorize your access to the HeadBucket API operation, instead of\n using the temporary security credentials through the CreateSession API\n operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

\n
\n
Permissions
\n
\n

\n \n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n \n

You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
", + "smithy.api#documentation": "

You can use this operation to determine if a bucket exists and if you have permission to access it.\n The action returns a 200 OK HTTP status code if the bucket exists and you have \n permission to access it. You can make a HeadBucket call on any bucket name to any \n Region in the partition, and regardless of the permissions on the bucket, you will receive a \n response header with the correct bucket location so that you can then make a proper, signed request \n to the appropriate Regional endpoint.

\n \n

If the bucket doesn't exist or you don't have permission to access it, the HEAD \n request returns a generic 400 Bad Request, 403 Forbidden, or \n 404 Not Found HTTP status code. A message body isn't included, so you can't determine \n the exception beyond these HTTP response codes.

\n
\n
\n
Authentication and authorization
\n
\n

\n General purpose buckets - Request to public buckets that\n grant the s3:ListBucket permission publicly do not need to be signed. All other\n HeadBucket requests must be authenticated and signed by using IAM credentials\n (access key ID and secret access key for the IAM identities). All headers with the\n x-amz- prefix, including x-amz-copy-source, must be signed. For more\n information, see REST Authentication.

\n

\n Directory buckets - You must use IAM credentials to\n authenticate and authorize your access to the HeadBucket API operation, instead of\n using the temporary security credentials through the CreateSession API\n operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

\n
\n
Permissions
\n
\n

\n \n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n \n

You must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://bucket-name.s3express-zone-id.region-code.amazonaws.com. Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To determine if bucket exists", @@ -29114,7 +29128,7 @@ } ], "traits": { - "smithy.api#documentation": "

The HEAD operation retrieves metadata from an object without returning the object\n itself. This operation is useful if you're interested only in an object's metadata.

\n \n

A HEAD request has the same options as a GET operation on an object. The\n response is identical to the GET response except that there is no response body. Because\n of this, if the HEAD request generates an error, it returns a generic code, such as\n 400 Bad Request, 403 Forbidden, 404 Not Found, 405\n Method Not Allowed, 412 Precondition Failed, or 304 Not Modified.\n It's not possible to retrieve the exact exception of these error codes.

\n
\n

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

\n
\n
Permissions
\n
\n

\n
    \n
  • \n

    \n General purpose bucket permissions - To use\n HEAD, you must have the s3:GetObject permission. You need the\n relevant read object (or version) permission for this operation. For more information, see\n Actions, resources,\n and condition keys for Amazon S3 in the Amazon S3 User Guide. For more\n information about the permissions to S3 API operations by S3 resource types, see Required permissions for\n Amazon S3 API operations in the Amazon S3 User Guide.

    \n

    If the object you request doesn't exist, the error that Amazon S3 returns depends on whether\n you also have the s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an\n HTTP status code 404 Not Found error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 Forbidden error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If you enable x-amz-checksum-mode in the request and the object is encrypted\n with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key to retrieve the checksum of\n the object.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption, should not be\n sent for HEAD requests if your object uses server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or\n server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you PUT an object\n to S3 and want to specify the encryption method. If you include this header in a\n HEAD request for an object that uses these types of keys, you’ll get an HTTP\n 400 Bad Request error. It's because the encryption method can't be changed when\n you retrieve the object.

\n
\n

If you encrypt an object by using server-side encryption with customer-provided encryption\n keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the\n object, you must use the following headers to provide the encryption key for the server to be able\n to retrieve the object's metadata. The headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

\n \n

\n Directory bucket -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
\n
Versioning
\n
\n
    \n
  • \n

    If the current version of the object is a delete marker, Amazon S3 behaves as if the object was\n deleted and includes x-amz-delete-marker: true in the response.

    \n
  • \n
  • \n

    If the specified version is a delete marker, the response returns a 405 Method Not\n Allowed error and the Last-Modified: timestamp response header.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets -\n Delete marker is not supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null to the\n versionId query parameter in the request.

    \n
  • \n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n \n

For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
\n

The following actions are related to HeadObject:

\n ", + "smithy.api#documentation": "

The HEAD operation retrieves metadata from an object without returning the object\n itself. This operation is useful if you're interested only in an object's metadata.

\n \n

A HEAD request has the same options as a GET operation on an object. The\n response is identical to the GET response except that there is no response body. Because\n of this, if the HEAD request generates an error, it returns a generic code, such as\n 400 Bad Request, 403 Forbidden, 404 Not Found, 405\n Method Not Allowed, 412 Precondition Failed, or 304 Not Modified.\n It's not possible to retrieve the exact exception of these error codes.

\n
\n

Request headers are limited to 8 KB in size. For more information, see Common Request Headers.

\n
\n
Permissions
\n
\n

\n
    \n
  • \n

    \n General purpose bucket permissions - To use\n HEAD, you must have the s3:GetObject permission. You need the\n relevant read object (or version) permission for this operation. For more information, see\n Actions, resources,\n and condition keys for Amazon S3 in the Amazon S3 User Guide. For more\n information about the permissions to S3 API operations by S3 resource types, see Required permissions for\n Amazon S3 API operations in the Amazon S3 User Guide.

    \n

    If the object you request doesn't exist, the error that Amazon S3 returns depends on whether\n you also have the s3:ListBucket permission.

    \n
      \n
    • \n

      If you have the s3:ListBucket permission on the bucket, Amazon S3 returns an\n HTTP status code 404 Not Found error.

      \n
    • \n
    • \n

      If you don’t have the s3:ListBucket permission, Amazon S3 returns an HTTP\n status code 403 Forbidden error.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If you enable x-amz-checksum-mode in the request and the object is encrypted\n with Amazon Web Services Key Management Service (Amazon Web Services KMS), you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key to retrieve the checksum of\n the object.

    \n
  • \n
\n
\n
Encryption
\n
\n \n

Encryption request headers, like x-amz-server-side-encryption, should not be\n sent for HEAD requests if your object uses server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), or\n server-side encryption with Amazon S3 managed encryption keys (SSE-S3). The\n x-amz-server-side-encryption header is used when you PUT an object\n to S3 and want to specify the encryption method. If you include this header in a\n HEAD request for an object that uses these types of keys, you’ll get an HTTP\n 400 Bad Request error. It's because the encryption method can't be changed when\n you retrieve the object.

\n
\n

If you encrypt an object by using server-side encryption with customer-provided encryption\n keys (SSE-C) when you store the object in Amazon S3, then when you retrieve the metadata from the\n object, you must use the following headers to provide the encryption key for the server to be able\n to retrieve the object's metadata. The headers are:

\n
    \n
  • \n

    \n x-amz-server-side-encryption-customer-algorithm\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key\n

    \n
  • \n
  • \n

    \n x-amz-server-side-encryption-customer-key-MD5\n

    \n
  • \n
\n

For more information about SSE-C, see Server-Side Encryption (Using\n Customer-Provided Encryption Keys) in the Amazon S3 User Guide.

\n \n

\n Directory bucket -\n For directory buckets, there are only two supported options for server-side encryption: SSE-S3 and SSE-KMS. SSE-C isn't supported. For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

\n
\n
\n
Versioning
\n
\n
    \n
  • \n

    If the current version of the object is a delete marker, Amazon S3 behaves as if the object was\n deleted and includes x-amz-delete-marker: true in the response.

    \n
  • \n
  • \n

    If the specified version is a delete marker, the response returns a 405 Method Not\n Allowed error and the Last-Modified: timestamp response header.

    \n
  • \n
\n \n
    \n
  • \n

    \n Directory buckets -\n Delete marker is not supported for directory buckets.

    \n
  • \n
  • \n

    \n Directory buckets -\n S3 Versioning isn't enabled and supported for directory buckets. For this API operation, only the null value of the version ID is supported by directory buckets. You can only specify null to the\n versionId query parameter in the request.

    \n
  • \n
\n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n \n

For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
\n

The following actions are related to HeadObject:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To retrieve metadata of an object without returning the object itself", @@ -29226,7 +29240,7 @@ "ChecksumCRC32": { "target": "com.amazonaws.s3#ChecksumCRC32", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-crc32" } }, @@ -29247,14 +29261,14 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha1" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha256" } }, @@ -30556,7 +30570,7 @@ "target": "com.amazonaws.s3#Prefix", "traits": { "smithy.api#deprecated": {}, - "smithy.api#documentation": "

Prefix identifying one or more objects to which the rule applies. This is no\n longer used; use Filter instead.

\n \n

Replacement must be made for object keys containing special characters (such as carriage returns) when using \n XML requests. For more information, see \n XML related object key constraints.

\n
" + "smithy.api#documentation": "

The general purpose bucket prefix that identifies one or more objects to which the rule applies. We recommend using Filter instead of Prefix for new PUTs. Previous configurations where a prefix is defined will continue to operate as before.

\n \n

Replacement must be made for object keys containing special characters (such as carriage returns) when using \n XML requests. For more information, see \n XML related object key constraints.

\n
" } }, "Filter": { @@ -30683,7 +30697,7 @@ "target": "com.amazonaws.s3#ListBucketAnalyticsConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Lists the analytics configurations for the bucket. You can have up to 1,000 analytics configurations\n per bucket.

\n

This action supports list pagination and does not return more than 100 configurations at a time. You\n should always check the IsTruncated element in the response. If there are no more\n configurations to list, IsTruncated is set to false. If there are more configurations to\n list, IsTruncated is set to true, and there will be a value in\n NextContinuationToken. You use the NextContinuationToken value to continue\n the pagination of the list by passing the value in continuation-token in the request to GET\n the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n

The following operations are related to ListBucketAnalyticsConfigurations:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Lists the analytics configurations for the bucket. You can have up to 1,000 analytics configurations\n per bucket.

\n

This action supports list pagination and does not return more than 100 configurations at a time. You\n should always check the IsTruncated element in the response. If there are no more\n configurations to list, IsTruncated is set to false. If there are more configurations to\n list, IsTruncated is set to true, and there will be a value in\n NextContinuationToken. You use the NextContinuationToken value to continue\n the pagination of the list by passing the value in continuation-token in the request to GET\n the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about Amazon S3 analytics feature, see Amazon S3 Analytics – Storage Class\n Analysis.

\n

The following operations are related to ListBucketAnalyticsConfigurations:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?analytics&x-id=ListBucketAnalyticsConfigurations", @@ -30773,7 +30787,7 @@ "target": "com.amazonaws.s3#ListBucketIntelligentTieringConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to ListBucketIntelligentTieringConfigurations include:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Lists the S3 Intelligent-Tiering configuration from the specified bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to ListBucketIntelligentTieringConfigurations include:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?intelligent-tiering&x-id=ListBucketIntelligentTieringConfigurations", @@ -30862,7 +30876,7 @@ "target": "com.amazonaws.s3#ListBucketInventoryConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns a list of S3 Inventory configurations for the bucket. You can have up to 1,000 analytics\n configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations at a time.\n Always check the IsTruncated element in the response. If there are no more configurations\n to list, IsTruncated is set to false. If there are more configurations to list,\n IsTruncated is set to true, and there is a value in NextContinuationToken.\n You use the NextContinuationToken value to continue the pagination of the list by passing\n the value in continuation-token in the request to GET the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory\n

\n

The following operations are related to ListBucketInventoryConfigurations:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Returns a list of S3 Inventory configurations for the bucket. You can have up to 1,000 inventory\n configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations at a time.\n Always check the IsTruncated element in the response. If there are no more configurations\n to list, IsTruncated is set to false. If there are more configurations to list,\n IsTruncated is set to true, and there is a value in NextContinuationToken.\n You use the NextContinuationToken value to continue the pagination of the list by passing\n the value in continuation-token in the request to GET the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetInventoryConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about the Amazon S3 inventory feature, see Amazon S3 Inventory\n

\n

The following operations are related to ListBucketInventoryConfigurations:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?inventory&x-id=ListBucketInventoryConfigurations", @@ -30952,7 +30966,7 @@ "target": "com.amazonaws.s3#ListBucketMetricsConfigurationsOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Lists the metrics configurations for the bucket. The metrics configurations are only for the request\n metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000\n configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations at a time.\n Always check the IsTruncated element in the response. If there are no more configurations\n to list, IsTruncated is set to false. If there are more configurations to list,\n IsTruncated is set to true, and there is a value in NextContinuationToken.\n You use the NextContinuationToken value to continue the pagination of the list by passing\n the value in continuation-token in the request to GET the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For more information about metrics configurations and CloudWatch request metrics, see Monitoring Metrics with\n Amazon CloudWatch.

\n

The following operations are related to ListBucketMetricsConfigurations:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Lists the metrics configurations for the bucket. The metrics configurations are only for the request\n metrics of the bucket and do not provide information on daily storage metrics. You can have up to 1,000\n configurations per bucket.

\n

This action supports list pagination and does not return more than 100 configurations at a time.\n Always check the IsTruncated element in the response. If there are no more configurations\n to list, IsTruncated is set to false. If there are more configurations to list,\n IsTruncated is set to true, and there is a value in NextContinuationToken.\n You use the NextContinuationToken value to continue the pagination of the list by passing\n the value in continuation-token in the request to GET the next page.

\n

To use this operation, you must have permissions to perform the\n s3:GetMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For more information about metrics configurations and CloudWatch request metrics, see Monitoring Metrics with\n Amazon CloudWatch.

\n

The following operations are related to ListBucketMetricsConfigurations:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/{Bucket}?metrics&x-id=ListBucketMetricsConfigurations", @@ -31037,7 +31051,7 @@ "target": "com.amazonaws.s3#ListBucketsOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM\n permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

\n

For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3\n buckets.

\n \n

We strongly recommend using only paginated ListBuckets requests. Unpaginated\n ListBuckets requests are only supported for Amazon Web Services accounts set to the default general\n purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you\n must send paginated ListBuckets requests to list your account’s buckets. All unpaginated\n ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket\n quota greater than 10,000.

\n
", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns a list of all buckets owned by the authenticated sender of the request. To grant IAM\n permission to use this operation, you must add the s3:ListAllMyBuckets policy action.

\n

For information about Amazon S3 buckets, see Creating, configuring, and working with Amazon S3\n buckets.

\n \n

We strongly recommend using only paginated ListBuckets requests. Unpaginated\n ListBuckets requests are only supported for Amazon Web Services accounts set to the default general\n purpose bucket quota of 10,000. If you have an approved general purpose bucket quota above 10,000, you\n must send paginated ListBuckets requests to list your account’s buckets. All unpaginated\n ListBuckets requests will be rejected for Amazon Web Services accounts with a general purpose bucket\n quota greater than 10,000.

\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To list all buckets", @@ -31155,7 +31169,7 @@ "target": "com.amazonaws.s3#ListDirectoryBucketsOutput" }, "traits": { - "smithy.api#documentation": "

Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the request. For\n more information about directory buckets, see Directory buckets in the\n Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You must have the s3express:ListAllMyDirectoryBuckets permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n \n

The BucketRegion response element is not part of the\n ListDirectoryBuckets Response Syntax.

\n
", + "smithy.api#documentation": "

Returns a list of all Amazon S3 directory buckets owned by the authenticated sender of the request. For\n more information about directory buckets, see Directory buckets in the\n Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You must have the s3express:ListAllMyDirectoryBuckets permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n
\n
\n \n

The BucketRegion response element is not part of the\n ListDirectoryBuckets Response Syntax.

\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "GET", "uri": "/?x-id=ListDirectoryBuckets", @@ -31226,7 +31240,7 @@ "target": "com.amazonaws.s3#ListMultipartUploadsOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a\n multipart upload that has been initiated by the CreateMultipartUpload request, but has not\n yet been completed or aborted.

\n \n

\n Directory buckets - If multipart uploads in a\n directory bucket are in progress, you can't delete the bucket until all the in-progress multipart\n uploads are aborted or completed. To delete these in-progress multipart uploads, use the\n ListMultipartUploads operation to list the in-progress multipart uploads in the bucket\n and use the AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

\n
\n

The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the\n response. The limit of 1,000 multipart uploads is also the default value. You can further limit the\n number of uploads in a response by specifying the max-uploads request parameter. If there\n are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the\n response returns an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To list the\n remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In\n these requests, include two query parameters: key-marker and upload-id-marker.\n Set the value of key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

\n \n

\n Directory buckets - The upload-id-marker\n element and the NextUploadIdMarker element aren't supported by directory buckets. To\n list the additional multipart uploads, you only need to set the value of key-marker to\n the NextKeyMarker value from the previous response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload API, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting of multipart uploads in response
\n
\n
    \n
  • \n

    \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are sorted based on two\n criteria:

    \n
      \n
    • \n

      Key-based sorting - Multipart uploads are initially sorted in ascending order\n based on their object keys.

      \n
    • \n
    • \n

      Time-based sorting - For uploads that share the same object key, they are\n further sorted in ascending order based on the upload initiation time. Among uploads with\n the same key, the one that was initiated first will appear before the ones that were\n initiated later.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't sorted\n lexicographically based on the object keys.\n \n

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to ListMultipartUploads:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

This operation lists in-progress multipart uploads in a bucket. An in-progress multipart upload is a\n multipart upload that has been initiated by the CreateMultipartUpload request, but has not\n yet been completed or aborted.

\n \n

\n Directory buckets - If multipart uploads in a\n directory bucket are in progress, you can't delete the bucket until all the in-progress multipart\n uploads are aborted or completed. To delete these in-progress multipart uploads, use the\n ListMultipartUploads operation to list the in-progress multipart uploads in the bucket\n and use the AbortMultipartUpload operation to abort all the in-progress multipart\n uploads.

\n
\n

The ListMultipartUploads operation returns a maximum of 1,000 multipart uploads in the\n response. The limit of 1,000 multipart uploads is also the default value. You can further limit the\n number of uploads in a response by specifying the max-uploads request parameter. If there\n are more than 1,000 multipart uploads that satisfy your ListMultipartUploads request, the\n response returns an IsTruncated element with the value of true, a\n NextKeyMarker element, and a NextUploadIdMarker element. To list the\n remaining multipart uploads, you need to make subsequent ListMultipartUploads requests. In\n these requests, include two query parameters: key-marker and upload-id-marker.\n Set the value of key-marker to the NextKeyMarker value from the previous\n response. Similarly, set the value of upload-id-marker to the\n NextUploadIdMarker value from the previous response.

\n \n

\n Directory buckets - The upload-id-marker\n element and the NextUploadIdMarker element aren't supported by directory buckets. To\n list the additional multipart uploads, you only need to set the value of key-marker to\n the NextKeyMarker value from the previous response.

\n
\n

For more information about multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload API, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting of multipart uploads in response
\n
\n
    \n
  • \n

    \n General purpose bucket - In the\n ListMultipartUploads response, the multipart uploads are sorted based on two\n criteria:

    \n
      \n
    • \n

      Key-based sorting - Multipart uploads are initially sorted in ascending order\n based on their object keys.

      \n
    • \n
    • \n

      Time-based sorting - For uploads that share the same object key, they are\n further sorted in ascending order based on the upload initiation time. Among uploads with\n the same key, the one that was initiated first will appear before the ones that were\n initiated later.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket - In the\n ListMultipartUploads response, the multipart uploads aren't sorted\n lexicographically based on the object keys.\n \n

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to ListMultipartUploads:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "List next set of multipart uploads when previous result is truncated", @@ -31499,7 +31513,7 @@ "target": "com.amazonaws.s3#ListObjectVersionsOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns metadata about all versions of the objects in a bucket. You can also use request parameters\n as selection criteria to return metadata about a subset of all the object versions.

\n \n

To use this operation, you must have permission to perform the s3:ListBucketVersions\n action. Be aware of the name difference.

\n
\n \n

A 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately.

\n
\n

To use this operation, you must have READ access to the bucket.

\n

The following operations are related to ListObjectVersions:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns metadata about all versions of the objects in a bucket. You can also use request parameters\n as selection criteria to return metadata about a subset of all the object versions.

\n \n

To use this operation, you must have permission to perform the s3:ListBucketVersions\n action. Be aware of the name difference.

\n
\n \n

A 200 OK response can contain valid or invalid XML. Make sure to design your\n application to parse the contents of the response and handle it appropriately.

\n
\n

To use this operation, you must have READ access to the bucket.

\n

The following operations are related to ListObjectVersions:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To list object versions", @@ -31742,7 +31756,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as\n selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or\n invalid XML. Be sure to design your application to parse the contents of the response and handle it\n appropriately.

\n \n

This action has been revised. We recommend that you use the newer version, ListObjectsV2, when\n developing applications. For backward compatibility, Amazon S3 continues to support\n ListObjects.

\n
\n

The following operations are related to ListObjects:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Returns some or all (up to 1,000) of the objects in a bucket. You can use the request parameters as\n selection criteria to return a subset of the objects in a bucket. A 200 OK response can contain valid or\n invalid XML. Be sure to design your application to parse the contents of the response and handle it\n appropriately.

\n \n

This action has been revised. We recommend that you use the newer version, ListObjectsV2, when\n developing applications. For backward compatibility, Amazon S3 continues to support\n ListObjects.

\n
\n

The following operations are related to ListObjects:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To list objects in a bucket", @@ -31955,7 +31969,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the\n request parameters as selection criteria to return a subset of the objects in a bucket. A 200\n OK response can contain valid or invalid XML. Make sure to design your application to parse the\n contents of the response and handle it appropriately. For more information about listing objects, see\n Listing object\n keys programmatically in the Amazon S3 User Guide. To get a list of your\n buckets, see ListBuckets.

\n \n
    \n
  • \n

    \n General purpose bucket - For general purpose buckets,\n ListObjectsV2 doesn't return prefixes that are related only to in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets,\n ListObjectsV2 response includes the prefixes that are related only to in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To use this\n operation, you must have READ access to the bucket. You must have permission to perform the\n s3:ListBucket action. The bucket owner has this permission by default and can\n grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access\n Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting order of returned objects
\n
\n
    \n
  • \n

    \n General purpose bucket - For general purpose buckets,\n ListObjectsV2 returns objects in lexicographical order based on their key\n names.

    \n
  • \n
  • \n

    \n Directory bucket - For directory buckets,\n ListObjectsV2 does not return objects in lexicographical order.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n \n

This section describes the latest revision of this action. We recommend that you use this revised\n API operation for application development. For backward compatibility, Amazon S3 continues to support the\n prior version of this API operation, ListObjects.

\n
\n

The following operations are related to ListObjectsV2:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Returns some or all (up to 1,000) of the objects in a bucket with each request. You can use the\n request parameters as selection criteria to return a subset of the objects in a bucket. A 200\n OK response can contain valid or invalid XML. Make sure to design your application to parse the\n contents of the response and handle it appropriately. For more information about listing objects, see\n Listing object\n keys programmatically in the Amazon S3 User Guide. To get a list of your\n buckets, see ListBuckets.

\n \n
    \n
  • \n

    \n General purpose bucket - For general purpose buckets,\n ListObjectsV2 doesn't return prefixes that are related only to in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets,\n ListObjectsV2 response includes the prefixes that are related only to in-progress\n multipart uploads.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To use this\n operation, you must have READ access to the bucket. You must have permission to perform the\n s3:ListBucket action. The bucket owner has this permission by default and can\n grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access\n Permissions to Your Amazon S3 Resources in the\n Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
Sorting order of returned objects
\n
\n
    \n
  • \n

    \n General purpose bucket - For general purpose buckets,\n ListObjectsV2 returns objects in lexicographical order based on their key\n names.

    \n
  • \n
  • \n

    \n Directory bucket - For directory buckets,\n ListObjectsV2 does not return objects in lexicographical order.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n \n

This section describes the latest revision of this action. We recommend that you use this revised\n API operation for application development. For backward compatibility, Amazon S3 continues to support the\n prior version of this API operation, ListObjects.

\n
\n

The following operations are related to ListObjectsV2:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To get object list", @@ -32192,7 +32206,7 @@ "target": "com.amazonaws.s3#ListPartsOutput" }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Lists the parts that have been uploaded for a specific multipart upload.

\n

To use this operation, you must provide the upload ID in the request. You obtain this\n uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

\n

The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000\n parts is also the default value. You can restrict the number of parts in a response by specifying the\n max-parts request parameter. If your multipart upload consists of more than 1,000 parts,\n the response returns an IsTruncated field with the value of true, and a\n NextPartNumberMarker element. To list remaining uploaded parts, in subsequent\n ListParts requests, include the part-number-marker query string parameter\n and set its value to the NextPartNumberMarker field value from the previous\n response.

\n

For more information on multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload API, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n

    If the upload was created using server-side encryption with Key Management Service (KMS) keys\n (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have\n permission to the kms:Decrypt action for the ListParts request to\n succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to ListParts:

\n ", + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Lists the parts that have been uploaded for a specific multipart upload.

\n

To use this operation, you must provide the upload ID in the request. You obtain this\n uploadID by sending the initiate multipart upload request through CreateMultipartUpload.

\n

The ListParts request returns a maximum of 1,000 uploaded parts. The limit of 1,000\n parts is also the default value. You can restrict the number of parts in a response by specifying the\n max-parts request parameter. If your multipart upload consists of more than 1,000 parts,\n the response returns an IsTruncated field with the value of true, and a\n NextPartNumberMarker element. To list remaining uploaded parts, in subsequent\n ListParts requests, include the part-number-marker query string parameter\n and set its value to the NextPartNumberMarker field value from the previous\n response.

\n

For more information on multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - For information\n about permissions required to use the multipart upload API, see Multipart Upload and Permissions in\n the Amazon S3 User Guide.

    \n

    If the upload was created using server-side encryption with Key Management Service (KMS) keys\n (SSE-KMS) or dual-layer server-side encryption with Amazon Web Services KMS keys (DSSE-KMS), you must have\n permission to the kms:Decrypt action for the ListParts request to\n succeed.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to ListParts:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To list parts of a multipart upload.", @@ -33804,7 +33818,7 @@ } }, "traits": { - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Container for the owner's display name and ID.

" + "smithy.api#documentation": "\n

End of support notice: Beginning November 21, 2025, Amazon S3 will stop returning DisplayName. Update your applications to use canonical IDs (unique identifier for \n Amazon Web Services accounts), Amazon Web Services account ID (12 digit identifier) or IAM ARNs (full resource naming) as a direct replacement of DisplayName.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Container for the owner's display name and ID.

" } }, "com.amazonaws.s3#OwnerOverride": { @@ -34159,7 +34173,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a\n bucket-level feature that enables you to perform faster data transfers to Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:PutAccelerateConfiguration action. The bucket owner has this permission by default.\n The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

The Transfer Acceleration state of a bucket can be set to one of the following two values:

\n
    \n
  • \n

    Enabled – Enables accelerated data transfers to the bucket.

    \n
  • \n
  • \n

    Suspended – Disables accelerated data transfers to the bucket.

    \n
  • \n
\n

The GetBucketAccelerateConfiguration action returns the transfer acceleration state of a\n bucket.

\n

After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty\n minutes before the data transfer rates to the bucket increase.

\n

The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain\n periods (\".\").

\n

For more information about transfer acceleration, see Transfer Acceleration.

\n

The following operations are related to PutBucketAccelerateConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the accelerate configuration of an existing bucket. Amazon S3 Transfer Acceleration is a\n bucket-level feature that enables you to perform faster data transfers to Amazon S3.

\n

To use this operation, you must have permission to perform the\n s3:PutAccelerateConfiguration action. The bucket owner has this permission by default.\n The bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

The Transfer Acceleration state of a bucket can be set to one of the following two values:

\n
    \n
  • \n

    Enabled – Enables accelerated data transfers to the bucket.

    \n
  • \n
  • \n

    Suspended – Disables accelerated data transfers to the bucket.

    \n
  • \n
\n

The GetBucketAccelerateConfiguration action returns the transfer acceleration state of a\n bucket.

\n

After setting the Transfer Acceleration state of a bucket to Enabled, it might take up to thirty\n minutes before the data transfer rates to the bucket increase.

\n

The name of the bucket used for Transfer Acceleration must be DNS-compliant and must not contain\n periods (\".\").

\n

For more information about transfer acceleration, see Transfer Acceleration.

\n

The following operations are related to PutBucketAccelerateConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?accelerate", @@ -34227,7 +34241,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Sets the permissions on an existing bucket using access control lists (ACL). For more information,\n see Using ACLs. To\n set the ACL of a bucket, you must have the WRITE_ACP permission.

\n

You can use one of the following two ways to set a bucket's permissions:

\n
    \n
  • \n

    Specify the ACL in the request body

    \n
  • \n
  • \n

    Specify permissions using request headers

    \n
  • \n
\n \n

You cannot specify access permission using both the body and the request headers.

\n
\n

Depending on your application needs, you may choose to set the ACL on a bucket using either the\n request body or the headers. For example, if you have an existing application that updates a bucket ACL\n using the request body, then you can continue to use that approach.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled\n and no longer affect permissions. You must use policies to grant access to your bucket and the objects\n in it. Requests to set ACLs or update ACLs fail and return the\n AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership in\n the Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You can set access permissions by using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set\n of predefined ACLs, known as canned ACLs. Each canned ACL has a\n predefined set of grantees and permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other access control-specific\n headers in your request. For more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you specify\n explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the\n permission. If you use these ACL-specific headers, you cannot use the x-amz-acl\n header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports\n in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an\n Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of an\n Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-write header grants create, overwrite,\n and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts\n identified by their email addresses.

    \n

    \n x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n id=\"111122223333\", id=\"555566667777\" \n

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n
\n
Grantee Values
\n
\n

You can specify the person (grantee) to whom you're assigning access rights (using request\n elements) in the following ways. For examples of how to specify these grantee values in JSON\n format, see the Amazon Web Services CLI example in Enabling Amazon S3 server\n access logging in the Amazon S3 User Guide.

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>&\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl\n request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (São Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n
\n
\n

The following operations are related to PutBucketAcl:

\n ", + "smithy.api#documentation": "\n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Sets the permissions on an existing bucket using access control lists (ACL). For more information,\n see Using ACLs. To\n set the ACL of a bucket, you must have the WRITE_ACP permission.

\n

You can use one of the following two ways to set a bucket's permissions:

\n
    \n
  • \n

    Specify the ACL in the request body

    \n
  • \n
  • \n

    Specify permissions using request headers

    \n
  • \n
\n \n

You cannot specify access permission using both the body and the request headers.

\n
\n

Depending on your application needs, you may choose to set the ACL on a bucket using either the\n request body or the headers. For example, if you have an existing application that updates a bucket ACL\n using the request body, then you can continue to use that approach.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled\n and no longer affect permissions. You must use policies to grant access to your bucket and the objects\n in it. Requests to set ACLs or update ACLs fail and return the\n AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership in\n the Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You can set access permissions by using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set\n of predefined ACLs, known as canned ACLs. Each canned ACL has a\n predefined set of grantees and permissions. Specify the canned ACL name as the value of\n x-amz-acl. If you use this header, you cannot use other access control-specific\n headers in your request. For more information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you specify\n explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the\n permission. If you use these ACL-specific headers, you cannot use the x-amz-acl\n header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports\n in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an\n Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of an\n Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-write header grants create, overwrite,\n and delete objects permission to LogDelivery group predefined by Amazon S3 and two Amazon Web Services accounts\n identified by their email addresses.

    \n

    \n x-amz-grant-write: uri=\"http://acs.amazonaws.com/groups/s3/LogDelivery\",\n id=\"111122223333\", id=\"555566667777\" \n

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n
\n
Grantee Values
\n
\n

You can specify the person (grantee) to whom you're assigning access rights (using request\n elements) in the following ways. For examples of how to specify these grantee values in JSON\n format, see the Amazon Web Services CLI example in Enabling Amazon S3 server\n access logging in the Amazon S3 User Guide.

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>&\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl\n request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (São Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n
\n
\n

The following operations are related to PutBucketAcl:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Put bucket acl", @@ -34350,7 +34364,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets an analytics configuration for the bucket (specified by the analytics configuration ID). You\n can have up to 1,000 analytics configurations per bucket.

\n

You can choose to have storage class analysis export analysis reports sent to a comma-separated\n values (CSV) flat file. See the DataExport request element. Reports are updated daily and\n are based on the object filters that you configure. When selecting data export, you specify a\n destination bucket and an optional destination prefix where the file is written. You can export the data\n to a destination bucket in a different account. However, the destination bucket must be in the same\n Region as the bucket that you are making the PUT analytics configuration to. For more information, see\n Amazon S3 Analytics –\n Storage Class Analysis.

\n \n

You must create a bucket policy on the destination bucket where the exported file is written to\n grant permissions to Amazon S3 to write objects to the bucket. For an example policy, see Granting\n Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n PutBucketAnalyticsConfiguration has the following special errors:

\n
    \n
  • \n
      \n
    • \n

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: InvalidArgument\n

      \n
    • \n
    • \n

      \n Cause: Invalid argument.\n

      \n
    • \n
    \n
  • \n
  • \n
      \n
    • \n

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: TooManyConfigurations\n

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration but have already reached\n the 1,000-configuration limit.\n

      \n
    • \n
    \n
  • \n
  • \n
      \n
    • \n

      \n HTTP Error: HTTP 403 Forbidden\n

      \n
    • \n
    • \n

      \n Code: AccessDenied\n

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket, or you do not have the\n s3:PutAnalyticsConfiguration bucket permission to set the configuration on the\n bucket.\n

      \n
    • \n
    \n
  • \n
\n

The following operations are related to PutBucketAnalyticsConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets an analytics configuration for the bucket (specified by the analytics configuration ID). You\n can have up to 1,000 analytics configurations per bucket.

\n

You can choose to have storage class analysis export analysis reports sent to a comma-separated\n values (CSV) flat file. See the DataExport request element. Reports are updated daily and\n are based on the object filters that you configure. When selecting data export, you specify a\n destination bucket and an optional destination prefix where the file is written. You can export the data\n to a destination bucket in a different account. However, the destination bucket must be in the same\n Region as the bucket that you are making the PUT analytics configuration to. For more information, see\n Amazon S3 Analytics –\n Storage Class Analysis.

\n \n

You must create a bucket policy on the destination bucket where the exported file is written to\n grant permissions to Amazon S3 to write objects to the bucket. For an example policy, see Granting\n Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n

To use this operation, you must have permissions to perform the\n s3:PutAnalyticsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n PutBucketAnalyticsConfiguration has the following special errors:

\n
    \n
  • \n
      \n
    • \n

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: InvalidArgument\n

      \n
    • \n
    • \n

      \n Cause: Invalid argument.\n

      \n
    • \n
    \n
  • \n
  • \n
      \n
    • \n

      \n HTTP Error: HTTP 400 Bad Request\n

      \n
    • \n
    • \n

      \n Code: TooManyConfigurations\n

      \n
    • \n
    • \n

      \n Cause: You are attempting to create a new configuration but have already reached\n the 1,000-configuration limit.\n

      \n
    • \n
    \n
  • \n
  • \n
      \n
    • \n

      \n HTTP Error: HTTP 403 Forbidden\n

      \n
    • \n
    • \n

      \n Code: AccessDenied\n

      \n
    • \n
    • \n

      \n Cause: You are not the owner of the specified bucket, or you do not have the\n s3:PutAnalyticsConfiguration bucket permission to set the configuration on the\n bucket.\n

      \n
    • \n
    \n
  • \n
\n

The following operations are related to PutBucketAnalyticsConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?analytics", @@ -34419,7 +34433,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces\n it.

\n

To use this operation, you must be allowed to perform the s3:PutBucketCORS action. By\n default, the bucket owner has this permission and can grant it to others.

\n

You set this configuration on a bucket so that the bucket can service cross-origin requests. For\n example, you might want to enable a request whose origin is http://www.example.com to\n access your Amazon S3 bucket at my.example.bucket.com by using the browser's\n XMLHttpRequest capability.

\n

To enable cross-origin resource sharing (CORS) on a bucket, you add the cors\n subresource to the bucket. The cors subresource is an XML document in which you configure\n rules that identify origins and the HTTP methods that can be executed on your bucket. The document is\n limited to 64 KB in size.

\n

When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a bucket, it\n evaluates the cors configuration on the bucket and uses the first CORSRule\n rule that matches the incoming browser request to enable a cross-origin request. For a rule to match,\n the following conditions must be met:

\n
    \n
  • \n

    The request's Origin header must match AllowedOrigin elements.

    \n
  • \n
  • \n

    The request method (for example, GET, PUT, HEAD, and so on) or the\n Access-Control-Request-Method header in case of a pre-flight OPTIONS\n request must be one of the AllowedMethod elements.

    \n
  • \n
  • \n

    Every header specified in the Access-Control-Request-Headers request header of a\n pre-flight request must match an AllowedHeader element.

    \n
  • \n
\n

For more information about CORS, go to Enabling Cross-Origin Resource Sharing in the\n Amazon S3 User Guide.

\n

The following operations are related to PutBucketCors:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the cors configuration for your bucket. If the configuration exists, Amazon S3 replaces\n it.

\n

To use this operation, you must be allowed to perform the s3:PutBucketCORS action. By\n default, the bucket owner has this permission and can grant it to others.

\n

You set this configuration on a bucket so that the bucket can service cross-origin requests. For\n example, you might want to enable a request whose origin is http://www.example.com to\n access your Amazon S3 bucket at my.example.bucket.com by using the browser's\n XMLHttpRequest capability.

\n

To enable cross-origin resource sharing (CORS) on a bucket, you add the cors\n subresource to the bucket. The cors subresource is an XML document in which you configure\n rules that identify origins and the HTTP methods that can be executed on your bucket. The document is\n limited to 64 KB in size.

\n

When Amazon S3 receives a cross-origin request (or a pre-flight OPTIONS request) against a bucket, it\n evaluates the cors configuration on the bucket and uses the first CORSRule\n rule that matches the incoming browser request to enable a cross-origin request. For a rule to match,\n the following conditions must be met:

\n
    \n
  • \n

    The request's Origin header must match AllowedOrigin elements.

    \n
  • \n
  • \n

    The request method (for example, GET, PUT, HEAD, and so on) or the\n Access-Control-Request-Method header in case of a pre-flight OPTIONS\n request must be one of the AllowedMethod elements.

    \n
  • \n
  • \n

    Every header specified in the Access-Control-Request-Headers request header of a\n pre-flight request must match an AllowedHeader element.

    \n
  • \n
\n

For more information about CORS, go to Enabling Cross-Origin Resource Sharing in the\n Amazon S3 User Guide.

\n

The following operations are related to PutBucketCors:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To set cors configuration on a bucket.", @@ -34537,7 +34551,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

This operation configures default encryption and Amazon S3 Bucket Keys for an existing bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n

By default, all buckets have a default encryption configuration that uses server-side encryption\n with Amazon S3 managed keys (SSE-S3).

\n \n
    \n
  • \n

    \n General purpose buckets\n

    \n
      \n
    • \n

      You can optionally configure default encryption for a bucket by using server-side\n encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also\n configure Amazon S3 Bucket\n Keys. For information about the bucket default encryption feature, see Amazon S3 Bucket Default\n Encryption in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      If you use PutBucketEncryption to set your default bucket encryption to\n SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 doesn't validate the\n KMS key ID provided in PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets - You can optionally configure\n default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys\n (SSE-KMS).

    \n
      \n
    • \n

      We recommend that the bucket's default encryption uses the desired encryption\n configuration and you don't override the bucket default encryption in your\n CreateSession requests or PUT object requests. Then, new objects\n are automatically encrypted with the desired encryption settings.\n For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

      \n
    • \n
    • \n

      Your SSE-KMS configuration can only support 1 customer managed key per directory bucket's lifetime. \nThe Amazon Web Services managed key (aws/s3) isn't supported. \n

      \n
    • \n
    • \n

      S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or \n the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

      \n
    • \n
    • \n

      When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.

      \n
    • \n
    • \n

      For directory buckets, if you use PutBucketEncryption to set your default bucket\n encryption to SSE-KMS, Amazon S3 validates the KMS key ID provided in\n PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
\n
\n \n

If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key\n ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account.\n This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and\n not the bucket owner.

\n

Also, this action requires Amazon Web Services Signature Version 4. For more information, see Authenticating\n Requests (Amazon Web Services Signature Version 4).

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a policy. The bucket\n owner has this permission by default. The bucket owner can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Operations and Managing Access Permissions to Your\n Amazon S3 Resources in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:PutEncryptionConfiguration\n permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n

    To set a directory bucket default encryption with SSE-KMS, you must also have the\n kms:GenerateDataKey and the kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the target KMS key.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketEncryption:

\n ", + "smithy.api#documentation": "

This operation configures default encryption and Amazon S3 Bucket Keys for an existing bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n

By default, all buckets have a default encryption configuration that uses server-side encryption\n with Amazon S3 managed keys (SSE-S3).

\n \n
    \n
  • \n

    \n General purpose buckets\n

    \n
      \n
    • \n

      You can optionally configure default encryption for a bucket by using server-side\n encryption with Key Management Service (KMS) keys (SSE-KMS) or dual-layer server-side encryption with\n Amazon Web Services KMS keys (DSSE-KMS). If you specify default encryption by using SSE-KMS, you can also\n configure Amazon S3 Bucket\n Keys. For information about the bucket default encryption feature, see Amazon S3 Bucket Default\n Encryption in the Amazon S3 User Guide.

      \n
    • \n
    • \n

      If you use PutBucketEncryption to set your default bucket encryption to\n SSE-KMS, you should verify that your KMS key ID is correct. Amazon S3 doesn't validate the\n KMS key ID provided in PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory buckets - You can optionally configure\n default encryption for a bucket by using server-side encryption with Key Management Service (KMS) keys\n (SSE-KMS).

    \n
      \n
    • \n

      We recommend that the bucket's default encryption uses the desired encryption\n configuration and you don't override the bucket default encryption in your\n CreateSession requests or PUT object requests. Then, new objects\n are automatically encrypted with the desired encryption settings.\n For more information about the encryption overriding behaviors in directory buckets, see Specifying server-side encryption with KMS for new object uploads.

      \n
    • \n
    • \n

      Your SSE-KMS configuration can only support 1 customer managed key per directory bucket's lifetime. \nThe Amazon Web Services managed key (aws/s3) isn't supported. \n

      \n
    • \n
    • \n

      S3 Bucket Keys are always enabled for GET and PUT operations in a directory bucket and can’t be disabled. S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through CopyObject, UploadPartCopy, the Copy operation in Batch Operations, or \n the import jobs. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

      \n
    • \n
    • \n

      When you specify an KMS customer managed key for encryption in your directory bucket, only use the key ID or key ARN. The key alias format of the KMS key isn't supported.

      \n
    • \n
    • \n

      For directory buckets, if you use PutBucketEncryption to set your default bucket\n encryption to SSE-KMS, Amazon S3 validates the KMS key ID provided in\n PutBucketEncryption requests.

      \n
    • \n
    \n
  • \n
\n
\n \n

If you're specifying a customer managed KMS key, we recommend using a fully qualified KMS key\n ARN. If you use a KMS key alias instead, then KMS resolves the key within the requester’s account.\n This behavior can result in data that's encrypted with a KMS key that belongs to the requester, and\n not the bucket owner.

\n

Also, this action requires Amazon Web Services Signature Version 4. For more information, see Authenticating\n Requests (Amazon Web Services Signature Version 4).

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutEncryptionConfiguration permission is required in a policy. The bucket\n owner has this permission by default. The bucket owner can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Operations and Managing Access Permissions to Your\n Amazon S3 Resources in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:PutEncryptionConfiguration\n permission in an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n

    To set a directory bucket default encryption with SSE-KMS, you must also have the\n kms:GenerateDataKey and the kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the target KMS key.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketEncryption:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?encryption", @@ -34607,7 +34621,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have up to 1,000\n S3 Intelligent-Tiering configurations per bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to PutBucketIntelligentTieringConfiguration include:

\n \n \n

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects\n stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access\n tier.

\n
\n

\n PutBucketIntelligentTieringConfiguration has the following special errors:

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: InvalidArgument

\n

\n Cause: Invalid Argument

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: TooManyConfigurations

\n

\n Cause: You are attempting to create a new configuration but have already\n reached the 1,000-configuration limit.

\n
\n
HTTP 403 Forbidden Error
\n
\n

\n Cause: You are not the owner of the specified bucket, or you do not have\n the s3:PutIntelligentTieringConfiguration bucket permission to set the configuration\n on the bucket.

\n
\n
", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Puts a S3 Intelligent-Tiering configuration to the specified bucket. You can have up to 1,000\n S3 Intelligent-Tiering configurations per bucket.

\n

The S3 Intelligent-Tiering storage class is designed to optimize storage costs by automatically moving data to the most cost-effective storage access tier, without performance impact or operational overhead. S3 Intelligent-Tiering delivers automatic cost savings in three low latency and high throughput access tiers. To get the lowest storage cost on data that can be accessed in minutes to hours, you can choose to activate additional archiving capabilities.

\n

The S3 Intelligent-Tiering storage class is the ideal storage class for data with unknown, changing, or unpredictable access patterns, independent of object size or retention period. If the size of an object is less than 128 KB, it is not monitored and not eligible for auto-tiering. Smaller objects can be stored, but they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering storage class.

\n

For more information, see Storage class for automatically optimizing frequently and infrequently accessed objects.

\n

Operations related to PutBucketIntelligentTieringConfiguration include:

\n \n \n

You only need S3 Intelligent-Tiering enabled on a bucket if you want to automatically move objects\n stored in the S3 Intelligent-Tiering storage class to the Archive Access or Deep Archive Access\n tier.

\n
\n

\n PutBucketIntelligentTieringConfiguration has the following special errors:

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: InvalidArgument

\n

\n Cause: Invalid Argument

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: TooManyConfigurations

\n

\n Cause: You are attempting to create a new configuration but have already\n reached the 1,000-configuration limit.

\n
\n
HTTP 403 Forbidden Error
\n
\n

\n Cause: You are not the owner of the specified bucket, or you do not have\n the s3:PutIntelligentTieringConfiguration bucket permission to set the configuration\n on the bucket.

\n
\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?intelligent-tiering", @@ -34672,7 +34686,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This implementation of the PUT action adds an S3 Inventory configuration (identified by\n the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

\n

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and\n the results are published to a flat file. The bucket that is inventoried is called the\n source bucket, and the bucket where the inventory flat file is stored is called\n the destination bucket. The destination bucket must be in the\n same Amazon Web Services Region as the source bucket.

\n

When you configure an inventory for a source bucket, you specify the\n destination bucket where you want the inventory to be stored, and whether to\n generate the inventory daily or weekly. You can also configure what object metadata to include and\n whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the\n Amazon S3 User Guide.

\n \n

You must create a bucket policy on the destination bucket to grant\n permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see\n Granting\n Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have permission to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission by\n default and can grant this permission to others.

\n

The s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory\n report that includes all object metadata fields available and to specify the destination bucket to\n store the inventory. A user with read access to objects in the destination bucket can also access\n all object metadata fields that are available in the inventory report.

\n

To restrict access to an inventory report, see Restricting access to an Amazon S3 Inventory report in the\n Amazon S3 User Guide. For more information about the metadata fields available\n in S3 Inventory, see Amazon S3 Inventory\n lists in the Amazon S3 User Guide. For more information about\n permissions, see Permissions related to bucket subresource operations and Identity and access management in\n Amazon S3 in the Amazon S3 User Guide.

\n
\n
\n

\n PutBucketInventoryConfiguration has the following special errors:

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: InvalidArgument

\n

\n Cause: Invalid Argument

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: TooManyConfigurations

\n

\n Cause: You are attempting to create a new configuration but have already\n reached the 1,000-configuration limit.

\n
\n
HTTP 403 Forbidden Error
\n
\n

\n Cause: You are not the owner of the specified bucket, or you do not have\n the s3:PutInventoryConfiguration bucket permission to set the configuration on the\n bucket.

\n
\n
\n

The following operations are related to PutBucketInventoryConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This implementation of the PUT action adds an S3 Inventory configuration (identified by\n the inventory ID) to the bucket. You can have up to 1,000 inventory configurations per bucket.

\n

Amazon S3 inventory generates inventories of the objects in the bucket on a daily or weekly basis, and\n the results are published to a flat file. The bucket that is inventoried is called the\n source bucket, and the bucket where the inventory flat file is stored is called\n the destination bucket. The destination bucket must be in the\n same Amazon Web Services Region as the source bucket.

\n

When you configure an inventory for a source bucket, you specify the\n destination bucket where you want the inventory to be stored, and whether to\n generate the inventory daily or weekly. You can also configure what object metadata to include and\n whether to inventory all object versions or only current versions. For more information, see Amazon S3 Inventory in the\n Amazon S3 User Guide.

\n \n

You must create a bucket policy on the destination bucket to grant\n permissions to Amazon S3 to write objects to the bucket in the defined location. For an example policy, see\n Granting\n Permissions for Amazon S3 Inventory and Storage Class Analysis.

\n
\n
\n
Permissions
\n
\n

To use this operation, you must have permission to perform the\n s3:PutInventoryConfiguration action. The bucket owner has this permission by\n default and can grant this permission to others.

\n

The s3:PutInventoryConfiguration permission allows a user to create an S3 Inventory\n report that includes all object metadata fields available and to specify the destination bucket to\n store the inventory. A user with read access to objects in the destination bucket can also access\n all object metadata fields that are available in the inventory report.

\n

To restrict access to an inventory report, see Restricting access to an Amazon S3 Inventory report in the\n Amazon S3 User Guide. For more information about the metadata fields available\n in S3 Inventory, see Amazon S3 Inventory\n lists in the Amazon S3 User Guide. For more information about\n permissions, see Permissions related to bucket subresource operations and Identity and access management in\n Amazon S3 in the Amazon S3 User Guide.

\n
\n
\n

\n PutBucketInventoryConfiguration has the following special errors:

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: InvalidArgument

\n

\n Cause: Invalid Argument

\n
\n
HTTP 400 Bad Request Error
\n
\n

\n Code: TooManyConfigurations

\n

\n Cause: You are attempting to create a new configuration but have already\n reached the 1,000-configuration limit.

\n
\n
HTTP 403 Forbidden Error
\n
\n

\n Cause: You are not the owner of the specified bucket, or you do not have\n the s3:PutInventoryConfiguration bucket permission to set the configuration on the\n bucket.

\n
\n
\n

The following operations are related to PutBucketInventoryConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?inventory", @@ -34741,7 +34755,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if you want\n to retain any configuration details, they must be included in the new lifecycle configuration. For\n information about lifecycle configuration, see Managing your storage\n lifecycle.

\n \n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name\n prefix, one or more object tags, object size, or any combination of these. Accordingly, this section\n describes the latest API. The previous version of the API supported filtering based only on an object\n key name prefix, which is supported for backward compatibility. For the related API description, see\n PutBucketLifecycle.

\n
\n
\n
Rules
\n
Permissions
\n
HTTP Host header syntax
\n
\n

You specify the lifecycle configuration in your request body. The lifecycle configuration is\n specified as XML consisting of one or more rules. An Amazon S3 Lifecycle configuration can have up to\n 1,000 rules. This limit is not adjustable.

\n

Bucket lifecycle configuration supports specifying a lifecycle rule using an object key name\n prefix, one or more object tags, object size, or any combination of these. Accordingly, this\n section describes the latest API. The previous version of the API supported filtering based only\n on an object key name prefix, which is supported for backward compatibility for general purpose\n buckets. For the related API description, see PutBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and cancelling\n multipart uploads. Expiring of versioned objects,transitions and tag filters are not\n supported.

\n
\n

A lifecycle rule consists of the following:

\n
    \n
  • \n

    A filter identifying a subset of objects to which the rule applies. The filter can be\n based on a key name prefix, object tags, object size, or any combination of these.

    \n
  • \n
  • \n

    A status indicating whether the rule is in effect.

    \n
  • \n
  • \n

    One or more lifecycle transition and expiration actions that you want Amazon S3 to perform on\n the objects identified by the filter. If the state of your bucket is versioning-enabled or\n versioning-suspended, you can have many versions of the same object (one current version and\n zero or more noncurrent versions). Amazon S3 provides predefined actions that you can specify for\n current and noncurrent object versions.

    \n
  • \n
\n

For more information, see Object Lifecycle Management and\n Lifecycle\n Configuration Elements.

\n
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By default, all Amazon S3\n resources are private, including buckets, objects, and related subresources (for example,\n lifecycle configuration and website configuration). Only the resource owner (that is, the\n Amazon Web Services account that created it) can access the resource. The resource owner can optionally\n grant access permissions to others by writing an access policy. For this operation, a user\n must have the s3:PutLifecycleConfiguration permission.

    \n

    You can also explicitly deny permissions. An explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

    \n \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:PutLifecycleConfiguration permission in an IAM identity-based policy\n to use this operation. Cross-account access to this API operation isn't supported. The\n resource owner can optionally grant access permissions to others by creating a role or user\n for them as long as they are within the same account as the owner and resource.

    \n

    For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM in the Amazon S3 User\n Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n

The following operations are related to PutBucketLifecycleConfiguration:

\n \n
\n
", + "smithy.api#documentation": "

Creates a new lifecycle configuration for the bucket or replaces an existing lifecycle\n configuration. Keep in mind that this will overwrite an existing lifecycle configuration, so if you want\n to retain any configuration details, they must be included in the new lifecycle configuration. For\n information about lifecycle configuration, see Managing your storage\n lifecycle.

\n \n

Bucket lifecycle configuration now supports specifying a lifecycle rule using an object key name\n prefix, one or more object tags, object size, or any combination of these. Accordingly, this section\n describes the latest API. The previous version of the API supported filtering based only on an object\n key name prefix, which is supported for backward compatibility. For the related API description, see\n PutBucketLifecycle.

\n
\n
\n
Rules
\n
Permissions
\n
HTTP Host header syntax
\n
\n

You specify the lifecycle configuration in your request body. The lifecycle configuration is\n specified as XML consisting of one or more rules. An Amazon S3 Lifecycle configuration can have up to\n 1,000 rules. This limit is not adjustable.

\n

Bucket lifecycle configuration supports specifying a lifecycle rule using an object key name\n prefix, one or more object tags, object size, or any combination of these. Accordingly, this\n section describes the latest API. The previous version of the API supported filtering based only\n on an object key name prefix, which is supported for backward compatibility for general purpose\n buckets. For the related API description, see PutBucketLifecycle.

\n \n

Lifecyle configurations for directory buckets only support expiring objects and cancelling\n multipart uploads. Expiring of versioned objects,transitions and tag filters are not\n supported.

\n
\n

A lifecycle rule consists of the following:

\n
    \n
  • \n

    A filter identifying a subset of objects to which the rule applies. The filter can be\n based on a key name prefix, object tags, object size, or any combination of these.

    \n
  • \n
  • \n

    A status indicating whether the rule is in effect.

    \n
  • \n
  • \n

    One or more lifecycle transition and expiration actions that you want Amazon S3 to perform on\n the objects identified by the filter. If the state of your bucket is versioning-enabled or\n versioning-suspended, you can have many versions of the same object (one current version and\n zero or more noncurrent versions). Amazon S3 provides predefined actions that you can specify for\n current and noncurrent object versions.

    \n
  • \n
\n

For more information, see Object Lifecycle Management and\n Lifecycle\n Configuration Elements.

\n
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - By default, all Amazon S3\n resources are private, including buckets, objects, and related subresources (for example,\n lifecycle configuration and website configuration). Only the resource owner (that is, the\n Amazon Web Services account that created it) can access the resource. The resource owner can optionally\n grant access permissions to others by writing an access policy. For this operation, a user\n must have the s3:PutLifecycleConfiguration permission.

    \n

    You can also explicitly deny permissions. An explicit deny also supersedes any other\n permissions. If you want to block users or accounts from removing or deleting objects from\n your bucket, you must deny them permissions for the following actions:

    \n \n
  • \n
\n
    \n
  • \n

    \n Directory bucket permissions - You must have the\n s3express:PutLifecycleConfiguration permission in an IAM identity-based policy\n to use this operation. Cross-account access to this API operation isn't supported. The\n resource owner can optionally grant access permissions to others by creating a role or user\n for them as long as they are within the same account as the owner and resource.

    \n

    For more information about directory bucket policies and permissions, see Authorizing Regional endpoint APIs with IAM in the Amazon S3 User\n Guide.

    \n \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
    \n
  • \n
\n
\n
\n

\n Directory buckets - The HTTP Host header syntax is\n s3express-control.region.amazonaws.com.

\n

The following operations are related to PutBucketLifecycleConfiguration:

\n \n
\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Put bucket lifecycle", @@ -34859,7 +34873,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Set the logging parameters for a bucket and to specify permissions for who can view and modify the\n logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set\n the logging status of a bucket, you must be the bucket owner.

\n

The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee\n request element to grant access to other people. The Permissions request element specifies\n the kind of access the grantee has to the logs.

\n \n

If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object\n Ownership, you can't use the Grantee request element to grant access to others.\n Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the\n Amazon S3 User Guide.

\n
\n
\n
Grantee Values
\n
\n

You can specify the person (grantee) to whom you're assigning access rights (by using request\n elements) in the following ways. For examples of how to specify these grantee values in JSON\n format, see the Amazon Web Services CLI example in Enabling Amazon S3 server\n access logging in the Amazon S3 User Guide.

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    \n DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a\n GETObjectAcl request, appears as the CanonicalUser.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
\n
\n
\n

To enable logging, you use LoggingEnabled and its children request elements. To disable\n logging, you use an empty BucketLoggingStatus request element:

\n

\n \n

\n

For more information about server access logging, see Server Access Logging in the\n Amazon S3 User Guide.

\n

For more information about creating a bucket, see CreateBucket. For more information about\n returning the logging status of a bucket, see GetBucketLogging.

\n

The following operations are related to PutBucketLogging:

\n ", + "smithy.api#documentation": "\n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Set the logging parameters for a bucket and to specify permissions for who can view and modify the\n logging parameters. All logs are saved to buckets in the same Amazon Web Services Region as the source bucket. To set\n the logging status of a bucket, you must be the bucket owner.

\n

The bucket owner is automatically granted FULL_CONTROL to all logs. You use the Grantee\n request element to grant access to other people. The Permissions request element specifies\n the kind of access the grantee has to the logs.

\n \n

If the target bucket for log delivery uses the bucket owner enforced setting for S3 Object\n Ownership, you can't use the Grantee request element to grant access to others.\n Permissions can only be granted using policies. For more information, see Permissions for server access log delivery in the\n Amazon S3 User Guide.

\n
\n
\n
Grantee Values
\n
\n

You can specify the person (grantee) to whom you're assigning access rights (by using request\n elements) in the following ways. For examples of how to specify these grantee values in JSON\n format, see the Amazon Web Services CLI example in Enabling Amazon S3 server\n access logging in the Amazon S3 User Guide.

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    \n DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a\n GETObjectAcl request, appears as the CanonicalUser.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
\n
\n
\n

To enable logging, you use LoggingEnabled and its children request elements. To disable\n logging, you use an empty BucketLoggingStatus request element:

\n

\n \n

\n

For more information about server access logging, see Server Access Logging in the\n Amazon S3 User Guide.

\n

For more information about creating a bucket, see CreateBucket. For more information about\n returning the logging status of a bucket, see GetBucketLogging.

\n

The following operations are related to PutBucketLogging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set logging configuration for a bucket", @@ -34954,7 +34968,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can\n have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics\n configuration, note that this is a full replacement of the existing metrics configuration. If you don't\n include the elements you want to keep, they are erased.

\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to PutBucketMetricsConfiguration:

\n \n

\n PutBucketMetricsConfiguration has the following special error:

\n
    \n
  • \n

    Error code: TooManyConfigurations\n

    \n
      \n
    • \n

      Description: You are attempting to create a new configuration but have already reached the\n 1,000-configuration limit.

      \n
    • \n
    • \n

      HTTP Status Code: HTTP 400 Bad Request

      \n
    • \n
    \n
  • \n
", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets a metrics configuration (specified by the metrics configuration ID) for the bucket. You can\n have up to 1,000 metrics configurations per bucket. If you're updating an existing metrics\n configuration, note that this is a full replacement of the existing metrics configuration. If you don't\n include the elements you want to keep, they are erased.

\n

To use this operation, you must have permissions to perform the\n s3:PutMetricsConfiguration action. The bucket owner has this permission by default. The\n bucket owner can grant this permission to others. For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

For information about CloudWatch request metrics for Amazon S3, see Monitoring Metrics with Amazon\n CloudWatch.

\n

The following operations are related to PutBucketMetricsConfiguration:

\n \n

\n PutBucketMetricsConfiguration has the following special error:

\n
    \n
  • \n

    Error code: TooManyConfigurations\n

    \n
      \n
    • \n

      Description: You are attempting to create a new configuration but have already reached the\n 1,000-configuration limit.

      \n
    • \n
    • \n

      HTTP Status Code: HTTP 400 Bad Request

      \n
    • \n
    \n
  • \n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?metrics", @@ -35019,7 +35033,7 @@ "target": "smithy.api#Unit" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Enables notifications of specified events for a bucket. For more information about event\n notifications, see Configuring Event Notifications.

\n

Using this API, you can replace an existing notification configuration. The configuration is an XML\n file that defines the event types that you want Amazon S3 to publish and the destination where you want Amazon S3\n to publish an event notification when it detects an event of the specified type.

\n

By default, your bucket has no event notifications configured. That is, the notification\n configuration will be an empty NotificationConfiguration.

\n

\n \n

\n

\n \n

\n

This action replaces the existing notification configuration with the configuration you include in\n the request body.

\n

After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification Service\n (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner\n has permission to publish to it by sending a test notification. In the case of Lambda destinations,\n Amazon S3 verifies that the Lambda function permissions grant Amazon S3 permission to invoke the function from the\n Amazon S3 bucket. For more information, see Configuring Notifications for Amazon S3\n Events.

\n

You can disable notifications by adding the empty NotificationConfiguration element.

\n

For more information about the number of event notification configurations that you can create per\n bucket, see Amazon S3 service\n quotas in Amazon Web Services General Reference.

\n

By default, only the bucket owner can configure notifications on a bucket. However, bucket owners\n can use a bucket policy to grant permission to other users to set this configuration with the required\n s3:PutBucketNotification permission.

\n \n

The PUT notification is an atomic operation. For example, suppose your notification configuration\n includes SNS topic, SQS queue, and Lambda function configurations. When you send a PUT request with\n this configuration, Amazon S3 sends test messages to your SNS topic. If the message fails, the entire PUT\n action will fail, and Amazon S3 will not add the configuration to your bucket.

\n
\n

If the configuration in the request body includes only one TopicConfiguration\n specifying only the s3:ReducedRedundancyLostObject event type, the response will also\n include the x-amz-sns-test-message-id header containing the message ID of the test\n notification sent to the topic.

\n

The following action is related to PutBucketNotificationConfiguration:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Enables notifications of specified events for a bucket. For more information about event\n notifications, see Configuring Event Notifications.

\n

Using this API, you can replace an existing notification configuration. The configuration is an XML\n file that defines the event types that you want Amazon S3 to publish and the destination where you want Amazon S3\n to publish an event notification when it detects an event of the specified type.

\n

By default, your bucket has no event notifications configured. That is, the notification\n configuration will be an empty NotificationConfiguration.

\n

\n \n

\n

\n \n

\n

This action replaces the existing notification configuration with the configuration you include in\n the request body.

\n

After Amazon S3 receives this request, it first verifies that any Amazon Simple Notification Service\n (Amazon SNS) or Amazon Simple Queue Service (Amazon SQS) destination exists, and that the bucket owner\n has permission to publish to it by sending a test notification. In the case of Lambda destinations,\n Amazon S3 verifies that the Lambda function permissions grant Amazon S3 permission to invoke the function from the\n Amazon S3 bucket. For more information, see Configuring Notifications for Amazon S3\n Events.

\n

You can disable notifications by adding the empty NotificationConfiguration element.

\n

For more information about the number of event notification configurations that you can create per\n bucket, see Amazon S3 service\n quotas in Amazon Web Services General Reference.

\n

By default, only the bucket owner can configure notifications on a bucket. However, bucket owners\n can use a bucket policy to grant permission to other users to set this configuration with the required\n s3:PutBucketNotification permission.

\n \n

The PUT notification is an atomic operation. For example, suppose your notification configuration\n includes SNS topic, SQS queue, and Lambda function configurations. When you send a PUT request with\n this configuration, Amazon S3 sends test messages to your SNS topic. If the message fails, the entire PUT\n action will fail, and Amazon S3 will not add the configuration to your bucket.

\n
\n

If the configuration in the request body includes only one TopicConfiguration\n specifying only the s3:ReducedRedundancyLostObject event type, the response will also\n include the x-amz-sns-test-message-id header containing the message ID of the test\n notification sent to the topic.

\n

The following action is related to PutBucketNotificationConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set notification configuration for a bucket", @@ -35105,7 +35119,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you\n must have the s3:PutBucketOwnershipControls permission. For more information about Amazon S3\n permissions, see Specifying permissions in a policy.

\n

For information about Amazon S3 Object Ownership, see Using object ownership.

\n

The following operations are related to PutBucketOwnershipControls:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this operation, you\n must have the s3:PutBucketOwnershipControls permission. For more information about Amazon S3\n permissions, see Specifying permissions in a policy.

\n

For information about Amazon S3 Object Ownership, see Using object ownership.

\n

The following operations are related to PutBucketOwnershipControls:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?ownershipControls", @@ -35180,7 +35194,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must both have the PutBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this operation.

\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access\n Denied error. If you have the correct permissions, but you're not using an identity that\n belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed\n error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets,\n the root principal in a bucket owner's Amazon Web Services account can perform the\n GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the\n root principal's access. Bucket owner root principals can only be blocked from performing these\n API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutBucketPolicy permission is required in a policy. For more information\n about general purpose buckets bucket policies, see Using Bucket Policies and User\n Policies in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:PutBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies - See Example\n bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketPolicy:

\n ", + "smithy.api#documentation": "

Applies an Amazon S3 bucket policy to an Amazon S3 bucket.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Regional endpoint. These endpoints support path-style requests in the format https://s3express-control.region-code.amazonaws.com/bucket-name\n . Virtual-hosted-style requests aren't supported. \nFor more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must both have the PutBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this operation.

\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access\n Denied error. If you have the correct permissions, but you're not using an identity that\n belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed\n error.

\n \n

To ensure that bucket owners don't inadvertently lock themselves out of their own buckets,\n the root principal in a bucket owner's Amazon Web Services account can perform the\n GetBucketPolicy, PutBucketPolicy, and\n DeleteBucketPolicy API actions, even if their bucket policy explicitly denies the\n root principal's access. Bucket owner root principals can only be blocked from performing these\n API actions by VPC endpoint policies and Amazon Web Services Organizations policies.

\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The\n s3:PutBucketPolicy permission is required in a policy. For more information\n about general purpose buckets bucket policies, see Using Bucket Policies and User\n Policies in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to\n this API operation, you must have the s3express:PutBucketPolicy permission in\n an IAM identity-based policy instead of a bucket policy. Cross-account access to this API operation isn't supported. This operation can only be performed by the Amazon Web Services account that owns the resource.\n For more information about directory bucket policies and permissions, see Amazon Web Services Identity and Access Management (IAM) for S3 Express One Zone in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Example bucket policies
\n
\n

\n General purpose buckets example bucket policies - See Bucket policy\n examples in the Amazon S3 User Guide.

\n

\n Directory bucket example bucket policies - See Example\n bucket policies for S3 Express One Zone in the Amazon S3 User Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is s3express-control.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to PutBucketPolicy:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set bucket policy", @@ -35271,7 +35285,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Creates a replication configuration or replaces an existing one. For more information, see Replication in the\n Amazon S3 User Guide.

\n

Specify the replication configuration in the request body. In the replication configuration, you\n provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the\n IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information. You\n can invoke this request for a specific Amazon Web Services Region by using the \n aws:RequestedRegion\n condition key.

\n

A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each\n rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To\n choose additional subsets of objects to replicate, add a rule for each subset.

\n

To specify a subset of the objects in the source bucket to apply a replication rule to, add the\n Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one\n or more object tags, or both. When you add the Filter element in the configuration, you must also add\n the following elements: DeleteMarkerReplication, Status, and\n Priority.

\n \n

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of\n delete markers differently. For more information, see Backward Compatibility.

\n
\n

For information about enabling versioning on a bucket, see Using Versioning.

\n
\n
Handling Replication of Encrypted Objects
\n
\n

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following:\n SourceSelectionCriteria, SseKmsEncryptedObjects, Status,\n EncryptionConfiguration, and ReplicaKmsKeyID. For information about\n replication configuration, see Replicating Objects Created\n with SSE Using KMS keys.

\n

For information on PutBucketReplication errors, see List of\n replication-related error codes\n

\n
\n
Permissions
\n
\n

To create a PutBucketReplication request, you must have\n s3:PutReplicationConfiguration permissions for the bucket.\n \n

\n

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing\n Access Permissions to Your Amazon S3 Resources.

\n \n

To perform this operation, the user or role performing the action must have the iam:PassRole permission.

\n
\n
\n
\n

The following operations are related to PutBucketReplication:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Creates a replication configuration or replaces an existing one. For more information, see Replication in the\n Amazon S3 User Guide.

\n

Specify the replication configuration in the request body. In the replication configuration, you\n provide the name of the destination bucket or buckets where you want Amazon S3 to replicate objects, the\n IAM role that Amazon S3 can assume to replicate objects on your behalf, and other relevant information. You\n can invoke this request for a specific Amazon Web Services Region by using the \n aws:RequestedRegion\n condition key.

\n

A replication configuration must include at least one rule, and can contain a maximum of 1,000. Each\n rule identifies a subset of objects to replicate by filtering the objects in the source bucket. To\n choose additional subsets of objects to replicate, add a rule for each subset.

\n

To specify a subset of the objects in the source bucket to apply a replication rule to, add the\n Filter element as a child of the Rule element. You can filter objects based on an object key prefix, one\n or more object tags, or both. When you add the Filter element in the configuration, you must also add\n the following elements: DeleteMarkerReplication, Status, and\n Priority.

\n \n

If you are using an earlier version of the replication configuration, Amazon S3 handles replication of\n delete markers differently. For more information, see Backward Compatibility.

\n
\n

For information about enabling versioning on a bucket, see Using Versioning.

\n
\n
Handling Replication of Encrypted Objects
\n
\n

By default, Amazon S3 doesn't replicate objects that are stored at rest using server-side\n encryption with KMS keys. To replicate Amazon Web Services KMS-encrypted objects, add the following:\n SourceSelectionCriteria, SseKmsEncryptedObjects, Status,\n EncryptionConfiguration, and ReplicaKmsKeyID. For information about\n replication configuration, see Replicating Objects Created\n with SSE Using KMS keys.

\n

For information on PutBucketReplication errors, see List of\n replication-related error codes\n

\n
\n
Permissions
\n
\n

To create a PutBucketReplication request, you must have\n s3:PutReplicationConfiguration permissions for the bucket.\n \n

\n

By default, a resource owner, in this case the Amazon Web Services account that created the bucket, can\n perform this operation. The resource owner can also grant others permissions to perform the\n operation. For more information about permissions, see Specifying Permissions in a Policy\n and Managing\n Access Permissions to Your Amazon S3 Resources.

\n \n

To perform this operation, the user or role performing the action must have the iam:PassRole permission.

\n
\n
\n
\n

The following operations are related to PutBucketReplication:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set replication configuration on a bucket", @@ -35374,7 +35388,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads\n from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person\n requesting the download will be charged for the download. For more information, see Requester Pays\n Buckets.

\n

The following operations are related to PutBucketRequestPayment:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the request payment configuration for a bucket. By default, the bucket owner pays for downloads\n from the bucket. This configuration parameter enables the bucket owner (only) to specify that the person\n requesting the download will be charged for the download. For more information, see Requester Pays\n Buckets.

\n

The following operations are related to PutBucketRequestPayment:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set request payment configuration on a bucket.", @@ -35461,7 +35475,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the tags for a bucket.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get\n your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources,\n organize your billing information according to resources with the same tag key values. For example, you\n can tag several resources with a specific application name, and then organize your billing information\n to see the total cost of that application across several services. For more information, see Cost Allocation and\n Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

\n \n

When this operation sets the tags for a bucket, it will overwrite any current tags the bucket\n already has. You cannot use this operation to add tags to an existing list of tags.

\n
\n

To use this operation, you must have permissions to perform the s3:PutBucketTagging\n action. The bucket owner has this permission by default and can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n PutBucketTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

\n
    \n
  • \n

    \n InvalidTag - The tag provided was not a valid tag. This error can occur if\n the tag did not pass input validation. For more information, see Using Cost Allocation in Amazon S3 Bucket\n Tags.

    \n
  • \n
  • \n

    \n MalformedXML - The XML provided does not match the schema.

    \n
  • \n
  • \n

    \n OperationAborted - A conflicting conditional action is currently in progress\n against this resource. Please try again.

    \n
  • \n
  • \n

    \n InternalError - The service was unable to apply the provided tag to the\n bucket.

    \n
  • \n
\n

The following operations are related to PutBucketTagging:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the tags for a bucket.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get\n your Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources,\n organize your billing information according to resources with the same tag key values. For example, you\n can tag several resources with a specific application name, and then organize your billing information\n to see the total cost of that application across several services. For more information, see Cost Allocation and\n Tagging and Using Cost Allocation in Amazon S3 Bucket Tags.

\n \n

When this operation sets the tags for a bucket, it will overwrite any current tags the bucket\n already has. You cannot use this operation to add tags to an existing list of tags.

\n
\n

To use this operation, you must have permissions to perform the s3:PutBucketTagging\n action. The bucket owner has this permission by default and can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources.

\n

\n PutBucketTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

\n
    \n
  • \n

    \n InvalidTag - The tag provided was not a valid tag. This error can occur if\n the tag did not pass input validation. For more information, see Using Cost Allocation in Amazon S3 Bucket\n Tags.

    \n
  • \n
  • \n

    \n MalformedXML - The XML provided does not match the schema.

    \n
  • \n
  • \n

    \n OperationAborted - A conflicting conditional action is currently in progress\n against this resource. Please try again.

    \n
  • \n
  • \n

    \n InternalError - The service was unable to apply the provided tag to the\n bucket.

    \n
  • \n
\n

The following operations are related to PutBucketTagging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set tags on a bucket", @@ -35557,7 +35571,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n \n

When you enable versioning on a bucket for the first time, it might take a short amount of time\n for the change to be fully propagated. While this change is propagating, you might encounter\n intermittent HTTP 404 NoSuchKey errors for requests to objects created or updated after\n enabling versioning. We recommend that you wait for 15 minutes after enabling versioning before\n issuing write operations (PUT or DELETE) on objects in the bucket.

\n
\n

Sets the versioning state of an existing bucket.

\n

You can set the versioning state with one of the following values:

\n

\n Enabled—Enables versioning for the objects in the bucket. All\n objects added to the bucket receive a unique version ID.

\n

\n Suspended—Disables versioning for the objects in the bucket. All\n objects added to the bucket receive the version ID null.

\n

If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

\n

In order to enable MFA Delete, you must be the bucket owner. If you are the bucket owner and want to\n enable MFA Delete in the bucket versioning configuration, you must include the x-amz-mfa\n request header and the Status and the MfaDelete request elements in a\n request to set the versioning state of the bucket.

\n \n

If you have an object expiration lifecycle configuration in your non-versioned bucket and you want\n to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent\n expiration policy. The noncurrent expiration lifecycle configuration will manage the deletes of the\n noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one\n current and zero or more noncurrent object versions.) For more information, see Lifecycle and\n Versioning.

\n
\n

The following operations are related to PutBucketVersioning:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n \n

When you enable versioning on a bucket for the first time, it might take a short amount of time\n for the change to be fully propagated. While this change is propagating, you might encounter\n intermittent HTTP 404 NoSuchKey errors for requests to objects created or updated after\n enabling versioning. We recommend that you wait for 15 minutes after enabling versioning before\n issuing write operations (PUT or DELETE) on objects in the bucket.

\n
\n

Sets the versioning state of an existing bucket.

\n

You can set the versioning state with one of the following values:

\n

\n Enabled—Enables versioning for the objects in the bucket. All\n objects added to the bucket receive a unique version ID.

\n

\n Suspended—Disables versioning for the objects in the bucket. All\n objects added to the bucket receive the version ID null.

\n

If the versioning state has never been set on a bucket, it has no versioning state; a GetBucketVersioning request does not return a versioning state value.

\n

In order to enable MFA Delete, you must be the bucket owner. If you are the bucket owner and want to\n enable MFA Delete in the bucket versioning configuration, you must include the x-amz-mfa\n request header and the Status and the MfaDelete request elements in a\n request to set the versioning state of the bucket.

\n \n

If you have an object expiration lifecycle configuration in your non-versioned bucket and you want\n to maintain the same permanent delete behavior when you enable versioning, you must add a noncurrent\n expiration policy. The noncurrent expiration lifecycle configuration will manage the deletes of the\n noncurrent object versions in the version-enabled bucket. (A version-enabled bucket maintains one\n current and zero or more noncurrent object versions.) For more information, see Lifecycle and\n Versioning.

\n
\n

The following operations are related to PutBucketVersioning:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set versioning configuration on a bucket", @@ -35614,7 +35628,7 @@ "MFA": { "target": "com.amazonaws.s3#MFA", "traits": { - "smithy.api#documentation": "

The concatenation of the authentication device's serial number, a space, and the value that is\n displayed on your authentication device.

", + "smithy.api#documentation": "

The concatenation of the authentication device's serial number, a space, and the value that is displayed on your authentication device. The serial number is the number that uniquely identifies the MFA device. For physical MFA devices, this is the unique serial number that's provided with the device. For virtual MFA devices, the serial number is the device ARN. For more information, see Enabling versioning on buckets and Configuring MFA delete in the Amazon Simple Storage Service User Guide.

", "smithy.api#httpHeader": "x-amz-mfa" } }, @@ -35652,7 +35666,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the configuration of the website that is specified in the website subresource. To\n configure a bucket as a website, you can add this subresource on the bucket with website configuration\n information such as the file name of the index document and any redirect rules. For more information,\n see Hosting Websites on\n Amazon S3.

\n

This PUT action requires the S3:PutBucketWebsite permission. By default, only the\n bucket owner can configure the website attached to a bucket; however, bucket owners can allow other\n users to set the website configuration by writing a bucket policy that grants them the\n S3:PutBucketWebsite permission.

\n

To redirect all website requests sent to the bucket's website endpoint, you add a website\n configuration with the following elements. Because all requests are sent to another website, you don't\n need to provide index document name for the bucket.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n RedirectAllRequestsTo\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
\n

If you want granular control over redirects, you can use the following elements to add routing rules\n that describe conditions for redirecting requests and information about the redirect destination. In\n this case, the website configuration must provide an index document for the bucket, because some\n requests might not be redirected.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n IndexDocument\n

    \n
  • \n
  • \n

    \n Suffix\n

    \n
  • \n
  • \n

    \n ErrorDocument\n

    \n
  • \n
  • \n

    \n Key\n

    \n
  • \n
  • \n

    \n RoutingRules\n

    \n
  • \n
  • \n

    \n RoutingRule\n

    \n
  • \n
  • \n

    \n Condition\n

    \n
  • \n
  • \n

    \n HttpErrorCodeReturnedEquals\n

    \n
  • \n
  • \n

    \n KeyPrefixEquals\n

    \n
  • \n
  • \n

    \n Redirect\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n ReplaceKeyPrefixWith\n

    \n
  • \n
  • \n

    \n ReplaceKeyWith\n

    \n
  • \n
  • \n

    \n HttpRedirectCode\n

    \n
  • \n
\n

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50\n routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the\n Amazon S3 User Guide.

\n

The maximum request length is limited to 128 KB.

", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the configuration of the website that is specified in the website subresource. To\n configure a bucket as a website, you can add this subresource on the bucket with website configuration\n information such as the file name of the index document and any redirect rules. For more information,\n see Hosting Websites on\n Amazon S3.

\n

This PUT action requires the S3:PutBucketWebsite permission. By default, only the\n bucket owner can configure the website attached to a bucket; however, bucket owners can allow other\n users to set the website configuration by writing a bucket policy that grants them the\n S3:PutBucketWebsite permission.

\n

To redirect all website requests sent to the bucket's website endpoint, you add a website\n configuration with the following elements. Because all requests are sent to another website, you don't\n need to provide index document name for the bucket.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n RedirectAllRequestsTo\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
\n

If you want granular control over redirects, you can use the following elements to add routing rules\n that describe conditions for redirecting requests and information about the redirect destination. In\n this case, the website configuration must provide an index document for the bucket, because some\n requests might not be redirected.

\n
    \n
  • \n

    \n WebsiteConfiguration\n

    \n
  • \n
  • \n

    \n IndexDocument\n

    \n
  • \n
  • \n

    \n Suffix\n

    \n
  • \n
  • \n

    \n ErrorDocument\n

    \n
  • \n
  • \n

    \n Key\n

    \n
  • \n
  • \n

    \n RoutingRules\n

    \n
  • \n
  • \n

    \n RoutingRule\n

    \n
  • \n
  • \n

    \n Condition\n

    \n
  • \n
  • \n

    \n HttpErrorCodeReturnedEquals\n

    \n
  • \n
  • \n

    \n KeyPrefixEquals\n

    \n
  • \n
  • \n

    \n Redirect\n

    \n
  • \n
  • \n

    \n Protocol\n

    \n
  • \n
  • \n

    \n HostName\n

    \n
  • \n
  • \n

    \n ReplaceKeyPrefixWith\n

    \n
  • \n
  • \n

    \n ReplaceKeyWith\n

    \n
  • \n
  • \n

    \n HttpRedirectCode\n

    \n
  • \n
\n

Amazon S3 has a limitation of 50 routing rules per website configuration. If you require more than 50\n routing rules, you can use object redirect. For more information, see Configuring an Object Redirect in the\n Amazon S3 User Guide.

\n

The maximum request length is limited to 128 KB.

\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "Set website configuration on a bucket", @@ -35758,7 +35772,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "\n

End of support notice: Beginning October 1, 2025, Amazon S3 will discontinue support for creating new Email Grantee Access Control Lists (ACL). \n Email Grantee ACLs created prior to this date will continue to work and remain accessible through the Amazon Web Services Management Console, Command Line Interface (CLI), SDKs, \n and REST API. However, you will no longer be able to create new Email Grantee ACLs.\n

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia) Region, US West (N. California) Region, US West (Oregon) Region, Asia Pacific (Singapore) Region, Asia Pacific (Sydney) Region, \n Asia Pacific (Tokyo) Region, Europe (Ireland) Region, and South America (São Paulo) Region.

\n
\n

Adds an object to a bucket.

\n \n
    \n
  • \n

    Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire\n object to the bucket. You cannot use PutObject to only update a single piece of\n metadata for an existing object. You must put the entire object with updated metadata if you want\n to update some values.

    \n
  • \n
  • \n

    If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled\n and no longer affect permissions. All objects written to the bucket by any account will be owned\n by the bucket owner.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can\n modify this behavior:

\n
    \n
  • \n

    \n S3 Object Lock - To prevent objects from being deleted\n or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
  • \n

    \n If-None-Match - Uploads the object only if the object\n key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412\n Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns\n a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

    \n

    Expects the * character (asterisk).

    \n

    For more information, see Add preconditions to S3 operations with\n conditional requests in the Amazon S3 User Guide or RFC 7232.

    \n \n

    This functionality is not supported for S3 on Outposts.

    \n
    \n
  • \n
  • \n

    \n S3 Versioning - When you enable versioning for a bucket,\n if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions\n of the objects. For each write request that is made to the same object, Amazon S3 automatically generates\n a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any\n version of the object. For more information about versioning, see Adding Objects to\n Versioning-Enabled Buckets in the Amazon S3 User Guide. For information\n about returning the versioning state of a bucket, see GetBucketVersioning.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following\n permissions are required in your policies when your PutObject request includes\n specific headers.

    \n
      \n
    • \n

      \n \n s3:PutObject\n - To successfully\n complete the PutObject request, you must always have the\n s3:PutObject permission on a bucket to add an object to it.

      \n
    • \n
    • \n

      \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your PutObject\n request, you must have the s3:PutObjectAcl.

      \n
    • \n
    • \n

      \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your PutObject\n request, you must have the s3:PutObjectTagging.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n
  • \n
\n
\n
Data integrity with Content-MD5
\n
\n
    \n
  • \n

    \n General purpose bucket - To ensure that data is not\n corrupted traversing the network, use the Content-MD5 header. When you use this\n header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate\n the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5\n value.

    \n
  • \n
  • \n

    \n Directory bucket -\n This functionality is not supported for directory buckets.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

For more information about related Amazon S3 APIs, see the following:

\n ", + "smithy.api#documentation": "\n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n

Adds an object to a bucket.

\n \n
    \n
  • \n

    Amazon S3 never adds partial objects; if you receive a success response, Amazon S3 added the entire\n object to the bucket. You cannot use PutObject to only update a single piece of\n metadata for an existing object. You must put the entire object with updated metadata if you want\n to update some values.

    \n
  • \n
  • \n

    If your bucket uses the bucket owner enforced setting for Object Ownership, ACLs are disabled\n and no longer affect permissions. All objects written to the bucket by any account will be owned\n by the bucket owner.

    \n
  • \n
  • \n

    \n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n

Amazon S3 is a distributed system. If it receives multiple write requests for the same object\n simultaneously, it overwrites all but the last object written. However, Amazon S3 provides features that can\n modify this behavior:

\n
    \n
  • \n

    \n S3 Object Lock - To prevent objects from being deleted\n or overwritten, you can use Amazon S3 Object Lock in the Amazon S3 User Guide.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
  • \n

    \n If-None-Match - Uploads the object only if the object\n key name does not already exist in the specified bucket. Otherwise, Amazon S3 returns a 412\n Precondition Failed error. If a conflicting operation occurs during the upload, S3 returns\n a 409 ConditionalRequestConflict response. On a 409 failure, retry the upload.

    \n

    Expects the * character (asterisk).

    \n

    For more information, see Add preconditions to S3 operations with\n conditional requests in the Amazon S3 User Guide or RFC 7232.

    \n \n

    This functionality is not supported for S3 on Outposts.

    \n
    \n
  • \n
  • \n

    \n S3 Versioning - When you enable versioning for a bucket,\n if Amazon S3 receives multiple write requests for the same object simultaneously, it stores all versions\n of the objects. For each write request that is made to the same object, Amazon S3 automatically generates\n a unique version ID of that object being stored in Amazon S3. You can retrieve, replace, or delete any\n version of the object. For more information about versioning, see Adding Objects to\n Versioning-Enabled Buckets in the Amazon S3 User Guide. For information\n about returning the versioning state of a bucket, see GetBucketVersioning.

    \n \n

    This functionality is not supported for directory buckets.

    \n
    \n
  • \n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - The following\n permissions are required in your policies when your PutObject request includes\n specific headers.

    \n
      \n
    • \n

      \n \n s3:PutObject\n - To successfully\n complete the PutObject request, you must always have the\n s3:PutObject permission on a bucket to add an object to it.

      \n
    • \n
    • \n

      \n \n s3:PutObjectAcl\n - To successfully change the objects ACL of your PutObject\n request, you must have the s3:PutObjectAcl.

      \n
    • \n
    • \n

      \n \n s3:PutObjectTagging\n - To successfully set the tag-set with your PutObject\n request, you must have the s3:PutObjectTagging.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n
  • \n
\n
\n
Data integrity with Content-MD5
\n
\n
    \n
  • \n

    \n General purpose bucket - To ensure that data is not\n corrupted traversing the network, use the Content-MD5 header. When you use this\n header, Amazon S3 checks the object against the provided MD5 value and, if they do not match, Amazon S3\n returns an error. Alternatively, when the object's ETag is its MD5 digest, you can calculate\n the MD5 while putting the object to Amazon S3 and compare the returned ETag to the calculated MD5\n value.

    \n
  • \n
  • \n

    \n Directory bucket -\n This functionality is not supported for directory buckets.

    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

For more information about related Amazon S3 APIs, see the following:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To create an object.", @@ -35889,7 +35903,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Uses the acl subresource to set the access control list (ACL) permissions for a new or\n existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of\n an object. For more information, see What permissions can I grant? in the\n Amazon S3 User Guide.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

Depending on your application needs, you can choose to set the ACL on an object using either the\n request body or the headers. For example, if you have an existing application that updates a bucket ACL\n using the request body, you can continue to use that approach. For more information, see Access Control List (ACL)\n Overview in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled\n and no longer affect permissions. You must use policies to grant access to your bucket and the objects\n in it. Requests to set ACLs or update ACLs fail and return the\n AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership in\n the Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You can set access permissions using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set\n of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and\n permissions. Specify the canned ACL name as the value of x-amz-acl. If you use\n this header, you cannot use other access control-specific headers in your request. For more\n information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you specify\n explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the\n permission. If you use these ACL-specific headers, you cannot use x-amz-acl\n header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports\n in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an\n Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of an\n Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants list objects\n permission to the two Amazon Web Services accounts identified by their email addresses.

    \n

    \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"\n \n

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n
\n
Grantee Values
\n
\n

You can specify the person (grantee) to whom you're assigning access rights (using request\n elements) in the following ways. For examples of how to specify these grantee values in JSON\n format, see the Amazon Web Services CLI example in Enabling Amazon S3 server\n access logging in the Amazon S3 User Guide.

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>lt;/Grantee>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl\n request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (São Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n
\n
Versioning
\n
\n

The ACL of an object is set at the object version level. By default, PUT sets the ACL of the\n current version of an object. To set the ACL of a different version, use the\n versionId subresource.

\n
\n
\n

The following operations are related to PutObjectAcl:

\n ", + "smithy.api#documentation": "\n

End of support notice: As of October 1, 2025, Amazon S3 has discontinued support for Email Grantee Access Control Lists (ACLs). If you attempt to use an Email Grantee ACL in a request after October 1, 2025, \n the request will receive an HTTP 405 (Method Not Allowed) error.

\n

This change affects the following Amazon Web Services Regions: US East (N. Virginia), US West (N. California), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Europe (Ireland), and South America (São Paulo).

\n
\n \n

This operation is not supported for directory buckets.

\n
\n

Uses the acl subresource to set the access control list (ACL) permissions for a new or\n existing object in an S3 bucket. You must have the WRITE_ACP permission to set the ACL of\n an object. For more information, see What permissions can I grant? in the\n Amazon S3 User Guide.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

Depending on your application needs, you can choose to set the ACL on an object using either the\n request body or the headers. For example, if you have an existing application that updates a bucket ACL\n using the request body, you can continue to use that approach. For more information, see Access Control List (ACL)\n Overview in the Amazon S3 User Guide.

\n \n

If your bucket uses the bucket owner enforced setting for S3 Object Ownership, ACLs are disabled\n and no longer affect permissions. You must use policies to grant access to your bucket and the objects\n in it. Requests to set ACLs or update ACLs fail and return the\n AccessControlListNotSupported error code. Requests to read ACLs are still supported.\n For more information, see Controlling object ownership in\n the Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n

You can set access permissions using one of the following methods:

\n
    \n
  • \n

    Specify a canned ACL with the x-amz-acl request header. Amazon S3 supports a set\n of predefined ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees and\n permissions. Specify the canned ACL name as the value of x-amz-acl. If you use\n this header, you cannot use other access control-specific headers in your request. For more\n information, see Canned ACL.

    \n
  • \n
  • \n

    Specify access permissions explicitly with the x-amz-grant-read,\n x-amz-grant-read-acp, x-amz-grant-write-acp, and\n x-amz-grant-full-control headers. When using these headers, you specify\n explicit access permissions and grantees (Amazon Web Services accounts or Amazon S3 groups) who will receive the\n permission. If you use these ACL-specific headers, you cannot use x-amz-acl\n header to set a canned ACL. These parameters map to the set of permissions that Amazon S3 supports\n in an ACL. For more information, see Access Control List (ACL)\n Overview.

    \n

    You specify each grantee as a type=value pair, where the type is one of the\n following:

    \n
      \n
    • \n

      \n id – if the value specified is the canonical user ID of an\n Amazon Web Services account

      \n
    • \n
    • \n

      \n uri – if you are granting permissions to a predefined group

      \n
    • \n
    • \n

      \n emailAddress – if the value specified is the email address of an\n Amazon Web Services account

      \n \n

      Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

      \n
        \n
      • \n

        US East (N. Virginia)

        \n
      • \n
      • \n

        US West (N. California)

        \n
      • \n
      • \n

        US West (Oregon)

        \n
      • \n
      • \n

        Asia Pacific (Singapore)

        \n
      • \n
      • \n

        Asia Pacific (Sydney)

        \n
      • \n
      • \n

        Asia Pacific (Tokyo)

        \n
      • \n
      • \n

        Europe (Ireland)

        \n
      • \n
      • \n

        South America (São Paulo)

        \n
      • \n
      \n

      For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

      \n
      \n
    • \n
    \n

    For example, the following x-amz-grant-read header grants list objects\n permission to the two Amazon Web Services accounts identified by their email addresses.

    \n

    \n x-amz-grant-read: emailAddress=\"xyz@amazon.com\", emailAddress=\"abc@amazon.com\"\n \n

    \n
  • \n
\n

You can use either a canned ACL or specify access permissions explicitly. You cannot do\n both.

\n
\n
Grantee Values
\n
\n

You can specify the person (grantee) to whom you're assigning access rights (using request\n elements) in the following ways. For examples of how to specify these grantee values in JSON\n format, see the Amazon Web Services CLI example in Enabling Amazon S3 server\n access logging in the Amazon S3 User Guide.

\n
    \n
  • \n

    By the person's ID:

    \n

    \n <>ID<><>GranteesEmail<>\n \n

    \n

    DisplayName is optional and ignored in the request.

    \n
  • \n
  • \n

    By URI:

    \n

    \n <>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<>\n

    \n
  • \n
  • \n

    By Email address:

    \n

    \n <>Grantees@email.com<>lt;/Grantee>\n

    \n

    The grantee is resolved to the CanonicalUser and, in a response to a GET Object acl\n request, appears as the CanonicalUser.

    \n \n

    Using email addresses to specify a grantee is only supported in the following Amazon Web Services Regions:

    \n
      \n
    • \n

      US East (N. Virginia)

      \n
    • \n
    • \n

      US West (N. California)

      \n
    • \n
    • \n

      US West (Oregon)

      \n
    • \n
    • \n

      Asia Pacific (Singapore)

      \n
    • \n
    • \n

      Asia Pacific (Sydney)

      \n
    • \n
    • \n

      Asia Pacific (Tokyo)

      \n
    • \n
    • \n

      Europe (Ireland)

      \n
    • \n
    • \n

      South America (São Paulo)

      \n
    • \n
    \n

    For a list of all the Amazon S3 supported Regions and endpoints, see Regions and Endpoints in the Amazon Web Services General Reference.

    \n
    \n
  • \n
\n
\n
Versioning
\n
\n

The ACL of an object is set at the object version level. By default, PUT sets the ACL of the\n current version of an object. To set the ACL of a different version, use the\n versionId subresource.

\n
\n
\n

The following operations are related to PutObjectAcl:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To grant permissions using object ACL", @@ -36052,7 +36066,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Applies a legal hold configuration to the specified object. For more information, see Locking Objects.

\n

This functionality is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Applies a legal hold configuration to the specified object. For more information, see Locking Objects.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?legal-hold", @@ -36156,7 +36170,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock\n configuration will be applied by default to every new object placed in the specified bucket. For more\n information, see Locking\n Objects.

\n \n
    \n
  • \n

    The DefaultRetention settings require both a mode and a period.

    \n
  • \n
  • \n

    The DefaultRetention period can be either Days or Years\n but you must select one. You cannot specify Days and Years at the same\n time.

    \n
  • \n
  • \n

    You can enable Object Lock for new or existing buckets. For more information, see Configuring\n Object Lock.

    \n
  • \n
\n
", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Places an Object Lock configuration on the specified bucket. The rule specified in the Object Lock\n configuration will be applied by default to every new object placed in the specified bucket. For more\n information, see Locking\n Objects.

\n \n
    \n
  • \n

    The DefaultRetention settings require both a mode and a period.

    \n
  • \n
  • \n

    The DefaultRetention period can be either Days or Years\n but you must select one. You cannot specify Days and Years at the same\n time.

    \n
  • \n
  • \n

    You can enable Object Lock for new or existing buckets. For more information, see Configuring\n Object Lock.

    \n
  • \n
\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?object-lock", @@ -36259,7 +36273,7 @@ "ChecksumCRC32": { "target": "com.amazonaws.s3#ChecksumCRC32", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-crc32" } }, @@ -36280,14 +36294,14 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha1" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha256" } }, @@ -36681,7 +36695,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Places an Object Retention configuration on an object. For more information, see Locking Objects. Users or\n accounts require the s3:PutObjectRetention permission in order to place an Object Retention\n configuration on objects. Bypassing a Governance Retention configuration requires the\n s3:BypassGovernanceRetention permission.

\n

This functionality is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Places an Object Retention configuration on an object. For more information, see Locking Objects. Users or\n accounts require the s3:PutObjectRetention permission in order to place an Object Retention\n configuration on objects. Bypassing a Governance Retention configuration requires the\n s3:BypassGovernanceRetention permission.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?retention", @@ -36792,7 +36806,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the supplied tag-set to an object that already exists in a bucket. A tag is a key-value pair.\n For more information, see Object Tagging.

\n

You can associate tags with an object by sending a PUT request against the tagging subresource that\n is associated with the object. You can retrieve tags by sending a GET request. For more information, see\n GetObjectTagging.

\n

For tagging-related restrictions related to characters and encodings, see Tag\n Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

\n

To use this operation, you must have permission to perform the s3:PutObjectTagging\n action. By default, the bucket owner has this permission and can grant this permission to others.

\n

To put tags of any other version, use the versionId query parameter. You also need\n permission for the s3:PutObjectVersionTagging action.

\n

\n PutObjectTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

\n
    \n
  • \n

    \n InvalidTag - The tag provided was not a valid tag. This error can occur if\n the tag did not pass input validation. For more information, see Object Tagging.

    \n
  • \n
  • \n

    \n MalformedXML - The XML provided does not match the schema.

    \n
  • \n
  • \n

    \n OperationAborted - A conflicting conditional action is currently in progress\n against this resource. Please try again.

    \n
  • \n
  • \n

    \n InternalError - The service was unable to apply the provided tag to the\n object.

    \n
  • \n
\n

The following operations are related to PutObjectTagging:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Sets the supplied tag-set to an object that already exists in a bucket. A tag is a key-value pair.\n For more information, see Object Tagging.

\n

You can associate tags with an object by sending a PUT request against the tagging subresource that\n is associated with the object. You can retrieve tags by sending a GET request. For more information, see\n GetObjectTagging.

\n

For tagging-related restrictions related to characters and encodings, see Tag\n Restrictions. Note that Amazon S3 limits the maximum number of tags to 10 tags per object.

\n

To use this operation, you must have permission to perform the s3:PutObjectTagging\n action. By default, the bucket owner has this permission and can grant this permission to others.

\n

To put tags of any other version, use the versionId query parameter. You also need\n permission for the s3:PutObjectVersionTagging action.

\n

\n PutObjectTagging has the following special errors. For more Amazon S3 errors see, Error Responses.

\n
    \n
  • \n

    \n InvalidTag - The tag provided was not a valid tag. This error can occur if\n the tag did not pass input validation. For more information, see Object Tagging.

    \n
  • \n
  • \n

    \n MalformedXML - The XML provided does not match the schema.

    \n
  • \n
  • \n

    \n OperationAborted - A conflicting conditional action is currently in progress\n against this resource. Please try again.

    \n
  • \n
  • \n

    \n InternalError - The service was unable to apply the provided tag to the\n object.

    \n
  • \n
\n

The following operations are related to PutObjectTagging:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To add tags to an existing object", @@ -36902,6 +36916,7 @@ "RequestPayer": { "target": "com.amazonaws.s3#RequestPayer", "traits": { + "smithy.api#documentation": "

Confirms that the requester knows that she or he will be charged for the tagging object\n request. Bucket owners need not specify this parameter in their requests.

", "smithy.api#httpHeader": "x-amz-request-payer" } } @@ -36923,7 +36938,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this\n operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information\n about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it\n checks the PublicAccessBlock configuration for both the bucket (or the bucket that\n contains the object) and the bucket owner's account. If the PublicAccessBlock\n configurations are different between the bucket and the account, Amazon S3 uses the most restrictive\n combination of the bucket-level and account-level settings.

\n
\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n

The following operations are related to PutPublicAccessBlock:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Creates or modifies the PublicAccessBlock configuration for an Amazon S3 bucket. To use this\n operation, you must have the s3:PutBucketPublicAccessBlock permission. For more information\n about Amazon S3 permissions, see Specifying Permissions in a\n Policy.

\n \n

When Amazon S3 evaluates the PublicAccessBlock configuration for a bucket or an object, it\n checks the PublicAccessBlock configuration for both the bucket (or the bucket that\n contains the object) and the bucket owner's account. If the PublicAccessBlock\n configurations are different between the bucket and the account, Amazon S3 uses the most restrictive\n combination of the bucket-level and account-level settings.

\n
\n

For more information about when Amazon S3 considers a bucket or an object public, see The Meaning of \"Public\".

\n

The following operations are related to PutPublicAccessBlock:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?publicAccessBlock", @@ -37087,7 +37102,7 @@ "Payload": { "target": "com.amazonaws.s3#Body", "traits": { - "smithy.api#documentation": "

The byte array of partial, one or more result records. S3 Select doesn't guarantee that a record\n will be self-contained in one record frame. To ensure continuous streaming of data, S3 Select might\n split the same record across multiple record frames instead of aggregating the results in memory. Some\n S3 clients (for example, the SDK for Java) handle this behavior by creating a\n ByteStream out of the response by default. Other clients might not handle this behavior\n by default. In those cases, you must aggregate the results on the client side and parse the\n response.

", + "smithy.api#documentation": "

The byte array of partial, one or more result records. S3 Select doesn't guarantee that a record\n will be self-contained in one record frame. To ensure continuous streaming of data, S3 Select might\n split the same record across multiple record frames instead of aggregating the results in memory. Some\n S3 clients (for example, the SDKforJava) handle this behavior by creating a\n ByteStream out of the response by default. Other clients might not handle this behavior\n by default. In those cases, you must aggregate the results on the client side and parse the\n response.

", "smithy.api#eventPayload": {} } } @@ -37178,7 +37193,7 @@ } ], "traits": { - "smithy.api#documentation": "

Renames an existing object in a directory bucket that uses the S3 Express One Zone storage class.\n You can use RenameObject by specifying an existing object’s name as the source and the new\n name of the object as the destination within the same directory bucket.

\n \n

\n RenameObject is only supported for objects stored in the S3 Express One Zone storage\n class.

\n
\n

To prevent overwriting an object, you can use the If-None-Match conditional\n header.

\n
    \n
  • \n

    \n If-None-Match - Renames the object only if an object\n with the specified name does not already exist in the directory bucket. If you don't want to\n overwrite an existing object, you can add the If-None-Match conditional header with the\n value ‘*’ in the RenameObject request. Amazon S3 then returns a 412\n Precondition Failed error if the object with the specified name already exists. For more\n information, see RFC 7232.

    \n
  • \n
\n
\n
Permissions
\n
\n

To grant access to the RenameObject operation on a directory bucket, we\n recommend that you use the CreateSession operation for session-based authorization.\n Specifically, you grant the s3express:CreateSession permission to the directory\n bucket in a bucket policy or an IAM identity-based policy. Then, you make the\n CreateSession API call on the directory bucket to obtain a session token. With the\n session token in your request header, you can make API requests to this operation. After the\n session token expires, you make another CreateSession API call to generate a new\n session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including\n refreshing the session token automatically to avoid service interruptions when a session expires.\n In your bucket policy, you can specify the s3express:SessionMode condition key to\n control who can create a ReadWrite or ReadOnly session. A\n ReadWrite session is required for executing all the Zonal endpoint API operations,\n including RenameObject. For more information about authorization, see \n CreateSession\n . To learn more about Zonal endpoint API operations, see\n Authorizing Zonal endpoint API operations with CreateSession in the Amazon S3 User\n Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
", + "smithy.api#documentation": "

Renames an existing object in a directory bucket that uses the S3 Express One Zone storage class.\n You can use RenameObject by specifying an existing object’s name as the source and the new\n name of the object as the destination within the same directory bucket.

\n \n

\n RenameObject is only supported for objects stored in the S3 Express One Zone storage\n class.

\n
\n

To prevent overwriting an object, you can use the If-None-Match conditional\n header.

\n
    \n
  • \n

    \n If-None-Match - Renames the object only if an object\n with the specified name does not already exist in the directory bucket. If you don't want to\n overwrite an existing object, you can add the If-None-Match conditional header with the\n value ‘*’ in the RenameObject request. Amazon S3 then returns a 412\n Precondition Failed error if the object with the specified name already exists. For more\n information, see RFC 7232.

    \n
  • \n
\n
\n
Permissions
\n
\n

To grant access to the RenameObject operation on a directory bucket, we\n recommend that you use the CreateSession operation for session-based authorization.\n Specifically, you grant the s3express:CreateSession permission to the directory\n bucket in a bucket policy or an IAM identity-based policy. Then, you make the\n CreateSession API call on the directory bucket to obtain a session token. With the\n session token in your request header, you can make API requests to this operation. After the\n session token expires, you make another CreateSession API call to generate a new\n session token for use. The Amazon Web Services CLI and SDKs will create and manage your session including\n refreshing the session token automatically to avoid service interruptions when a session expires.\n In your bucket policy, you can specify the s3express:SessionMode condition key to\n control who can create a ReadWrite or ReadOnly session. A\n ReadWrite session is required for executing all the Zonal endpoint API operations,\n including RenameObject. For more information about authorization, see \n CreateSession\n . To learn more about Zonal endpoint API operations, see\n Authorizing Zonal endpoint API operations with CreateSession in the Amazon S3 User\n Guide.

\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}/{Key+}?renameObject", @@ -37709,7 +37724,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Restores an archived copy of an object back into Amazon S3

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

This action performs the following types of requests:

\n
    \n
  • \n

    \n restore an archive - Restore an archived object

    \n
  • \n
\n

For more information about the S3 structure in the request body, see the\n following:

\n \n
\n
Permissions
\n
\n

To use this operation, you must have permissions to perform the s3:RestoreObject\n action. The bucket owner has this permission by default and can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n
\n
Restoring objects
\n
\n

Objects that you archive to the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive\n storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in\n real time. For objects in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive\n storage classes, you must first initiate a restore request, and then wait until a temporary copy\n of the object is available. If you want a permanent copy of the object, create a copy of it in the\n Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the\n object for the duration (number of days) that you specify. For objects in the Archive Access or\n Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier.

\n

To restore a specific object version, you can provide a version ID. If you don't provide a\n version ID, Amazon S3 restores the current version.

\n

When restoring an archived object, you can specify one of the following data access tier\n options in the Tier element of the request body:

\n
    \n
  • \n

    \n Expedited - Expedited retrievals allow you to quickly access your data stored\n in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier when occasional\n urgent requests for restoring archives are required. For all but the largest archived objects\n (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5\n minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is\n available when you need it. Expedited retrievals and provisioned capacity are not available\n for objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier.

    \n
  • \n
  • \n

    \n Standard - Standard retrievals allow you to access any of your archived\n objects within several hours. This is the default option for retrieval requests that do not\n specify the retrieval option. Standard retrievals typically finish within 3–5 hours for\n objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier.\n They typically finish within 12 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard\n retrievals are free for objects stored in S3 Intelligent-Tiering.

    \n
  • \n
  • \n

    \n Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible\n Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large amounts,\n even petabytes, of data at no cost. Bulk retrievals typically finish within 5–12 hours for\n objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier.\n Bulk retrievals are also the lowest-cost retrieval option when restoring objects from\n S3 Glacier Deep Archive. They typically finish within 48 hours for objects stored in\n the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.

    \n
  • \n
\n

For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the\n Amazon S3 User Guide.

\n

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it\n is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

\n

To get the status of object restoration, you can send a HEAD request. Operations\n return the x-amz-restore header, which provides information about the restoration\n status, in the response. You can use Amazon S3 event notifications to notify you when a restore is\n initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon S3 User Guide.

\n

After restoring an archived object, you can update the restoration period by reissuing the\n request with a new period. Amazon S3 updates the restoration period relative to the current time and\n charges only for the request-there are no data transfer charges. You cannot update the\n restoration period when Amazon S3 is actively processing your current restore request for the\n object.

\n

If your bucket has a lifecycle configuration with a rule that includes an expiration action,\n the object expiration overrides the life span that you specify in a restore request. For example,\n if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3\n deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon S3 User Guide.

\n
\n
Responses
\n
\n

A successful action returns either the 200 OK or 202 Accepted status\n code.

\n
    \n
  • \n

    If the object is not previously restored, then Amazon S3 returns 202 Accepted in\n the response.

    \n
  • \n
  • \n

    If the object is previously restored, Amazon S3 returns 200 OK in the response.\n

    \n
  • \n
\n
    \n
  • \n

    Special errors:

    \n
      \n
    • \n

      \n Code: RestoreAlreadyInProgress\n

      \n
    • \n
    • \n

      \n Cause: Object restore is already in progress.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 409 Conflict\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: Client\n

      \n
    • \n
    \n
  • \n
  • \n
      \n
    • \n

      \n Code: GlacierExpeditedRetrievalNotAvailable\n

      \n
    • \n
    • \n

      \n Cause: expedited retrievals are currently not available. Try again later.\n (Returned if there is insufficient capacity to process the Expedited request. This error\n applies only to Expedited retrievals and not to S3 Standard or Bulk\n retrievals.)\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 503\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: N/A\n

      \n
    • \n
    \n
  • \n
\n
\n
\n

The following operations are related to RestoreObject:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Restores an archived copy of an object back into Amazon S3

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

This action performs the following types of requests:

\n
    \n
  • \n

    \n restore an archive - Restore an archived object

    \n
  • \n
\n

For more information about the S3 structure in the request body, see the\n following:

\n \n
\n
Permissions
\n
\n

To use this operation, you must have permissions to perform the s3:RestoreObject\n action. The bucket owner has this permission by default and can grant this permission to others.\n For more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3\n Resources in the Amazon S3 User Guide.

\n
\n
Restoring objects
\n
\n

Objects that you archive to the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive\n storage class, and S3 Intelligent-Tiering Archive or S3 Intelligent-Tiering Deep Archive tiers, are not accessible in\n real time. For objects in the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive\n storage classes, you must first initiate a restore request, and then wait until a temporary copy\n of the object is available. If you want a permanent copy of the object, create a copy of it in the\n Amazon S3 Standard storage class in your S3 bucket. To access an archived object, you must restore the\n object for the duration (number of days) that you specify. For objects in the Archive Access or\n Deep Archive Access tiers of S3 Intelligent-Tiering, you must first initiate a restore request, and\n then wait until the object is moved into the Frequent Access tier.

\n

To restore a specific object version, you can provide a version ID. If you don't provide a\n version ID, Amazon S3 restores the current version.

\n

When restoring an archived object, you can specify one of the following data access tier\n options in the Tier element of the request body:

\n
    \n
  • \n

    \n Expedited - Expedited retrievals allow you to quickly access your data stored\n in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier when occasional\n urgent requests for restoring archives are required. For all but the largest archived objects\n (250 MB+), data accessed using Expedited retrievals is typically made available within 1–5\n minutes. Provisioned capacity ensures that retrieval capacity for Expedited retrievals is\n available when you need it. Expedited retrievals and provisioned capacity are not available\n for objects stored in the S3 Glacier Deep Archive storage class or\n S3 Intelligent-Tiering Deep Archive tier.

    \n
  • \n
  • \n

    \n Standard - Standard retrievals allow you to access any of your archived\n objects within several hours. This is the default option for retrieval requests that do not\n specify the retrieval option. Standard retrievals typically finish within 3–5 hours for\n objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier.\n They typically finish within 12 hours for objects stored in the\n S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier. Standard\n retrievals are free for objects stored in S3 Intelligent-Tiering.

    \n
  • \n
  • \n

    \n Bulk - Bulk retrievals free for objects stored in the S3 Glacier Flexible\n Retrieval and S3 Intelligent-Tiering storage classes, enabling you to retrieve large amounts,\n even petabytes, of data at no cost. Bulk retrievals typically finish within 5–12 hours for\n objects stored in the S3 Glacier Flexible Retrieval storage class or S3 Intelligent-Tiering Archive tier.\n Bulk retrievals are also the lowest-cost retrieval option when restoring objects from\n S3 Glacier Deep Archive. They typically finish within 48 hours for objects stored in\n the S3 Glacier Deep Archive storage class or S3 Intelligent-Tiering Deep Archive tier.

    \n
  • \n
\n

For more information about archive retrieval options and provisioned capacity for\n Expedited data access, see Restoring Archived Objects in the\n Amazon S3 User Guide.

\n

You can use Amazon S3 restore speed upgrade to change the restore speed to a faster speed while it\n is in progress. For more information, see \n Upgrading the speed of an in-progress restore in the\n Amazon S3 User Guide.

\n

To get the status of object restoration, you can send a HEAD request. Operations\n return the x-amz-restore header, which provides information about the restoration\n status, in the response. You can use Amazon S3 event notifications to notify you when a restore is\n initiated or completed. For more information, see Configuring Amazon S3 Event Notifications in\n the Amazon S3 User Guide.

\n

After restoring an archived object, you can update the restoration period by reissuing the\n request with a new period. Amazon S3 updates the restoration period relative to the current time and\n charges only for the request-there are no data transfer charges. You cannot update the\n restoration period when Amazon S3 is actively processing your current restore request for the\n object.

\n

If your bucket has a lifecycle configuration with a rule that includes an expiration action,\n the object expiration overrides the life span that you specify in a restore request. For example,\n if you restore an object copy for 10 days, but the object is scheduled to expire in 3 days, Amazon S3\n deletes the object in 3 days. For more information about lifecycle configuration, see PutBucketLifecycleConfiguration and Object Lifecycle Management in\n Amazon S3 User Guide.

\n
\n
Responses
\n
\n

A successful action returns either the 200 OK or 202 Accepted status\n code.

\n
    \n
  • \n

    If the object is not previously restored, then Amazon S3 returns 202 Accepted in\n the response.

    \n
  • \n
  • \n

    If the object is previously restored, Amazon S3 returns 200 OK in the response.\n

    \n
  • \n
\n
    \n
  • \n

    Special errors:

    \n
      \n
    • \n

      \n Code: RestoreAlreadyInProgress\n

      \n
    • \n
    • \n

      \n Cause: Object restore is already in progress.\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 409 Conflict\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: Client\n

      \n
    • \n
    \n
  • \n
  • \n
      \n
    • \n

      \n Code: GlacierExpeditedRetrievalNotAvailable\n

      \n
    • \n
    • \n

      \n Cause: expedited retrievals are currently not available. Try again later.\n (Returned if there is insufficient capacity to process the Expedited request. This error\n applies only to Expedited retrievals and not to S3 Standard or Bulk\n retrievals.)\n

      \n
    • \n
    • \n

      \n HTTP Status Code: 503\n

      \n
    • \n
    • \n

      \n SOAP Fault Code Prefix: N/A\n

      \n
    • \n
    \n
  • \n
\n
\n
\n

The following operations are related to RestoreObject:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To restore an archived object", @@ -38177,7 +38192,7 @@ "target": "com.amazonaws.s3#SelectObjectContentOutput" }, "traits": { - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL)\n statement. In the request, along with the SQL expression, you must also specify a data serialization\n format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into\n records, and returns only records that match the specified SQL expression. You must also specify the\n data serialization format for the response.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

For more information about Amazon S3 Select, see Selecting Content from Objects\n and SELECT Command in\n the Amazon S3 User Guide.

\n

\n
\n
Permissions
\n
\n

You must have the s3:GetObject permission for this operation. Amazon S3 Select does\n not support anonymous access. For more information about permissions, see Specifying Permissions\n in a Policy in the Amazon S3 User Guide.

\n
\n
Object Data Formats
\n
\n

You can use Amazon S3 Select to query objects that have the following format properties:

\n
    \n
  • \n

    \n CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet\n format.

    \n
  • \n
  • \n

    \n UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports.

    \n
  • \n
  • \n

    \n GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or\n BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and\n JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3\n Select does not support whole-object compression for Parquet objects.

    \n
  • \n
  • \n

    \n Server-side encryption - Amazon S3 Select supports querying objects that\n are protected with server-side encryption.

    \n

    For objects that are encrypted with customer-provided encryption keys (SSE-C), you must\n use HTTPS, and you must use the headers that are documented in the GetObject. For more information about\n SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

    \n

    For objects that are encrypted with Amazon S3 managed keys (SSE-S3) and Amazon Web Services KMS keys\n (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify\n anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see\n Protecting\n Data Using Server-Side Encryption in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
Working with the Response Body
\n
\n

Given the response size is unknown, Amazon S3 Select streams the response as a series of messages\n and includes a Transfer-Encoding header with chunked as its value in the\n response. For more information, see Appendix: SelectObjectContent\n Response.

\n
\n
GetObject Support
\n
\n

The SelectObjectContent action does not support the following\n GetObject functionality. For more information, see GetObject.

\n
    \n
  • \n

    \n Range: Although you can specify a scan range for an Amazon S3 Select request (see\n SelectObjectContentRequest - ScanRange in the request parameters), you\n cannot specify the range of bytes of an object to return.

    \n
  • \n
  • \n

    The GLACIER, DEEP_ARCHIVE, and REDUCED_REDUNDANCY\n storage classes, or the ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS\n access tiers of the INTELLIGENT_TIERING storage class: You cannot query objects\n in the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY\n storage classes, nor objects in the ARCHIVE_ACCESS or\n DEEP_ARCHIVE_ACCESS access tiers of the INTELLIGENT_TIERING\n storage class. For more information about storage classes, see Using Amazon S3 storage classes\n in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Special Errors
\n
\n

For a list of special errors for this operation, see List of SELECT\n Object Content Error Codes\n

\n
\n
\n

The following operations are related to SelectObjectContent:

\n ", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

This action filters the contents of an Amazon S3 object based on a simple structured query language (SQL)\n statement. In the request, along with the SQL expression, you must also specify a data serialization\n format (JSON, CSV, or Apache Parquet) of the object. Amazon S3 uses this format to parse object data into\n records, and returns only records that match the specified SQL expression. You must also specify the\n data serialization format for the response.

\n

This functionality is not supported for Amazon S3 on Outposts.

\n

For more information about Amazon S3 Select, see Selecting Content from Objects\n and SELECT Command in\n the Amazon S3 User Guide.

\n

\n
\n
Permissions
\n
\n

You must have the s3:GetObject permission for this operation. Amazon S3 Select does\n not support anonymous access. For more information about permissions, see Specifying Permissions\n in a Policy in the Amazon S3 User Guide.

\n
\n
Object Data Formats
\n
\n

You can use Amazon S3 Select to query objects that have the following format properties:

\n
    \n
  • \n

    \n CSV, JSON, and Parquet - Objects must be in CSV, JSON, or Parquet\n format.

    \n
  • \n
  • \n

    \n UTF-8 - UTF-8 is the only encoding type Amazon S3 Select supports.

    \n
  • \n
  • \n

    \n GZIP or BZIP2 - CSV and JSON files can be compressed using GZIP or\n BZIP2. GZIP and BZIP2 are the only compression formats that Amazon S3 Select supports for CSV and\n JSON files. Amazon S3 Select supports columnar compression for Parquet using GZIP or Snappy. Amazon S3\n Select does not support whole-object compression for Parquet objects.

    \n
  • \n
  • \n

    \n Server-side encryption - Amazon S3 Select supports querying objects that\n are protected with server-side encryption.

    \n

    For objects that are encrypted with customer-provided encryption keys (SSE-C), you must\n use HTTPS, and you must use the headers that are documented in the GetObject. For more information about\n SSE-C, see Server-Side Encryption\n (Using Customer-Provided Encryption Keys) in the\n Amazon S3 User Guide.

    \n

    For objects that are encrypted with Amazon S3 managed keys (SSE-S3) and Amazon Web Services KMS keys\n (SSE-KMS), server-side encryption is handled transparently, so you don't need to specify\n anything. For more information about server-side encryption, including SSE-S3 and SSE-KMS, see\n Protecting\n Data Using Server-Side Encryption in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
Working with the Response Body
\n
\n

Given the response size is unknown, Amazon S3 Select streams the response as a series of messages\n and includes a Transfer-Encoding header with chunked as its value in the\n response. For more information, see Appendix: SelectObjectContent\n Response.

\n
\n
GetObject Support
\n
\n

The SelectObjectContent action does not support the following\n GetObject functionality. For more information, see GetObject.

\n
    \n
  • \n

    \n Range: Although you can specify a scan range for an Amazon S3 Select request (see\n SelectObjectContentRequest - ScanRange in the request parameters), you\n cannot specify the range of bytes of an object to return.

    \n
  • \n
  • \n

    The GLACIER, DEEP_ARCHIVE, and REDUCED_REDUNDANCY\n storage classes, or the ARCHIVE_ACCESS and DEEP_ARCHIVE_ACCESS\n access tiers of the INTELLIGENT_TIERING storage class: You cannot query objects\n in the GLACIER, DEEP_ARCHIVE, or REDUCED_REDUNDANCY\n storage classes, nor objects in the ARCHIVE_ACCESS or\n DEEP_ARCHIVE_ACCESS access tiers of the INTELLIGENT_TIERING\n storage class. For more information about storage classes, see Using Amazon S3 storage classes\n in the Amazon S3 User Guide.

    \n
  • \n
\n
\n
Special Errors
\n
\n

For a list of special errors for this operation, see List of SELECT\n Object Content Error Codes\n

\n
\n
\n

The following operations are related to SelectObjectContent:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "POST", "uri": "/{Bucket}/{Key+}?select&select-type=2", @@ -39158,7 +39173,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Enables or disables a live inventory table for an S3 Metadata configuration on a general \n purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the following permissions. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you want to encrypt your inventory table with server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), you need additional permissions in your KMS key policy. For more\n information, see \n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n
    \n
  • \n

    \n s3:UpdateBucketMetadataInventoryTableConfiguration\n

    \n
  • \n
  • \n

    \n s3tables:CreateTableBucket\n

    \n
  • \n
  • \n

    \n s3tables:CreateNamespace\n

    \n
  • \n
  • \n

    \n s3tables:GetTable\n

    \n
  • \n
  • \n

    \n s3tables:CreateTable\n

    \n
  • \n
  • \n

    \n s3tables:PutTablePolicy\n

    \n
  • \n
  • \n

    \n s3tables:PutTableEncryption\n

    \n
  • \n
  • \n

    \n kms:DescribeKey\n

    \n
  • \n
\n
\n
\n

The following operations are related to UpdateBucketMetadataInventoryTableConfiguration:

\n ", + "smithy.api#documentation": "

Enables or disables a live inventory table for an S3 Metadata configuration on a general \n purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the following permissions. For more information, see\n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n

If you want to encrypt your inventory table with server-side encryption with Key Management Service\n (KMS) keys (SSE-KMS), you need additional permissions in your KMS key policy. For more\n information, see \n Setting up permissions for configuring metadata tables in the\n Amazon S3 User Guide.

\n
    \n
  • \n

    \n s3:UpdateBucketMetadataInventoryTableConfiguration\n

    \n
  • \n
  • \n

    \n s3tables:CreateTableBucket\n

    \n
  • \n
  • \n

    \n s3tables:CreateNamespace\n

    \n
  • \n
  • \n

    \n s3tables:GetTable\n

    \n
  • \n
  • \n

    \n s3tables:CreateTable\n

    \n
  • \n
  • \n

    \n s3tables:PutTablePolicy\n

    \n
  • \n
  • \n

    \n s3tables:PutTableEncryption\n

    \n
  • \n
  • \n

    \n kms:DescribeKey\n

    \n
  • \n
\n
\n
\n

The following operations are related to UpdateBucketMetadataInventoryTableConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?metadataInventoryTable", @@ -39233,7 +39248,7 @@ "requestAlgorithmMember": "ChecksumAlgorithm", "requestChecksumRequired": true }, - "smithy.api#documentation": "

Enables or disables journal table record expiration for an S3 Metadata configuration on a general \n purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the s3:UpdateBucketMetadataJournalTableConfiguration\n permission. For more information, see Setting up permissions for\n configuring metadata tables in the Amazon S3 User Guide.

\n
\n
\n

The following operations are related to UpdateBucketMetadataJournalTableConfiguration:

\n ", + "smithy.api#documentation": "

Enables or disables journal table record expiration for an S3 Metadata configuration on a general \n purpose bucket. For more information, see\n Accelerating\n data discovery with S3 Metadata in the Amazon S3 User Guide.

\n
\n
Permissions
\n
\n

To use this operation, you must have the s3:UpdateBucketMetadataJournalTableConfiguration\n permission. For more information, see Setting up permissions for\n configuring metadata tables in the Amazon S3 User Guide.

\n
\n
\n

The following operations are related to UpdateBucketMetadataJournalTableConfiguration:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/{Bucket}?metadataJournalTable", @@ -39310,7 +39325,7 @@ "aws.protocols#httpChecksum": { "requestAlgorithmMember": "ChecksumAlgorithm" }, - "smithy.api#documentation": "

Uploads a part in a multipart upload.

\n \n

In this operation, you provide new data as a part of an object in your request. However, you have\n an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n upload a part from an existing object, you use the UploadPartCopy operation.

\n
\n

You must initiate a multipart upload (see CreateMultipartUpload) before you can\n upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier\n that you must include in your upload part request.

\n

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part\n and also defines its position within the object being created. If you upload a new part using the same\n part number that was used with a previous part, the previously uploaded part is overwritten.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see\n Multipart upload\n limits in the Amazon S3 User Guide.

\n \n

After you initiate multipart upload and upload one or more parts, you must either complete or\n abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after\n you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you\n for the parts storage.

\n
\n

For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To perform a\n multipart upload with encryption using an Key Management Service key, the requester must have permission to\n the kms:Decrypt and kms:GenerateDataKey actions on the key. The\n requester must also have permissions for the kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs permissions for the\n kms:Decrypt action on the UploadPart and\n UploadPartCopy APIs.

    \n

    These permissions are required because Amazon S3 must decrypt and read data from the encrypted\n file parts before it completes the multipart upload. For more information about KMS\n permissions, see Protecting data using server-side\n encryption with KMS in the Amazon S3 User Guide. For information\n about the permissions required to use the multipart upload API, see Multipart upload and\n permissions and Multipart upload API and\n permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n
  • \n
\n
\n
Data integrity
\n
\n

\n General purpose bucket - To ensure that data is not corrupted\n traversing the network, specify the Content-MD5 header in the upload part request.\n Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an\n error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of Content-MD5. For\n more information see Authenticating Requests:\n Using the Authorization Header (Amazon Web Services Signature Version 4).

\n \n

\n Directory buckets - MD5 is not supported by directory buckets. You can use checksum algorithms to check object integrity.

\n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose bucket - Server-side encryption is for\n data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers\n and decrypts it when you access it. You have mutually exclusive options to protect data using\n server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys.\n Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys\n (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption\n using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at\n rest using server-side encryption with other key options. The option you use depends on\n whether you want to use KMS keys (SSE-KMS) or provide your own encryption key\n (SSE-C).

    \n

    Server-side encryption is supported by the S3 Multipart Upload operations. Unless you are\n using a customer-provided encryption key (SSE-C), you don't need to specify the encryption\n parameters in each UploadPart request. Instead, you only need to specify the server-side\n encryption parameters in the initial Initiate Multipart request. For more information, see\n CreateMultipartUpload.

    \n

    If you request server-side encryption using a customer-provided encryption key (SSE-C) in\n your initiate multipart upload request, you must provide identical encryption information in\n each part upload using the following request headers.

    \n
      \n
    • \n

      x-amz-server-side-encryption-customer-algorithm

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key-MD5

      \n
    • \n
    \n

    For more information, see Using Server-Side\n Encryption in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms).

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID might be\n invalid, or the multipart upload might have been aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPart:

\n ", + "smithy.api#documentation": "

Uploads a part in a multipart upload.

\n \n

In this operation, you provide new data as a part of an object in your request. However, you have\n an option to specify your existing Amazon S3 object as a data source for the part you are uploading. To\n upload a part from an existing object, you use the UploadPartCopy operation.

\n
\n

You must initiate a multipart upload (see CreateMultipartUpload) before you can\n upload any part. In response to your initiate request, Amazon S3 returns an upload ID, a unique identifier\n that you must include in your upload part request.

\n

Part numbers can be any number from 1 to 10,000, inclusive. A part number uniquely identifies a part\n and also defines its position within the object being created. If you upload a new part using the same\n part number that was used with a previous part, the previously uploaded part is overwritten.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see\n Multipart upload\n limits in the Amazon S3 User Guide.

\n \n

After you initiate multipart upload and upload one or more parts, you must either complete or\n abort multipart upload in order to stop getting charged for storage of the uploaded parts. Only after\n you either complete or abort multipart upload, Amazon S3 frees up the parts storage and stops charging you\n for the parts storage.

\n
\n

For more information on multipart uploads, go to Multipart Upload Overview in the\n Amazon S3 User Guide .

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Permissions
\n
\n
    \n
  • \n

    \n General purpose bucket permissions - To perform a\n multipart upload with encryption using an Key Management Service key, the requester must have permission to\n the kms:Decrypt and kms:GenerateDataKey actions on the key. The\n requester must also have permissions for the kms:GenerateDataKey action for the\n CreateMultipartUpload API. Then, the requester needs permissions for the\n kms:Decrypt action on the UploadPart and\n UploadPartCopy APIs.

    \n

    These permissions are required because Amazon S3 must decrypt and read data from the encrypted\n file parts before it completes the multipart upload. For more information about KMS\n permissions, see Protecting data using server-side\n encryption with KMS in the Amazon S3 User Guide. For information\n about the permissions required to use the multipart upload API, see Multipart upload and\n permissions and Multipart upload API and\n permissions in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory bucket permissions - To grant access to this API operation on a directory bucket, we recommend that you use the \n CreateSession\n API operation for session-based authorization. Specifically, you grant the s3express:CreateSession permission to the directory bucket in a bucket policy or an IAM identity-based policy. Then, you make the CreateSession API call on the bucket to obtain a session token. With the session token in your request header, you can make API requests to this operation. After the session token expires, you make another CreateSession API call to generate a new session token for use. \nAmazon Web Services CLI or SDKs create session and refresh the session token automatically to avoid service interruptions when a session expires. For more information about authorization, see \n CreateSession\n .

    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n
  • \n
\n
\n
Data integrity
\n
\n

\n General purpose bucket - To ensure that data is not corrupted\n traversing the network, specify the Content-MD5 header in the upload part request.\n Amazon S3 checks the part data against the provided MD5 value. If they do not match, Amazon S3 returns an\n error. If the upload request is signed with Signature Version 4, then Amazon Web Services S3 uses the\n x-amz-content-sha256 header as a checksum instead of Content-MD5. For\n more information see Authenticating Requests:\n Using the Authorization Header (Amazon Web Services Signature Version 4).

\n \n

\n Directory buckets - MD5 is not supported by directory buckets. You can use checksum algorithms to check object integrity.

\n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose bucket - Server-side encryption is for\n data encryption at rest. Amazon S3 encrypts your data as it writes it to disks in its data centers\n and decrypts it when you access it. You have mutually exclusive options to protect data using\n server-side encryption in Amazon S3, depending on how you choose to manage the encryption keys.\n Specifically, the encryption key options are Amazon S3 managed keys (SSE-S3), Amazon Web Services KMS keys\n (SSE-KMS), and Customer-Provided Keys (SSE-C). Amazon S3 encrypts data with server-side encryption\n using Amazon S3 managed keys (SSE-S3) by default. You can optionally tell Amazon S3 to encrypt data at\n rest using server-side encryption with other key options. The option you use depends on\n whether you want to use KMS keys (SSE-KMS) or provide your own encryption key\n (SSE-C).

    \n

    Server-side encryption is supported by the S3 Multipart Upload operations. Unless you are\n using a customer-provided encryption key (SSE-C), you don't need to specify the encryption\n parameters in each UploadPart request. Instead, you only need to specify the server-side\n encryption parameters in the initial Initiate Multipart request. For more information, see\n CreateMultipartUpload.

    \n

    If you request server-side encryption using a customer-provided encryption key (SSE-C) in\n your initiate multipart upload request, you must provide identical encryption information in\n each part upload using the following request headers.

    \n
      \n
    • \n

      x-amz-server-side-encryption-customer-algorithm

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key

      \n
    • \n
    • \n

      x-amz-server-side-encryption-customer-key-MD5

      \n
    • \n
    \n

    For more information, see Using Server-Side\n Encryption in the Amazon S3 User Guide.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms).

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID might be\n invalid, or the multipart upload might have been aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    • \n

      SOAP Fault Code Prefix: Client

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPart:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To upload a part", @@ -39343,7 +39358,7 @@ "target": "com.amazonaws.s3#UploadPartCopyOutput" }, "traits": { - "smithy.api#documentation": "

Uploads a part by copying data from an existing object as data source. To specify the data source,\n you add the request header x-amz-copy-source in your request. To specify a byte range, you\n add the request header x-amz-copy-source-range in your request.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see\n Multipart upload\n limits in the Amazon S3 User Guide.

\n \n

Instead of copying data from an existing object as part data, you might use the UploadPart action to\n upload new data as a part of an object in your request.

\n
\n

You must initiate a multipart upload before you can upload any part. In response to your initiate\n request, Amazon S3 returns the upload ID, a unique identifier that you must include in your upload part\n request.

\n

For conceptual information about multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide. For information about copying objects using a single atomic\n action vs. a multipart upload, see Operations on Objects in the\n Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Authentication and authorization
\n
\n

All UploadPartCopy requests must be authenticated and signed by using IAM\n credentials (access key ID and secret access key for the IAM identities). All headers with the\n x-amz- prefix, including x-amz-copy-source, must be signed. For more\n information, see REST Authentication.

\n

\n Directory buckets - You must use IAM credentials to\n authenticate and authorize your access to the UploadPartCopy API operation, instead\n of using the temporary security credentials through the CreateSession API\n operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

\n
\n
Permissions
\n
\n

You must have READ access to the source object and WRITE access to\n the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You must have the\n permissions in a policy based on the bucket types of your source bucket and destination bucket\n in an UploadPartCopy operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have the \n s3:GetObject\n permission to read the source object that is\n being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have the \n s3:PutObject\n permission to write the object copy to\n the destination bucket.

      \n
    • \n
    • \n

      To perform a multipart upload with encryption using an Key Management Service key, the requester\n must have permission to the kms:Decrypt and kms:GenerateDataKey\n actions on the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the CreateMultipartUpload API.\n Then, the requester needs permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These permissions are\n required because Amazon S3 must decrypt and read data from the encrypted file parts before it\n completes the multipart upload. For more information about KMS permissions, see Protecting\n data using server-side encryption with KMS in the\n Amazon S3 User Guide. For information about the permissions required to\n use the multipart upload API, see Multipart upload and\n permissions and Multipart upload API\n and permissions in the Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have\n permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types\n in an UploadPartCopy operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a directory bucket, you must have\n the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By default, the session is\n in the ReadWrite mode. If you want to restrict the access, you can explicitly\n set the s3express:SessionMode condition key to ReadOnly on the\n copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the destination. The\n s3express:SessionMode condition key cannot be set to ReadOnly\n on the copy destination.

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n

    For example policies, see Example\n bucket policies for S3 Express One Zone and Amazon Web Services\n Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets -\n For information about using server-side encryption with\n customer-provided encryption keys with the UploadPartCopy operation, see CopyObject and\n UploadPart.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

    \n \n

    For directory buckets, when you perform a CreateMultipartUpload operation\n and an UploadPartCopy operation, the request headers you provide in the\n CreateMultipartUpload request must match the default encryption configuration\n of the destination bucket.

    \n
    \n

    S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through UploadPartCopy. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID might be\n invalid, or the multipart upload might have been aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidRequest\n

    \n
      \n
    • \n

      Description: The specified copy source is not supported as a byte-range copy\n source.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPartCopy:

\n ", + "smithy.api#documentation": "

Uploads a part by copying data from an existing object as data source. To specify the data source,\n you add the request header x-amz-copy-source in your request. To specify a byte range, you\n add the request header x-amz-copy-source-range in your request.

\n

For information about maximum and minimum part sizes and other multipart upload specifications, see\n Multipart upload\n limits in the Amazon S3 User Guide.

\n \n

Instead of copying data from an existing object as part data, you might use the UploadPart action to\n upload new data as a part of an object in your request.

\n
\n

You must initiate a multipart upload before you can upload any part. In response to your initiate\n request, Amazon S3 returns the upload ID, a unique identifier that you must include in your upload part\n request.

\n

For conceptual information about multipart uploads, see Uploading Objects Using Multipart Upload in\n the Amazon S3 User Guide. For information about copying objects using a single atomic\n action vs. a multipart upload, see Operations on Objects in the\n Amazon S3 User Guide.

\n \n

\n Directory buckets - For directory buckets, you must make requests for this API operation to the Zonal endpoint. These endpoints support virtual-hosted-style requests in the format https://amzn-s3-demo-bucket.s3express-zone-id.region-code.amazonaws.com/key-name\n . Path-style requests are not supported. For more information about endpoints in Availability Zones, see Regional and Zonal endpoints for directory buckets in Availability Zones in the\n Amazon S3 User Guide. For more information about endpoints in Local Zones, see Concepts for directory buckets in Local Zones in the\n Amazon S3 User Guide.

\n
\n
\n
Authentication and authorization
\n
\n

All UploadPartCopy requests must be authenticated and signed by using IAM\n credentials (access key ID and secret access key for the IAM identities). All headers with the\n x-amz- prefix, including x-amz-copy-source, must be signed. For more\n information, see REST Authentication.

\n

\n Directory buckets - You must use IAM credentials to\n authenticate and authorize your access to the UploadPartCopy API operation, instead\n of using the temporary security credentials through the CreateSession API\n operation.

\n

Amazon Web Services CLI or SDKs handles authentication and authorization on your behalf.

\n
\n
Permissions
\n
\n

You must have READ access to the source object and WRITE access to\n the destination bucket.

\n
    \n
  • \n

    \n General purpose bucket permissions - You must have the\n permissions in a policy based on the bucket types of your source bucket and destination bucket\n in an UploadPartCopy operation.

    \n
      \n
    • \n

      If the source object is in a general purpose bucket, you must have the \n s3:GetObject\n permission to read the source object that is\n being copied.

      \n
    • \n
    • \n

      If the destination bucket is a general purpose bucket, you must have the \n s3:PutObject\n permission to write the object copy to\n the destination bucket.

      \n
    • \n
    • \n

      To perform a multipart upload with encryption using an Key Management Service key, the requester\n must have permission to the kms:Decrypt and kms:GenerateDataKey\n actions on the key. The requester must also have permissions for the\n kms:GenerateDataKey action for the CreateMultipartUpload API.\n Then, the requester needs permissions for the kms:Decrypt action on the\n UploadPart and UploadPartCopy APIs. These permissions are\n required because Amazon S3 must decrypt and read data from the encrypted file parts before it\n completes the multipart upload. For more information about KMS permissions, see Protecting\n data using server-side encryption with KMS in the\n Amazon S3 User Guide. For information about the permissions required to\n use the multipart upload API, see Multipart upload and\n permissions and Multipart upload API\n and permissions in the Amazon S3 User Guide.

      \n
    • \n
    \n
  • \n
  • \n

    \n Directory bucket permissions - You must have\n permissions in a bucket policy or an IAM identity-based policy based on the source and destination bucket types\n in an UploadPartCopy operation.

    \n
      \n
    • \n

      If the source object that you want to copy is in a directory bucket, you must have\n the \n s3express:CreateSession\n permission in\n the Action element of a policy to read the object. By default, the session is\n in the ReadWrite mode. If you want to restrict the access, you can explicitly\n set the s3express:SessionMode condition key to ReadOnly on the\n copy source bucket.

      \n
    • \n
    • \n

      If the copy destination is a directory bucket, you must have the \n s3express:CreateSession\n permission in the\n Action element of a policy to write the object to the destination. The\n s3express:SessionMode condition key cannot be set to ReadOnly\n on the copy destination.

      \n
    • \n
    \n

    If the object is encrypted with SSE-KMS, you must also have the\n kms:GenerateDataKey and kms:Decrypt permissions in IAM\n identity-based policies and KMS key policies for the KMS key.

    \n

    For example policies, see Example\n bucket policies for S3 Express One Zone and Amazon Web Services\n Identity and Access Management (IAM) identity-based policies for S3 Express One Zone in the\n Amazon S3 User Guide.

    \n
  • \n
\n
\n
Encryption
\n
\n
    \n
  • \n

    \n General purpose buckets -\n For information about using server-side encryption with\n customer-provided encryption keys with the UploadPartCopy operation, see CopyObject and\n UploadPart.

    \n
  • \n
  • \n

    \n Directory buckets -\n For directory buckets, there are only two supported options for server-side encryption: server-side encryption with Amazon S3 managed keys (SSE-S3) (AES256) and server-side encryption with KMS keys (SSE-KMS) (aws:kms). For more\n information, see Protecting data with server-side encryption in the Amazon S3 User Guide.

    \n \n

    For directory buckets, when you perform a CreateMultipartUpload operation\n and an UploadPartCopy operation, the request headers you provide in the\n CreateMultipartUpload request must match the default encryption configuration\n of the destination bucket.

    \n
    \n

    S3 Bucket Keys aren't supported, when you copy SSE-KMS encrypted objects from general purpose buckets \nto directory buckets, from directory buckets to general purpose buckets, or between directory buckets, through UploadPartCopy. In this case, Amazon S3 makes a call to KMS every time a copy request is made for a KMS-encrypted object.

    \n
  • \n
\n
\n
Special errors
\n
\n
    \n
  • \n

    Error Code: NoSuchUpload\n

    \n
      \n
    • \n

      Description: The specified multipart upload does not exist. The upload ID might be\n invalid, or the multipart upload might have been aborted or completed.

      \n
    • \n
    • \n

      HTTP Status Code: 404 Not Found

      \n
    • \n
    \n
  • \n
  • \n

    Error Code: InvalidRequest\n

    \n
      \n
    • \n

      Description: The specified copy source is not supported as a byte-range copy\n source.

      \n
    • \n
    • \n

      HTTP Status Code: 400 Bad Request

      \n
    • \n
    \n
  • \n
\n
\n
HTTP Host header syntax
\n
\n

\n Directory buckets - The HTTP Host header syntax is \n Bucket-name.s3express-zone-id.region-code.amazonaws.com.

\n
\n
\n

The following operations are related to UploadPartCopy:

\n \n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#examples": [ { "title": "To upload a part by copying byte range from an existing object as data source", @@ -39624,7 +39639,7 @@ "ChecksumCRC32": { "target": "com.amazonaws.s3#ChecksumCRC32", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only be present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 32-bit CRC32 checksum of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-crc32" } }, @@ -39645,14 +39660,14 @@ "ChecksumSHA1": { "target": "com.amazonaws.s3#ChecksumSHA1", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This will only be present if the object was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 160-bit SHA1 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use the API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha1" } }, "ChecksumSHA256": { "target": "com.amazonaws.s3#ChecksumSHA256", "traits": { - "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This will only be present if the object was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The Base64 encoded, 256-bit SHA256 digest of the object. This checksum is only present if the checksum was uploaded\n with the object. When you use an API operation on an object that was uploaded using multipart uploads, this value may not be a direct checksum value of the full object. Instead, it's a calculation based on the checksum values of each individual part. For more information about how checksums are calculated\n with multipart uploads, see \n Checking object integrity in the Amazon S3 User Guide.

", "smithy.api#httpHeader": "x-amz-checksum-sha256" } }, @@ -39926,7 +39941,7 @@ "smithy.api#auth": [ "aws.auth#sigv4" ], - "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Passes transformed objects to a GetObject operation when using Object Lambda access points. For information\n about Object Lambda access points, see Transforming objects with Object Lambda access points in the Amazon S3 User Guide.

\n

This operation supports metadata that can be returned by GetObject, in addition to\n RequestRoute, RequestToken, StatusCode, ErrorCode,\n and ErrorMessage. The GetObject response metadata is supported so that the\n WriteGetObjectResponse caller, typically an Lambda function, can provide the same\n metadata when it internally invokes GetObject. When WriteGetObjectResponse is\n called by a customer-owned Lambda function, the metadata returned to the end user GetObject\n call might differ from what Amazon S3 would normally return.

\n

You can include any number of metadata headers. When including a metadata header, it should be\n prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header:\n MyCustomValue. The primary use case for this is to forward GetObject\n metadata.

\n

Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and\n redact personally identifiable information (PII) and decompress S3 objects. These Lambda functions are\n available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services\n Management Console when you create your Object Lambda access point.

\n

Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural\n language processing (NLP) service using machine learning to find insights and relationships in text. It\n automatically detects personally identifiable information (PII) such as names, addresses, dates, credit\n card numbers, and social security numbers from documents in your Amazon S3 bucket.

\n

Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language\n processing (NLP) service using machine learning to find insights and relationships in text. It\n automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit\n card numbers, and social security numbers from documents in your Amazon S3 bucket.

\n

Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to\n decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy,\n zlib, zstandard and ZIP.

\n

For information on how to view and use these functions, see Using Amazon Web Services built Lambda functions in the\n Amazon S3 User Guide.

", + "smithy.api#documentation": "\n

This operation is not supported for directory buckets.

\n
\n

Passes transformed objects to a GetObject operation when using Object Lambda access points. For information\n about Object Lambda access points, see Transforming objects with Object Lambda access points in the Amazon S3 User Guide.

\n

This operation supports metadata that can be returned by GetObject, in addition to\n RequestRoute, RequestToken, StatusCode, ErrorCode,\n and ErrorMessage. The GetObject response metadata is supported so that the\n WriteGetObjectResponse caller, typically an Lambda function, can provide the same\n metadata when it internally invokes GetObject. When WriteGetObjectResponse is\n called by a customer-owned Lambda function, the metadata returned to the end user GetObject\n call might differ from what Amazon S3 would normally return.

\n

You can include any number of metadata headers. When including a metadata header, it should be\n prefaced with x-amz-meta. For example, x-amz-meta-my-custom-header:\n MyCustomValue. The primary use case for this is to forward GetObject\n metadata.

\n

Amazon Web Services provides some prebuilt Lambda functions that you can use with S3 Object Lambda to detect and\n redact personally identifiable information (PII) and decompress S3 objects. These Lambda functions are\n available in the Amazon Web Services Serverless Application Repository, and can be selected through the Amazon Web Services\n Management Console when you create your Object Lambda access point.

\n

Example 1: PII Access Control - This Lambda function uses Amazon Comprehend, a natural\n language processing (NLP) service using machine learning to find insights and relationships in text. It\n automatically detects personally identifiable information (PII) such as names, addresses, dates, credit\n card numbers, and social security numbers from documents in your Amazon S3 bucket.

\n

Example 2: PII Redaction - This Lambda function uses Amazon Comprehend, a natural language\n processing (NLP) service using machine learning to find insights and relationships in text. It\n automatically redacts personally identifiable information (PII) such as names, addresses, dates, credit\n card numbers, and social security numbers from documents in your Amazon S3 bucket.

\n

Example 3: Decompression - The Lambda function S3ObjectLambdaDecompression, is equipped to\n decompress objects stored in S3 in one of six compressed file formats including bzip2, gzip, snappy,\n zlib, zstandard and ZIP.

\n

For information on how to view and use these functions, see Using Amazon Web Services built Lambda functions in the\n Amazon S3 User Guide.

\n \n

You must URL encode any signed header values that contain spaces. For example, if your header value is my file.txt, containing two spaces after my, you must URL encode this value to my%20%20file.txt.

\n
", "smithy.api#endpoint": { "hostPrefix": "{RequestRoute}." }, diff --git a/codegen/sdk-codegen/aws-models/s3outposts.json b/codegen/sdk-codegen/aws-models/s3outposts.json index 8c9dc54f593..6095458e788 100644 --- a/codegen/sdk-codegen/aws-models/s3outposts.json +++ b/codegen/sdk-codegen/aws-models/s3outposts.json @@ -854,27 +854,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/s3tables.json b/codegen/sdk-codegen/aws-models/s3tables.json index fbb008bc59f..12a4d1cbe50 100644 --- a/codegen/sdk-codegen/aws-models/s3tables.json +++ b/codegen/sdk-codegen/aws-models/s3tables.json @@ -3085,27 +3085,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/s3vectors.json b/codegen/sdk-codegen/aws-models/s3vectors.json index c308a1b3a1b..ba223cd6ff4 100644 --- a/codegen/sdk-codegen/aws-models/s3vectors.json +++ b/codegen/sdk-codegen/aws-models/s3vectors.json @@ -1901,19 +1901,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker-a2i-runtime.json b/codegen/sdk-codegen/aws-models/sagemaker-a2i-runtime.json index 79d31d3bf89..dcf3c9dc1b3 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-a2i-runtime.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-a2i-runtime.json @@ -70,27 +70,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker-edge.json b/codegen/sdk-codegen/aws-models/sagemaker-edge.json index e0b1450683a..e93e9e7b373 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-edge.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-edge.json @@ -64,27 +64,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker-featurestore-runtime.json b/codegen/sdk-codegen/aws-models/sagemaker-featurestore-runtime.json index 999447a7545..428963bd043 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-featurestore-runtime.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-featurestore-runtime.json @@ -80,27 +80,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker-geospatial.json b/codegen/sdk-codegen/aws-models/sagemaker-geospatial.json index 654271e3fb8..b7773e282b9 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-geospatial.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-geospatial.json @@ -3160,27 +3160,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker-metrics.json b/codegen/sdk-codegen/aws-models/sagemaker-metrics.json index 7bebdfc7e4f..149cc726422 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-metrics.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-metrics.json @@ -540,27 +540,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker-runtime.json b/codegen/sdk-codegen/aws-models/sagemaker-runtime.json index 1e09131d6c3..ad038a2ed9d 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker-runtime.json +++ b/codegen/sdk-codegen/aws-models/sagemaker-runtime.json @@ -65,27 +65,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sagemaker.json b/codegen/sdk-codegen/aws-models/sagemaker.json index 01525c8c9c4..98e6a4c4d9b 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.json @@ -15499,7 +15499,7 @@ "PlatformIdentifier": { "target": "com.amazonaws.sagemaker#PlatformIdentifier", "traits": { - "smithy.api#documentation": "

The platform identifier of the notebook instance runtime environment.

" + "smithy.api#documentation": "

The platform identifier of the notebook instance runtime environment. The default value is notebook-al2-v2.

" } }, "InstanceMetadataServiceConfiguration": { @@ -20119,6 +20119,42 @@ "smithy.api#output": {} } }, + "com.amazonaws.sagemaker#DeleteProcessingJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#DeleteProcessingJobRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceInUse" + }, + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a processing job. After Amazon SageMaker deletes a processing job, all of the metadata for the processing job is lost. You can delete only processing jobs that are in a terminal state (Stopped, Failed, or Completed). You cannot delete a job that is in the InProgress or Stopping state. After deleting the job, you can reuse its name to create another processing job.

" + } + }, + "com.amazonaws.sagemaker#DeleteProcessingJobRequest": { + "type": "structure", + "members": { + "ProcessingJobName": { + "target": "com.amazonaws.sagemaker#ProcessingJobName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the processing job to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.sagemaker#DeleteProject": { "type": "operation", "input": { @@ -20275,6 +20311,42 @@ "smithy.api#output": {} } }, + "com.amazonaws.sagemaker#DeleteTrainingJob": { + "type": "operation", + "input": { + "target": "com.amazonaws.sagemaker#DeleteTrainingJobRequest" + }, + "output": { + "target": "smithy.api#Unit" + }, + "errors": [ + { + "target": "com.amazonaws.sagemaker#ResourceInUse" + }, + { + "target": "com.amazonaws.sagemaker#ResourceNotFound" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a training job. After SageMaker deletes a training job, all of the metadata for the training job is lost. You can delete only training jobs that are in a terminal state (Stopped, Failed, or Completed) and don't retain an Available managed warm pool. You cannot delete a job that is in the InProgress or Stopping state. After deleting the job, you can reuse its name to create another training job.

" + } + }, + "com.amazonaws.sagemaker#DeleteTrainingJobRequest": { + "type": "structure", + "members": { + "TrainingJobName": { + "target": "com.amazonaws.sagemaker#TrainingJobName", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

The name of the training job to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, "com.amazonaws.sagemaker#DeleteTrial": { "type": "operation", "input": { @@ -31893,6 +31965,9 @@ "smithy.api#documentation": "

The configuration parameters that specify the IAM roles assumed by the execution role of SageMaker (assumable roles) and the cluster instances or job execution environments (execution roles or runtime roles) to manage and access resources required for running Amazon EMR clusters or Amazon EMR Serverless applications.

" } }, + "com.amazonaws.sagemaker#EnableCaching": { + "type": "boolean" + }, "com.amazonaws.sagemaker#EnableCapture": { "type": "boolean" }, @@ -37979,6 +38054,38 @@ } } }, + "com.amazonaws.sagemaker#InferenceComponentDataCacheConfig": { + "type": "structure", + "members": { + "EnableCaching": { + "target": "com.amazonaws.sagemaker#EnableCaching", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Sets whether the endpoint that hosts the inference component caches the model artifacts and container image.

With caching enabled, the endpoint caches this data in each instance that it provisions for the inference component. That way, the inference component deploys faster during the auto scaling process. If caching isn't enabled, the inference component takes longer to deploy because of the time it spends downloading the data.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Settings that affect how the inference component caches data.

" + } + }, + "com.amazonaws.sagemaker#InferenceComponentDataCacheConfigSummary": { + "type": "structure", + "members": { + "EnableCaching": { + "target": "com.amazonaws.sagemaker#EnableCaching", + "traits": { + "smithy.api#clientOptional": {}, + "smithy.api#documentation": "

Indicates whether the inference component caches model artifacts as part of the auto scaling process.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Settings that affect how the inference component caches data.

" + } + }, "com.amazonaws.sagemaker#InferenceComponentDeploymentConfig": { "type": "structure", "members": { @@ -38145,6 +38252,12 @@ "traits": { "smithy.api#documentation": "

The name of an existing inference component that is to contain the inference component that you're creating with your request.

Specify this parameter only if your request is meant to create an adapter inference component. An adapter inference component contains the path to an adapter model. The purpose of the adapter model is to tailor the inference output of a base foundation model, which is hosted by the base inference component. The adapter inference component uses the compute resources that you assigned to the base inference component.

When you create an adapter inference component, use the Container parameter to specify the location of the adapter artifacts. In the parameter value, use the ArtifactUrl parameter of the InferenceComponentContainerSpecification data type.

Before you can create an adapter inference component, you must have an existing inference component that contains the foundation model that you want to adapt.

" } + }, + "DataCacheConfig": { + "target": "com.amazonaws.sagemaker#InferenceComponentDataCacheConfig", + "traits": { + "smithy.api#documentation": "

Settings that affect how the inference component caches data.

" + } } }, "traits": { @@ -38183,6 +38296,12 @@ "traits": { "smithy.api#documentation": "

The name of the base inference component that contains this inference component.

" } + }, + "DataCacheConfig": { + "target": "com.amazonaws.sagemaker#InferenceComponentDataCacheConfigSummary", + "traits": { + "smithy.api#documentation": "

Settings that affect how the inference component caches data.

" + } } }, "traits": { @@ -59409,7 +59528,7 @@ "S3DataDistributionType": { "target": "com.amazonaws.sagemaker#ProcessingS3DataDistributionType", "traits": { - "smithy.api#documentation": "

Whether to distribute the data from Amazon S3 to all processing instances with FullyReplicated, or whether the data from Amazon S3 is shared by Amazon S3 key, downloading one shard of data to each processing instance.

" + "smithy.api#documentation": "

Whether to distribute the data from Amazon S3 to all processing instances with FullyReplicated, or whether the data from Amazon S3 is sharded by Amazon S3 key, downloading one shard of data to each processing instance.

" } }, "S3CompressionType": { @@ -65753,6 +65872,9 @@ { "target": "com.amazonaws.sagemaker#DeletePipeline" }, + { + "target": "com.amazonaws.sagemaker#DeleteProcessingJob" + }, { "target": "com.amazonaws.sagemaker#DeleteProject" }, @@ -65765,6 +65887,9 @@ { "target": "com.amazonaws.sagemaker#DeleteTags" }, + { + "target": "com.amazonaws.sagemaker#DeleteTrainingJob" + }, { "target": "com.amazonaws.sagemaker#DeleteTrial" }, @@ -66528,27 +66653,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -74139,6 +74264,12 @@ "traits": { "smithy.api#enumValue": "Stopped" } + }, + "DELETING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "Deleting" + } } } }, @@ -79438,6 +79569,12 @@ "smithy.api#documentation": "

The IP address type for the notebook instance. Specify ipv4 for IPv4-only connectivity or dualstack for both IPv4 and IPv6 connectivity. The notebook instance must be stopped before updating this setting. When you specify dualstack, the subnet must support IPv6 addressing.

" } }, + "PlatformIdentifier": { + "target": "com.amazonaws.sagemaker#PlatformIdentifier", + "traits": { + "smithy.api#documentation": "

The platform identifier of the notebook instance runtime environment.

" + } + }, "RoleArn": { "target": "com.amazonaws.sagemaker#RoleArn", "traits": { diff --git a/codegen/sdk-codegen/aws-models/savingsplans.json b/codegen/sdk-codegen/aws-models/savingsplans.json index a13c420f917..20c04442f12 100644 --- a/codegen/sdk-codegen/aws-models/savingsplans.json +++ b/codegen/sdk-codegen/aws-models/savingsplans.json @@ -85,30 +85,192 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Endpoint" + } + ] + } + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + }, + { + "fn": "aws.partition", + "argv": [ + { + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "name" + ] + }, + "aws" + ] + } + ], + "endpoint": { + "url": "https://savingsplans.global.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://savingsplans.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "not", + "argv": [ + { + "fn": "isSet", + "argv": [ + { + "ref": "Region" + } + ] + } + ] + } + ], + "endpoint": { + "url": "https://savingsplans.global.api.aws", + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, { "conditions": [ { @@ -493,19 +655,6 @@ "UseDualStack": false } }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://savingsplans.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": true - } - }, { "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { @@ -724,21 +873,88 @@ } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "Missing region", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "error": "Invalid Configuration: Missing Region" + } + }, + { + "documentation": "For region not set with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://savingsplans.global.api.aws" + } + }, + "params": { + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "expect": { + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://savingsplans.global.api.aws" + } }, "params": { "Region": "us-east-1", - "UseFIPS": false, "UseDualStack": true, - "Endpoint": "https://example.com" + "UseFIPS": false } }, { - "documentation": "Missing region", + "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", "expect": { - "error": "Invalid Configuration: Missing Region" + "endpoint": { + "properties": { + "authSchemes": [ + { + "name": "sigv4", + "signingName": "savingsplans", + "signingRegion": "us-east-1" + } + ] + }, + "url": "https://savingsplans.global.api.aws" + } + }, + "params": { + "Region": "us-west-1", + "UseDualStack": true, + "UseFIPS": false + } + }, + { + "documentation": "Commercial region with custom SDK endpoint", + "expect": { + "endpoint": { + "url": "https://custom.example.com" + } + }, + "params": { + "Region": "us-east-1", + "UseDualStack": false, + "UseFIPS": false, + "Endpoint": "https://custom.example.com" } } ], diff --git a/codegen/sdk-codegen/aws-models/scheduler.json b/codegen/sdk-codegen/aws-models/scheduler.json index a6387bb798f..fb091cf4c7d 100644 --- a/codegen/sdk-codegen/aws-models/scheduler.json +++ b/codegen/sdk-codegen/aws-models/scheduler.json @@ -42,27 +42,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/schemas.json b/codegen/sdk-codegen/aws-models/schemas.json index 15b03a89fc6..744dddc8f3c 100644 --- a/codegen/sdk-codegen/aws-models/schemas.json +++ b/codegen/sdk-codegen/aws-models/schemas.json @@ -3592,27 +3592,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/secrets-manager.json b/codegen/sdk-codegen/aws-models/secrets-manager.json index 0200050d117..ce52a223c60 100644 --- a/codegen/sdk-codegen/aws-models/secrets-manager.json +++ b/codegen/sdk-codegen/aws-models/secrets-manager.json @@ -3648,27 +3648,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/security-ir.json b/codegen/sdk-codegen/aws-models/security-ir.json index 1a379e2e009..3c15aabe95b 100644 --- a/codegen/sdk-codegen/aws-models/security-ir.json +++ b/codegen/sdk-codegen/aws-models/security-ir.json @@ -3702,19 +3702,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/securityhub.json b/codegen/sdk-codegen/aws-models/securityhub.json index 143fbae382b..188357982fd 100644 --- a/codegen/sdk-codegen/aws-models/securityhub.json +++ b/codegen/sdk-codegen/aws-models/securityhub.json @@ -22190,7 +22190,7 @@ } ], "traits": { - "smithy.api#documentation": "

Used by customers to update information about their investigation into a finding. \n Requested by delegated administrator accounts or member accounts. \n Delegated administrator accounts can update findings for their account and their member accounts. \n Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. \n You must have permission to perform the securityhub:BatchUpdateFindings action. \n Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Used by customers to update information about their investigation into a finding. \n Requested by delegated administrator accounts or member accounts. \n Delegated administrator accounts can update findings for their account and their member accounts. \n Member accounts can update findings for their account. BatchUpdateFindings and BatchUpdateFindingV2 both use securityhub:BatchUpdateFindings in the Action element of an IAM policy statement. \n You must have permission to perform the securityhub:BatchUpdateFindings action. \n Updates from BatchUpdateFindingsV2 don't affect the value of finding_info.modified_time, finding_info.modified_time_dt, time, time_dt for a finding. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "PATCH", "uri": "/findingsv2/batchupdatev2", @@ -22844,6 +22844,18 @@ "smithy.api#documentation": "

Enables filtering based on map field values.

" } }, + "IpFilters": { + "target": "com.amazonaws.securityhub#OcsfIpFilterList", + "traits": { + "smithy.api#documentation": "

A list of IP address filters that allowing you to filter findings based on IP address properties.

" + } + }, + "NestedCompositeFilters": { + "target": "com.amazonaws.securityhub#CompositeFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides an additional level of filtering, creating a three-layer nested structure. \n The first layer is a CompositeFilters array with a CompositeOperator (AND/OR). \n The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. \n The third layer is NestedCompositeFilters, which contains additional filter conditions.\n

" + } + }, "Operator": { "target": "com.amazonaws.securityhub#AllowedOperators", "traits": { @@ -23538,7 +23550,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables aggregation across Amazon Web Services Regions. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Enables aggregation across Amazon Web Services Regions. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/aggregatorv2/create", @@ -23818,7 +23830,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a V2 automation rule. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Creates a V2 automation rule. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/automationrulesv2/create", @@ -25011,7 +25023,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the Aggregator V2. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Deletes the Aggregator V2. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "DELETE", "uri": "/aggregatorv2/delete/{AggregatorV2Arn+}", @@ -25071,7 +25083,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a V2 automation rule. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Deletes a V2 automation rule. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "DELETE", "uri": "/automationrulesv2/{Identifier}", @@ -25970,7 +25982,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about the product integration. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Gets information about the product integration. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "GET", "uri": "/productsV2", @@ -26051,7 +26063,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns details about the service resource in your account. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Returns details about the service resource in your account. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "GET", "uri": "/hubv2", @@ -26512,7 +26524,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Disable the service for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "DELETE", "uri": "/hubv2", @@ -27035,7 +27047,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Enables the service in account for the current Amazon Web Services Region or specified Amazon Web Services Region. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/hubv2", @@ -27621,7 +27633,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the configuration of the specified Aggregator V2. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Returns the configuration of the specified Aggregator V2. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "GET", "uri": "/aggregatorv2/get/{AggregatorV2Arn+}", @@ -27706,7 +27718,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns an automation rule for the V2 service. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Returns an automation rule for the V2 service. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "GET", "uri": "/automationrulesv2/{Identifier}", @@ -28524,7 +28536,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns aggregated statistical data about findings.\n GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. \n You must have permission to perform the s action. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Returns aggregated statistical data about findings.\n GetFindingStatisticsV2 use securityhub:GetAdhocInsightResults in the Action element of an IAM policy statement. \n You must have permission to perform the s action. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/findingsv2/statistics", @@ -28798,7 +28810,7 @@ } ], "traits": { - "smithy.api#documentation": "

Return a list of findings that match the specified criteria.\n GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. \n You must have permission to perform the securityhub:GetFindings action. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Return a list of findings that match the specified criteria.\n GetFindings and GetFindingsV2 both use securityhub:GetFindings in the Action element of an IAM policy statement. \n You must have permission to perform the securityhub:GetFindings action. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/findingsv2", @@ -29295,7 +29307,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Retrieves statistical information about Amazon Web Services resources and their associated security findings. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/resourcesv2/statistics", @@ -29376,7 +29388,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of resources. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Returns a list of resources. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "POST", "uri": "/resourcesv2", @@ -29645,6 +29657,30 @@ "traits": { "smithy.api#enumValue": "class_name" } + }, + "VULNERABILITIES_AFFECTED_PACKAGES_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.affected_packages.name" + } + }, + "FINDING_INFO_ANALYTIC_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.analytic.name" + } + }, + "COMPLIANCE_STANDARDS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.standards" + } + }, + "CLOUD_ACCOUNT_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.account.name" + } } } }, @@ -30491,7 +30527,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of V2 aggregators. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Retrieves a list of V2 aggregators. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "GET", "uri": "/aggregatorv2/list", @@ -30684,7 +30720,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of automation rules and metadata for the calling account. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Returns a list of automation rules and metadata for the calling account. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "GET", "uri": "/automationrulesv2/list", @@ -32708,6 +32744,24 @@ "traits": { "smithy.api#enumValue": "finding_info.modified_time_dt" } + }, + "RESOURCES_IMAGE_CREATED_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.created_time_dt" + } + }, + "RESOURCES_IMAGE_LAST_USED_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.last_used_time_dt" + } + }, + "RESOURCES_MODIFIED_TIME_DT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.modified_time_dt" + } } } }, @@ -32807,6 +32861,46 @@ "target": "com.amazonaws.securityhub#OcsfFinding" } }, + "com.amazonaws.securityhub#OcsfIpField": { + "type": "enum", + "members": { + "EVIDENCES_DST_ENDPOINT_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.dst_endpoint.ip" + } + }, + "EVIDENCES_SRC_ENDPOINT_IP": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.ip" + } + } + } + }, + "com.amazonaws.securityhub#OcsfIpFilter": { + "type": "structure", + "members": { + "FieldName": { + "target": "com.amazonaws.securityhub#OcsfIpField", + "traits": { + "smithy.api#documentation": "

The name of the IP address field to filter on.

" + } + }, + "Filter": { + "target": "com.amazonaws.securityhub#IpFilter" + } + }, + "traits": { + "smithy.api#documentation": "

The structure for filtering findings based on IP address attributes.

" + } + }, + "com.amazonaws.securityhub#OcsfIpFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.securityhub#OcsfIpFilter" + } + }, "com.amazonaws.securityhub#OcsfMapField": { "type": "enum", "members": { @@ -32815,6 +32909,24 @@ "traits": { "smithy.api#enumValue": "resources.tags" } + }, + "COMPLIANCE_CONTROL_PARAMETERS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "compliance.control_parameters" + } + }, + "DATABUCKET_TAGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "databucket.tags" + } + }, + "FINDING_INFO_TAGS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.tags" + } } } }, @@ -32879,6 +32991,42 @@ "traits": { "smithy.api#enumValue": "finding_info.related_events_count" } + }, + "EVIDENCES_API_RESPONSE_CODE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.api.response.code" + } + }, + "EVIDENCES_DST_ENDPOINT_AUTONOMOUS_SYSTEM_NUMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.dst_endpoint.autonomous_system.number" + } + }, + "EVIDENCES_DST_ENDPOINT_PORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.dst_endpoint.port" + } + }, + "EVIDENCES_SRC_ENDPOINT_AUTONOMOUS_SYSTEM_NUMBER": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.autonomous_system.number" + } + }, + "EVIDENCES_SRC_ENDPOINT_PORT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.port" + } + }, + "RESOURCES_IMAGE_IN_USE_COUNT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.in_use_count" + } } } }, @@ -33099,6 +33247,228 @@ "traits": { "smithy.api#enumValue": "class_name" } + }, + "DATABUCKET_ENCRYPTION_DETAILS_ALGORITHM": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "databucket.encryption_details.algorithm" + } + }, + "DATABUCKET_ENCRYPTION_DETAILS_KEY_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "databucket.encryption_details.key_uid" + } + }, + "DATABUCKET_FILE_DATA_CLASSIFICATIONS_CLASSIFIER_DETAILS_TYPE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "databucket.file.data_classifications.classifier_details.type" + } + }, + "EVIDENCES_ACTOR_USER_ACCOUNT_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.actor.user.account.uid" + } + }, + "EVIDENCES_API_OPERATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.api.operation" + } + }, + "EVIDENCES_API_RESPONSE_ERROR_MESSAGE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.api.response.error_message" + } + }, + "EVIDENCES_API_SERVICE_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.api.service.name" + } + }, + "EVIDENCES_CONNECTION_INFO_DIRECTION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.connection_info.direction" + } + }, + "EVIDENCES_CONNECTION_INFO_PROTOCOL_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.connection_info.protocol_name" + } + }, + "EVIDENCES_DST_ENDPOINT_AUTONOMOUS_SYSTEM_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.dst_endpoint.autonomous_system.name" + } + }, + "EVIDENCES_DST_ENDPOINT_LOCATION_CITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.dst_endpoint.location.city" + } + }, + "EVIDENCES_DST_ENDPOINT_LOCATION_COUNTRY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.dst_endpoint.location.country" + } + }, + "EVIDENCES_SRC_ENDPOINT_AUTONOMOUS_SYSTEM_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.autonomous_system.name" + } + }, + "EVIDENCES_SRC_ENDPOINT_HOSTNAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.hostname" + } + }, + "EVIDENCES_SRC_ENDPOINT_LOCATION_CITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.location.city" + } + }, + "EVIDENCES_SRC_ENDPOINT_LOCATION_COUNTRY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "evidences.src_endpoint.location.country" + } + }, + "FINDING_INFO_ANALYTIC_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "finding_info.analytic.name" + } + }, + "MALWARE_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "malware.name" + } + }, + "MALWARE_SCAN_INFO_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "malware_scan_info.uid" + } + }, + "MALWARE_SEVERITY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "malware.severity" + } + }, + "RESOURCES_CLOUD_FUNCTION_LAYERS_UID_ALT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.cloud_function.layers.uid_alt" + } + }, + "RESOURCES_CLOUD_FUNCTION_RUNTIME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.cloud_function.runtime" + } + }, + "RESOURCES_CLOUD_FUNCTION_USER_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.cloud_function.user.uid" + } + }, + "RESOURCES_DEVICE_ENCRYPTION_DETAILS_KEY_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.device.encryption_details.key_uid" + } + }, + "RESOURCES_DEVICE_IMAGE_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.device.image.uid" + } + }, + "RESOURCES_IMAGE_ARCHITECTURE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.architecture" + } + }, + "RESOURCES_IMAGE_REGISTRY_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.registry_uid" + } + }, + "RESOURCES_IMAGE_REPOSITORY_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.repository_name" + } + }, + "RESOURCES_IMAGE_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.image.uid" + } + }, + "RESOURCES_SUBNET_INFO_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.subnet_info.uid" + } + }, + "RESOURCES_VPC_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "resources.vpc_uid" + } + }, + "VULNERABILITIES_AFFECTED_CODE_FILE_PATH": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.affected_code.file.path" + } + }, + "VULNERABILITIES_AFFECTED_PACKAGES_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.affected_packages.name" + } + }, + "VULNERABILITIES_CVE_EPSS_SCORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.cve.epss.score" + } + }, + "VULNERABILITIES_CVE_UID": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.cve.uid" + } + }, + "VULNERABILITIES_RELATED_VULNERABILITIES": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "vulnerabilities.related_vulnerabilities" + } + }, + "CLOUD_ACCOUNT_NAME": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "cloud.account.name" + } } } }, @@ -34808,37 +35178,37 @@ "ACCOUNT_ID": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "account_id" + "smithy.api#enumValue": "AccountId" } }, "REGION": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "region" + "smithy.api#enumValue": "Region" } }, "RESOURCE_CATEGORY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_category" + "smithy.api#enumValue": "ResourceCategory" } }, "RESOURCE_TYPE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_type" + "smithy.api#enumValue": "ResourceType" } }, "RESOURCE_NAME": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_name" + "smithy.api#enumValue": "ResourceName" } }, "FINDING_TYPE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.finding_type" + "smithy.api#enumValue": "FindingsSummary.FindingType" } } } @@ -34912,10 +35282,10 @@ "com.amazonaws.securityhub#ResourceResult": { "type": "structure", "members": { - "ResourceArn": { + "ResourceGuid": { "target": "com.amazonaws.securityhub#NonEmptyString", "traits": { - "smithy.api#documentation": "

Specifies the ARN that uniquely identifies a resource.

" + "smithy.api#documentation": "

The global identifier used to identify a resource.

" } }, "ResourceId": { @@ -35118,6 +35488,12 @@ "smithy.api#documentation": "

Enables filtering based on map-based field values.

" } }, + "NestedCompositeFilters": { + "target": "com.amazonaws.securityhub#ResourcesCompositeFilterList", + "traits": { + "smithy.api#documentation": "

\n Provides an additional level of filtering, creating a three-layer nested structure.\n The first layer is a CompositeFilters array with a CompositeOperator (AND/OR). \n The second layer is a CompositeFilter object that contains direct filters and NestedCompositeFilters. \n The third layer is NestedCompositeFilters, which contains additional filter conditions.\n

" + } + }, "Operator": { "target": "com.amazonaws.securityhub#AllowedOperators", "traits": { @@ -35141,13 +35517,13 @@ "RESOURCE_DETAIL_CAPTURE_TIME_DT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_detail_capture_time_dt" + "smithy.api#enumValue": "ResourceDetailCaptureTime" } }, "RESOURCE_CREATION_TIME_DT": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_creation_time_dt" + "smithy.api#enumValue": "ResourceCreationTime" } } } @@ -35201,7 +35577,7 @@ "TAG": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "tags" + "smithy.api#enumValue": "ResourceTags" } } } @@ -35235,55 +35611,55 @@ "TOTAL_FINDINGS": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.total_findings" + "smithy.api#enumValue": "FindingsSummary.TotalFindings" } }, "SEVERITY_OTHER": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.other" + "smithy.api#enumValue": "FindingsSummary.Severities.Other" } }, "SEVERITY_FATAL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.fatal" + "smithy.api#enumValue": "FindingsSummary.Severities.Fatal" } }, "SEVERITY_CRITICAL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.critical" + "smithy.api#enumValue": "FindingsSummary.Severities.Critical" } }, "SEVERITY_HIGH": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.high" + "smithy.api#enumValue": "FindingsSummary.Severities.High" } }, "SEVERITY_MEDIUM": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.medium" + "smithy.api#enumValue": "FindingsSummary.Severities.Medium" } }, "SEVERITY_LOW": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.low" + "smithy.api#enumValue": "FindingsSummary.Severities.Low" } }, "SEVERITY_INFORMATIONAL": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.informational" + "smithy.api#enumValue": "FindingsSummary.Severities.Informational" } }, "SEVERITY_UNKNOWN": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.severities.unknown" + "smithy.api#enumValue": "FindingsSummary.Severities.Unknown" } } } @@ -35314,58 +35690,58 @@ "com.amazonaws.securityhub#ResourcesStringField": { "type": "enum", "members": { - "RESOURCE_ARN": { + "RESOURCE_GUID": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_arn" + "smithy.api#enumValue": "ResourceGuid" } }, "RESOURCE_ID": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_id" + "smithy.api#enumValue": "ResourceId" } }, "ACCOUNT_ID": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "account_id" + "smithy.api#enumValue": "AccountId" } }, "REGION": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "region" + "smithy.api#enumValue": "Region" } }, "RESOURCE_CATEGORY": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_category" + "smithy.api#enumValue": "ResourceCategory" } }, "RESOURCE_TYPE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_type" + "smithy.api#enumValue": "ResourceType" } }, "RESOURCE_NAME": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "resource_name" + "smithy.api#enumValue": "ResourceName" } }, "FINDING_TYPE": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.finding_type" + "smithy.api#enumValue": "FindingsSummary.FindingType" } }, "PRODUCT_NAME": { "target": "smithy.api#Unit", "traits": { - "smithy.api#enumValue": "findings_summary.product_name" + "smithy.api#enumValue": "FindingsSummary.ProductName" } } } @@ -36673,27 +37049,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -39685,7 +40061,7 @@ "target": "com.amazonaws.securityhub#UnprocessedErrorCode", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

\n The error code for the unprocessed security control.\n

", + "smithy.api#documentation": "

\n The error code for the unprocessed security control. The NOT_FOUND value has been deprecated and \n replaced by the RESOURCE_NOT_FOUND value.\n

", "smithy.api#required": {} } }, @@ -39721,7 +40097,7 @@ "target": "com.amazonaws.securityhub#UnprocessedErrorCode", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The error code for the unprocessed standard and control association.\n

", + "smithy.api#documentation": "

The error code for the unprocessed standard and control association. The NOT_FOUND value has been deprecated and \n replaced by the RESOURCE_NOT_FOUND value.\n

", "smithy.api#required": {} } }, @@ -39751,7 +40127,7 @@ "target": "com.amazonaws.securityhub#UnprocessedErrorCode", "traits": { "smithy.api#clientOptional": {}, - "smithy.api#documentation": "

The error code for the unprocessed update of the control's enablement status in the\n specified standard.

", + "smithy.api#documentation": "

The error code for the unprocessed update of the control's enablement status in the\n specified standard. The NOT_FOUND value has been deprecated and \n replaced by the RESOURCE_NOT_FOUND value.

", "smithy.api#required": {} } }, @@ -39956,7 +40332,7 @@ } ], "traits": { - "smithy.api#documentation": "

Udpates the configuration for the Aggregator V2. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Udpates the configuration for the Aggregator V2. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "PATCH", "uri": "/aggregatorv2/update/{AggregatorV2Arn+}", @@ -40055,7 +40431,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a V2 automation rule. This API is in private preview and subject to change.

", + "smithy.api#documentation": "

Updates a V2 automation rule. This API is in public preview and subject to change.

", "smithy.api#http": { "method": "PATCH", "uri": "/automationrulesv2/{Identifier}", diff --git a/codegen/sdk-codegen/aws-models/securitylake.json b/codegen/sdk-codegen/aws-models/securitylake.json index 7dc25f300be..9416f32e217 100644 --- a/codegen/sdk-codegen/aws-models/securitylake.json +++ b/codegen/sdk-codegen/aws-models/securitylake.json @@ -3228,27 +3228,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/serverlessapplicationrepository.json b/codegen/sdk-codegen/aws-models/serverlessapplicationrepository.json index c40ce37b389..7577fc546b7 100644 --- a/codegen/sdk-codegen/aws-models/serverlessapplicationrepository.json +++ b/codegen/sdk-codegen/aws-models/serverlessapplicationrepository.json @@ -2001,27 +2001,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/service-catalog-appregistry.json b/codegen/sdk-codegen/aws-models/service-catalog-appregistry.json index bc315b9241d..32112151dca 100644 --- a/codegen/sdk-codegen/aws-models/service-catalog-appregistry.json +++ b/codegen/sdk-codegen/aws-models/service-catalog-appregistry.json @@ -128,27 +128,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/service-catalog.json b/codegen/sdk-codegen/aws-models/service-catalog.json index f83d78e3558..fe11c65c133 100644 --- a/codegen/sdk-codegen/aws-models/service-catalog.json +++ b/codegen/sdk-codegen/aws-models/service-catalog.json @@ -326,27 +326,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/servicediscovery.json b/codegen/sdk-codegen/aws-models/servicediscovery.json index 66a8c2b308a..e8f9727ded5 100644 --- a/codegen/sdk-codegen/aws-models/servicediscovery.json +++ b/codegen/sdk-codegen/aws-models/servicediscovery.json @@ -3877,27 +3877,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ses.json b/codegen/sdk-codegen/aws-models/ses.json index 662ed62631a..81e9a8277a3 100644 --- a/codegen/sdk-codegen/aws-models/ses.json +++ b/codegen/sdk-codegen/aws-models/ses.json @@ -6507,27 +6507,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sesv2.json b/codegen/sdk-codegen/aws-models/sesv2.json index 60c5ea153d8..9496680b886 100644 --- a/codegen/sdk-codegen/aws-models/sesv2.json +++ b/codegen/sdk-codegen/aws-models/sesv2.json @@ -12497,32 +12497,32 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "EndpointId": { "required": false, "documentation": "Operation parameter for EndpointId", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sfn.json b/codegen/sdk-codegen/aws-models/sfn.json index f3c48596a1a..a721c15895d 100644 --- a/codegen/sdk-codegen/aws-models/sfn.json +++ b/codegen/sdk-codegen/aws-models/sfn.json @@ -170,27 +170,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/shield.json b/codegen/sdk-codegen/aws-models/shield.json index 66a156a6220..c44efd5672e 100644 --- a/codegen/sdk-codegen/aws-models/shield.json +++ b/codegen/sdk-codegen/aws-models/shield.json @@ -166,27 +166,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/signer.json b/codegen/sdk-codegen/aws-models/signer.json index f872ff5791b..b9a7d1ffc6b 100644 --- a/codegen/sdk-codegen/aws-models/signer.json +++ b/codegen/sdk-codegen/aws-models/signer.json @@ -3092,27 +3092,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/simspaceweaver.json b/codegen/sdk-codegen/aws-models/simspaceweaver.json index 0e8debaee67..1dd40e037f2 100644 --- a/codegen/sdk-codegen/aws-models/simspaceweaver.json +++ b/codegen/sdk-codegen/aws-models/simspaceweaver.json @@ -1122,27 +1122,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/snow-device-management.json b/codegen/sdk-codegen/aws-models/snow-device-management.json index ecf766f2539..c8da3caaa75 100644 --- a/codegen/sdk-codegen/aws-models/snow-device-management.json +++ b/codegen/sdk-codegen/aws-models/snow-device-management.json @@ -1768,27 +1768,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/snowball.json b/codegen/sdk-codegen/aws-models/snowball.json index f23e9292302..866f776fe73 100644 --- a/codegen/sdk-codegen/aws-models/snowball.json +++ b/codegen/sdk-codegen/aws-models/snowball.json @@ -136,27 +136,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sns.json b/codegen/sdk-codegen/aws-models/sns.json index 77ed79b9a78..ca4646d75af 100644 --- a/codegen/sdk-codegen/aws-models/sns.json +++ b/codegen/sdk-codegen/aws-models/sns.json @@ -261,27 +261,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/socialmessaging.json b/codegen/sdk-codegen/aws-models/socialmessaging.json index 5ec1c08b5ef..3054ae0ba9b 100644 --- a/codegen/sdk-codegen/aws-models/socialmessaging.json +++ b/codegen/sdk-codegen/aws-models/socialmessaging.json @@ -2536,27 +2536,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sqs.json b/codegen/sdk-codegen/aws-models/sqs.json index de09e813c27..df5613874c2 100644 --- a/codegen/sdk-codegen/aws-models/sqs.json +++ b/codegen/sdk-codegen/aws-models/sqs.json @@ -210,27 +210,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ssm-contacts.json b/codegen/sdk-codegen/aws-models/ssm-contacts.json index fe2823a3db6..f204ab45608 100644 --- a/codegen/sdk-codegen/aws-models/ssm-contacts.json +++ b/codegen/sdk-codegen/aws-models/ssm-contacts.json @@ -4038,27 +4038,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ssm-guiconnect.json b/codegen/sdk-codegen/aws-models/ssm-guiconnect.json index c712fb40c3e..a8137a451b4 100644 --- a/codegen/sdk-codegen/aws-models/ssm-guiconnect.json +++ b/codegen/sdk-codegen/aws-models/ssm-guiconnect.json @@ -472,27 +472,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ssm-incidents.json b/codegen/sdk-codegen/aws-models/ssm-incidents.json index 095fab5029f..b51a72c7783 100644 --- a/codegen/sdk-codegen/aws-models/ssm-incidents.json +++ b/codegen/sdk-codegen/aws-models/ssm-incidents.json @@ -3757,27 +3757,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ssm-quicksetup.json b/codegen/sdk-codegen/aws-models/ssm-quicksetup.json index ac6b91978b9..f09a0d789d1 100644 --- a/codegen/sdk-codegen/aws-models/ssm-quicksetup.json +++ b/codegen/sdk-codegen/aws-models/ssm-quicksetup.json @@ -1259,27 +1259,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ssm-sap.json b/codegen/sdk-codegen/aws-models/ssm-sap.json index f5bddeadfb6..8e9cbfadf7c 100644 --- a/codegen/sdk-codegen/aws-models/ssm-sap.json +++ b/codegen/sdk-codegen/aws-models/ssm-sap.json @@ -3553,27 +3553,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/ssm.json b/codegen/sdk-codegen/aws-models/ssm.json index b74f286227e..0dc63041f81 100644 --- a/codegen/sdk-codegen/aws-models/ssm.json +++ b/codegen/sdk-codegen/aws-models/ssm.json @@ -961,27 +961,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sso-admin.json b/codegen/sdk-codegen/aws-models/sso-admin.json index 20ad6e7f6ee..2fca9af8117 100644 --- a/codegen/sdk-codegen/aws-models/sso-admin.json +++ b/codegen/sdk-codegen/aws-models/sso-admin.json @@ -7200,27 +7200,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sso-oidc.json b/codegen/sdk-codegen/aws-models/sso-oidc.json index f3283f25f0a..9a291cc8989 100644 --- a/codegen/sdk-codegen/aws-models/sso-oidc.json +++ b/codegen/sdk-codegen/aws-models/sso-oidc.json @@ -67,27 +67,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sso.json b/codegen/sdk-codegen/aws-models/sso.json index 0cdb54058e2..121f3797e0b 100644 --- a/codegen/sdk-codegen/aws-models/sso.json +++ b/codegen/sdk-codegen/aws-models/sso.json @@ -543,27 +543,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/storage-gateway.json b/codegen/sdk-codegen/aws-models/storage-gateway.json index 19c6c6e0c4c..aa186fba242 100644 --- a/codegen/sdk-codegen/aws-models/storage-gateway.json +++ b/codegen/sdk-codegen/aws-models/storage-gateway.json @@ -9683,27 +9683,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/sts.json b/codegen/sdk-codegen/aws-models/sts.json index f81e9c9cf3d..5f1d6ed7f4e 100644 --- a/codegen/sdk-codegen/aws-models/sts.json +++ b/codegen/sdk-codegen/aws-models/sts.json @@ -85,34 +85,34 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "UseGlobalEndpoint": { "builtIn": "AWS::STS::UseGlobalEndpoint", "required": true, "default": false, "documentation": "Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.", - "type": "Boolean" + "type": "boolean" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/supplychain.json b/codegen/sdk-codegen/aws-models/supplychain.json index 7d32e91e940..05b42327c32 100644 --- a/codegen/sdk-codegen/aws-models/supplychain.json +++ b/codegen/sdk-codegen/aws-models/supplychain.json @@ -3413,27 +3413,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/support-app.json b/codegen/sdk-codegen/aws-models/support-app.json index 2e500936f40..d1316984693 100644 --- a/codegen/sdk-codegen/aws-models/support-app.json +++ b/codegen/sdk-codegen/aws-models/support-app.json @@ -773,27 +773,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/swf.json b/codegen/sdk-codegen/aws-models/swf.json index f372ce5e355..1fea5f65d17 100644 --- a/codegen/sdk-codegen/aws-models/swf.json +++ b/codegen/sdk-codegen/aws-models/swf.json @@ -5811,31 +5811,31 @@ "smithy.rules#endpointRuleSet": { "version": "1.0", "parameters": { - "Region": { - "builtIn": "AWS::Region", - "required": false, - "documentation": "The AWS region used to dispatch the request.", - "type": "String" - }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" + }, + "Region": { + "builtIn": "AWS::Region", + "required": false, + "documentation": "The AWS region used to dispatch the request.", + "type": "string" } }, "rules": [ @@ -5867,161 +5867,170 @@ "type": "error" }, { - "conditions": [ + "conditions": [], + "rules": [ { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], + "endpoint": { + "url": { + "ref": "Endpoint" }, - true - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" - }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" } ], "type": "tree" }, { - "conditions": [ - { - "fn": "isSet", - "argv": [ - { - "ref": "Region" - } - ] - } - ], + "conditions": [], "rules": [ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { "ref": "Region" } - ], - "assign": "PartitionResult" + ] } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ { - "ref": "UseDualStack" - }, - true - ] + "ref": "Region" + } + ], + "assign": "PartitionResult" } ], "rules": [ { "conditions": [ { - "fn": "booleanEquals", + "fn": "stringEquals", "argv": [ - true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsFIPS" + "name" ] - } + }, + "aws-us-gov" ] }, { "fn": "booleanEquals", "argv": [ - true, + { + "ref": "UseFIPS" + }, + true + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + false + ] + } + ], + "endpoint": { + "url": "https://swf.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "supportsDualStack" + "name" ] - } + }, + "aws-us-gov" ] - } - ], - "rules": [ + }, { - "conditions": [], - "endpoint": { - "url": "https://swf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] } ], - "type": "tree" + "endpoint": { + "url": "https://swf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" }, { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseFIPS" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { "fn": "booleanEquals", "argv": [ { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsFIPS" - ] + "ref": "UseDualStack" }, true ] @@ -6031,369 +6040,250 @@ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { "fn": "getAttr", "argv": [ { "ref": "PartitionResult" }, - "name" + "supportsFIPS" ] - }, - "aws-us-gov" + } ] + }, + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://swf-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ], - "endpoint": { - "url": "https://swf.{Region}.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree" }, { "conditions": [], - "endpoint": { - "url": "https://swf-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ], "type": "tree" }, { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ + "conditions": [ { - "ref": "UseDualStack" + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + true + ] }, - true - ] - } - ], - "rules": [ - { - "conditions": [ { "fn": "booleanEquals", "argv": [ - true, { - "fn": "getAttr", - "argv": [ - { - "ref": "PartitionResult" - }, - "supportsDualStack" - ] - } + "ref": "UseDualStack" + }, + false ] } ], "rules": [ { - "conditions": [], - "endpoint": { - "url": "https://swf.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" - } - ], - "type": "tree" - }, - { - "conditions": [], - "endpoint": { - "url": "https://swf.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ], - "type": "tree" - } - ], - "type": "tree" - }, - { - "conditions": [], - "error": "Invalid Configuration: Missing Region", - "type": "error" - } - ] - }, - "smithy.rules#endpointTests": { - "testCases": [ - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.af-south-1.amazonaws.com" - } - }, - "params": { - "Region": "af-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-east-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-east-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-northeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-south-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-southeast-1.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-southeast-2.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-2", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ap-southeast-3.amazonaws.com" - } - }, - "params": { - "Region": "ap-southeast-3", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.ca-central-1.amazonaws.com" - } - }, - "params": { - "Region": "ca-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.eu-central-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-central-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.eu-north-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.eu-south-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-south-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.eu-west-1.amazonaws.com" - } - }, - "params": { - "Region": "eu-west-1", - "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.eu-west-2.amazonaws.com" + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + }, + true + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://swf-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseFIPS" + }, + false + ] + }, + { + "fn": "booleanEquals", + "argv": [ + { + "ref": "UseDualStack" + }, + true + ] + } + ], + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://swf.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" + } + ], + "type": "tree" + }, + { + "conditions": [], + "endpoint": { + "url": "https://swf.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ], + "type": "tree" + } + ], + "type": "tree" + }, + { + "conditions": [], + "error": "Invalid Configuration: Missing Region", + "type": "error" } - }, - "params": { - "Region": "eu-west-2", - "UseFIPS": false, - "UseDualStack": false - } - }, + ], + "type": "tree" + } + ] + }, + "smithy.rules#endpointTests": { + "testCases": [ { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region not set and fips disabled", "expect": { "endpoint": { - "url": "https://swf.eu-west-3.amazonaws.com" + "url": "https://example.com" } }, "params": { - "Region": "eu-west-3", - "UseFIPS": false, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips enabled", "expect": { - "endpoint": { - "url": "https://swf.me-south-1.amazonaws.com" - } + "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "Region": "me-south-1", - "UseFIPS": false, - "UseDualStack": false + "Endpoint": "https://example.com", + "UseFIPS": true } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with fips disabled and dualstack enabled", "expect": { - "endpoint": { - "url": "https://swf.sa-east-1.amazonaws.com" - } + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "Region": "sa-east-1", + "Endpoint": "https://example.com", "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://swf.us-east-1.amazonaws.com" + "url": "https://swf-fips.us-east-1.api.aws" } }, "params": { "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false + "UseFIPS": true, + "UseDualStack": true } }, { @@ -6410,122 +6300,70 @@ } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://swf.us-east-2.amazonaws.com" + "url": "https://swf.us-east-1.api.aws" } }, "params": { - "Region": "us-east-2", + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false - } - }, - { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf-fips.us-east-2.amazonaws.com" - } - }, - "params": { - "Region": "us-east-2", - "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-west-1.amazonaws.com" + "url": "https://swf.us-east-1.amazonaws.com" } }, "params": { - "Region": "us-west-1", + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://swf-fips.us-west-1.amazonaws.com" + "url": "https://swf-fips.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-west-1", + "Region": "cn-northwest-1", "UseFIPS": true, - "UseDualStack": false - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.us-west-2.amazonaws.com" - } - }, - "params": { - "Region": "us-west-2", - "UseFIPS": false, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf-fips.us-west-2.amazonaws.com" + "url": "https://swf-fips.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "Region": "us-west-2", + "Region": "cn-northwest-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://swf-fips.us-east-1.api.aws" - } - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://swf.us-east-1.api.aws" + "url": "https://swf.cn-northwest-1.api.amazonwebservices.com.cn" } }, "params": { - "Region": "us-east-1", + "Region": "cn-northwest-1", "UseFIPS": false, "UseDualStack": true } }, - { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": false - } - }, { "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { @@ -6540,236 +6378,185 @@ } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://swf-fips.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "cn-north-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://swf-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "Region": "cn-north-1", + "Region": "eusc-de-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://swf.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "Region": "cn-north-1", - "UseFIPS": false, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-gov-east-1.amazonaws.com" + "url": "https://swf.eusc-de-east-1.amazonaws.eu" } }, "params": { - "Region": "us-gov-east-1", + "Region": "eusc-de-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-gov-east-1.amazonaws.com" + "url": "https://swf-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-iso-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-gov-west-1.amazonaws.com" + "url": "https://swf.us-iso-east-1.c2s.ic.gov" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-iso-east-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-gov-west-1.amazonaws.com" + "url": "https://swf-fips.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-gov-west-1", + "Region": "us-isob-east-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://swf-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "Region": "us-gov-east-1", - "UseFIPS": true, - "UseDualStack": true - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-gov-east-1.api.aws" + "url": "https://swf.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "Region": "us-gov-east-1", + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-iso-east-1.c2s.ic.gov" + "url": "https://swf-fips.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-iso-east-1", - "UseFIPS": false, + "Region": "eu-isoe-west-1", + "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-iso-west-1.c2s.ic.gov" + "url": "https://swf.eu-isoe-west-1.cloud.adc-e.uk" } }, "params": { - "Region": "us-iso-west-1", + "Region": "eu-isoe-west-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://swf-fips.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "Region": "us-iso-east-1", + "Region": "us-isof-south-1", "UseFIPS": true, "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://swf.us-isob-east-1.sc2s.sgov.gov" + "url": "https://swf.us-isof-south-1.csp.hci.ic.gov" } }, "params": { - "Region": "us-isob-east-1", + "Region": "us-isof-south-1", "UseFIPS": false, "UseDualStack": false } }, { - "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://swf-fips.us-isob-east-1.sc2s.sgov.gov" + "url": "https://swf-fips.us-gov-west-1.api.aws" } }, "params": { - "Region": "us-isob-east-1", + "Region": "us-gov-west-1", "UseFIPS": true, - "UseDualStack": false + "UseDualStack": true } }, { - "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://swf.us-gov-west-1.amazonaws.com" } }, "params": { - "Region": "us-east-1", - "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://example.com" + "url": "https://swf-fips.us-gov-west-1.api.aws" } }, "params": { + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": false, - "Endpoint": "https://example.com" - } - }, - { - "documentation": "For custom endpoint with fips enabled and dualstack disabled", - "expect": { - "error": "Invalid Configuration: FIPS and custom endpoint are not supported" - }, - "params": { - "Region": "us-east-1", - "UseFIPS": true, - "UseDualStack": false, - "Endpoint": "https://example.com" + "UseDualStack": true } }, { - "documentation": "For custom endpoint with fips disabled and dualstack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" + "endpoint": { + "url": "https://swf.us-gov-west-1.amazonaws.com" + } }, "params": { - "Region": "us-east-1", + "Region": "us-gov-west-1", "UseFIPS": false, - "UseDualStack": true, - "Endpoint": "https://example.com" + "UseDualStack": false } }, { diff --git a/codegen/sdk-codegen/aws-models/synthetics.json b/codegen/sdk-codegen/aws-models/synthetics.json index 623811dbaf0..bbe95b238e7 100644 --- a/codegen/sdk-codegen/aws-models/synthetics.json +++ b/codegen/sdk-codegen/aws-models/synthetics.json @@ -3201,27 +3201,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/taxsettings.json b/codegen/sdk-codegen/aws-models/taxsettings.json index b61c67fc486..c073f93ac09 100644 --- a/codegen/sdk-codegen/aws-models/taxsettings.json +++ b/codegen/sdk-codegen/aws-models/taxsettings.json @@ -3634,26 +3634,26 @@ "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/textract.json b/codegen/sdk-codegen/aws-models/textract.json index 2c3e1ace8e9..24d09bd347b 100644 --- a/codegen/sdk-codegen/aws-models/textract.json +++ b/codegen/sdk-codegen/aws-models/textract.json @@ -4790,27 +4790,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/timestream-influxdb.json b/codegen/sdk-codegen/aws-models/timestream-influxdb.json index 051ade18100..725b63e8e9b 100644 --- a/codegen/sdk-codegen/aws-models/timestream-influxdb.json +++ b/codegen/sdk-codegen/aws-models/timestream-influxdb.json @@ -98,27 +98,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -883,8 +883,7 @@ "password": { "target": "com.amazonaws.timestreaminfluxdb#Password", "traits": { - "smithy.api#documentation": "

The password of the initial admin user created in InfluxDB. This password will allow\n you to access the InfluxDB UI to perform various administrative tasks and also use the\n InfluxDB CLI to create an operator token. These attributes will be stored in a secret created in Secrets Manager in your account.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The password of the initial admin user created in InfluxDB. This password will allow\n you to access the InfluxDB UI to perform various administrative tasks and also use the\n InfluxDB CLI to create an operator token. These attributes will be stored in a secret created in Secrets Manager in your account.

" } }, "organization": { @@ -902,8 +901,7 @@ "port": { "target": "com.amazonaws.timestreaminfluxdb#Port", "traits": { - "smithy.api#default": 8086, - "smithy.api#documentation": "

The port number on which InfluxDB accepts connections.

\n

Valid Values: 1024-65535

\n

Default: 8086

\n

Constraints: The value can't be 2375-2376, 7788-7799, 8090, or 51678-51680

" + "smithy.api#documentation": "

The port number on which InfluxDB accepts connections.

\n

Valid Values: 1024-65535

\n

Default: 8086 for InfluxDB v2, 8181 for InfluxDB v3

\n

Constraints: The value can't be 2375-2376, 7788-7799, 8090, or 51678-51680

" } }, "dbParameterGroupIdentifier": { @@ -928,8 +926,7 @@ "allocatedStorage": { "target": "com.amazonaws.timestreaminfluxdb#AllocatedStorage", "traits": { - "smithy.api#documentation": "

The amount of storage to allocate for your DB storage type in GiB (gibibytes).

", - "smithy.api#required": {} + "smithy.api#documentation": "

The amount of storage to allocate for your DB storage type in GiB (gibibytes).

" } }, "networkType": { @@ -961,8 +958,7 @@ "deploymentType": { "target": "com.amazonaws.timestreaminfluxdb#ClusterDeploymentType", "traits": { - "smithy.api#documentation": "

Specifies the type of cluster to create.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Specifies the type of cluster to create.

" } }, "failoverMode": { @@ -1078,7 +1074,7 @@ "password": { "target": "com.amazonaws.timestreaminfluxdb#Password", "traits": { - "smithy.api#documentation": "

The password of the initial admin user created in InfluxDB. This password will allow\n you to access the InfluxDB UI to perform various administrative tasks and also use the\n InfluxDB CLI to create an operator token. These attributes will be stored in a Secret\n created in Secrets Manager in your account.

", + "smithy.api#documentation": "

The password of the initial admin user created in InfluxDB v2. This password will allow\n you to access the InfluxDB UI to perform various administrative tasks and also use the\n InfluxDB CLI to create an operator token. These attributes will be stored in a Secret\n created in Secrets Manager in your account.

", "smithy.api#required": {} } }, @@ -1313,6 +1309,12 @@ "traits": { "smithy.api#documentation": "

Specifies the DbInstance's role in the cluster.

" } + }, + "instanceModes": { + "target": "com.amazonaws.timestreaminfluxdb#InstanceModeList", + "traits": { + "smithy.api#documentation": "

Specifies the DbInstance's roles in the cluster.

" + } } }, "traits": { @@ -1443,6 +1445,23 @@ "smithy.api#output": {} } }, + "com.amazonaws.timestreaminfluxdb#DataFusionRuntimeType": { + "type": "enum", + "members": { + "MULTI_THREAD": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "multi-thread" + } + }, + "MULTI_THREAD_ALT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "multi-thread-alt" + } + } + } + }, "com.amazonaws.timestreaminfluxdb#DbClusterId": { "type": "string", "traits": { @@ -1581,6 +1600,12 @@ "traits": { "smithy.api#documentation": "

The amount of storage allocated for your DB storage type (in gibibytes).

" } + }, + "engineType": { + "target": "com.amazonaws.timestreaminfluxdb#EngineType", + "traits": { + "smithy.api#documentation": "

The engine type of your DB cluster.

" + } } }, "traits": { @@ -1670,6 +1695,12 @@ "traits": { "smithy.api#documentation": "

Specifies the DB instance's role in the cluster.

" } + }, + "instanceModes": { + "target": "com.amazonaws.timestreaminfluxdb#InstanceModeList", + "traits": { + "smithy.api#documentation": "

Specifies the DB instance's roles in the cluster.

" + } } }, "traits": { @@ -2266,6 +2297,12 @@ "traits": { "smithy.api#documentation": "

Specifies the DbInstance's role in the cluster.

" } + }, + "instanceModes": { + "target": "com.amazonaws.timestreaminfluxdb#InstanceModeList", + "traits": { + "smithy.api#documentation": "

Specifies the DbInstance's roles in the cluster.

" + } } }, "traits": { @@ -2340,6 +2377,35 @@ "traits": { "smithy.api#enumValue": "milliseconds" } + }, + "DAYS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "days" + } + } + } + }, + "com.amazonaws.timestreaminfluxdb#EngineType": { + "type": "enum", + "members": { + "INFLUXDB_V2": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INFLUXDB_V2" + } + }, + "INFLUXDB_V3_CORE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INFLUXDB_V3_CORE" + } + }, + "INFLUXDB_V3_ENTERPRISE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INFLUXDB_V3_ENTERPRISE" + } } } }, @@ -2489,6 +2555,12 @@ "smithy.api#documentation": "

The amount of storage allocated for your DB storage type (in gibibytes).

" } }, + "engineType": { + "target": "com.amazonaws.timestreaminfluxdb#EngineType", + "traits": { + "smithy.api#documentation": "

The engine type of your DB cluster.

" + } + }, "publiclyAccessible": { "target": "smithy.api#Boolean", "traits": { @@ -2720,6 +2792,12 @@ "traits": { "smithy.api#documentation": "

Specifies the DbInstance's role in the cluster.

" } + }, + "instanceModes": { + "target": "com.amazonaws.timestreaminfluxdb#InstanceModeList", + "traits": { + "smithy.api#documentation": "

Specifies the DbInstance's roles in the cluster.

" + } } }, "traits": { @@ -3099,170 +3177,932 @@ "smithy.api#documentation": "

All the customer-modifiable InfluxDB v2 parameters in Timestream for InfluxDB.

" } }, - "com.amazonaws.timestreaminfluxdb#InstanceMode": { - "type": "enum", + "com.amazonaws.timestreaminfluxdb#InfluxDBv3CoreParameters": { + "type": "structure", "members": { - "PRIMARY": { - "target": "smithy.api#Unit", + "queryFileLimit": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#enumValue": "PRIMARY" + "smithy.api#documentation": "

Limits the number of Parquet files a query can access. If a query attempts to read more than this limit, InfluxDB 3 returns an error.

\n

Default: 432

", + "smithy.api#range": { + "min": 0, + "max": 1024 + } } }, - "STANDBY": { - "target": "smithy.api#Unit", + "queryLogSize": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#enumValue": "STANDBY" + "smithy.api#documentation": "

Defines the size of the query log. Up to this many queries remain in the log before older queries are evicted to make room for new ones.

\n

Default: 1000

", + "smithy.api#range": { + "min": 1, + "max": 10000 + } } }, - "REPLICA": { - "target": "smithy.api#Unit", + "logFilter": { + "target": "smithy.api#String", "traits": { - "smithy.api#enumValue": "REPLICA" + "smithy.api#documentation": "

Sets the filter directive for logs.

", + "smithy.api#length": { + "min": 0, + "max": 1024 + } } - } - } - }, - "com.amazonaws.timestreaminfluxdb#InternalServerException": { - "type": "structure", - "members": { - "message": { - "target": "smithy.api#String", + }, + "logFormat": { + "target": "com.amazonaws.timestreaminfluxdb#LogFormats", "traits": { - "smithy.api#required": {} + "smithy.api#documentation": "

Defines the message format for logs.

\n

Default: full

" } - } - }, - "traits": { - "smithy.api#documentation": "

The request processing has failed because of an unknown error, exception or failure.

", - "smithy.api#error": "server", - "smithy.api#httpError": 500, - "smithy.api#retryable": {} - } - }, - "com.amazonaws.timestreaminfluxdb#ListDbClusters": { - "type": "operation", - "input": { - "target": "com.amazonaws.timestreaminfluxdb#ListDbClustersInput" - }, - "output": { - "target": "com.amazonaws.timestreaminfluxdb#ListDbClustersOutput" - }, - "errors": [ - { - "target": "com.amazonaws.timestreaminfluxdb#AccessDeniedException" }, - { - "target": "com.amazonaws.timestreaminfluxdb#InternalServerException" + "dataFusionNumThreads": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the maximum number of DataFusion runtime threads to use.

", + "smithy.api#range": { + "min": 1, + "max": 2048 + } + } }, - { - "target": "com.amazonaws.timestreaminfluxdb#ResourceNotFoundException" + "dataFusionRuntimeType": { + "target": "com.amazonaws.timestreaminfluxdb#DataFusionRuntimeType", + "traits": { + "smithy.api#documentation": "

Specifies the DataFusion tokio runtime type.

\n

Default: multi-thread

" + } }, - { - "target": "com.amazonaws.timestreaminfluxdb#ThrottlingException" + "dataFusionRuntimeDisableLifoSlot": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Disables the LIFO slot of the DataFusion runtime.

" + } }, - { - "target": "com.amazonaws.timestreaminfluxdb#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "documentation": "Grants permission to list information about all Timestream InfluxDB clusters in the account" + "dataFusionRuntimeEventInterval": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the number of scheduler ticks after which the scheduler of the DataFusion tokio runtime polls for external events–for example: timers, I/O.

", + "smithy.api#range": { + "min": 1, + "max": 128 + } + } }, - "smithy.api#documentation": "

Returns a list of Timestream for InfluxDB DB clusters.

", - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "dataFusionRuntimeGlobalQueueInterval": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the number of scheduler ticks after which the scheduler of the DataFusion runtime polls the global task queue.

", + "smithy.api#range": { + "min": 1, + "max": 128 + } + } }, - "smithy.api#readonly": {}, - "smithy.api#tags": [ - "DbCluster" - ] - } - }, - "com.amazonaws.timestreaminfluxdb#ListDbClustersInput": { - "type": "structure", - "members": { - "nextToken": { - "target": "com.amazonaws.timestreaminfluxdb#NextToken", + "dataFusionRuntimeMaxBlockingThreads": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The pagination token. To resume pagination, provide the nextToken value as an argument of a subsequent API invocation.

" + "smithy.api#documentation": "

Specifies the limit for additional threads spawned by the DataFusion runtime.

", + "smithy.api#range": { + "min": 1, + "max": 1024 + } } }, - "maxResults": { - "target": "com.amazonaws.timestreaminfluxdb#MaxResults", + "dataFusionRuntimeMaxIoEventsPerTick": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

The maximum number of items to return in the output. If the total number of items available is more than the value specified, a nextToken is provided in the output. To resume pagination, provide the nextToken value as an argument of a subsequent API invocation.

" + "smithy.api#documentation": "

Configures the maximum number of events processed per tick by the tokio DataFusion runtime.

", + "smithy.api#range": { + "min": 1, + "max": 4096 + } } - } - }, - "traits": { - "smithy.api#input": {} - } - }, - "com.amazonaws.timestreaminfluxdb#ListDbClustersOutput": { - "type": "structure", - "members": { - "items": { - "target": "com.amazonaws.timestreaminfluxdb#DbClusterSummaryList", + }, + "dataFusionRuntimeThreadKeepAlive": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", "traits": { - "smithy.api#documentation": "

A list of Timestream for InfluxDB cluster summaries.

", - "smithy.api#required": {} + "smithy.api#documentation": "

Sets a custom timeout for a thread in the blocking pool of the tokio DataFusion runtime.

" } }, - "nextToken": { - "target": "com.amazonaws.timestreaminfluxdb#NextToken", + "dataFusionRuntimeThreadPriority": { + "target": "smithy.api#Integer", "traits": { - "smithy.api#documentation": "

Token from a previous call of the operation. When this value is provided, the\n service returns results from where the previous response left off.

" + "smithy.api#documentation": "

Sets the thread priority for tokio DataFusion runtime workers.

\n

Default: 10

", + "smithy.api#range": { + "min": -20, + "max": 19 + } } - } - }, - "traits": { - "smithy.api#output": {} - } - }, - "com.amazonaws.timestreaminfluxdb#ListDbInstances": { - "type": "operation", - "input": { - "target": "com.amazonaws.timestreaminfluxdb#ListDbInstancesInput" - }, - "output": { - "target": "com.amazonaws.timestreaminfluxdb#ListDbInstancesOutput" - }, - "errors": [ - { - "target": "com.amazonaws.timestreaminfluxdb#AccessDeniedException" }, - { - "target": "com.amazonaws.timestreaminfluxdb#InternalServerException" + "dataFusionMaxParquetFanout": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

When multiple parquet files are required in a sorted way (deduplication for example), specifies the maximum fanout.

\n

Default: 1000

", + "smithy.api#range": { + "min": 1, + "max": 1000000 + } + } }, - { - "target": "com.amazonaws.timestreaminfluxdb#ResourceNotFoundException" + "dataFusionUseCachedParquetLoader": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Uses a cached parquet loader when reading parquet files from the object store.

" + } }, - { - "target": "com.amazonaws.timestreaminfluxdb#ThrottlingException" + "dataFusionConfig": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Provides custom configuration to DataFusion as a comma-separated list of key:value pairs.

", + "smithy.api#pattern": "^[a-zA-Z0-9_]+=[^,\\s]+(?:,[a-zA-Z0-9_]+=[^,\\s]+)*$" + } }, - { - "target": "com.amazonaws.timestreaminfluxdb#ValidationException" - } - ], - "traits": { - "aws.iam#iamAction": { - "documentation": "Grants permission to list information about all Timestream InfluxDB instances in the account" + "maxHttpRequestSize": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

Specifies the maximum size of HTTP requests.

\n

Default: 10485760

", + "smithy.api#range": { + "min": 1024, + "max": 16777216 + } + } }, - "smithy.api#documentation": "

Returns a list of Timestream for InfluxDB DB instances.

", - "smithy.api#paginated": { - "inputToken": "nextToken", - "outputToken": "nextToken", - "pageSize": "maxResults", - "items": "items" + "forceSnapshotMemThreshold": { + "target": "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong", + "traits": { + "smithy.api#documentation": "

Specifies the threshold for the internal memory buffer. Supports either a percentage (portion of available memory) or absolute value in MB–for example: 70% or 100

\n

Default: 70%

" + } }, - "smithy.api#readonly": {}, - "smithy.api#tags": [ - "DbInstance" - ] - } + "walSnapshotSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Defines the number of WAL files to attempt to remove in a snapshot. This, multiplied by the interval, determines how often snapshots are taken.

\n

Default: 600

", + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, + "walMaxWriteBufferSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the maximum number of write requests that can be buffered before a flush must be executed and succeed.

\n

Default: 100000

", + "smithy.api#range": { + "min": 1, + "max": 1000000 + } + } + }, + "snapshottedWalFilesToKeep": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the number of snapshotted WAL files to retain in the object store. Flushing the WAL files does not clear the WAL files immediately; they are deleted when the number of snapshotted WAL files exceeds this number.

\n

Default: 300

", + "smithy.api#range": { + "min": 0, + "max": 10000 + } + } + }, + "preemptiveCacheAge": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval to prefetch into the Parquet cache during compaction.

\n

Default: 3d

" + } + }, + "parquetMemCachePrunePercentage": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

Specifies the percentage of entries to prune during a prune operation on the in-memory Parquet cache.

\n

Default: 0.1

", + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, + "parquetMemCachePruneInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Sets the interval to check if the in-memory Parquet cache needs to be pruned.

\n

Default: 1s

" + } + }, + "disableParquetMemCache": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Disables the in-memory Parquet cache. By default, the cache is enabled.

" + } + }, + "parquetMemCacheQueryPathDuration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the time window for caching recent Parquet files in memory.

\n

Default: 5h

" + } + }, + "lastCacheEvictionInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval to evict expired entries from the Last-N-Value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h.

\n

Default: 10s

" + } + }, + "distinctCacheEvictionInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval to evict expired entries from the distinct value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h.

\n

Default: 10s

" + } + }, + "gen1Duration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the duration that Parquet files are arranged into. Data timestamps land each row into a file of this duration. Supported durations are 1m, 5m, and 10m. These files are known as “generation 1” files that the compactor in InfluxDB 3 Enterprise can merge into larger generations.

\n

Default: 10m

" + } + }, + "execMemPoolBytes": { + "target": "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong", + "traits": { + "smithy.api#documentation": "

Specifies the size of memory pool used during query execution. Can be given as absolute value in bytes or as a percentage of the total available memory–for example: 8000000000 or 10%.

\n

Default: 20%

" + } + }, + "parquetMemCacheSize": { + "target": "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong", + "traits": { + "smithy.api#documentation": "

Specifies the size of the in-memory Parquet cache in megabytes or percentage of total available memory.

\n

Default: 20%

" + } + }, + "walReplayFailOnError": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Determines whether WAL replay should fail when encountering errors.

\n

Default: false

" + } + }, + "walReplayConcurrencyLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Concurrency limit during WAL replay. Setting this number too high can lead to OOM. The default is dynamically determined.

\n

Default: max(num_cpus, 10)

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "tableIndexCacheMaxEntries": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the maximum number of entries in the table index cache.

\n

Default: 1000

", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "tableIndexCacheConcurrencyLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Limits the concurrency level for table index cache operations.

\n

Default: 8

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "gen1LookbackDuration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies how far back to look when creating generation 1 Parquet files.

\n

Default: 24h

" + } + }, + "retentionCheckInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

The interval at which retention policies are checked and enforced. Enter as a human-readable time–for example: 30m or 1h.

\n

Default: 30m

" + } + }, + "deleteGracePeriod": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the grace period before permanently deleting data.

\n

Default: 24h

" + } + }, + "hardDeleteDefaultDuration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Sets the default duration for hard deletion of data.

\n

Default: 90d

" + } + } + }, + "traits": { + "smithy.api#documentation": "

All the customer-modifiable InfluxDB v3 Core parameters in Timestream for InfluxDB.

" + } + }, + "com.amazonaws.timestreaminfluxdb#InfluxDBv3EnterpriseParameters": { + "type": "structure", + "members": { + "queryFileLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Limits the number of Parquet files a query can access. If a query attempts to read more than this limit, InfluxDB 3 returns an error.

\n

Default: 432

", + "smithy.api#range": { + "min": 0, + "max": 1024 + } + } + }, + "queryLogSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Defines the size of the query log. Up to this many queries remain in the log before older queries are evicted to make room for new ones.

\n

Default: 1000

", + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, + "logFilter": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Sets the filter directive for logs.

", + "smithy.api#length": { + "min": 0, + "max": 1024 + } + } + }, + "logFormat": { + "target": "com.amazonaws.timestreaminfluxdb#LogFormats", + "traits": { + "smithy.api#documentation": "

Defines the message format for logs.

\n

Default: full

" + } + }, + "dataFusionNumThreads": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the maximum number of DataFusion runtime threads to use.

", + "smithy.api#range": { + "min": 1, + "max": 2048 + } + } + }, + "dataFusionRuntimeType": { + "target": "com.amazonaws.timestreaminfluxdb#DataFusionRuntimeType", + "traits": { + "smithy.api#documentation": "

Specifies the DataFusion tokio runtime type.

\n

Default: multi-thread

" + } + }, + "dataFusionRuntimeDisableLifoSlot": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Disables the LIFO slot of the DataFusion runtime.

" + } + }, + "dataFusionRuntimeEventInterval": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the number of scheduler ticks after which the scheduler of the DataFusion tokio runtime polls for external events–for example: timers, I/O.

", + "smithy.api#range": { + "min": 1, + "max": 128 + } + } + }, + "dataFusionRuntimeGlobalQueueInterval": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the number of scheduler ticks after which the scheduler of the DataFusion runtime polls the global task queue.

", + "smithy.api#range": { + "min": 1, + "max": 128 + } + } + }, + "dataFusionRuntimeMaxBlockingThreads": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the limit for additional threads spawned by the DataFusion runtime.

", + "smithy.api#range": { + "min": 1, + "max": 1024 + } + } + }, + "dataFusionRuntimeMaxIoEventsPerTick": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Configures the maximum number of events processed per tick by the tokio DataFusion runtime.

", + "smithy.api#range": { + "min": 1, + "max": 4096 + } + } + }, + "dataFusionRuntimeThreadKeepAlive": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Sets a custom timeout for a thread in the blocking pool of the tokio DataFusion runtime.

" + } + }, + "dataFusionRuntimeThreadPriority": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the thread priority for tokio DataFusion runtime workers.

\n

Default: 10

", + "smithy.api#range": { + "min": -20, + "max": 19 + } + } + }, + "dataFusionMaxParquetFanout": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

When multiple parquet files are required in a sorted way (deduplication for example), specifies the maximum fanout.

\n

Default: 1000

", + "smithy.api#range": { + "min": 1, + "max": 1000000 + } + } + }, + "dataFusionUseCachedParquetLoader": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Uses a cached parquet loader when reading parquet files from the object store.

" + } + }, + "dataFusionConfig": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Provides custom configuration to DataFusion as a comma-separated list of key:value pairs.

", + "smithy.api#pattern": "^[a-zA-Z0-9_]+=[^,\\s]+(?:,[a-zA-Z0-9_]+=[^,\\s]+)*$" + } + }, + "maxHttpRequestSize": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

Specifies the maximum size of HTTP requests.

\n

Default: 10485760

", + "smithy.api#range": { + "min": 1024, + "max": 16777216 + } + } + }, + "forceSnapshotMemThreshold": { + "target": "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong", + "traits": { + "smithy.api#documentation": "

Specifies the threshold for the internal memory buffer. Supports either a percentage (portion of available memory) or absolute value in MB–for example: 70% or 100

\n

Default: 70%

" + } + }, + "walSnapshotSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Defines the number of WAL files to attempt to remove in a snapshot. This, multiplied by the interval, determines how often snapshots are taken.

\n

Default: 600

", + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, + "walMaxWriteBufferSize": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the maximum number of write requests that can be buffered before a flush must be executed and succeed.

\n

Default: 100000

", + "smithy.api#range": { + "min": 1, + "max": 1000000 + } + } + }, + "snapshottedWalFilesToKeep": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the number of snapshotted WAL files to retain in the object store. Flushing the WAL files does not clear the WAL files immediately; they are deleted when the number of snapshotted WAL files exceeds this number.

\n

Default: 300

", + "smithy.api#range": { + "min": 0, + "max": 10000 + } + } + }, + "preemptiveCacheAge": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval to prefetch into the Parquet cache during compaction.

\n

Default: 3d

" + } + }, + "parquetMemCachePrunePercentage": { + "target": "smithy.api#Float", + "traits": { + "smithy.api#documentation": "

Specifies the percentage of entries to prune during a prune operation on the in-memory Parquet cache.

\n

Default: 0.1

", + "smithy.api#range": { + "min": 0, + "max": 1 + } + } + }, + "parquetMemCachePruneInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Sets the interval to check if the in-memory Parquet cache needs to be pruned.

\n

Default: 1s

" + } + }, + "disableParquetMemCache": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Disables the in-memory Parquet cache. By default, the cache is enabled.

" + } + }, + "parquetMemCacheQueryPathDuration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the time window for caching recent Parquet files in memory.

\n

Default: 5h

" + } + }, + "lastCacheEvictionInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval to evict expired entries from the Last-N-Value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h.

\n

Default: 10s

" + } + }, + "distinctCacheEvictionInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval to evict expired entries from the distinct value cache, expressed as a human-readable duration–for example: 20s, 1m, 1h.

\n

Default: 10s

" + } + }, + "gen1Duration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the duration that Parquet files are arranged into. Data timestamps land each row into a file of this duration. Supported durations are 1m, 5m, and 10m. These files are known as “generation 1” files, which the compactor can merge into larger generations.

\n

Default: 10m

" + } + }, + "execMemPoolBytes": { + "target": "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong", + "traits": { + "smithy.api#documentation": "

Specifies the size of memory pool used during query execution. Can be given as absolute value in bytes or as a percentage of the total available memory–for example: 8000000000 or 10%.

\n

Default: 20%

" + } + }, + "parquetMemCacheSize": { + "target": "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong", + "traits": { + "smithy.api#documentation": "

Specifies the size of the in-memory Parquet cache in megabytes or percentage of total available memory.

\n

Default: 20%

" + } + }, + "walReplayFailOnError": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Determines whether WAL replay should fail when encountering errors.

\n

Default: false

" + } + }, + "walReplayConcurrencyLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Concurrency limit during WAL replay. Setting this number too high can lead to OOM. The default is dynamically determined.

\n

Default: max(num_cpus, 10)

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "tableIndexCacheMaxEntries": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the maximum number of entries in the table index cache.

\n

Default: 1000

", + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "tableIndexCacheConcurrencyLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Limits the concurrency level for table index cache operations.

\n

Default: 8

", + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "gen1LookbackDuration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies how far back to look when creating generation 1 Parquet files.

\n

Default: 24h

" + } + }, + "retentionCheckInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

The interval at which retention policies are checked and enforced. Enter as a human-readable time–for example: 30m or 1h.

\n

Default: 30m

" + } + }, + "deleteGracePeriod": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the grace period before permanently deleting data.

\n

Default: 24h

" + } + }, + "hardDeleteDefaultDuration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Sets the default duration for hard deletion of data.

\n

Default: 90d

" + } + }, + "ingestQueryInstances": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies number of instances in the DbCluster which can both ingest and query.

", + "smithy.api#range": { + "min": 1, + "max": 4 + }, + "smithy.api#required": {} + } + }, + "queryOnlyInstances": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies number of instances in the DbCluster which can only query.

", + "smithy.api#range": { + "min": 0, + "max": 10 + }, + "smithy.api#required": {} + } + }, + "dedicatedCompactor": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies if the compactor instance should be a standalone instance or not.

", + "smithy.api#required": {} + } + }, + "compactionRowLimit": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Specifies the soft limit for the number of rows per file that the compactor writes. The compactor may write more rows than this limit.

\n

Default: 1000000

", + "smithy.api#range": { + "min": 1, + "max": 100000000 + } + } + }, + "compactionMaxNumFilesPerPlan": { + "target": "smithy.api#Integer", + "traits": { + "smithy.api#documentation": "

Sets the maximum number of files included in any compaction plan.

\n

Default: 500

", + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, + "compactionGen2Duration": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the duration of the first level of compaction (gen2). Later levels of compaction are multiples of this duration. This value should be equal to or greater than the gen1 duration.

\n

Default: 20m

" + } + }, + "compactionMultipliers": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Specifies a comma-separated list of multiples defining the duration of each level of compaction. The number of elements in the list determines the number of compaction levels. The first element specifies the duration of the first level (gen3); subsequent levels are multiples of the previous level.

\n

Default: 3,4,6,5

", + "smithy.api#length": { + "min": 7, + "max": 16 + }, + "smithy.api#pattern": "^\\d+,\\d+,\\d+,\\d+$" + } + }, + "compactionCleanupWait": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the amount of time that the compactor waits after finishing a compaction run to delete files marked as needing deletion during that compaction run.

\n

Default: 10m

" + } + }, + "compactionCheckInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies how often the compactor checks for new compaction work to perform.

\n

Default: 10s

" + } + }, + "lastValueCacheDisableFromHistory": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Disables populating the last-N-value cache from historical data. If disabled, the cache is still populated with data from the write-ahead log (WAL).

" + } + }, + "distinctValueCacheDisableFromHistory": { + "target": "smithy.api#Boolean", + "traits": { + "smithy.api#documentation": "

Disables populating the distinct value cache from historical data. If disabled, the cache is still populated with data from the write-ahead log (WAL).

" + } + }, + "replicationInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Specifies the interval at which data replication occurs between cluster nodes.

\n

Default: 250ms

" + } + }, + "catalogSyncInterval": { + "target": "com.amazonaws.timestreaminfluxdb#Duration", + "traits": { + "smithy.api#documentation": "

Defines how often the catalog synchronizes across cluster nodes.

\n

Default: 10s

" + } + } + }, + "traits": { + "smithy.api#documentation": "

All the customer-modifiable InfluxDB v3 Enterprise parameters in Timestream for InfluxDB.

" + } + }, + "com.amazonaws.timestreaminfluxdb#InstanceMode": { + "type": "enum", + "members": { + "PRIMARY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PRIMARY" + } + }, + "STANDBY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STANDBY" + } + }, + "REPLICA": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "REPLICA" + } + }, + "INGEST": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INGEST" + } + }, + "QUERY": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "QUERY" + } + }, + "COMPACT": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "COMPACT" + } + }, + "PROCESS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PROCESS" + } + } + } + }, + "com.amazonaws.timestreaminfluxdb#InstanceModeList": { + "type": "list", + "member": { + "target": "com.amazonaws.timestreaminfluxdb#InstanceMode" + } + }, + "com.amazonaws.timestreaminfluxdb#InternalServerException": { + "type": "structure", + "members": { + "message": { + "target": "smithy.api#String", + "traits": { + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

The request processing has failed because of an unknown error, exception or failure.

", + "smithy.api#error": "server", + "smithy.api#httpError": 500, + "smithy.api#retryable": {} + } + }, + "com.amazonaws.timestreaminfluxdb#ListDbClusters": { + "type": "operation", + "input": { + "target": "com.amazonaws.timestreaminfluxdb#ListDbClustersInput" + }, + "output": { + "target": "com.amazonaws.timestreaminfluxdb#ListDbClustersOutput" + }, + "errors": [ + { + "target": "com.amazonaws.timestreaminfluxdb#AccessDeniedException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#InternalServerException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#ThrottlingException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list information about all Timestream InfluxDB clusters in the account" + }, + "smithy.api#documentation": "

Returns a list of Timestream for InfluxDB DB clusters.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {}, + "smithy.api#tags": [ + "DbCluster" + ] + } + }, + "com.amazonaws.timestreaminfluxdb#ListDbClustersInput": { + "type": "structure", + "members": { + "nextToken": { + "target": "com.amazonaws.timestreaminfluxdb#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token. To resume pagination, provide the nextToken value as an argument of a subsequent API invocation.

" + } + }, + "maxResults": { + "target": "com.amazonaws.timestreaminfluxdb#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items to return in the output. If the total number of items available is more than the value specified, a nextToken is provided in the output. To resume pagination, provide the nextToken value as an argument of a subsequent API invocation.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.timestreaminfluxdb#ListDbClustersOutput": { + "type": "structure", + "members": { + "items": { + "target": "com.amazonaws.timestreaminfluxdb#DbClusterSummaryList", + "traits": { + "smithy.api#documentation": "

A list of Timestream for InfluxDB cluster summaries.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.timestreaminfluxdb#NextToken", + "traits": { + "smithy.api#documentation": "

Token from a previous call of the operation. When this value is provided, the\n service returns results from where the previous response left off.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.timestreaminfluxdb#ListDbInstances": { + "type": "operation", + "input": { + "target": "com.amazonaws.timestreaminfluxdb#ListDbInstancesInput" + }, + "output": { + "target": "com.amazonaws.timestreaminfluxdb#ListDbInstancesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.timestreaminfluxdb#AccessDeniedException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#InternalServerException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#ThrottlingException" + }, + { + "target": "com.amazonaws.timestreaminfluxdb#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "documentation": "Grants permission to list information about all Timestream InfluxDB instances in the account" + }, + "smithy.api#documentation": "

Returns a list of Timestream for InfluxDB DB instances.

", + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "items" + }, + "smithy.api#readonly": {}, + "smithy.api#tags": [ + "DbInstance" + ] + } }, "com.amazonaws.timestreaminfluxdb#ListDbInstancesForCluster": { "type": "operation", @@ -3563,6 +4403,17 @@ "smithy.api#documentation": "

Configuration for sending InfluxDB engine logs to send to specified S3 bucket.

" } }, + "com.amazonaws.timestreaminfluxdb#LogFormats": { + "type": "enum", + "members": { + "FULL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "full" + } + } + } + }, "com.amazonaws.timestreaminfluxdb#LogLevel": { "type": "enum", "members": { @@ -3637,6 +4488,18 @@ "traits": { "smithy.api#documentation": "

All the customer-modifiable InfluxDB v2 parameters in Timestream for InfluxDB.

" } + }, + "InfluxDBv3Core": { + "target": "com.amazonaws.timestreaminfluxdb#InfluxDBv3CoreParameters", + "traits": { + "smithy.api#documentation": "

All the customer-modifiable InfluxDB v3 Core parameters in Timestream for InfluxDB.

" + } + }, + "InfluxDBv3Enterprise": { + "target": "com.amazonaws.timestreaminfluxdb#InfluxDBv3EnterpriseParameters", + "traits": { + "smithy.api#documentation": "

All the customer-modifiable InfluxDB v3 Enterprise parameters in Timestream for InfluxDB.

" + } } }, "traits": { @@ -3654,6 +4517,35 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.timestreaminfluxdb#PercentOrAbsoluteLong": { + "type": "union", + "members": { + "percent": { + "target": "smithy.api#String", + "traits": { + "smithy.api#documentation": "

Percent for InfluxDB parameters.

", + "smithy.api#length": { + "min": 2, + "max": 4 + }, + "smithy.api#pattern": "^(?:100|[1-9]?[0-9])%$" + } + }, + "absolute": { + "target": "smithy.api#Long", + "traits": { + "smithy.api#documentation": "

Absolute long for InfluxDB parameters.

", + "smithy.api#range": { + "min": 0, + "max": 1610612736000 + } + } + } + }, + "traits": { + "smithy.api#documentation": "

Percent or Absolute Long for InfluxDB parameters

" + } + }, "com.amazonaws.timestreaminfluxdb#Port": { "type": "integer", "traits": { @@ -3970,6 +4862,12 @@ "traits": { "smithy.api#enumValue": "jaeger" } + }, + "DISABLED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "disabled" + } } } }, @@ -4377,6 +5275,12 @@ "traits": { "smithy.api#documentation": "

Specifies the DbInstance's role in the cluster.

" } + }, + "instanceModes": { + "target": "com.amazonaws.timestreaminfluxdb#InstanceModeList", + "traits": { + "smithy.api#documentation": "

Specifies the DbInstance's roles in the cluster.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/timestream-query.json b/codegen/sdk-codegen/aws-models/timestream-query.json index 4fe0dc8c7ed..959ef247e1c 100644 --- a/codegen/sdk-codegen/aws-models/timestream-query.json +++ b/codegen/sdk-codegen/aws-models/timestream-query.json @@ -2936,27 +2936,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/timestream-write.json b/codegen/sdk-codegen/aws-models/timestream-write.json index 5ab7fc9efca..90bb63c9e77 100644 --- a/codegen/sdk-codegen/aws-models/timestream-write.json +++ b/codegen/sdk-codegen/aws-models/timestream-write.json @@ -2826,27 +2826,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/tnb.json b/codegen/sdk-codegen/aws-models/tnb.json index b24da2ee066..d928c752aac 100644 --- a/codegen/sdk-codegen/aws-models/tnb.json +++ b/codegen/sdk-codegen/aws-models/tnb.json @@ -4615,27 +4615,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/transcribe-streaming.json b/codegen/sdk-codegen/aws-models/transcribe-streaming.json index 1a4da25544a..d63684617ab 100644 --- a/codegen/sdk-codegen/aws-models/transcribe-streaming.json +++ b/codegen/sdk-codegen/aws-models/transcribe-streaming.json @@ -3723,27 +3723,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/transcribe.json b/codegen/sdk-codegen/aws-models/transcribe.json index 00265a5279e..7f12c8752ef 100644 --- a/codegen/sdk-codegen/aws-models/transcribe.json +++ b/codegen/sdk-codegen/aws-models/transcribe.json @@ -5417,7 +5417,7 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribe#KMSKeyId", "traits": { - "smithy.api#documentation": "

The KMS key you want to use to encrypt your Call Analytics\n output.

\n

If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

\n
    \n
  1. \n

    Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

    \n
  4. \n
  5. \n

    Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  6. \n
  7. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  8. \n
\n

If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

\n
    \n
  1. \n

    Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  4. \n
\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify\n an output location using the OutputLocation parameter.

\n

Note that the role making the request must\n have permission to use the specified KMS key.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a KMS key that you want to use to\n encrypt your Call Analytics output.

\n

KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example:\n \tarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n For more information, see \n KMS key ARNs.

\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

Note that the role making the request and the role specified in \n\t\tthe DataAccessRoleArn request parameter (if present) must have permission to use the \n\t\tspecified KMS key.

" } }, "DataAccessRoleArn": { @@ -5521,7 +5521,7 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribe#KMSKeyId", "traits": { - "smithy.api#documentation": "

The KMS key you want to use to encrypt your Medical Scribe\n output.

\n

If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

\n
    \n
  1. \n

    Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

    \n
  4. \n
  5. \n

    Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  6. \n
  7. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  8. \n
\n

If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

\n
    \n
  1. \n

    Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  4. \n
\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

Note that the role specified in the DataAccessRoleArn request parameter \n must have permission to use the specified KMS key.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a KMS key that you want to use to\n encrypt your Medical Scribe output.

\n

KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example:\n\t\tarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n \tFor more information, see \n KMS key ARNs.

\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

Note that the role making the request and the role specified in \n\t\tthe DataAccessRoleArn request parameter (if present) \n\t\tmust have permission to use the specified KMS key.

" } }, "KMSEncryptionContext": { @@ -5664,7 +5664,7 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribe#KMSKeyId", "traits": { - "smithy.api#documentation": "

The KMS key you want to use to encrypt your medical transcription\n output.

\n

If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

\n
    \n
  1. \n

    Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

    \n
  4. \n
  5. \n

    Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  6. \n
  7. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  8. \n
\n

If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

\n
    \n
  1. \n

    Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  4. \n
\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify\n an output location using the OutputLocation parameter.

\n

Note that the role making the request must\n have permission to use the specified KMS key.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a KMS key that you want to use to\n encrypt your medical transcription output.

\n

KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example:\n \tarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n For more information, see \n KMS key ARNs.

\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

Note that the role making the request and the role specified \n \t\tin the DataAccessRoleArn request parameter (if present) must have permission to use the \n\t\tspecified KMS key.

" } }, "KMSEncryptionContext": { @@ -5806,7 +5806,7 @@ "OutputEncryptionKMSKeyId": { "target": "com.amazonaws.transcribe#KMSKeyId", "traits": { - "smithy.api#documentation": "

The KMS key you want to use to encrypt your transcription\n output.

\n

If using a key located in the current\n Amazon Web Services account, you can specify your KMS key in one of four\n ways:

\n
    \n
  1. \n

    Use the KMS key ID itself. For example,\n 1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use an alias for the KMS key ID. For example,\n alias/ExampleAlias.

    \n
  4. \n
  5. \n

    Use the Amazon Resource Name (ARN) for the KMS key ID. For\n example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  6. \n
  7. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  8. \n
\n

If using a key located in a different\n Amazon Web Services account than the current Amazon Web Services account, you can specify\n your KMS key in one of two ways:

\n
    \n
  1. \n

    Use the ARN for the KMS key ID. For example,\n arn:aws:kms:region:account-ID:key/1234abcd-12ab-34cd-56ef-1234567890ab.

    \n
  2. \n
  3. \n

    Use the ARN for the KMS key alias. For example,\n arn:aws:kms:region:account-ID:alias/ExampleAlias.

    \n
  4. \n
\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

If you specify a KMS key to encrypt your output, you must also specify\n an output location using the OutputLocation parameter.

\n

Note that the role making the request must\n have permission to use the specified KMS key.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a KMS key that you want to use to\n encrypt your transcription output.

\n

KMS key ARNs have the format arn:partition:kms:region:account:key/key-id. For example:\n \tarn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n For more information, see \n KMS key ARNs.

\n

If you do not specify an encryption key, your output is encrypted with the default\n Amazon S3 key (SSE-S3).

\n

Note that the role making the request and the role specified in the \n\t\tDataAccessRoleArn request parameter (if present) must have permission to use the specified \n\t\tKMS key.

" } }, "KMSEncryptionContext": { @@ -6355,27 +6355,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -7792,6 +7792,7 @@ "target": "com.amazonaws.transcribe#TagKeyList", "traits": { "smithy.api#documentation": "

Removes the specified tag keys from the specified Amazon Transcribe resource.

", + "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/transfer.json b/codegen/sdk-codegen/aws-models/transfer.json index 42c052b9063..c8cb17231dc 100644 --- a/codegen/sdk-codegen/aws-models/transfer.json +++ b/codegen/sdk-codegen/aws-models/transfer.json @@ -437,6 +437,40 @@ "smithy.api#httpError": 409 } }, + "com.amazonaws.transfer#ConnectorEgressConfig": { + "type": "union", + "members": { + "VpcLattice": { + "target": "com.amazonaws.transfer#ConnectorVpcLatticeEgressConfig", + "traits": { + "smithy.api#documentation": "

VPC_LATTICE configuration for routing connector traffic through customer VPCs. Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration structure that defines how traffic is routed from the connector to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type for private connectivity through customer VPCs.

" + } + }, + "com.amazonaws.transfer#ConnectorEgressType": { + "type": "enum", + "members": { + "SERVICE_MANAGED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "SERVICE_MANAGED" + } + }, + "VPC_LATTICE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "VPC_LATTICE" + } + } + } + }, + "com.amazonaws.transfer#ConnectorErrorMessage": { + "type": "string" + }, "com.amazonaws.transfer#ConnectorFileTransferResult": { "type": "structure", "members": { @@ -540,6 +574,50 @@ "smithy.api#pattern": "^TransferSFTPConnectorSecurityPolicy-[A-Za-z0-9-]+$" } }, + "com.amazonaws.transfer#ConnectorStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "ERRORED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ERRORED" + } + }, + "PENDING": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PENDING" + } + } + } + }, + "com.amazonaws.transfer#ConnectorVpcLatticeEgressConfig": { + "type": "structure", + "members": { + "ResourceConfigurationArn": { + "target": "com.amazonaws.transfer#VpcLatticeResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

ARN of the VPC_LATTICE Resource Configuration that defines the target SFTP server location. Must point to a valid Resource Configuration in the customer's VPC with appropriate network connectivity to the SFTP server.

", + "smithy.api#required": {} + } + }, + "PortNumber": { + "target": "com.amazonaws.transfer#SftpPort", + "traits": { + "smithy.api#documentation": "

Port number for connecting to the SFTP server through VPC_LATTICE. Defaults to 22 if not specified. Must match the port on which the target SFTP server is listening.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

VPC_LATTICE egress configuration that specifies the Resource Configuration ARN and port for connecting to SFTP servers through customer VPCs. Requires a valid Resource Configuration with appropriate network access.

" + } + }, "com.amazonaws.transfer#CopyStepDetails": { "type": "structure", "members": { @@ -854,8 +932,7 @@ "Url": { "target": "com.amazonaws.transfer#Url", "traits": { - "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.

" } }, "As2Config": { @@ -894,6 +971,12 @@ "traits": { "smithy.api#documentation": "

Specifies the name of the security policy for the connector.

" } + }, + "EgressConfig": { + "target": "com.amazonaws.transfer#ConnectorEgressConfig", + "traits": { + "smithy.api#documentation": "

Specifies the egress configuration for the connector, which determines how traffic is routed from the connector to the SFTP server. When set to VPC, enables routing through customer VPCs using VPC_LATTICE for private connectivity.

" + } } }, "traits": { @@ -1133,7 +1216,7 @@ "ProtocolDetails": { "target": "com.amazonaws.transfer#ProtocolDetails", "traits": { - "smithy.api#documentation": "

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" + "smithy.api#documentation": "

The protocol settings that are configured for your server.

Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see Avoid placing NLBs and NATs in front of Transfer Family.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" } }, "SecurityPolicyName": { @@ -3443,7 +3526,7 @@ "Url": { "target": "com.amazonaws.transfer#Url", "traits": { - "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

" + "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.

" } }, "As2Config": { @@ -3487,12 +3570,76 @@ "traits": { "smithy.api#documentation": "

The text name of the security policy for the specified connector.

" } + }, + "EgressConfig": { + "target": "com.amazonaws.transfer#DescribedConnectorEgressConfig", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Current egress configuration of the connector, showing how traffic is routed to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type.

When using the VPC_LATTICE egress type, Transfer Family uses a managed Service Network to simplify the resource sharing process.

" + } + }, + "EgressType": { + "target": "com.amazonaws.transfer#ConnectorEgressType", + "traits": { + "smithy.api#default": "SERVICE_MANAGED", + "smithy.api#documentation": "

Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.

", + "smithy.api#required": {} + } + }, + "ErrorMessage": { + "target": "com.amazonaws.transfer#ConnectorErrorMessage", + "traits": { + "smithy.api#documentation": "

Error message providing details when the connector is in ERRORED status. Contains information to help troubleshoot connector creation or operation failures.

" + } + }, + "Status": { + "target": "com.amazonaws.transfer#ConnectorStatus", + "traits": { + "smithy.api#default": "ACTIVE", + "smithy.api#documentation": "

Current status of the connector. PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention.

", + "smithy.api#required": {} + } } }, "traits": { "smithy.api#documentation": "

Describes the parameters for the connector, as identified by the ConnectorId.

" } }, + "com.amazonaws.transfer#DescribedConnectorEgressConfig": { + "type": "union", + "members": { + "VpcLattice": { + "target": "com.amazonaws.transfer#DescribedConnectorVpcLatticeEgressConfig", + "traits": { + "smithy.api#documentation": "

VPC_LATTICE configuration details in the response, showing the current Resource Configuration ARN and port settings for VPC-based connectivity.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Response structure containing the current egress configuration details for the connector. Shows how traffic is currently routed from the connector to the SFTP server.

" + } + }, + "com.amazonaws.transfer#DescribedConnectorVpcLatticeEgressConfig": { + "type": "structure", + "members": { + "ResourceConfigurationArn": { + "target": "com.amazonaws.transfer#VpcLatticeResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

ARN of the VPC_LATTICE Resource Configuration currently used by the connector. This Resource Configuration defines the network path to the SFTP server through the customer's VPC.

", + "smithy.api#required": {} + } + }, + "PortNumber": { + "target": "com.amazonaws.transfer#SftpPort", + "traits": { + "smithy.api#documentation": "

Port number currently configured for SFTP connections through VPC_LATTICE. Shows the port on which the connector attempts to connect to the target SFTP server.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

VPC_LATTICE egress configuration details in the response, containing the Resource Configuration ARN and port number currently configured for the connector.

" + } + }, "com.amazonaws.transfer#DescribedExecution": { "type": "structure", "members": { @@ -3754,7 +3901,7 @@ "target": "com.amazonaws.transfer#ProtocolDetails", "traits": { "aws.cloudformation#cfnMutability": "full", - "smithy.api#documentation": "

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" + "smithy.api#documentation": "

The protocol settings that are configured for your server.

Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see Avoid placing NLBs and NATs in front of Transfer Family.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" } }, "Domain": { @@ -6532,7 +6679,7 @@ "Url": { "target": "com.amazonaws.transfer#Url", "traits": { - "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

" + "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.

" } } }, @@ -7334,7 +7481,7 @@ "PassiveIp": { "target": "com.amazonaws.transfer#PassiveIp", "traits": { - "smithy.api#documentation": "

Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example:

aws transfer update-server --protocol-details PassiveIp=0.0.0.0

Replace 0.0.0.0 in the example above with the actual IP address you want to use.

If you change the PassiveIp value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family.

Special values

The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the PassiveIp=0.0.0.0 response.

" + "smithy.api#documentation": "

Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example:

aws transfer update-server --protocol-details PassiveIp=0.0.0.0

Replace 0.0.0.0 in the example above with the actual IP address you want to use.

If you change the PassiveIp value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see Configuring your FTPS server behind a firewall or NAT with Transfer Family.

Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting TlsSessionResumptionMode = ENFORCED. For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see Avoid placing NLBs and NATs in front of Transfer Family.

Special values

The AUTO and 0.0.0.0 are special values for the PassiveIp parameter. The value PassiveIp=AUTO is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. PassiveIp=0.0.0.0 has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the PassiveIp parameter. This reduces the effectiveness of having High Availability. In this case, you can specify PassiveIp=0.0.0.0. This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the PassiveIp=0.0.0.0 response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the PassiveIp=0.0.0.0 response.

" } }, "TlsSessionResumptionMode": { @@ -7964,7 +8111,7 @@ "TrustedHostKeys": { "target": "com.amazonaws.transfer#SftpConnectorTrustedHostKeyList", "traits": { - "smithy.api#documentation": "

The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ssh-keyscan command against the SFTP server to retrieve the necessary key.

TrustedHostKeys is optional for CreateConnector. If not provided, you can use TestConnection to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key.

The three standard SSH public key format elements are <key type>, <body base64>, and an optional <comment>, with spaces between each element. Specify only the <key type> and <body base64>: do not enter the <comment> portion of the key.

For the trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • For RSA keys, the <key type> string is ssh-rsa.

  • For ECDSA keys, the <key type> string is either ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending on the size of the key you generated.

Run this command to retrieve the SFTP server host key, where your SFTP server name is ftp.host.com.

ssh-keyscan ftp.host.com

This prints the public host key to standard output.

ftp.host.com ssh-rsa AAAAB3Nza...<long-string-for-public-key

Copy and paste this string into the TrustedHostKeys field for the create-connector command or into the Trusted host keys field in the console.

" + "smithy.api#documentation": "

The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ssh-keyscan command against the SFTP server to retrieve the necessary key.

TrustedHostKeys is optional for CreateConnector. If not provided, you can use TestConnection to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key.

When creating connectors with egress config (VPC_LATTICE type connectors), since host name is not something we can verify, the only accepted trusted host key format is key-type key-body without the host name. For example: ssh-rsa AAAAB3Nza...<long-string-for-public-key>

The three standard SSH public key format elements are <key type>, <body base64>, and an optional <comment>, with spaces between each element. Specify only the <key type> and <body base64>: do not enter the <comment> portion of the key.

For the trusted host key, Transfer Family accepts RSA and ECDSA keys.

  • For RSA keys, the <key type> string is ssh-rsa.

  • For ECDSA keys, the <key type> string is either ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, or ecdsa-sha2-nistp521, depending on the size of the key you generated.

Run this command to retrieve the SFTP server host key, where your SFTP server name is ftp.host.com.

ssh-keyscan ftp.host.com

This prints the public host key to standard output.

ftp.host.com ssh-rsa AAAAB3Nza...<long-string-for-public-key>

Copy and paste this string into the TrustedHostKeys field for the create-connector command or into the Trusted host keys field in the console.

For VPC Lattice type connectors (VPC_LATTICE), remove the hostname from the key and use only the key-type key-body format. In this example, it should be: ssh-rsa AAAAB3Nza...<long-string-for-public-key>

" } }, "MaxConcurrentConnections": { @@ -8023,6 +8170,15 @@ } } }, + "com.amazonaws.transfer#SftpPort": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 65535 + } + } + }, "com.amazonaws.transfer#SigningAlg": { "type": "enum", "members": { @@ -9133,27 +9289,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ @@ -10501,6 +10657,20 @@ "smithy.api#documentation": "

Updates some of the parameters for an existing connector. Provide the ConnectorId for the connector that you want to update, along with the new values for the parameters to update.

" } }, + "com.amazonaws.transfer#UpdateConnectorEgressConfig": { + "type": "union", + "members": { + "VpcLattice": { + "target": "com.amazonaws.transfer#UpdateConnectorVpcLatticeEgressConfig", + "traits": { + "smithy.api#documentation": "

VPC_LATTICE configuration updates for the connector. Use this to modify the Resource Configuration ARN or port number for VPC-based connectivity.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Structure for updating the egress configuration of an existing connector. Allows modification of how traffic is routed from the connector to the SFTP server, including VPC_LATTICE settings.

" + } + }, "com.amazonaws.transfer#UpdateConnectorRequest": { "type": "structure", "members": { @@ -10514,7 +10684,7 @@ "Url": { "target": "com.amazonaws.transfer#Url", "traits": { - "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

" + "smithy.api#documentation": "

The URL of the partner's AS2 or SFTP endpoint.

When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.

" } }, "As2Config": { @@ -10546,6 +10716,13 @@ "traits": { "smithy.api#documentation": "

Specifies the name of the security policy for the connector.

" } + }, + "EgressConfig": { + "target": "com.amazonaws.transfer#UpdateConnectorEgressConfig", + "traits": { + "aws.cloudformation#cfnExcludeProperty": {}, + "smithy.api#documentation": "

Updates the egress configuration for the connector, allowing you to modify how traffic is routed from the connector to the SFTP server. Changes to VPC configuration may require connector restart.

" + } } }, "traits": { @@ -10567,6 +10744,26 @@ "smithy.api#output": {} } }, + "com.amazonaws.transfer#UpdateConnectorVpcLatticeEgressConfig": { + "type": "structure", + "members": { + "ResourceConfigurationArn": { + "target": "com.amazonaws.transfer#VpcLatticeResourceConfigurationArn", + "traits": { + "smithy.api#documentation": "

Updated ARN of the VPC_LATTICE Resource Configuration. Use this to change the target SFTP server location or modify the network path through the customer's VPC infrastructure.

" + } + }, + "PortNumber": { + "target": "com.amazonaws.transfer#SftpPort", + "traits": { + "smithy.api#documentation": "

Updated port number for SFTP connections through VPC_LATTICE. Change this if the target SFTP server port has been modified or if connecting to a different server endpoint.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

VPC_LATTICE egress configuration updates for modifying how the connector routes traffic through customer VPCs. Changes to these settings may require connector restart to take effect.

" + } + }, "com.amazonaws.transfer#UpdateHostKey": { "type": "operation", "input": { @@ -10796,7 +10993,7 @@ "ProtocolDetails": { "target": "com.amazonaws.transfer#ProtocolDetails", "traits": { - "smithy.api#documentation": "

The protocol settings that are configured for your server.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" + "smithy.api#documentation": "

The protocol settings that are configured for your server.

Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see Avoid placing NLBs and NATs in front of Transfer Family.

  • To indicate passive mode (for FTP and FTPS protocols), use the PassiveIp parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.

  • To ignore the error that is generated when the client attempts to use the SETSTAT command on a file that you are uploading to an Amazon S3 bucket, use the SetStatOption parameter. To have the Transfer Family server ignore the SETSTAT command and upload files without needing to make any changes to your SFTP client, set the value to ENABLE_NO_OP. If you set the SetStatOption parameter to ENABLE_NO_OP, Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a SETSTAT call.

  • To determine whether your Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the TlsSessionResumptionMode parameter.

  • As2Transports indicates the transport method for the AS2 messages. Currently, only HTTP is supported.

" } }, "EndpointDetails": { @@ -11366,6 +11563,16 @@ "com.amazonaws.transfer#VpcId": { "type": "string" }, + "com.amazonaws.transfer#VpcLatticeResourceConfigurationArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 2048 + }, + "smithy.api#pattern": "^arn:[a-z0-9\\-]+:vpc-lattice:[a-zA-Z0-9\\-]+:\\d{12}:resourceconfiguration/rcfg-[0-9a-z]{17}$" + } + }, "com.amazonaws.transfer#WebAppAccessEndpoint": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/translate.json b/codegen/sdk-codegen/aws-models/translate.json index 9d92a38d828..5b7958a182f 100644 --- a/codegen/sdk-codegen/aws-models/translate.json +++ b/codegen/sdk-codegen/aws-models/translate.json @@ -112,27 +112,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/trustedadvisor.json b/codegen/sdk-codegen/aws-models/trustedadvisor.json index af0afda632b..e1a43940d0e 100644 --- a/codegen/sdk-codegen/aws-models/trustedadvisor.json +++ b/codegen/sdk-codegen/aws-models/trustedadvisor.json @@ -3124,27 +3124,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/verifiedpermissions.json b/codegen/sdk-codegen/aws-models/verifiedpermissions.json index 92931a58a91..112ad3477ff 100644 --- a/codegen/sdk-codegen/aws-models/verifiedpermissions.json +++ b/codegen/sdk-codegen/aws-models/verifiedpermissions.json @@ -6785,27 +6785,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/voice-id.json b/codegen/sdk-codegen/aws-models/voice-id.json index 5d764abf80c..708da085a07 100644 --- a/codegen/sdk-codegen/aws-models/voice-id.json +++ b/codegen/sdk-codegen/aws-models/voice-id.json @@ -3893,27 +3893,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/vpc-lattice.json b/codegen/sdk-codegen/aws-models/vpc-lattice.json index 5fe97514639..3b132972650 100644 --- a/codegen/sdk-codegen/aws-models/vpc-lattice.json +++ b/codegen/sdk-codegen/aws-models/vpc-lattice.json @@ -6480,27 +6480,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/waf-regional.json b/codegen/sdk-codegen/aws-models/waf-regional.json index 0163c39fd8c..5b81c1c1003 100644 --- a/codegen/sdk-codegen/aws-models/waf-regional.json +++ b/codegen/sdk-codegen/aws-models/waf-regional.json @@ -301,27 +301,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/waf.json b/codegen/sdk-codegen/aws-models/waf.json index 7b0d21692d5..f9ffa0bb3f3 100644 --- a/codegen/sdk-codegen/aws-models/waf.json +++ b/codegen/sdk-codegen/aws-models/waf.json @@ -289,27 +289,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/wellarchitected.json b/codegen/sdk-codegen/aws-models/wellarchitected.json index b9bee7f593c..448b5adbaff 100644 --- a/codegen/sdk-codegen/aws-models/wellarchitected.json +++ b/codegen/sdk-codegen/aws-models/wellarchitected.json @@ -10262,27 +10262,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/wisdom.json b/codegen/sdk-codegen/aws-models/wisdom.json index f7e4f1bde9f..45d5c20bb6b 100644 --- a/codegen/sdk-codegen/aws-models/wisdom.json +++ b/codegen/sdk-codegen/aws-models/wisdom.json @@ -6310,27 +6310,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workdocs.json b/codegen/sdk-codegen/aws-models/workdocs.json index 2940cf3825f..f195a591912 100644 --- a/codegen/sdk-codegen/aws-models/workdocs.json +++ b/codegen/sdk-codegen/aws-models/workdocs.json @@ -190,27 +190,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workmail.json b/codegen/sdk-codegen/aws-models/workmail.json index aaf28d85151..675a8350396 100644 --- a/codegen/sdk-codegen/aws-models/workmail.json +++ b/codegen/sdk-codegen/aws-models/workmail.json @@ -10490,27 +10490,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workmailmessageflow.json b/codegen/sdk-codegen/aws-models/workmailmessageflow.json index 09695f20a35..b29ece7f9e0 100644 --- a/codegen/sdk-codegen/aws-models/workmailmessageflow.json +++ b/codegen/sdk-codegen/aws-models/workmailmessageflow.json @@ -115,27 +115,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workspaces-instances.json b/codegen/sdk-codegen/aws-models/workspaces-instances.json index 299ba5eda1d..6b0b9f37c7e 100644 --- a/codegen/sdk-codegen/aws-models/workspaces-instances.json +++ b/codegen/sdk-codegen/aws-models/workspaces-instances.json @@ -959,19 +959,19 @@ "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" }, "Region": { "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workspaces-thin-client.json b/codegen/sdk-codegen/aws-models/workspaces-thin-client.json index b9930a82d35..5909238ac70 100644 --- a/codegen/sdk-codegen/aws-models/workspaces-thin-client.json +++ b/codegen/sdk-codegen/aws-models/workspaces-thin-client.json @@ -2276,27 +2276,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workspaces-web.json b/codegen/sdk-codegen/aws-models/workspaces-web.json index f79ce436190..4f833775e6f 100644 --- a/codegen/sdk-codegen/aws-models/workspaces-web.json +++ b/codegen/sdk-codegen/aws-models/workspaces-web.json @@ -88,27 +88,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/workspaces.json b/codegen/sdk-codegen/aws-models/workspaces.json index 9330f6c3d37..b27af05bd2b 100644 --- a/codegen/sdk-codegen/aws-models/workspaces.json +++ b/codegen/sdk-codegen/aws-models/workspaces.json @@ -5792,6 +5792,12 @@ "target": "com.amazonaws.workspaces#IpAddress" } }, + "com.amazonaws.workspaces#DnsIpv6Addresses": { + "type": "list", + "member": { + "target": "com.amazonaws.workspaces#Ipv6Address" + } + }, "com.amazonaws.workspaces#DomainName": { "type": "string", "traits": { @@ -6913,6 +6919,12 @@ "target": "com.amazonaws.workspaces#IpRuleItem" } }, + "com.amazonaws.workspaces#Ipv6Address": { + "type": "string", + "traits": { + "smithy.api#pattern": "^(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|[0-9a-fA-F]{1,4}(?::[0-9a-fA-F]{1,4}){0,6}::[0-9a-fA-F]{1,4}$" + } + }, "com.amazonaws.workspaces#Limit": { "type": "integer", "traits": { @@ -10698,6 +10710,12 @@ "smithy.api#documentation": "

The IP address of the WorkSpace.

" } }, + "Ipv6Address": { + "target": "com.amazonaws.workspaces#Ipv6Address", + "traits": { + "smithy.api#documentation": "

The IPv6 address of the WorkSpace.

" + } + }, "State": { "target": "com.amazonaws.workspaces#WorkspaceState", "traits": { @@ -11105,6 +11123,12 @@ "smithy.api#documentation": "

The IP addresses of the DNS servers for the directory.

" } }, + "DnsIpv6Addresses": { + "target": "com.amazonaws.workspaces#DnsIpv6Addresses", + "traits": { + "smithy.api#documentation": "

The IPv6 addresses of the DNS servers for the directory.

" + } + }, "CustomerUserName": { "target": "com.amazonaws.workspaces#UserName", "traits": { @@ -11991,6 +12015,12 @@ "traits": { "smithy.api#documentation": "

The name of the user-decoupled WorkSpace.

\n \n

\n WorkspaceName is required if UserName is\n [UNDEFINED] for user-decoupled WorkSpaces.\n WorkspaceName is not applicable if UserName is specified\n for user-assigned WorkSpaces.

\n
" } + }, + "Ipv6Address": { + "target": "com.amazonaws.workspaces#Ipv6Address", + "traits": { + "smithy.api#documentation": "

The IPv6 address for the WorkSpace.

" + } } }, "traits": { @@ -13065,27 +13095,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/aws-models/xray.json b/codegen/sdk-codegen/aws-models/xray.json index 979db066a07..1d471ab3e75 100644 --- a/codegen/sdk-codegen/aws-models/xray.json +++ b/codegen/sdk-codegen/aws-models/xray.json @@ -169,27 +169,27 @@ "builtIn": "AWS::Region", "required": false, "documentation": "The AWS region used to dispatch the request.", - "type": "String" + "type": "string" }, "UseDualStack": { "builtIn": "AWS::UseDualStack", "required": true, "default": false, "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.", - "type": "Boolean" + "type": "boolean" }, "UseFIPS": { "builtIn": "AWS::UseFIPS", "required": true, "default": false, "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.", - "type": "Boolean" + "type": "boolean" }, "Endpoint": { "builtIn": "SDK::Endpoint", "required": false, "documentation": "Override the endpoint used to send this request", - "type": "String" + "type": "string" } }, "rules": [ diff --git a/codegen/sdk-codegen/sdk-endpoints.json b/codegen/sdk-codegen/sdk-endpoints.json index 78353e74c19..6135a2c6584 100644 --- a/codegen/sdk-codegen/sdk-endpoints.json +++ b/codegen/sdk-codegen/sdk-endpoints.json @@ -1448,71 +1448,6 @@ } } }, - "api.fleethub.iot" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-south-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { - "variants" : [ { - "hostname" : "api.fleethub.iot-fips.ca-central-1.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "fips-ca-central-1" : { - "credentialScope" : { - "region" : "ca-central-1" - }, - "deprecated" : true, - "hostname" : "api.fleethub.iot-fips.ca-central-1.amazonaws.com" - }, - "fips-us-east-1" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "deprecated" : true, - "hostname" : "api.fleethub.iot-fips.us-east-1.amazonaws.com" - }, - "fips-us-east-2" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "deprecated" : true, - "hostname" : "api.fleethub.iot-fips.us-east-2.amazonaws.com" - }, - "fips-us-west-2" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "deprecated" : true, - "hostname" : "api.fleethub.iot-fips.us-west-2.amazonaws.com" - }, - "us-east-1" : { - "variants" : [ { - "hostname" : "api.fleethub.iot-fips.us-east-1.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "us-east-2" : { - "variants" : [ { - "hostname" : "api.fleethub.iot-fips.us-east-2.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "us-west-2" : { - "variants" : [ { - "hostname" : "api.fleethub.iot-fips.us-west-2.amazonaws.com", - "tags" : [ "fips" ] - } ] - } - } - }, "api.iotdeviceadvisor" : { "endpoints" : { "ap-northeast-1" : { @@ -3002,21 +2937,6 @@ } } }, - "apptest" : { - "endpoints" : { - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "fips-us-east-1" : { - "deprecated" : true - }, - "sa-east-1" : { }, - "us-east-1" : { - "variants" : [ { - "tags" : [ "fips" ] - } ] - } - } - }, "aps" : { "defaults" : { "protocols" : [ "https" ] @@ -6765,6 +6685,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ap-southeast-5" : { }, + "ap-southeast-6" : { }, "ap-southeast-7" : { }, "ca-central-1" : { "variants" : [ { @@ -12691,6 +12612,7 @@ "endpoints" : { "ap-south-1" : { }, "ap-southeast-2" : { }, + "ca-central-1" : { }, "eu-west-1" : { }, "eu-west-2" : { }, "us-east-1" : { }, @@ -15942,30 +15864,6 @@ "us-east-1" : { } } }, - "lookoutmetrics" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "eu-central-1" : { }, - "eu-north-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, - "lookoutvision" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, "m2" : { "endpoints" : { "af-south-1" : { }, @@ -17365,6 +17263,7 @@ "ap-southeast-3" : { }, "ap-southeast-4" : { }, "ap-southeast-5" : { }, + "ap-southeast-6" : { }, "ap-southeast-7" : { }, "ca-central-1" : { }, "ca-west-1" : { }, @@ -18780,6 +18679,7 @@ "tags" : [ "dualstack" ] } ] }, + "eu-central-2" : { }, "eu-north-1" : { "variants" : [ { "hostname" : "polly.eu-north-1.api.aws", @@ -19268,69 +19168,6 @@ } } }, - "qldb" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { - "variants" : [ { - "hostname" : "qldb-fips.ca-central-1.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "fips-ca-central-1" : { - "credentialScope" : { - "region" : "ca-central-1" - }, - "deprecated" : true, - "hostname" : "qldb-fips.ca-central-1.amazonaws.com" - }, - "fips-us-east-1" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "deprecated" : true, - "hostname" : "qldb-fips.us-east-1.amazonaws.com" - }, - "fips-us-east-2" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "deprecated" : true, - "hostname" : "qldb-fips.us-east-2.amazonaws.com" - }, - "fips-us-west-2" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "deprecated" : true, - "hostname" : "qldb-fips.us-west-2.amazonaws.com" - }, - "us-east-1" : { - "variants" : [ { - "hostname" : "qldb-fips.us-east-1.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "us-east-2" : { - "variants" : [ { - "hostname" : "qldb-fips.us-east-2.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "us-west-2" : { - "variants" : [ { - "hostname" : "qldb-fips.us-west-2.amazonaws.com", - "tags" : [ "fips" ] - } ] - } - } - }, "query.timestream" : { "endpoints" : { "ap-northeast-1" : { }, @@ -20275,11 +20112,13 @@ "ap-east-2" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-south-2" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, + "ap-southeast-5" : { }, "ap-southeast-7" : { }, "ca-central-1" : { "variants" : [ { @@ -20941,17 +20780,6 @@ } } }, - "robomaker" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-southeast-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "us-east-1" : { }, - "us-east-2" : { }, - "us-west-2" : { } - } - }, "rolesanywhere" : { "endpoints" : { "af-south-1" : { }, @@ -23871,57 +23699,6 @@ "us-west-2" : { } } }, - "session.qldb" : { - "endpoints" : { - "ap-northeast-1" : { }, - "ap-northeast-2" : { }, - "ap-southeast-1" : { }, - "ap-southeast-2" : { }, - "ca-central-1" : { }, - "eu-central-1" : { }, - "eu-west-1" : { }, - "eu-west-2" : { }, - "fips-us-east-1" : { - "credentialScope" : { - "region" : "us-east-1" - }, - "deprecated" : true, - "hostname" : "session.qldb-fips.us-east-1.amazonaws.com" - }, - "fips-us-east-2" : { - "credentialScope" : { - "region" : "us-east-2" - }, - "deprecated" : true, - "hostname" : "session.qldb-fips.us-east-2.amazonaws.com" - }, - "fips-us-west-2" : { - "credentialScope" : { - "region" : "us-west-2" - }, - "deprecated" : true, - "hostname" : "session.qldb-fips.us-west-2.amazonaws.com" - }, - "us-east-1" : { - "variants" : [ { - "hostname" : "session.qldb-fips.us-east-1.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "us-east-2" : { - "variants" : [ { - "hostname" : "session.qldb-fips.us-east-2.amazonaws.com", - "tags" : [ "fips" ] - } ] - }, - "us-west-2" : { - "variants" : [ { - "hostname" : "session.qldb-fips.us-west-2.amazonaws.com", - "tags" : [ "fips" ] - } ] - } - } - }, "shield" : { "defaults" : { "protocols" : [ "https" ], @@ -35212,11 +34989,6 @@ } } }, - "robomaker" : { - "endpoints" : { - "us-gov-west-1" : { } - } - }, "rolesanywhere" : { "endpoints" : { "fips-us-gov-east-1" : { @@ -36750,6 +36522,12 @@ } }, "services" : { + "acm" : { + "endpoints" : { + "us-iso-east-1" : { }, + "us-iso-west-1" : { } + } + }, "agreement-marketplace" : { "endpoints" : { "fips-us-iso-east-1" : { @@ -38056,6 +37834,9 @@ "regions" : { "us-isob-east-1" : { "description" : "US ISOB East (Ohio)" + }, + "us-isob-west-1" : { + "description" : "US ISOB West" } }, "services" : { @@ -38066,7 +37847,8 @@ "region" : "us-isob-east-1" }, "hostname" : "api.ecr.us-isob-east-1.sc2s.sgov.gov" - } + }, + "us-isob-west-1" : { } } }, "api.pricing" : { @@ -38091,12 +37873,14 @@ }, "appconfig" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "appconfigdata" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "application-autoscaling" : { @@ -38104,12 +37888,14 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "arc-zonal-shift" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "athena" : { @@ -38122,7 +37908,8 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "backup" : { @@ -38132,7 +37919,8 @@ }, "batch" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "budgets" : { @@ -38167,12 +37955,14 @@ }, "cloudcontrolapi" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "cloudformation" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "cloudtrail" : { @@ -38189,7 +37979,8 @@ "hostname" : "cloudtrail-fips.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "codebuild" : { @@ -38199,7 +37990,8 @@ }, "codedeploy" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "config" : { @@ -38216,7 +38008,8 @@ "hostname" : "config-fips.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "datasync" : { @@ -38226,12 +38019,14 @@ }, "directconnect" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "dlm" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "dms" : { @@ -38271,7 +38066,8 @@ }, "deprecated" : true, "hostname" : "dms.us-isob-east-1.sc2s.sgov.gov" - } + }, + "us-isob-west-1" : { } } }, "ds" : { @@ -38296,12 +38092,14 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "ebs" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "ec2" : { @@ -38309,12 +38107,14 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "ecs" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "eks" : { @@ -38322,12 +38122,14 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "elasticache" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "elasticfilesystem" : { @@ -38351,7 +38153,8 @@ "endpoints" : { "us-isob-east-1" : { "protocols" : [ "https" ] - } + }, + "us-isob-west-1" : { } } }, "elasticmapreduce" : { @@ -38368,17 +38171,20 @@ "hostname" : "elasticmapreduce.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "es" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "events" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "firehose" : { @@ -38437,7 +38243,8 @@ }, "kinesis" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "kinesisanalytics" : { @@ -38466,7 +38273,8 @@ }, "deprecated" : true, "hostname" : "kms-fips.us-isob-east-1.sc2s.sgov.gov" - } + }, + "us-isob-west-1" : { } } }, "lakeformation" : { @@ -38476,7 +38284,8 @@ }, "lambda" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "license-manager" : { @@ -38486,7 +38295,8 @@ }, "logs" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "medialive" : { @@ -38528,7 +38338,8 @@ }, "monitoring" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "network-firewall" : { @@ -38538,7 +38349,8 @@ }, "oam" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "organizations" : { @@ -38560,12 +38372,14 @@ }, "pi" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "ram" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "rbin" : { @@ -38582,7 +38396,8 @@ "hostname" : "rbin-fips.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "rds" : { @@ -38606,7 +38421,8 @@ }, "deprecated" : true, "hostname" : "rds.us-isob-east-1.sc2s.sgov.gov" - } + }, + "us-isob-west-1" : { } } }, "redshift" : { @@ -38616,12 +38432,14 @@ "region" : "us-isob-east-1" }, "hostname" : "redshift.us-isob-east-1.sc2s.sgov.gov" - } + }, + "us-isob-west-1" : { } } }, "resource-groups" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "route53" : { @@ -38667,7 +38485,8 @@ "hostname" : "s3-fips.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "s3-control" : { @@ -38729,7 +38548,8 @@ }, "us-isob-east-1-fips" : { "deprecated" : true - } + }, + "us-isob-west-1" : { } } }, "securityhub" : { @@ -38739,12 +38559,14 @@ }, "servicediscovery" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "servicequotas" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "snowball" : { @@ -38757,7 +38579,8 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "sqs" : { @@ -38778,12 +38601,14 @@ "hostname" : "sqs.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "ssm" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "states" : { @@ -38800,7 +38625,8 @@ "hostname" : "states-fips.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "storagegateway" : { @@ -38835,12 +38661,14 @@ "protocols" : [ "http", "https" ] }, "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "sts" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "support" : { @@ -38868,17 +38696,20 @@ "hostname" : "swf-fips.us-isob-east-1.sc2s.sgov.gov", "tags" : [ "fips" ] } ] - } + }, + "us-isob-west-1" : { } } }, "synthetics" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "tagging" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } }, "wafv2" : { @@ -38905,7 +38736,8 @@ }, "xray" : { "endpoints" : { - "us-isob-east-1" : { } + "us-isob-east-1" : { }, + "us-isob-west-1" : { } } } } @@ -38973,6 +38805,11 @@ "eu-isoe-west-1" : { } } }, + "apigateway" : { + "endpoints" : { + "eu-isoe-west-1" : { } + } + }, "appconfig" : { "endpoints" : { "eu-isoe-west-1" : { } diff --git a/codegen/sdk-codegen/sdk-partitions.json b/codegen/sdk-codegen/sdk-partitions.json index b346b0be9b9..c789264d2b0 100644 --- a/codegen/sdk-codegen/sdk-partitions.json +++ b/codegen/sdk-codegen/sdk-partitions.json @@ -194,6 +194,9 @@ }, "us-isob-east-1" : { "description" : "US ISOB East (Ohio)" + }, + "us-isob-west-1" : { + "description" : "US ISOB West" } } }, { diff --git a/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/AWSHttpProtocolServiceClient.kt b/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/AWSHttpProtocolServiceClient.kt index 88c3b7d67ef..8e307c8133f 100644 --- a/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/AWSHttpProtocolServiceClient.kt +++ b/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/AWSHttpProtocolServiceClient.kt @@ -32,6 +32,12 @@ class AWSHttpProtocolServiceClient( private val writer: SwiftWriter, private val serviceConfig: ServiceConfig, ) : HttpProtocolServiceClient(ctx, writer, serviceConfig) { + override var clientProtocolSymbol = AWSClientRuntimeTypes.Core.AWSServiceClient + + override fun renderVersionProperty() { + // No content, version property is provided by a protocol extension on AWSClient + } + override fun renderConvenienceInitFunctions(serviceSymbol: Symbol) { writer.openBlock("public convenience init(region: \$N) throws {", "}", SwiftTypes.String) { writer.write("let config = try \$L(region: region)", serviceConfig.typeName) diff --git a/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/swiftmodules/AWSClientRuntimeTypes.kt b/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/swiftmodules/AWSClientRuntimeTypes.kt index dee04b72ac1..b55d5cfc44e 100644 --- a/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/swiftmodules/AWSClientRuntimeTypes.kt +++ b/codegen/smithy-aws-swift-codegen/src/main/kotlin/software/amazon/smithy/aws/swift/codegen/swiftmodules/AWSClientRuntimeTypes.kt @@ -62,6 +62,7 @@ object AWSClientRuntimeTypes { runtimeSymbol("FlexibleChecksumsResponseMiddleware", SwiftDeclaration.STRUCT) val AmzSdkInvocationIdMiddleware = runtimeSymbol("AmzSdkInvocationIdMiddleware", SwiftDeclaration.STRUCT) val AmzSdkRequestMiddleware = runtimeSymbol("AmzSdkRequestMiddleware", SwiftDeclaration.CLASS) + val AWSServiceClient = runtimeSymbol("AWSServiceClient", SwiftDeclaration.PROTOCOL) } } diff --git a/codegen/smithy-aws-swift-codegen/src/test/kotlin/software/amazon/smithy/aws/swift/codegen/awsrestjson/AWSRestJson1ProtocolGeneratorTests.kt b/codegen/smithy-aws-swift-codegen/src/test/kotlin/software/amazon/smithy/aws/swift/codegen/awsrestjson/AWSRestJson1ProtocolGeneratorTests.kt index 483f48eb64e..337630e8612 100644 --- a/codegen/smithy-aws-swift-codegen/src/test/kotlin/software/amazon/smithy/aws/swift/codegen/awsrestjson/AWSRestJson1ProtocolGeneratorTests.kt +++ b/codegen/smithy-aws-swift-codegen/src/test/kotlin/software/amazon/smithy/aws/swift/codegen/awsrestjson/AWSRestJson1ProtocolGeneratorTests.kt @@ -58,9 +58,8 @@ extension ExplicitBlobInput { val contents = getClientFileContents("Sources/Example", "ExampleClient.swift", context.manifest) contents.shouldSyntacticSanityCheck() val expectedContents = """ -public class ExampleClient: ClientRuntime.Client { +public class ExampleClient: AWSClientRuntime.AWSServiceClient { public static let clientName = "ExampleClient" - public static let version = "1.0.0" let client: ClientRuntime.SdkHttpClient let config: ExampleClient.ExampleClientConfiguration let serviceName = "Example" diff --git a/gradle.properties b/gradle.properties index 5d383f3a3f5..ae8b3cd3314 100644 --- a/gradle.properties +++ b/gradle.properties @@ -3,7 +3,7 @@ kotlin.code.style=official org.gradle.jvmargs=-Xmx4096M # codegen -smithyVersion=1.62.0 +smithyVersion=1.63.0 smithyGradleVersion=0.6.0 smithySwiftVersion = 0.1.0 diff --git a/packageDependencies.plist b/packageDependencies.plist index b9c12ca59f2..5753679e1f3 100644 --- a/packageDependencies.plist +++ b/packageDependencies.plist @@ -9,6 +9,6 @@ clientRuntimeBranch main clientRuntimeVersion - 0.164.0 + 0.168.0 diff --git a/scripts/codegen.sh b/scripts/codegen.sh index 5b31deb0435..c3b3510fdf5 100755 --- a/scripts/codegen.sh +++ b/scripts/codegen.sh @@ -37,6 +37,8 @@ unset AWS_SWIFT_SDK_USE_LOCAL_DEPS swift run AWSSDKSwiftCLI generate-package-manifest "$@" .. swift run AWSSDKSwiftCLI generate-smoke-tests-package-manifest .. swift run AWSSDKSwiftCLI generate-doc-index .. +swift run AWSSDKSwiftCLI generate-partitions .. +swift run AWSSDKSwiftCLI generate-package-version .. cd .. # If on Mac, open Xcode to the newly refreshed SDK diff --git a/sdk.properties b/sdk.properties index 1e922bcfca3..0f17f114a77 100644 --- a/sdk.properties +++ b/sdk.properties @@ -4,5 +4,5 @@ # Use this line to exclude one or more AWS services: # excludeModels=s3,sts,dynamodb -excludeModels=iot-1click-devices-service,iot-1click-projects,elastic-inference,privatenetworks,opsworks,opsworkscm,sms +excludeModels=qldb,qldb-session,robomaker,lookoutmetrics,lookoutvision,iotfleethub,apptest From 703312de23ce041c66427502f5cd6f1639f1c778 Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Mon, 10 Nov 2025 15:20:23 -0500 Subject: [PATCH 2/3] add performance test for NIO HTTP Client against sts (#2054) --- .../PerformanceMain.swift | 5 ++-- .../Tests/AWSSTSTests.swift | 24 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/PerformanceTests/Sources/PerformanceTestRunner/PerformanceMain.swift b/PerformanceTests/Sources/PerformanceTestRunner/PerformanceMain.swift index 1bc950139de..7dd310fc3d6 100644 --- a/PerformanceTests/Sources/PerformanceTestRunner/PerformanceMain.swift +++ b/PerformanceTests/Sources/PerformanceTestRunner/PerformanceMain.swift @@ -17,8 +17,9 @@ struct PerformanceMain { let sdkVersion = ProcessRunner.getSdkVersion() // Add more tests here - let performanceTests = [ - AWSSTSGetCallerIdentity() + let performanceTests: [PerformanceTest] = [ + AWSSTSGetCallerIdentity(), + AWSSTSGetCallerIdentityNIO() ] var results: [PerformanceTestResult] = [] diff --git a/PerformanceTests/Sources/PerformanceTestRunner/Tests/AWSSTSTests.swift b/PerformanceTests/Sources/PerformanceTestRunner/Tests/AWSSTSTests.swift index 861f074ac74..6cf275ca93b 100644 --- a/PerformanceTests/Sources/PerformanceTestRunner/Tests/AWSSTSTests.swift +++ b/PerformanceTests/Sources/PerformanceTestRunner/Tests/AWSSTSTests.swift @@ -7,6 +7,7 @@ import AWSSTS import Foundation +import ClientRuntime struct AWSSTSGetCallerIdentity: PerformanceTest { let name = "sts.getcalleridentity.latency" @@ -28,3 +29,26 @@ struct AWSSTSGetCallerIdentity: PerformanceTest { return Date().timeIntervalSince(start) * 1000 // Convert seconds to milliseconds } } + +struct AWSSTSGetCallerIdentityNIO: PerformanceTest { + let name = "sts.getcalleridentity.nio.latency" + + let description = "The total time between initiating a GetCallerIdentity and reading the last byte of the object using NIO HTTP Client." + + let unit = Unit.milliseconds + + let dimensions = [ + Dimension(name: "OS", value: OperatingSystem.current.rawValue), + ] + + let test = getCallerIdentityNIO + + static func getCallerIdentityNIO() async throws -> Double { + let start = Date() + let nioClient = NIOHTTPClient(httpClientConfiguration: HttpClientConfiguration()) + let config = try await STSClient.STSClientConfiguration(region: "us-west-2", httpClientEngine: nioClient) + let client = STSClient(config: config) + _ = try await client.getCallerIdentity(input: .init()) + return Date().timeIntervalSince(start) * 1000 // Convert seconds to milliseconds + } +} From a1b8933bf6e838b0598856872ef2975e35966576 Mon Sep 17 00:00:00 2001 From: David Yaffe Date: Tue, 11 Nov 2025 13:21:08 -0500 Subject: [PATCH 3/3] remove erroneous model changes --- .../AWSBedrockAgentCoreControl/Models.swift | 10 - .../EndpointResolverTest.swift | 324 ------------------ .../Sources/AWSConnect/ConnectClient.swift | 12 +- .../Sources/AWSConnect/Models.swift | 6 +- .../AWSECS/Sources/AWSECS/Models.swift | 2 +- .../Sources/AWSKinesis/Models.swift | 16 - codegen/sdk-codegen/aws-models/connect.json | 18 +- codegen/sdk-codegen/aws-models/ecs.json | 2 +- 8 files changed, 20 insertions(+), 370 deletions(-) diff --git a/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift b/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift index 0f6caafe80f..c7028f12481 100644 --- a/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift +++ b/Sources/Services/AWSBedrockAgentCoreControl/Sources/AWSBedrockAgentCoreControl/Models.swift @@ -11235,16 +11235,6 @@ extension BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput { } } -extension BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput { - - static func read(from reader: SmithyJSON.Reader) throws -> BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput { - guard reader.hasContent else { throw SmithyReadWrite.ReaderError.requiredValueNotPresent } - var value = BedrockAgentCoreControlClientTypes.BrowserSigningConfigOutput() - value.enabled = try reader["enabled"].readIfPresent() ?? false - return value - } -} - extension BedrockAgentCoreControlClientTypes.CodeInterpreterNetworkConfiguration { static func write(value: BedrockAgentCoreControlClientTypes.CodeInterpreterNetworkConfiguration?, to writer: SmithyJSON.Writer) throws { diff --git a/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift b/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift index 6b8d016c9a0..68ae42af064 100644 --- a/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift +++ b/Sources/Services/AWSBudgets/Tests/AWSBudgetsTests/EndpointResolverTest.swift @@ -671,330 +671,6 @@ class EndpointResolverTest: XCTestCase { XCTAssertEqual(expected, actual) } - /// For region us-iso-east-1 with FIPS enabled and DualStack disabled - func testResolve14() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-iso-east-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-iso-east-1 with FIPS disabled and DualStack disabled - func testResolve15() throws { - let endpointParams = EndpointParams( - region: "us-iso-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-iso-east-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.c2s.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS enabled and DualStack disabled - func testResolve16() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-isob-east-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isob-east-1 with FIPS disabled and DualStack disabled - func testResolve17() throws { - let endpointParams = EndpointParams( - region: "us-isob-east-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-isob-east-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.sc2s.sgov.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-isoe-west-1 with FIPS enabled and DualStack disabled - func testResolve18() throws { - let endpointParams = EndpointParams( - region: "eu-isoe-west-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "eu-isoe-west-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.cloud.adc-e.uk", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region eu-isoe-west-1 with FIPS disabled and DualStack disabled - func testResolve19() throws { - let endpointParams = EndpointParams( - region: "eu-isoe-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "eu-isoe-west-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.cloud.adc-e.uk", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isof-south-1 with FIPS enabled and DualStack disabled - func testResolve20() throws { - let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-isof-south-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.csp.hci.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-isof-south-1 with FIPS disabled and DualStack disabled - func testResolve21() throws { - let endpointParams = EndpointParams( - region: "us-isof-south-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-isof-south-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.global.csp.hci.ic.gov", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS enabled and DualStack enabled - func testResolve22() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-gov-west-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS enabled and DualStack disabled - func testResolve23() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: false, - useFIPS: true - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-gov-west-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets-fips.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS disabled and DualStack enabled - func testResolve24() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: true, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-gov-west-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.api.aws", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - - /// For region us-gov-west-1 with FIPS disabled and DualStack disabled - func testResolve25() throws { - let endpointParams = EndpointParams( - region: "us-gov-west-1", - useDualStack: false, - useFIPS: false - ) - let resolver = try DefaultEndpointResolver() - - let actual = try resolver.resolve(params: endpointParams) - - let properties: [String: SmithyHTTPAPI.EndpointPropertyValue] = - [ - "authSchemes": [ - [ - "name": "sigv4", - "signingRegion": "us-gov-west-1" - ] - ] - ] - - let headers = SmithyHTTPAPI.Headers() - let expected = try SmithyHTTPAPI.Endpoint(urlString: "https://budgets.amazonaws.com", headers: headers, properties: properties) - - XCTAssertEqual(expected, actual) - } - /// Missing region func testResolve26() throws { let endpointParams = EndpointParams( diff --git a/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift b/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift index f7397bd5edf..dcb5a064baa 100644 --- a/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift +++ b/Sources/Services/AWSConnect/Sources/AWSConnect/ConnectClient.swift @@ -6404,7 +6404,7 @@ extension ConnectClient { /// Performs the `DescribeAuthenticationProfile` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Describes the target authentication profile. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Describes the target authentication profile. /// /// - Parameter input: [no documentation found] (Type: `DescribeAuthenticationProfileInput`) /// @@ -10308,7 +10308,7 @@ extension ConnectClient { /// Performs the `ImportPhoneNumber` operation on the `Connect` service. /// - /// Imports a claimed phone number from an external service, such as Amazon Web Services End User Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created. Call the [DescribePhoneNumber](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribePhoneNumber.html) API to verify the status of a previous ImportPhoneNumber operation. If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web ServicesSupport ticket. + /// Imports a claimed phone number from an external service, such as Amazon Web Services End User Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created. Call the [DescribePhoneNumber](https://docs.aws.amazon.com/connect/latest/APIReference/API_DescribePhoneNumber.html) API to verify the status of a previous ImportPhoneNumber operation. If you plan to claim or import numbers and then release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim or import and then release up to 200% of your maximum number of active phone numbers. If you claim or import and then release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming or importing any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed or imported numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services Support ticket. /// /// - Parameter input: [no documentation found] (Type: `ImportPhoneNumberInput`) /// @@ -10732,7 +10732,7 @@ extension ConnectClient { /// Performs the `ListAuthenticationProfiles` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Provides summary information about the authentication profiles in a specified Amazon Connect instance. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Provides summary information about the authentication profiles in a specified Amazon Connect instance. /// /// - Parameter input: [no documentation found] (Type: `ListAuthenticationProfilesInput`) /// @@ -14130,7 +14130,7 @@ extension ConnectClient { /// Performs the `ReleasePhoneNumber` operation on the `Connect` service. /// - /// Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed. To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website. After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web ServicesSupport. If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket. + /// Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You can call this API only in the Amazon Web Services Region where the number was claimed. To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the Amazon Connect admin website. After releasing a phone number, the phone number enters into a cooldown period for up to 180 days. It cannot be searched for or claimed again until the period has ended. If you accidentally release a phone number, contact Amazon Web Services Support. If you plan to claim and release numbers frequently, contact us for a service quota exception. Otherwise, it is possible you will be blocked from claiming and releasing any more numbers until up to 180 days past the oldest number released has expired. By default you can claim and release up to 200% of your maximum number of active phone numbers. If you claim and release phone numbers using the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you will be blocked from claiming any more numbers until 180 days past the oldest number released has expired. For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers until you open an Amazon Web Services support ticket. /// /// - Parameter input: [no documentation found] (Type: `ReleasePhoneNumberInput`) /// @@ -16132,7 +16132,7 @@ extension ConnectClient { /// * The [quota for concurrent active chats](https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) is exceeded. Active chat throttling returns a LimitExceededException. /// /// - /// If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web ServicesSupport. For more information about chat, see the following topics in the Amazon Connect Administrator Guide: + /// If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support. For more information about chat, see the following topics in the Amazon Connect Administrator Guide: /// /// * [Concepts: Web and mobile messaging capabilities in Amazon Connect](https://docs.aws.amazon.com/connect/latest/adminguide/web-and-mobile-chat.html) /// @@ -17797,7 +17797,7 @@ extension ConnectClient { /// Performs the `UpdateAuthenticationProfile` operation on the `Connect` service. /// - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Updates the selected authentication profile. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Updates the selected authentication profile. /// /// - Parameter input: [no documentation found] (Type: `UpdateAuthenticationProfileInput`) /// diff --git a/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift b/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift index ee9aafcb093..7119f1f36d9 100644 --- a/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift +++ b/Sources/Services/AWSConnect/Sources/AWSConnect/Models.swift @@ -9036,7 +9036,7 @@ public struct DescribeAuthenticationProfileInput: Swift.Sendable { extension ConnectClientTypes { - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. Information about an authentication profile. An authentication profile is a resource that stores the authentication settings for users in your contact center. You use authentication profiles to set up IP address range restrictions and session timeouts. For more information, see [Set IP address restrictions or session timeouts](https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html). + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. Information about an authentication profile. An authentication profile is a resource that stores the authentication settings for users in your contact center. You use authentication profiles to set up IP address range restrictions and session timeouts. For more information, see [Set IP address restrictions or session timeouts](https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html). public struct AuthenticationProfile: Swift.Sendable { /// A list of IP address range strings that are allowed to access the Amazon Connect instance. For more information about how to configure IP addresses, see [Configure IP address based access control](https://docs.aws.amazon.com/connect/latest/adminguide/authentication-profiles.html#configure-ip-based-ac) in the Amazon Connect Administrator Guide. public var allowedIps: [Swift.String]? @@ -16080,7 +16080,7 @@ public struct ListAuthenticationProfilesInput: Swift.Sendable { extension ConnectClientTypes { - /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web ServicesSupport. A summary of a given authentication profile. + /// This API is in preview release for Amazon Connect and is subject to change. To request access to this API, contact Amazon Web Services Support. A summary of a given authentication profile. public struct AuthenticationProfileSummary: Swift.Sendable { /// The Amazon Resource Name (ARN) of the authentication profile summary. public var arn: Swift.String? @@ -24916,7 +24916,7 @@ public struct UpdateHoursOfOperationOverrideInput: Swift.Sendable { } public struct UpdateInstanceAttributeInput: Swift.Sendable { - /// The type of attribute. Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web ServicesSupport for allowlisting. + /// The type of attribute. Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature, contact Amazon Web Services Support for allowlisting. /// This member is required. public var attributeType: ConnectClientTypes.InstanceAttributeType? /// A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see [Making retries safe with idempotent APIs](https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/). diff --git a/Sources/Services/AWSECS/Sources/AWSECS/Models.swift b/Sources/Services/AWSECS/Sources/AWSECS/Models.swift index f1beb351fda..921571327d0 100644 --- a/Sources/Services/AWSECS/Sources/AWSECS/Models.swift +++ b/Sources/Services/AWSECS/Sources/AWSECS/Models.swift @@ -2523,7 +2523,7 @@ extension ECSClientTypes { public struct AwsVpcConfiguration: Swift.Sendable { /// Whether the task's elastic network interface receives a public IP address. Consider the following when you set this value: /// - /// * When you use create-service or update-service, the The default is DISABLED. + /// * When you use create-service or update-service, the default is DISABLED. /// /// * When the service deploymentController is ECS, the value must be DISABLED. public var assignPublicIp: ECSClientTypes.AssignPublicIp? diff --git a/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift b/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift index 86457575fdf..c184c763e7f 100644 --- a/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift +++ b/Sources/Services/AWSKinesis/Sources/AWSKinesis/Models.swift @@ -2580,22 +2580,6 @@ public struct UntagResourceInput: Swift.Sendable { } } -public struct UpdateMaxRecordSizeInput: Swift.Sendable { - /// The maximum record size of a single record in KiB that you can write to, and read from a stream. Specify a value between 1024 and 10240 KiB (1 to 10 MiB). If you specify a value that is out of this range, UpdateMaxRecordSize sends back an ValidationException message. - /// This member is required. - public var maxRecordSizeInKiB: Swift.Int? - /// The Amazon Resource Name (ARN) of the stream for the MaxRecordSize update. - public var streamARN: Swift.String? - - public init( - maxRecordSizeInKiB: Swift.Int? = nil, - streamARN: Swift.String? = nil - ) { - self.maxRecordSizeInKiB = maxRecordSizeInKiB - self.streamARN = streamARN - } -} - extension KinesisClientTypes { public enum MinimumThroughputBillingCommitmentInputStatus: Swift.Sendable, Swift.Equatable, Swift.RawRepresentable, Swift.CaseIterable, Swift.Hashable { diff --git a/codegen/sdk-codegen/aws-models/connect.json b/codegen/sdk-codegen/aws-models/connect.json index cd1815e8e29..ae93ddb02b3 100644 --- a/codegen/sdk-codegen/aws-models/connect.json +++ b/codegen/sdk-codegen/aws-models/connect.json @@ -4717,7 +4717,7 @@ } }, "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Information about an authentication profile. An authentication profile is a resource that\n stores the authentication settings for users in your contact center. You use authentication\n profiles to set up IP address range restrictions and session timeouts. For more information, see\n Set IP\n address restrictions or session timeouts.

" + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Information about an authentication profile. An authentication profile is a resource that\n stores the authentication settings for users in your contact center. You use authentication\n profiles to set up IP address range restrictions and session timeouts. For more information, see\n Set IP\n address restrictions or session timeouts.

" } }, "com.amazonaws.connect#AuthenticationProfileDescription": { @@ -4789,7 +4789,7 @@ } }, "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

A summary of a given authentication profile.

" + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

A summary of a given authentication profile.

" } }, "com.amazonaws.connect#AuthenticationProfileSummaryList": { @@ -13774,7 +13774,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Describes the target authentication profile.

", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Describes the target authentication profile.

", "smithy.api#http": { "method": "GET", "uri": "/authentication-profiles/{InstanceId}/{AuthenticationProfileId}", @@ -23339,7 +23339,7 @@ } ], "traits": { - "smithy.api#documentation": "

Imports a claimed phone number from an external service, such as Amazon Web Services End User\n Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

\n \n

Call the DescribePhoneNumber API\n to verify the status of a previous ImportPhoneNumber operation.

\n
\n

If you plan to claim or import numbers and then release numbers frequently, contact us for a\n service quota exception. Otherwise, it is possible you will be blocked from claiming and\n releasing any more numbers until up to 180 days past the oldest number released has expired.

\n

By default you can claim or import and then release up to 200% of your maximum number of\n active phone numbers. If you claim or import and then release phone numbers using the UI or API\n during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you\n will be blocked from claiming or importing any more numbers until 180 days past the oldest number\n released has expired.

\n

For example, if you already have 99 claimed or imported numbers and a service level quota of\n 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you\n will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers\n until you open an Amazon Web ServicesSupport ticket.

", + "smithy.api#documentation": "

Imports a claimed phone number from an external service, such as Amazon Web Services End User\n Messaging, into an Amazon Connect instance. You can call this API only in the same Amazon Web Services Region where the Amazon Connect instance was created.

\n \n

Call the DescribePhoneNumber API\n to verify the status of a previous ImportPhoneNumber operation.

\n
\n

If you plan to claim or import numbers and then release numbers frequently, contact us for a\n service quota exception. Otherwise, it is possible you will be blocked from claiming and\n releasing any more numbers until up to 180 days past the oldest number released has expired.

\n

By default you can claim or import and then release up to 200% of your maximum number of\n active phone numbers. If you claim or import and then release phone numbers using the UI or API\n during a rolling 180 day cycle that exceeds 200% of your phone number service level quota, you\n will be blocked from claiming or importing any more numbers until 180 days past the oldest number\n released has expired.

\n

For example, if you already have 99 claimed or imported numbers and a service level quota of\n 99 phone numbers, and in any 180 day period you release 99, claim 99, and then release 99, you\n will have exceeded the 200% limit. At that point you are blocked from claiming any more numbers\n until you open an Amazon Web Services Support ticket.

", "smithy.api#http": { "method": "POST", "uri": "/phone-number/import", @@ -25098,7 +25098,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Provides summary information about the authentication profiles in a specified Amazon Connect instance.

", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Provides summary information about the authentication profiles in a specified Amazon Connect instance.

", "smithy.api#http": { "method": "GET", "uri": "/authentication-profiles-summary/{InstanceId}", @@ -35624,7 +35624,7 @@ } ], "traits": { - "smithy.api#documentation": "

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You\n can call this API only in the Amazon Web Services Region where the number was claimed.

\n \n

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the\n Amazon Connect admin website.

\n

After releasing a phone number, the phone number enters into a cooldown period for up to\n 180 days. It cannot be searched for or claimed again until the period has ended. If you\n accidentally release a phone number, contact Amazon Web ServicesSupport.

\n
\n

If you plan to claim and release numbers frequently,\n contact us for a service quota exception. Otherwise, it is possible you will be blocked from\n claiming and releasing any more numbers until up to 180 days past the oldest number\n released has expired.

\n

By default you can claim and release up to 200% of your maximum number of active\n phone numbers. If you claim and release phone numbers using\n the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number\n service level quota, you will be blocked from claiming any more numbers until 180\n days past the oldest number released has expired.

\n

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180\n day period you release 99, claim 99, and then release 99, you will have exceeded the\n 200% limit. At that point you are blocked from claiming any more numbers until you\n open an Amazon Web Services support ticket.

", + "smithy.api#documentation": "

Releases a phone number previously claimed to an Amazon Connect instance or traffic distribution group. You\n can call this API only in the Amazon Web Services Region where the number was claimed.

\n \n

To release phone numbers from a traffic distribution group, use the ReleasePhoneNumber API, not the\n Amazon Connect admin website.

\n

After releasing a phone number, the phone number enters into a cooldown period for up to\n 180 days. It cannot be searched for or claimed again until the period has ended. If you\n accidentally release a phone number, contact Amazon Web Services Support.

\n
\n

If you plan to claim and release numbers frequently,\n contact us for a service quota exception. Otherwise, it is possible you will be blocked from\n claiming and releasing any more numbers until up to 180 days past the oldest number\n released has expired.

\n

By default you can claim and release up to 200% of your maximum number of active\n phone numbers. If you claim and release phone numbers using\n the UI or API during a rolling 180 day cycle that exceeds 200% of your phone number\n service level quota, you will be blocked from claiming any more numbers until 180\n days past the oldest number released has expired.

\n

For example, if you already have 99 claimed numbers and a service level quota of 99 phone numbers, and in any 180\n day period you release 99, claim 99, and then release 99, you will have exceeded the\n 200% limit. At that point you are blocked from claiming any more numbers until you\n open an Amazon Web Services support ticket.

", "smithy.api#http": { "method": "DELETE", "uri": "/phone-number/{PhoneNumberId}", @@ -40820,7 +40820,7 @@ } ], "traits": { - "smithy.api#documentation": "

Initiates a flow to start a new chat for the customer. Response of this API provides a token\n required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

\n

When a new chat contact is successfully created, clients must subscribe to the participant’s\n connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

\n

A 429 error occurs in the following situations:

\n
    \n
  • \n

    API rate limit is exceeded. API TPS throttling returns a TooManyRequests\n exception.

    \n
  • \n
  • \n

    The quota for concurrent active\n chats is exceeded. Active chat throttling returns a\n LimitExceededException.

    \n
  • \n
\n

If you use the ChatDurationInMinutes parameter and receive a 400 error, your\n account may not support the ability to configure custom chat durations. For more information,\n contact Amazon Web ServicesSupport.

\n

For more information about chat, see the following topics in the Amazon Connect\n Administrator Guide:

\n ", + "smithy.api#documentation": "

Initiates a flow to start a new chat for the customer. Response of this API provides a token\n required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

\n

When a new chat contact is successfully created, clients must subscribe to the participant’s\n connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

\n

A 429 error occurs in the following situations:

\n
    \n
  • \n

    API rate limit is exceeded. API TPS throttling returns a TooManyRequests\n exception.

    \n
  • \n
  • \n

    The quota for concurrent active\n chats is exceeded. Active chat throttling returns a\n LimitExceededException.

    \n
  • \n
\n

If you use the ChatDurationInMinutes parameter and receive a 400 error, your\n account may not support the ability to configure custom chat durations. For more information,\n contact Amazon Web Services Support.

\n

For more information about chat, see the following topics in the Amazon Connect\n Administrator Guide:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/contact/chat", @@ -44411,7 +44411,7 @@ } ], "traits": { - "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web ServicesSupport.

\n

Updates the selected authentication profile.

", + "smithy.api#documentation": "

This API is in preview release for Amazon Connect and is subject to change. To \nrequest access to this API, contact Amazon Web Services Support.

\n

Updates the selected authentication profile.

", "smithy.api#http": { "method": "POST", "uri": "/authentication-profiles/{InstanceId}/{AuthenticationProfileId}", @@ -45828,7 +45828,7 @@ "AttributeType": { "target": "com.amazonaws.connect#InstanceAttributeType", "traits": { - "smithy.api#documentation": "

The type of attribute.

\n \n

Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature,\n contact Amazon Web ServicesSupport for allowlisting.

\n
", + "smithy.api#documentation": "

The type of attribute.

\n \n

Only allowlisted customers can consume USE_CUSTOM_TTS_VOICES. To access this feature,\n contact Amazon Web Services Support for allowlisting.

\n
", "smithy.api#httpLabel": {}, "smithy.api#required": {} } diff --git a/codegen/sdk-codegen/aws-models/ecs.json b/codegen/sdk-codegen/aws-models/ecs.json index 18f24ad898a..a68480a806f 100644 --- a/codegen/sdk-codegen/aws-models/ecs.json +++ b/codegen/sdk-codegen/aws-models/ecs.json @@ -1757,7 +1757,7 @@ "assignPublicIp": { "target": "com.amazonaws.ecs#AssignPublicIp", "traits": { - "smithy.api#documentation": "

Whether the task's elastic network interface receives a public IP address.

\n

Consider the following when you set this value:

\n
    \n
  • \n

    When you use create-service or update-service, the\n\t\t\t\t\tThe default is DISABLED.

    \n
  • \n
  • \n

    When the service deploymentController is ECS, the\n\t\t\t\t\tvalue must be DISABLED.

    \n
  • \n
" + "smithy.api#documentation": "

Whether the task's elastic network interface receives a public IP address.

\n

Consider the following when you set this value:

\n
    \n
  • \n

    When you use create-service or update-service, the\n\t\t\t\t\tdefault is DISABLED.

    \n
  • \n
  • \n

    When the service deploymentController is ECS, the\n\t\t\t\t\tvalue must be DISABLED.

    \n
  • \n
" } } },